開始

部分企业从开业之初便使用 Odoo,但很多企业需要从其他旧版财务软件迁移至 Odoo。直接启用 Odoo 的企业流程会简单很多,但仍需完成以下步骤:

迁移至 Odoo 的企业除上述步骤以外,还需要:ref:导入初始分录 <accounting/get_started/open-entries>

执行时机

通用类别

具体待办事项

在创建数据库/公司时

财税本地化

校验本地化配置

实施前期

会计主数据

其他主数据

会计配置

公司資訊
報稅周期
税额舍入与价格含税设置
默认账户
财政年度结束日期
文档排序

实施阶段

期初分录

備註

从旧软件系统迁移至 Odoo 会计模块流程较为复杂,不同企业之间差异较大。本文档提供基础操作步骤,Odoo 的服务包<https://www.odoo.com/pricing-packs>_可为您提供个性化指引,适配企业自身业务需求。高级用户可将本文作为迁移参考,但请注意部分个性化需求本文并未覆盖。

小訣竅

建议在测试数据库演练整套流程,同时并行沿用原有会计工作流程,规避故障风险。

数据库 / 公司创建阶段

:doc:`财税本地化包 <../fiscal_localizations>`为国家专属模块,会在数据库中预配置税种、财税位置、会计科目表以及法定报表。同时会计应用会新增部分附加功能,例如特定证书配置,以满足财税监管机构要求。

创建数据库时,系统会根据所选国家自动安装对应的财税本地化包。部分国家针对不同业务类型提供多个本地化包,请务必确认已安装正确套件。操作路径:会计 ‑‑> 配置 ‑‑> 设置,在 :guilabel:`财税本地化`板块的:guilabel:`套件`字段核对当前启用的本地化包。

警告

仅在尚未过账任何会计分录的前提下,才允许切换其他本地化套件。

实施前期

会计主数据

主数据是其他业务记录所依赖的基础数据。例如开具发票需要客户信息,客户(联系人)即为主数据。由于其他记录依赖主数据,无论手动录入还是导入,会计数据导入 Odoo 的先后顺序至关重要。

賬目總表

:doc:`会计科目表 <get_started/chart_of_accounts>`是全部会计记录的基础,因此必须在录入其他数据库记录之前完成配置。每套财税本地化包都会附带一套标准会计科目表,但多数企业拥有自定义科目表。部分企业科目与 Odoo 标准科目用途一致,只是科目名称或编码不同;还有部分科目在 Odoo 标准科目表中没有对应科目。两类科目需要区分处理:

  • 对于企业科目表中与 Odoo 标准科目用途对应的科目,直接修改 Odoo 标准科目的名称或编码,与企业自身保持一致即可。

  • 对于企业科目表中无对应 Odoo 标准科目的科目,手动新建或者 导入

小訣竅

同一套科目表内科目编码必须唯一,请确保新建或导入的科目编码不与已有科目重复。

危險

部分标准科目被用作产品、产品分类、联系人以及会计设置中多个字段的默认科目,删除或修改其科目类型会导致开发票等基础业务流程异常。请勿直接删除 Odoo 标准科目,建议修改名称与编码复用。

貨幣

如果企业需要财税本地化包默认之外的其他 币种,启用对应币种。可在会计设置的 :guilabel:`币种`板块配置汇率自动更新。

日記賬

系统默认会生成 日记账,例如销售日记账、采购日记账、银行日记账等。也可新建日记账适配不同业务场景,包括:

  • 使用多个销售日记账区分收入来源

  • 多个银行账户分别配置独立日记账

  • 通过杂项日记账管理贷款、税务申报、薪酬管理等业务

在银行、现金以及信用卡日记账中记录付款时,是否生成会计分录取决于日记账配置。系统默认不会为付款生成分录。如需让日记账生成付款分录,请在该日记账的付款方式上设置 待收付款科目

財務規則

财务规则 <taxes/fiscal_positions>`可根据客户或供应商,为产品配置不同收入、费用科目并套用不同 :doc::税种 <taxes>`。也可设置依据客户或供应商地址自动匹配财税位置。安装 财税本地化包 会自带默认财务规则,既可以修改现有配置,也可以手动新建财务规则。

稅項

税种`会作用于会计多个业务环节,包括 :doc:`财务规则、:ref:`会计科目 <taxes/definition-tab>`以及产品。安装 :doc:`财税本地化包 <../fiscal_localizations>`会自带默认税种,可修改现有税种,也可手动新增税种。

付款條件

:doc:`付款条款 <customer_invoices/payment_terms>`用于定义销售订单、采购订单、客户发票、供应商账单等单据的付款条件,还可以设置分期方案,实现单据分多期收款付款。

付款条款与到期日均用于规定付款到期时间,二者互斥,一张单据只能选用其中一种。

其他主数据

产品与产品分类

:doc:`导入产品 <../../sales/sales/products_prices/products/import>`和产品分类,也可手动创建。产品分类表单包含多项会计相关字段,包括:

  • 成本核算方法

  • 库存计价方式

  • 收入科目

  • 费用科目

  • 库存科目

  • :guilabel:`价格差异科目`(仅当产品分类的 :guilabel:`库存计价方式`设置为 :guilabel:`永续盘存(开票时)`时可用)

产品默认会继承所属产品分类的 收入科目`与 :guilabel:`费用科目,也可在单个产品记录上覆盖该科目设置。产品表单还有其他会计相关字段,包括:

  • 开票策略

  • 销售税

  • :guilabel:`成本`(在导入:ref:`期初库存 <accounting/get_started/open-inventory>`时尤为重要)

  • 采购税

小訣竅

请先导入产品分类,再导入产品,这样导入产品时就可以指定对应的产品分类。

往来银行以及银行账户

向供应商付款(例如通过 :ref:`SEPA贷记转账 <accounting/sepa_payments/sct>`或者 :doc:`NACHA <../fiscal_localizations/united_states>`文件),以及通过 :ref:`SEPA直接扣款 <accounting/sepa_payments/sdd>`向客户收款时,必须在联系人档案中维护客户或供应商的银行账户信息

导入,也可以手动新建。

聯絡人

导入 联系人,也可以手动新建。联系人表单的多个字段会影响发票、供应商账单等会计单据,包括:

  • 销售以及采购对应的 付款条款

  • 财务规则

  • 應收帳款

  • 應付帳款

  • :ref:`发票发送 <accounting/invoice/sending>`偏好设置(仅在:ref:`开发者模式 <developer-mode>`下可见)

  • 电子发票格式

  • Peppol 电子地址(EAS)

  • 电子发票接入端点

  • 银行账户

  • 根据所使用的 财务本地化包,系统可能会显示更多电子发票相关字段

会计配置

以下核心会计配置对会计档案初始化至关重要。大部分配置位于会计设置页面,路径:会计 ‑‑> 配置 ‑‑> 设置

  • 公司信息,例如公司名称、地址、Logo、电话与邮箱地址

  • 報稅周期

  • 舍入方式:在会计设置的 :guilabel:`税种`板块,选择税额是按单据行舍入还是按税种舍入。

  • 价格:在会计设置的 税种`板块,设置价格默认 :guilabel:`不含税`还是 :guilabel:`含税

  • 預設條款與條件(T&C)

  • 默认科目:可在会计设置的以下两个板块配置默认科目:

    • 默认科目:日记账之外的其他通用默认科目

    • 库存估值:库存估值以及生产会计相关的其他默认科目

  • 会计年度结束日期

  • 發票序列

实施阶段

期初分录

迁移至 Odoo 的企业,如果已有科目余额、未结清发票与供应商账单、期初盘点库存,需要在 Odoo 数据库录入期初分录,保证数据准确体现。

导入 期初试算平衡表 的流程存在风险,操作不当会造成金额重复。

Example

某企业应收账款当前余额为 1000 美元,对应未结清发票的待收款项 1000 美元。

如果直接在 Odoo 同时录入这批未结清发票以及应收账款科目余额,应收账款会错误显示余额 2000 美元:

  • 来自应收账款期初试算平衡表的 1000 美元

  • 来自 Odoo 内新建未结清发票产生的 1000 美元

该逻辑同样适用于未结清供应商账单与应付账款。

为避免该错误,请使用*过渡清算科目*,这类科目用于临时存放金额,后续再完成轧平(即 “清算”)。

迁移时机

将会计工作流程迁移至 Odoo 共有三种时机可选:

  • 会计年度末:该方案最简单,需要迁移的数据量最少。

  • 报税周期末:此模式下,可以选择过账上一周期全部分录,或仅录入周期末各科目余额。

  • 报税周期中途:不推荐该方案,会增加额外工作量与复杂度。同一报税周期拆分在旧系统与 Odoo 两套系统,需要合并两套系统数据,报税流程会变得繁琐。

请从旧系统准备以下文档:

  • 科目期初余额

  • 未结清(未付款)发票与贷项通知单

  • 未结清(未付款)供应商账单与退款单据

  • 期初库存盘点数据

備註

如果系统启用自动存货计价,并且已经通过开票应用或库存移动生成过会计分录,请使用会计设置里的 :guilabel:`开票切换阈值`能,撤销指定日期之前的全部分录,获得干净的总账初始状态。另外,请在每个银行日记账的第一期对账单录入正确期初余额,与实际银行账户余额保持一致。

警告

在 Odoo 中录入期初分录之前,请核对数据满足以下要求:

  • 全部应收科目期初试算余额之和,必须等于未结清客户发票总额减去贷项通知单总额。

  • 全部应付科目期初试算余额之和,必须等于未结清供应商账单总额减去退款单据总额。

  • product quantity for each product and summing them together).全部存货科目期初试算余额之和,必须等于库存总价值(每件产品成本乘以库存数量,再汇总求和)。

  • 期初试算平衡表本身借贷必须平衡。

未结清发票与供应商账单

迁移至 Odoo 的企业,需要导入或手动录入未结清(即已有但尚未完全结清)的客户发票、供应商账单(含贷项通知单、退款单据),避免迁移过程丢失单据。发票与账单的导入流程大体一致,分为三步:

  1. 准备发票/账单数据

  2. 校验发票/账单

  3. 导入发票/账单

備註

为简化操作,建议导入单据时只录入到期总金额,不要录入每一行明细。可以避免同一笔单据造成税种科目重复记账等常见问题。

准备发票与供应商账单数据

使用 Odoo 提供的导入模板准备未结清发票和账单数据。获取导入模板操作路径:

  • 处理发票与贷项通知单:进入:menuselection:会计 ‑‑> 客户 ‑‑> 发票,点击 )图标,再点击 导入记录。点击 :guilabel:`发票导入模板`下载模板。

  • 处理供应商账单与退款单据:进入 会计 ‑‑> 供应商 ‑‑> 账单,点击:icon:fa-cog`(:guilabel:`操作)图标,再点击 导入记录。点击 :guilabel:`账单导入模板`下载模板。

请准备以下字段:

字段

說明

業務夥伴

客户名称(必须与 Odoo 内的联系人记录完全一致)

编号

发票编号(例如:BILL/2026/00001):该编号**不得**已存在于当前数据库,否则需要执行 重新编号

参考号

(选填)发票参考号,即生成该发票的原始单据名称

发票账单日期

发票的创建日期。请保证 :guilabel:`单据编号`中的年份与本字段年份保持一致,避免报错。

到期日

发票 / 账单的付款到期日期。每张单据只能填写到期日或者付款条款,二者不可同时使用。

付款条款

发票 / 账单的 付款条款。每张单据只能填写到期日或者付款条款,二者不可同时使用。仅当未结清发票 / 账单涉及分期收款时,才建议使用付款条款。

日記賬

(选填)日记账名称,适用于存在多个销售日记账或采购日记账的场景

发票行 / 标签

发票标签(例如:未结清发票

发票行 / 科目

应收过渡清算科目

发票行 / 单价

发票到期总金额。如已发生部分付款,则填写剩余待付金额(总金额减去已部分付款)。

貨幣

发票开具币种(与公司本位币不一致时填写)。如果导入多币种未结清发票,导入前需要为每一笔外币发票维护 历史汇率

校验发票与账单

对未结清发票、供应商账单、贷项通知单、退款单据校验以下内容:

  • 未结清供应商账单总额减去未结清退款单据总额,应当等于期初试算平衡表中的应付账款余额。

  • 未结清发票总额减去未结清贷项通知单总额,应当等于期初试算平衡表中的应收账款余额。

  • 检查负金额发票与账单:

    • 如果存在负金额发票,该类单据属于贷项通知单,需要在 会计 ‑‑> 客户 ‑‑> 贷项通知单`菜单下,以正数数值单独导入。将 :guilabel:`单据编号`由 `INV/YEAR/NUMBER 修改为`RINV/YEAR/NUMBER`,可(选填)将:guilabel:`参考号`改为冲销单据:[发票编号]。

    • 同理,如果存在负金额供应商账单,该类单据属于退款单据,需要在 会计 ‑‑> 供应商 ‑‑> 退款单据`菜单下,以正数数值单独导入。将 :guilabel:`单据编号`由 `BILL/YEAR/NUMBER`修改为`RBILL/YEAR/NUMBER,可(选填)将 参考号`改为`冲销单据:[账单编号]

  • 多币种检查:如果导入不同币种的期初应收 / 应付单据,请为每一笔非本位币的发票或账单,按其创建日期创建对应的:历史汇率

导入发票与账单

在对应菜单下:导入

  • 客户发票:进入:menuselection:会计 --> 客户 --> 发票

  • 供应商账单:进入 会计 ‣ 供应商 ‣ 账单

  • 贷记单:进入 会计 ‣ 客户 ‣ 贷记单

  • 供应商退款单:进入 会计 ‣ 供应商 ‣ 退款

所有记录均以草稿状态导入。在生成的列表视图中,选中导入的草稿记录,点击 操作,再点击 确认分录

对每一类单据(发票、账单、贷记单、退款单)重复上述操作。

期初库存

備註

无论采用何种 会计准则计价方式,期初库存盘点及对应库存估值的操作流程保持一致。

期初库存导入分为三步:

  1. 准备库存数据

  2. 校验库存数据

  3. 导入库存数据

准备库存数据

如果创建产品时未录入产品成本,请进行更新:可在产品表单的 :guilabel:`成本`字段手动录入,也可通过 :ref:`导入更新 <essentials/update-data>`完成。

小訣竅

对于采用 :abbr:`FIFO(先进先出)`成本计价法、存在多批次不同成本库存的产品:先在产品表单设置对应成本,再导入该成本下的库存数量。不同成本需分别执行一次该操作,按需重复。

使用 Odoo 自带导入模板准备期初库存盘点数据。获取模板路径:进入 库存 ‣ 作业 ‣ 实际库存,点击 )图标,点击 导入记录,再点击 :guilabel:`库存调整`导入模板下载模板。

请准备以下字段:

字段

說明

產品

产品名称或内部参考编号。如果使用 产品变体,识别逻辑会更复杂,多个变体可能共用同一个产品名称。此种场景建议使用 外部ID <export_import_data/different-ids>`定位产品,并将列名修改为`产品 / 外部ID

盘点数量

期初库存盘点的产品数量

库位

若设置中已开启 :guilabel:`库位`功能,则必须填写每一行期初库存对应的存放库位。

批次 / 序列号

如果产品启用批次或序列号管理,请在此填写对应批次或序列号;每个独立批次、序列号需要单独占一行。

校验库存数据

核对所有库存科目期初试算平衡余额之和,应当等于库存总价值。库存总价值计算方式:每行记录的产品成本 × 产品数量,再全部累加。

Example

產品

盘点数量

产品成本

总价值

桌子

10

$250

$2500

桌子

8

$350

$2800

椅子

15

$50

$750

全部库存合计为 6050 美元(2500 + 2800 + 750)。试算平衡表中的库存科目余额必须等于 6050 美元;若存在多个库存科目,则各科目余额之和应为 6050 美元。

导入库存数据

导入已准备好的字段

  1. 前往 库存 ‣ 作业 ‣ 实物盘点

  2. :ref:`导入 <essentials/export_import_data/import-data>`库存数据。

  3. 导入的记录全部为草稿状态。在生成的列表视图中点击 全部应用

  4. 填写 库存原因`(例如:期初库存)以及 :guilabel:`盘点日期

  5. 点击 更新数量

期初试算平衡表

试算平衡表是所有科目及其当前余额的完整清单。务必将该数据录入 Odoo,以保证后续科目余额准确。

导入期初试算平衡表分为三步:

  1. 准备试算平衡表

  2. 校验试算平衡表

  3. 导入试算平衡表

准备期初试算平衡表

从旧系统软件导出试算平衡表。试算平衡表应列出科目表下全部科目,每个科目分别填列借方余额或贷方余额。

将旧系统的数据填入 Odoo 提供的会计分录导入模板,完成期初试算平衡表准备。打开会计分录导入模板:进入菜单 会计 ‣ 会计 ‣ 会计分录,点击 )图标,再点击 导入记录。点击 :guilabel:`其他业务导入模板`下载模板。

请在模板中录入试算平衡表数据,使用以下字段:

字段

說明

参考号

用于标识该笔会计分录的参考编号(例如:期初试算平衡表或类似标识)

日期

该笔会计分录的日期

日記賬

该分录归属的日记账。建议使用默认的杂项日记账。

分录行 / 科目

科目编码和 / 或科目名称

分录行 / 借方

以公司本位币填写科目的借方金额。若该行是贷方,则此字段留空,请勿填写0.00或负数。

分录行 / 贷方

以公司本位币填写科目的贷方金额。若该行是借方,则此字段留空,请勿填写0.00或负数。

分录行 / 备注

(选填)用于标识该条试算平衡表分录行的备注

重要

  • 参考编号日期、:guilabel:`日记账`这三列作用于整笔会计分录。因此仅需在第一行填写,系统将生成一笔包含全部分录行的会计分录。

  • 每一行仅可在 分录行/借方分录行/贷方 其中一列录入金额,该行另一列保持为空。所有列均不要填写 0.00 或负数。

编辑期初试算平衡表表格,使用过渡科目替换以下科目:

  • 应收账款 –> 应收过渡科目(类型 = 流动资产

  • 应付账款 –> 应付过渡科目(类型 = 流动资产

備註

  • 在:ref:最终校验步骤  <accounting/get_started/validation>`中,过渡科目的类型会被修改为 :guilabel:`表外科目,因此科目类型无需严格限定。

  • 如果存在多个应收账款或多个应付账款科目,可以将其合并至同一个过渡科目。

Example

参考号

日期

日記賬

分录行 / 科目

分录行 / 借方

分录行 / 贷方

期初试算平衡表

01/01/2026

雜項

101404 银行

10,000

110100 库存估值

30,000

777777 AR Clearing

5,000

131000 Tax Paid

2,000

888888 AP Clearing

4,000

220000 Credit Card

8,000

251000 Tax Received

6,000

400000 Product Sales

24,000

690000 Miscellaneous Expenses

5,000

Validate the opening trial balance

请确认试算表符合以下要求:

  • 全部应收科目期初试算余额之和,必须等于未结清客户发票总额减去贷项通知单总额。

  • 全部应付科目期初试算余额之和,必须等于未结清供应商账单总额减去退款单据总额。

  • product quantity for each product and summing them together).全部存货科目期初试算余额之和,必须等于库存总价值(每件产品成本乘以库存数量,再汇总求和)。

  • 期初试算平衡表本身借贷必须平衡。

导入期初试算表

导入 中的:ref:预设字段 <accounting/get_started/prep-tb>

试算表将作为草稿导入。在生成的列表视图中,打开该草稿条目,进行审核,然后点击 发布

开户及信用卡交易

对于银行、信用卡和现金账户,务必核实日记账期初余额表中的期初余额是否已更新,以反映账户的实际价值:

添加首批交易记录后(无论是手动添加、通过导入还是通过银行同步),请创建期初对账单:ref:` <accounting/transactions/statements>` ,其中可包含任意数量的交易记录。将:guilabel:期初余额 设置为第一笔交易发生前该银行账户的正确余额。

備註

同步 银行和信用卡账户时,请删除试算表日期之前的任何交易,以确保账户余额准确无误。

对每个银行、现金或信用分录重复此过程。

最终验证

为完成向 Odoo 的过渡,请确认所有抵销账户现已收支平衡,并在导入后将其 账户类型 更改为:guilabel:表外科目( ),以将其从报表中移除。