ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Odoo 16实施入门:从系统安装到采购销售闭环

Odoo 16实施入门:从系统安装到采购销售闭环

简介:面向 Odoo 16 初学者与中小企业实施人员的中文实施指南,以开源智造的 GoodERP(Odoo 中国版)为参考样例,可帮助读者从零搭建并跑通一套可用的 ERP 系统。压缩包内含 1 个 PDF 文件,体积约 9.01MB,便于随时查阅。内容按实施顺序展开:先讲管理员权限、公司信息、用户与资金账户、客户供应商、商品与计量单位等基础资料配置,再依次覆盖仓库出入库、采购与销售全流程(预收款、退货、尾款处理)、现金管理、组装生产与产品委外、复杂工序与质检、MRP 分析,并给出批次序列号、单据误删、折旧科目反结等场景的处理办法;后段还涉及 Windows 与 Ubuntu 下的安装升级、三方模块选用、Nginx 与 PostgreSQL 优化等部署要点。已有 276 人学习,适合边实施边对照查阅。

1. 从一张对不上的表格说起:Odoo 16 实施应用到底在做什么

很多小团队的账,最早都是一张表格撑起来的:销售在一个文件里记订单,仓库在另一个文件里记发货,会计月底把两张表拼起来核对,一拼就发现少了三笔,还没人说得清少在哪。Odoo 16 实施应用要干的事,就是把这套“各记各的”换成一条流水线——订单一录,库存、应收、凭证跟着动。Odoo 本身是一套开源的企业管理软件,Odoo 16 是其中被大量使用的版本,靠一个个模块(你也可以理解成插件)拼出采购、销售、库存、财务、生产这些能力。这份入门资料面向的人很具体:小公司的老板、突然被派去接手系统的行政或财务、想转行做 ERP 实施的新人。不需要会写代码,但需要愿意按顺序把资料老老实实配一遍。

2. 为什么零基础也值得学:一套系统怎么管住订单、库存和钱

2.1 先搞懂一个概念:Odoo 是“拼”出来的软件

Odoo 不是一个打开就什么都有的大一统软件,它更像刚买回来的手机:出厂只有基础功能,需要什么装什么。装上采购模块,菜单里才出现采购;装上库存模块,才有入库单出库单;装上会计模块,才有科目和凭证。中文语境里这些模块也常被叫作插件,你在各种经验帖里看到“先装个插件试试”,说的其实是同一件事。

这个设计对新手特别友好。你不需要一上来就面对几十个用不上的菜单,可以只装三五个模块,先把“采购—入库—付款”这一条线走通,剩下的慢慢加。我第一次接触这类系统时,最怕的就是满屏按钮不知道点哪个,后来发现只要把菜单收缩到自己要用的那几个,心理压力立刻小一半。

但模块不是越多越好。每多装一个,就多一套要配的基础资料,多一批要维护的数据。新手常见的做法是先全装上看热闹,结果每个模块都只点开过一次,什么都没配完整。入门阶段建议反过来:先只装库存、采购、销售、会计这四个,把一单生意跑完,再考虑要不要加生产、要不要加项目。

2.2 它到底替你挡住了哪三个疼点

第一个疼点是单据对不上。手工模式下,销售记得自己发过货,仓库记得自己出过库,会计那边应收还挂着全额,三份记录各自为政。系统里的做法是让单据之间互相“生”出来:销售订单确认后生成发货单,发货单确认后生成应收,收款时拿结算单去核销。中间任何一环没做,下一环就没有东西可做,问题当场暴露,不用等到月底。

第二个疼点是库存是个黑匣子。老板问“某款货还剩多少”,仓库说大概两百,销售说好像只剩几十,最后翻账本翻半天。系统里每一次入库出库都留痕,查库存的时候能看到这批货是哪张单进来的、又被哪张单领走的。这对做贸易和做组装的小公司来说,价值非常直接——压货压在哪、断货断在哪,一眼能看到。

第三个疼点是权限。很多小公司不愿意上系统,是怕“所有人都能看到所有价格”。Odoo 的权限可以细到让销售员只看见自己名下的客户,别人开发的客户他连列表里都刷不出来。这种隔离在手工表格时代几乎做不到,而在系统里就是一个配置项的事。

2.3 新手最容易高估和低估的东西

高估的是技术门槛。不少人一听“开源”“部署”“数据库”就发怵,以为要会编程。实际上入门阶段你干的事更像填表:公司叫什么、税号多少、开户行是哪个、进项税率和销项税率填多少、客户分几类、每类挂哪个会计科目。这些是业务问题,不是代码问题。

低估的是配置量。系统装完只是有个空壳,真正占时间的是基础资料:客户、供应商、商品、计量单位、结算方式、付款方式、类别、属性值。我在带新人时反复强调一句话:安装只花半天,配置要花一周。很多人卡在“系统不好用”,其实是他自己只配了三个商品就来开单,开出来的单子当然处处别扭。

2.4 动手之前,最好先具备三样软前置

一是表格思维。你得习惯“一行是一条记录,一列是一个字段”的看法,看系统里的列表就不会晕。二是基本的业务链条感:一笔生意从询价、下单、发货、开票到收款,中间大概经过几个人、几张纸。三是极少量会计常识——知道应收是别人欠我、应付是我欠别人、借贷要平衡,够用了,不需要去考证书。

至于照着文档一步步做的耐心,反而是最关键的。这份资料里有很多“注意”级别的小开关,比如某个勾选项决定了应收在发货时生成还是在开票时生成,勾错了后面全歪。新手容易跳过这类说明直接点下一步,翻车基本都翻在这。

3. 第一步怎么迈:把 Odoo 16 装起来并成功登录

3.1 装之前先选路:Windows 试水,Ubuntu 长跑

如果你只是想先看看这东西长什么样,用 Windows 装一份最省事,双击安装包、一路下一步,装完浏览器打开本机地址就能进。适合做演示、给老板看效果、自己熟悉菜单。

如果要长期用、要给同事开着用,建议直接上 Ubuntu 服务器。原因不玄学:服务要一直开着,Windows 那台机器一关机大家就都用不了;而且后续做备份、做定时任务、挂反向代理,Linux 上的资料和工具都更顺手。我见过太多团队在 Windows 上用了三个月,数据攒起来了才想起要迁,迁移过程那叫一个提心吊胆。

下面两条路都给,你先挑一条走通,不要两条一起试。

3.2 Windows 下的最小流程:五步进到登录页

  1. 从官方渠道拿到 Odoo 16 的 Windows 安装包,双击运行,安装过程中会问你数据库的连接信息,本机安装的话保持默认即可。
  2. 安装器会自动带一个 PostgreSQL 数据库服务,这一步不要跳过,Odoo 的所有业务数据都存在它里面。
  3. 装完后在开始菜单里找到 Odoo 的启动项,运行起来,窗口里会滚动一堆日志,看到监听端口那一行就说明起来了。
  4. 浏览器打开http://localhost:8069,出现建库页面。
  5. 填一个数据库名(比如erp_demo)、设置管理员密码、去掉“加载演示数据”的勾选(新手建议先勾上,练手时能看到现成的例子),点创建。

第 5 步那个演示数据的勾选,值得单独说一句。勾上,你会得到一批假客户、假商品、假订单,适合先点着看;不勾,你面对的是一片空白,什么都要自己建。第一次上手我建议勾上,玩坏了直接删库重来,反正没真实数据。

3.3 Ubuntu 下的安装:几条命令逐行解释

服务器上装,先把数据库服务装好,再让 Odoo 连上去。下面这几条是最小集合:

# 1) 更新软件源索引,保证装到的是仓库里的当前版本 sudo apt update # 2) 安装 PostgreSQL 数据库服务 sudo apt install -y postgresql # 3) 建一个专用的数据库账号,不要让 Odoo 直接用超级用户 sudo -u postgres createuser -s odoo # 4) 给这个账号设密码,把引号里的内容换成你自己的 sudo -u postgres psql -c "ALTER USER odoo WITH PASSWORD '换成你自己的密码';"

第 3 步的-s是给这个账号超级用户权限,方便它自己建库建表;正式环境里更稳妥的做法是只给必要权限,但入门阶段先用这种省事的方式,跑通再说。第 4 步的密码要记住,下一步写配置文件要用。

数据库好了,接着起 Odoo 本体:

# 5) 进入解压后的 Odoo 源码目录 cd /opt/odoo # 6) 安装 Python 依赖,这一步会比较久,报错多半是缺系统库 sudo pip3 install -r requirements.txt # 7) 用指定配置文件启动,-d 后面是数据库名,第一次运行会自动建库 python3 odoo-bin -c odoo.conf -d erp_demo

第 7 步的-c指定配置文件路径,-d指定数据库名。第一次运行时会自动把表结构建出来,日志刷完不报错,就可以去浏览器访问了。如果卡在依赖安装那一步,八成是系统里缺编译工具,先补上基础的编译环境再重试,这属于血泪经验级别的常见卡点。

3.4 配置文件里那几个参数到底在说什么

上面用到的odoo.conf,内容大概长这样:

[options] ; 数据库连接信息,和上一步建的账号密码对应 db_host = localhost db_port = 5432 db_user = odoo db_password = 换成你自己的密码 ; 模块目录,自己加的模块放进去才会被系统识别 addons_path = /opt/odoo/addons,/opt/odoo/custom-addons ; 服务对外监听的端口 http_port = 8069
参数作用新手怎么填
db_host数据库地址数据库和 Odoo 在同一台机器就填 localhost
db_port数据库端口PostgreSQL 默认 5432,没改过就别动
db_user连库用的账号就是前面建的那个专用账号
db_password连库用的密码和建账号时设的一致,别留空
addons_path模块搜索目录多个目录用英文逗号隔开,自己写的模块放第二个目录
http_port网页访问端口默认 8069,被占用了就换一个

这张表里最容易被忽略的是addons_path。以后你从社区拿到一个第三方模块(比如让界面更适配宽屏的那个常见模块),解压后要放进这个目录里,重启服务,再去应用列表里搜,才能装得上。放错位置是新手最常见的“装完没反应”原因。

3.5 第一次登录后,先做这三件事

第一,改管理员密码,别用默认的。第二,进用户列表,按岗位把账号建出来:采购一个、销售一个、库管一个、出纳一个、会计一个,用户名建议用手机号或姓名全拼,方便记。第三,把主菜单从头到尾点一遍,不做任何配置,就看清楚每个菜单下面大概有什么。这一步花二十分钟,能省掉后面反复找入口的时间。

建用户时注意,只有拥有配置权限的账号,登录后主菜单里才会出现“配置”这一项。你如果发现自己的界面少了一大块,先别怀疑装错了,去检查这个账号的权限勾选。

4. 跑通第一个闭环:从建基础资料到开出第一张销售单

4.1 基础资料的顺序不能乱

配置这件事有先后依赖,顺序错了会来回返工。推荐的顺序是:公司基本信息(名称、地址、税号、开户行)→ 会计属性里的进项税率和销项税率 → 资金账户 → 结算方式 → 付款方式 → 客户和供应商类别(每个类别都要挂会计科目)→ 计量单位 → 商品 → 客户和供应商。

为什么公司信息排第一?因为税率和开户行是在公司档案的会计属性页签里设的,后面的单据全都要用到。为什么类别要先于客户?因为新建客户时要选类别,类别又决定了这个客户走哪个会计科目。基础资料配错一个环节,后面整条业务线的凭证都会歪,而且改起来很麻烦。

还有一个开关要在这一步定下来:公司档案里有个“根据发票确认应收应付”的勾选。勾上,流程变成发货后要手工确认结算单才产生应收;不勾,发货就直接生成。两种都能用,但一个公司只能选一种,中途改会让历史单据口径不一致。

4.2 建用户和权限:让每个人只管一段

按岗位建号是入门阶段最值得做的一件事。给库管只勾库存相关权限,给销售只勾销售权限并限制成只能看自己的客户,给出纳勾资金权限,会计给会计权限。这样做的直接好处是:以后出了问题,看是谁的操作记录就知道该找谁。

限制销售只看自己客户这个需求,在很多小公司是刚需——防止互相撬客户。系统里对应的做法是给这个用户配一条记录规则,让他登录后列表里只出现自己名下的客户。这类配置一次做好,长期省心。

4.3 商品怎么建:三个勾选框决定后续流程

建商品的时候,库存页签上有几个勾选框,它们的区别值得单独讲:

勾选项什么时候勾勾了之后的行为
管理批号同一款货要按批次追溯,比如食品、原材料出入库时要选具体批次
管理序列号每件货有唯一编号,比如设备、带编号的手册出入库时逐件登记序列号
虚拟产品不发实物,比如电子版资料、服务发货时不检查库存,不会出现负库存告警

一台设备勾了序列号,出库时系统会逼你填具体是哪一台,这对售后追溯很有用;一份电子资料勾了虚拟产品,卖多少都不会提示缺货,因为压根没有库存概念。这三个框勾错了,症状很明显:要么每次开单都被逼着填一堆用不上的编号,要么明明有货却提示库存不足。

商品的采购页签里还能挂多个供应商,分别设供货价和最低订购量。这对手上有两三家备选供应商的贸易公司很实用,比价的时候不用另开一个表格。

4.4 采购这条线:订单 → 入库 → 付款

按下面的步骤走一遍,全程用管理员账号:

  1. 进采购主数据,新建一个供应商,财务信息页签里把应付期初填上(只有管理员能改这个值)。
  2. 新建一个商品,在采购页签里挂上刚建的供应商,填供货价和最低订购量。
  3. 新建采购订单,选供应商,加一行商品,填数量和单价,确认。
  4. 从这张订单生成入库单,核对数量后点收货确认,库存增加。
  5. 进资金模块,新建结算单或付款单,选同一个供应商,核销这笔应付。
  6. 回头查两处:商品库存是不是多了,供应商的应付是不是少了。

这六步里最容易漏的是第 5 步。很多人做到第 4 步就以为完事了,结果应付一直挂着,月底对账发现金额对不上。记住一句话:收货改的是库存,付款改的是钱,两件事在系统里是两条线,都要走。

4.5 销售这条线:订单 → 发货 → 收款

销售侧把方向反过来走一遍:

  1. 新建客户,填应收期初(同样只有管理员能改)。
  2. 新建销售订单,选客户,加商品行,确认。
  3. 从订单生成发货单,确认出库,库存减少。
  4. 进资金模块新建收款单,核销这笔应收。
  5. 查两处:库存是不是少了,客户的应收是不是清了。

实际业务里还会遇到几种变体,这份资料里都有对应的处理路子:客户先打钱后发货的,走预收款;发货后客户要改数量或价格的,走销售变更单;客户退货的,走退货流程把货收回来、把钱退回去;还有一种很常见的——尾款客户不打算给了,这时候别把单据删掉,要做一笔处理把它结掉,让账面上说得清。

4.6 单据之间的“血缘”和状态

系统里每张下游单据都会记着自己是哪张上游单据生出来的,这个来源字段就是追溯的依据。一张销售订单走到最后,你能顺着链条看到它生成了哪张发货单、哪张收款单,中间有没有断。

状态流转也要心里有数:草稿、已确认、已完成,大体是这么三个阶段。草稿可以随便改,确认之后改动就受限了,已完成基本就锁死了。新手常见的错误是拿草稿单去问“为什么库存没变”,因为草稿压根不产生任何后续动作。

5. 新手最容易翻车的五个地方:一份照着查的排查清单

5.1 现象:货明明发了,账上一点动静都没有

原因通常出在“根据发票确认应收应付”这个开关上。这个选项勾上之后,发货只减少库存,应收要等到你去资金模块把结算单确认了才生成。很多人不知道有这一步,发完货就去查应收,当然是零。

解决办法是进资金模块找到对应的结算单,点确认。如果确认完还是不对,就去公司档案里看这个勾选项当前是什么状态,再回头看你这批单据是在哪种状态下做的,口径不一致的时候要先把历史单据处理干净再改设置。

5.2 现象:手滑删了系统自动生成的出入库单,流程卡死了

原因在于单据之间有依赖。上游订单已经确认,下游那张自动生成的入库单或出库单被删掉,上游的状态就卡在中间动不了,既不能继续也不能回退,看着像死机。

正确的处理方式是不要删。发现做错了,做一张反向单据把它冲掉,让两条记录都在,账面才说得清。已经删了的话,只能重新从上游订单再生成一张,然后核对库存数量有没有重复计或者漏计。这个坑我踩过一次,库存对不上查了两个小时,从那以后凡是系统自动生成的单据我一律不碰删除键。

5.3 现象:折旧或结转做完了,发现科目方向反了

原因多半是会计科目挂错了地方——要么商品类别上挂的科目不对,要么收发类别没有设成核算类型并选好对应科目,导致凭证自动生成时借贷方向拧了。

解决办法不是直接去改那张历史凭证,而是做一笔冲销把原来那笔冲掉,再按正确的配置重做一次。同时回到配置里把根子上的科目改对,否则下一单还是错的。历史凭证直接改,账就对不平了,后悔药可没地方买。

5.4 现象:换了个币种的客户,订单一开金额全乱

原因在于币种是跟着会计科目走的:先给科目选币种,再把这个科目用在客户分类上,这个分类下的客户开单才是那个币种。还有一个限制要提前知道——同一个客户档案不支持多币种交易。

解决办法是给不同币种的客户建不同的分类,各自挂对应币种的科目;如果确实有客户要用两种币种结算,就建两个客户档案分别对应,别硬在一个档案上试。这个限制在接单前搞清楚,比接完单再返工省事得多。

5.5 现象:数据库启动越来越慢,页面一直转圈

原因通常有几类:数据库服务本身没调过参数,连接数和缓存都是默认值;Odoo 服务和数据库挤在同一台机器上互相抢资源;访问入口没有做转发,直连应用端口,并发一上来就堵。

对应的处理办法:先看数据库的启动日志和连接情况,把常用参数按机器配置调一调;机器够的话把数据库和应用分到两台机器上;前面加一层反向代理,把静态请求挡掉;应用这边可以启用多核、调整预读参数。这几件事都不难,但要一件一件来,别一次全改,改完不知道是哪一步起的作用。

6. 接下来练什么:三周上手路线和一个笨办法

入门阶段最怕的是资料看完了、手还是不敢动。给你一条我自己带新人时用的三周路线,每天抽一到两小时就够。

阶段练什么怎么算过关
第一周装环境、建账号、配公司信息和税率、建五个客户五个供应商十个商品能独立把一套空白系统配到可以开单
第二周完整走三遍采购和销售闭环,中间故意做错一次再冲销掉能说清每张单据是谁生成的、状态停在哪
第三周加生产或委外,走一次组装生产和一次工序生产,再看一遍 MRP 分析结果能解释物料清单和工序模板各管什么

第一周别贪多,把基础资料配齐比什么都重要。第二周刻意制造错误,是我最推荐的一招——你不删一次单、不冲一次账,就永远不知道这些坑长什么样,等真出了事只能干着急。第三周视你的行业来,做贸易的可以跳过生产,改去练多币种和权限隔离;做制造的把组装生产和工序委外各走一遍,重点看物料清单是怎么把原料和成品连起来的。

再给一个具体的小技巧:把每个模块的“打印”按钮都点一次。系统里很多单据自带打印模板,你能从打印出来的样子反推这张单据到底记了哪些信息,比在表单里一个个字段看要直观得多。还有批量操作和导入导出这两个功能,值得早点学会——等你手上有一百个客户要录的时候,就知道一条条点有多绝望了。

最后一句话是我自己的教训。刚接这类系统的时候,我总想着一次把所有模块配到位,结果每样都配了半截,出了问题根本定位不到是哪一步埋的雷。后来我给自己定了个死规矩:每接手一套新系统,先只建三条数据——一个客户、一个商品、一笔订单,把它从头到尾跑通、跑对,再往上加东西。听起来很笨,但它救过我很多次。希望帮到你。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进