零基础Odoo16入门:ERP实施、基础资料配置与业务跑通指南 简介《odoo16实施应用入门必备》是一份面向Odoo16与GoodERP初学者的实施应用指南适合企业信息化实施人员、ERP顾问及希望快速上手开源ERP的开发者对照学习。压缩包内为1个PDF文件约9.01MB内容围绕Odoo中国版GoodERP展开从基础资料配置、用户权限、资金账户与结算方式到采购、销售、仓库、现金、组装生产、工序委外和MRP分析均有覆盖并延伸至Windows/Ubuntu安装、Nginx与PostgreSQL性能优化、数据库管理等部署要点。章节还整理了库存查询、凭证号重排、批量操作、数据导入导出等实用技巧便于读者按模块查阅实施流程与常见场景处理思路。目前已有276人学习可作为入门阶段梳理Odoo实施脉络和查漏补缺的参考。1. 从一张被 Excel 追着跑的表说起Odoo16 入门到底在学什么很多人第一次听到 Odoo16 入门这几个字脑子里蹦出来的是一串问号这是个软件还是一门编程语言是不是要会写代码才能碰其实你可以先把它想成一套把“客户本、库存本、进出账本”合到一块儿的东西——打开浏览器就能用所有数字互相牵着走。Odoo 16 是这套软件的版本号GoodERP 是在它基础上做过中国化处理的开源版本而“实施”这个词说白了就是把这套东西按一家公司真实的业务流程调好参数、配好权限让同事真的能上手用起来不是装完就完事。它适合两类人一类是小公司里天天被表格追着跑、想换套系统的另一类是刚入行、想摸清企业软件长什么样的新手。接下来的路我会按“先懂概念、再装起来、然后配资料、最后走通一单生意”的顺序带你走一遍。2. 先把三个词分清楚ERP、Odoo 16、GoodERP 是什么关系新手最容易卡住的地方其实在于三个词混着听根本不知道谁是谁技术本身倒在其次。所以别急着装软件先用十分钟把这三个词摆到正确的位置上后面所有操作你都会觉得顺。2.1 用一家小店的五本账理解 ERP先想一家卖五金件的小店。它日常要记的东西其实有五类谁进了什么货、谁买走了什么、仓库里还剩多少、谁还欠我钱、我欠谁钱。如果这五样都记在 Excel 里会出什么事业务员卖了三箱螺丝销售表改了库存表忘了改顾客第二天来退货你翻开库存表一看数量还是错的。时间一长光对账就能耗掉半天。ERP 干的事情本质就是把这几本账塞进同一个数据库让一张单子同时牵动所有相关的数字。你开一张销售订单系统知道要出库出库单一确认库存自动减库存一减成本跟着动收款一登记应收自动销掉。你不用再去别的表里手动改一遍因为压根就没有“别的表”。这里有几个词你会在后面反复撞见先混个脸熟业务伙伴客户和供应商的统一叫法。一个公司既可能卖东西给你也可能从你这儿买东西所以系统里只建一份档案。商品不一定是实物。可以是一箱螺丝也可以是一份电子版文档、一次上门服务。单据订单、入库单、出库单、结算单、凭证全是单据。ERP 里所有动作都是“开一张单、确认它、它去影响别的东西”。会计凭证钱真正动起来的记录。很多新手觉得这个离自己很远其实你后面每确认一张结算单系统都可能顺手生成一张。理解到这层就够了。你不需要现在就懂借贷记账只要记住一句话在 ERP 里任何一次业务动作都会留下痕迹并且会牵连到别的模块。这句话能解释你后面遇到的绝大多数“为什么这里多出来一条记录”。2.2 Odoo 16 是底座GoodERP 是做过中国化的那一层Odoo 本身是一个开源的、模块化的企业管理软件套装。模块化是什么意思就是它拆成了一块一块销售一块、采购一块、库存一块、财务一块、生产一块、项目管理一块。你需要哪块就装哪块不用一次性全背在身上。你用浏览器访问它界面是网页数据存在后台的数据库里。那个“16”是版本号。版本号这件事你得稍微在意一点因为不同版本之间菜单位置、字段名字是会对不上的。你在网上搜到一篇讲别的版本的教程照着点很可能找不到那个按钮——这不怪你也不怪教程纯属版本差异。GoodERP 是在 Odoo 16 这个底座上做过中国化处理的一层。中国化具体改了什么举几个你马上会碰到的结算方式支票、银行汇票、银行本票、商业汇票、委托收款、汇兑、信用卡、托收承付这些、付款方式企业之间约定的账期比如月结 30 天、按发票确认应收应付的开关、供应商和客户的期初应收应付录入、以及多币种跟着客户分类走的那套规则。用个好理解的比方Odoo 16 是一台发动机GoodERP 是同一台发动机配上了适合本地路况的底盘和仪表盘。你学的是怎么开这台车不是怎么造发动机。提示新手别一上来就去纠结“原版和这个版本到底差哪几行代码”。先把界面点熟、把一张单子走通差异自然会在你踩坑的时候浮现出来。2.3 为什么零基础应该先学配置不是先学写代码这是我最想跟新手掰扯清楚的一件事。很多人一听“开源软件”四个字第一反应是“那不得会写代码吗”然后就被劝退了。其实在真实项目里代码占的比重远没有你想的那么大。一个典型的实施项目时间大概这么分摸清业务流程、配基础资料、配权限、跑通几条主线业务、培训同事用起来——这些加起来能占到八九成。真正需要动代码的场景通常是这么几类系统里确实没有这个字段、要改一个现有的计算逻辑、要跟外部系统对接。对零基础的人来说最划算的路径是把配置这条路走通。因为配置这件事有个好处它是有反馈的。你改一个参数界面上立刻能看出变化你勾一个选项单据流程就不一样了。这种即时反馈特别适合建立信心。我第一次接触这类系统的时候犯过一个挺蠢的错一头扎进源码里想搞懂它怎么跑的结果看了两天连一张销售订单怎么从头走到尾都说不清楚。后来是被一位带我的前辈点醒了——他让我先把公司信息、客户、商品、仓库这些基础资料配一遍配完再看那些代码忽然就通了。因为我知道了那些字段在业务上到底代表什么。所以顺序建议是概念 → 装起来 → 配基础资料 → 走通一条业务流 → 再考虑定制。跳过前面几步直接看代码大概率会翻车。2.4 一份实施指南通常会带你走过哪些模块下面这个脉络基本就是一份完整实施指南的骨架。你现在不用记住细节只要知道“我接下来会经过哪几站”心里就不慌。阶段你在干什么新手难度基础资料配置公司信息、用户权限、资金账户、结算方式、客户供应商、商品、计量单位、多币种低但琐碎最容易漏仓库其他入库单、商品分类低采购流程采购订单 → 采购入库 → 采购付款中第一次走完整链路销售流程销售订单 → 销售发货 → 销售收款还有变更单、预收款、退货、尾款不再收取中偏高分支最多特定场景销售订单直接生成采购订单、批次和序列号、误删自动单据的补救中靠经验现金与生产现金模块、简单组装生产、产品委外、复杂工序生产和工序委外中偏高涉及成本MRP 分析分析参数、按需求算物料高但用得上就很值外贸多币种币种跟着客户分类走中数据库与部署数据库管理、服务安装升级、性能相关配置看角色纯实施可以先跳过你会发现前面几站几乎全是“填资料”。填资料听起来很无聊但这一步的含金量极高——基础资料配歪了后面每一张单子都会带着错误往下跑到时候想改就得连锅端。3. 第一次把系统跑起来从安装到登进后台概念清楚之后就该动手了。这一章的目标很朴素让你在自己电脑或一台测试机上看到那个登录界面然后用管理员账号登进去把公司名字改成你自己的。3.1 装之前先确认三样东西不管你在 Windows 还是 Linux 上折腾这套系统跑起来都依赖三样东西少一样都起不来运行环境Odoo 是 Python 写的所以机器上得有 Python 解释器。这一步在 Linux 上基本自带Windows 上要单独装。数据库所有数据都存在 PostgreSQL 里这个必须单独装而且是所有环节里最容易出问题的一环。源码或安装包你要么拿到一份打包好的安装程序要么拿到一份源码目录。源码目录里通常会有一个启动脚本一般叫odoo-bin。在 Windows 上最常见的情况是用打包好的安装程序装完在开始菜单里就能启动界面上点点就行。但也有人选择在 Windows 上装好数据库和 Python用命令行启动好处是你能看到完整的日志输出出问题的时候知道该看哪儿。在 Linux 上基本都是走命令行。别被命令行吓到真正要敲的没几行。注意不要在生产机或者存着重要文件的电脑上做第一次试装。新手期的操作失误概率不低找一台干净的测试机或者先在虚拟机里折腾心里会踏实很多。3.2 在 Linux 上把服务拉起来下面这段是给完全没碰过命令行的人准备的。逐行敲敲完看解释。# 1. 更新软件源把系统自带的包列表刷到最新 sudo apt update # 2. 安装 PostgreSQL 数据库。Odoo 的所有业务数据都会存在它里面 sudo apt install postgresql -y # 3. 给当前登录用户建一个数据库账号并赋予超级用户权限 # 这样后面 Odoo 才有权限建库、建表 sudo -u postgres createuser -s $USER这三行的意思是先把系统的软件清单更新一遍然后把数据库装上最后给“你现在这个登录用户”开一个数据库账号。第三行里的$USER是个环境变量代表你当前的用户名不用手动替换系统自己会填。-s是 superuser 的缩写意思是这个账号有最高权限——只在你自己的测试机上这么干正式环境里权限要收敛。数据库装好之后进到源码目录装依赖、启动服务# 4. 进入源码目录安装 Python 依赖包 # requirements.txt 里列了这个版本需要的所有第三方库 pip3 install -r requirements.txt # 5. 启动服务 # -d 指定数据库名不存在会自动创建 # --db_user 指定用哪个数据库账号连 # --addons-path 指定模块目录装第三方模块也放这儿 # -p 指定访问端口 ./odoo-bin -d testdb --db_user$USER --addons-pathaddons -p 8069几个参数单独说一下因为你后面改配置时天天要动它们-d testdb数据库名字随便起建议用英文小写。第一次跑会自动建好。--db_user$USER连数据库用哪个账号。如果报权限错误八成是这里和上面第 3 步建的账号对不上。--addons-pathaddons模块搜索路径。你想装第三方模块模块文件夹就放到这儿或者在这儿后面再加一个路径。-p 8069端口。如果这行命令跑起来报端口被占用换个数字比如 8070。跑起来之后浏览器访问http://localhost:8069能看到登录页就说明成了。第一次进去用的是默认管理员账号密码在启动日志里能看到或者按你拿到的文档说明来。如果起不来先看终端里最后那几行红色报错。这一步的排查顺序我后面 3.5 节会单独讲。3.3 登进后台先改公司信息别急着录单子登进去之后很多人第一反应是“赶紧建个客户试试”。先别。先改公司信息因为后面每一张单据、每一张凭证都会带上公司信息你晚改一步前面录的东西都得跟着返工。路径是配置 → 高级配置 → 公司。在这里要填的是公司名称、地址、税号。这三个是最基础的别填错。会计属性选项卡里的进项税税率和销项税税率。这两个数字会参与金额计算填错了后面所有含税金额都是错的。开户行。这里要先在资金模块里把公司的对公账户建出来然后回这儿选上。同一页里还有个新手特别容易忽略的开关根据发票确认应收应付。勾不勾流程完全不一样。勾上之后销售订单发货完成你还得去资金 → 结算单里找到那张结算单点“确认”应收才算真正挂上账。不勾的话发货就直接产生应收。这两种做法都能用取决于这家公司想让财务在哪个节点介入。我在测试环境里第一次没注意这个开关结果对着一堆结算单发了半天呆——明明发货了怎么应收查不到。翻回去一看就是它。改完记得保存。这一步没有任何技术含量但它决定了后面所有数字的基准值得你花五分钟。3.4 新建一个普通用户亲手感受权限只用管理员账号操作你永远体会不到权限是怎么回事。所以这一步建议你新建一个普通用户然后用它登录一次。做法是用管理员身份进入配置 → 用户点“创建”。用户这一栏建议用手机号或者姓名的全拼、简拼。注意这一栏的内容就是这个人将来登录时填的东西所以别随便写个“测试1”就完事。勾选这个用户应该拥有的权限。比如库管员就勾仓库相关出纳就勾资金相关别图省事全勾上。保存之后点“动作”下拉菜单里的“更改密码”给他设一个登录密码。然后你按同样的方式把几个典型角色都建一遍采购员、销售员、库管员、出纳、会计。建完之后退出管理员用刚建的那个普通账号登进去看看。你会看到什么很可能菜单少了一大半。这不是 bug是权限在起作用——只有拥有“配置”权限的用户登录后才看得到“配置”主菜单。这一刻你就明白权限是怎么回事了比看十页文档都管用。3.5 装完跑不通时先看这三个地方第一次装失败太正常了别慌。按这个顺序排查能解决九成问题第一看数据库服务起来没有。命令行里敲一下看看进程在不在。如果数据库压根没启动Odoo 那边永远连不上报的错还特别隐蔽容易带你跑偏。第二看数据库账号和权限。报“认证失败”或者“数据库不存在”基本都是这儿的问题。回头看看你第 3 步建账号的时候用户名和启动命令里--db_user填的是不是一个。第三看端口被谁占了。报“地址已被使用”换个端口号再试。这种情况在你同时开了好几个测试环境的时候特别常见——别问我是怎么知道的。把这三条记住后面遇到问题先往这三个方向想一遍能省掉大量乱搜的时间。4. 基础资料配置实施的八成分量都花在这里系统能登录之后就进入真正的实施环节了。这一章是全篇最琐碎、但也最有用的一章。我建议你按小节顺序一项一项做做完就打勾不要跳。4.1 录入顺序别乱类别 → 伙伴 → 商品新手最常见的做法是想建什么就建什么结果建到一半发现某个字段选不出来卡在那儿。原因是这些资料之间有依赖关系商品要挂在类别下类别要挂会计科目客户也要挂类别。建议按这个顺序走先建类别。路径是配置 → 基本配置 → 类别。这里要建的包括客户类别、供应商类别、商品类别。这一步有一件必须做的事——给每个类别选好会计科目。为什么必须因为后面这个类别的客户下单、这个类别的商品出入库系统要根据类别去找对应的科目记账。你不选它就只能报错。再建业务伙伴。客户走销售相关菜单供应商走采购 → 主数据 → 供应商。老客户老供应商要一个个录进来尤其是那些还有未结清账目的一个都不能漏。最后建商品。商品建之前计量单位得先有。关于期初数据有两条比较硬的规定需要你知道供应商的应付期初、客户的应收期初只有管理员账户才能录入和修改。普通账号连这个字段都动不了。所以录期初这件事必须用管理员身份一次性做完别指望后面让业务同事自己补。4.2 计量单位、批号和序列号什么时候该勾那一栏计量单位在库存 → 设置 → 单位里配。个、箱、米、千克按你的行业来。这一步没啥技术含量但千万别偷懒所有商品都统一用“个”——等你遇到按重量卖的东西返工起来很痛苦。商品建的时候库存选项卡下有两组勾选项新手经常不知道该不该勾管理批号 / 管理序列号。什么情况下勾当每一件货都需要被单独追踪的时候。比如每套手册有唯一的手册编号这种就要把两个都勾上将来出货、退货、查问题能精确到具体哪一本。普通的螺丝、纸箱勾了反而是负担因为每次出入库都要你手填号码。虚拟产品。这个对应的是不需要检查库存的东西。比如电子版资料、上门服务这类东西没有实物在仓库里躺着你要是不勾虚拟产品系统发货时会告诉你库存不足流程直接卡死。同一页里还有属性的设置路径是配置 → 基本配置 → 属性值。比如封皮颜色这个属性你可以给它加“草绿色”“米黄色”这些值。注意这类属性默认对价格没有影响它只是让商品有更多可选的描述维度别指望靠它来做加价。商品建好之后还可以在采购选项卡里给同一个商品挂多个供应商分别设定供货价和最低订购量。这个功能在小公司里非常实用——同一款货从三家拿价格不一样采购的时候系统能帮你比。4.3 客户分类绑会计科目这一步错了后面全歪接着说类别和科目的绑定因为它值得单独拎出来讲。你会看到在类别设置里需要给每个类别选会计科目。为什么这么设计因为系统需要知道“这个类别的客户欠我钱应该记到哪个科目上”“这个类别的商品出库成本应该走哪个科目”。它把科目挂在类别上而不是挂在每一个客户、每一个商品上是为了省事——你只要在类别这一层配一次底下的都继承。这意味着什么意味着你类别分得越粗后面账就越糊涂。如果你所有客户都塞进“默认客户类别”那所有应收都挤在一个科目上月底想看“华东区客户欠款”这类数据就无从下手。我的建议是按你实际想要的分析维度来分类别别一上来就搞十几个也别只搞一个。三到五个是个比较舒服的起点等用顺了再细化。还有一处容易漏的库存的其他入库单和其他出库单它们的收发类别类型要设成“核算”并且选上对应科目。这个设置平时不显眼等你哪天做了张其他入库单发现凭证生成不出来回头找原因能找半天。4.4 多币种的一条硬规则币种跟着客户分类走做外贸的朋友会关心多币种。这里有一条规则你只要记住它就不会绕晕币种是跟会计科目走的不是跟客户走的。完整链条是这样的你先在会计科目上选好币种 → 再把这个科目用在某个客户分类上 → 那么这个分类下的客户他开的订单就是那个币种。听起来别扭但你顺着想一下就通了系统要算账账是按科目记的所以币种必须挂在科目这一层才能保证同一个科目下的金额单位一致。配套还有一条限制同一个客户暂时不支持同时用多种币种交易。所以如果你的客户既有美元单又有欧元单得在分类上想办法拆开不能指望一个客户档案里混着来。第一次接触这套规则的人十个里有八个会试图去客户档案上找“币种”字段。找不到是正常的因为它压根不在那儿。4.5 资金账户和结算方式两个名字很像但不是一回事这两个词连老手都会嘴瓢新手更是容易混。拆开看资金账户就是公司实际的钱放在哪儿。对公账户、备用金、某个支付平台的余额都算。设置路径是资金 → 设置 → 账户用有出纳权限的账号登进去配。公司的对公账户一定要录录完之后回到公司信息的“开户行”字段选上它。期初余额怎么处理系统会自动生成一张其他收入单来记录并且顺手生成一张会计凭证。所以你不用手动去凭证那边补但也别看到凭空多出来的单子就以为是系统出毛病了。结算方式是银行存款余额减少的具体形式。支票、银行汇票、银行本票、商业汇票、委托收款、汇兑、信用卡、托收承付就是这几种。路径是资金 → 设置 → 结算方式。付款方式是企业之间约定的账期比如月结 30 天。它会和发票日期一起用来算账龄。路径是资金 → 设置 → 付款方式。三个概念的区别一句话概括账户是“钱在哪儿”结算方式是“钱怎么出去的”付款方式是“什么时候该出去”。这三样配清楚后面收款付款才不会乱。5. 避坑与排查新手最容易翻车的五个地方配置阶段踩的坑往往要到业务跑起来才暴露那时候返工成本已经很高了。这一章我把新手最高频的五个问题按“现象 → 原因 → 解决”拆开你要是正在踩直接对号入座。5.1 现象库存数字和自己的记录对不上现象仓库里明明还有货系统显示 0或者系统显示还有一堆去仓库一看早空了。原因九成是期初没录或者录了但录在了不对的地方。新手常常直接在商品档案上改数字改完看着对了实际上没生成任何出入库单据库存台账和实际库存两套数。另一种可能是期初录了但后来有人做了一张其他出库单没告诉你。解决先去查这个商品的库存流水看每一条出入库记录是怎么来的。如果发现是期初遗漏用其他入库单补别去改商品档案。补的时候注意其他入库单的收发类别要设成“核算”并且选好科目否则凭证出不来。补完之后再对一遍数对上了才算完。5.2 现象客户已经付钱了应收还挂在账上现象钱收到了客户也确认了但系统里的应收账款还是原来那个数一分没减。原因这个跟第 3.3 节那个开关直接相关。如果你勾了“根据发票确认应收应付”那么发货之后产生的是结算单必须去资金 → 结算单里点“确认”应收才真正挂上之后再登记收款应收才会被销掉。中间少点一次确认整条链就断在那儿。解决先去结算单列表看看有没有状态是“未确认”的单子有就确认掉。然后检查收款登记有没有关联到正确的结算单上。还有一种情况预收款没走专门的预收流程钱收了但没挂到任何单子上这种要在销售预收款那块单独处理。5.3 现象新同事登录进去菜单是空的现象账号建好了密码也给了同事登进去发现几乎什么都没有连自己该干的活都找不到入口。原因建用户的时候权限没勾够或者勾了但没保存成功。另一个容易忽略的点是只有拥有“配置”权限的用户登录后才会看到“配置”主菜单——很多人第一次建号的时候以为是自己建失败了其实是权限设计本来就这样。解决用管理员账号进用户列表打开这个人的档案把该有的权限补上。补的时候按角色来别图省事全勾。另外提醒一句那个“用户”字段里的内容就是他登录时填的账号建的时候写清楚建完再改会比较麻烦。5.4 现象多币种报价金额算出来看着不对现象给客户报了个美元价结果订单上的金额跟预期差一截。原因大概率是币种挂错了层级。有人直接去客户档案上找币种字段——找不到因为它不在那儿。币种是挂在会计科目上的科目再挂到客户分类上。链条中间断了一环订单就还是按默认币种算。解决倒着查一遍。先看这个客户属于哪个分类再看这个分类绑的是哪个科目最后看那个科目上选的币种对不对。三个环节任何一个不对结果都不对。另外记住那条限制同一个客户目前不支持多币种混着交易需要的话只能在分类上拆开。5.5 现象误删了系统自动生成的出入库单现象手滑删了一张系统自动生成的入库单或者出库单然后发现订单状态卡住了怎么点都不往下走。原因这类单据不是“一张孤立的表”它是订单流程里的一个环节。你把它删了订单那边还等着它回来推进状态于是就僵在那儿。系统不会自动帮你补因为它不知道你删了。解决先别急着重新开单。回头看看那张源订单还在不在状态是什么。多数情况下可以从源订单重新生成那张单据而不是手工补一张新的——手工补的单子和订单没有关联后面还是断的。这一类操作建议只在测试环境里练手生产环境里给普通用户把删除权限关掉比事后救火划算得多。6. 下一步学什么一条能走通的自学路线跑通上面这些之后你大概已经能在系统里建客户、建商品、开一张订单了。接下来最怕的是乱学——今天看生产模块明天研究数据库优化最后哪块都不熟。我给你一条我自己走过、也带过新人走过的路线。第一阶段建议 1 周把一条主线走完。就选销售这条线销售订单 → 销售发货 → 销售收款。不要贪多把这一条从头到尾走三遍每遍都自己开单、自己确认、自己登记收款然后去查库存变了没有、应收减了没有。走完这条线你对“单据之间怎么互相牵动”就有体感了。第二阶段建议 1 周走采购线再走一遍退货。采购订单 → 采购入库 → 采购付款流程结构和销售是镜像的走起来会快很多。然后重点练退货和预收款这两个分支——它们是最容易出问题的地方也是最能看出你有没有真理解流程的地方。第三阶段建议 2 周碰生产和 MRP。先做简单组装生产再做产品委外最后才是复杂工序和工序委外。这个顺序不能反因为复杂度是阶梯式上升的。MRP 分析放到最后它依赖前面的物料清单和库存数据都配对了否则算出来的结果你自己都不敢信。第四阶段再回头补技术侧。数据库管理、服务安装升级、第三方模块安装这些等到你对业务有概念了再看理解速度会快很多。第三方模块我建议先装一个界面类的试试水比如让界面在手机上更好用的那种装完看看效果熟悉一下模块是怎么装进去的。有一张表你可以贴在显示器边上遇到什么先去哪儿看菜单找不到检查当前账号权限单据卡住不动看上游单据状态别删单重开金额不对查税率、币种、类别绑的科目库存对不上查库存流水用其他出入库单补凭证生成不出来查收发类别有没有设成“核算”并选科目最后说个我自己的习惯。从那以后我每次新搭一个环境都会强制走一遍这个顺序改公司信息 → 建资金账户 → 建类别并绑科目 → 建两三个客户和商品 → 开一张最小的订单 → 确认 → 查库存和应收。这一圈走完不到二十分钟但能提前把八成配置问题暴露出来。比等到同事都开始录数据了才发现科目没绑要省事太多。希望帮到你慢慢来第一张订单跑通的那一刻后面就顺了。本文还有配套的精品资源点击获取