跳至内容

向 Odoo 19 迁移数据:从主数据到期初余额的实用指南

如何规划、清洗、测试并导入客户、供应商、产品、科目表和期初余额,同时确保账簿不出错
2026年10月19日 由
向 Odoo 19 迁移数据:从主数据到期初余额的实用指南

向 Odoo 19 迁移数据:主数据、导入模板与期初余额

每个 Odoo 实施项目最终都会走到同一时刻:配置已经就绪,用户已经完成培训,企业需要把真实数据放进新系统。数据迁移是许多项目耗费时间的环节,因为主数据或期初余额中的错误会在之后以报表错误、重复联系人和未对账科目的形式暴露出来。

本指南说明如何规划并执行向 Odoo 19 Enterprise 的迁移:从客户、供应商、产品和科目表等主数据,到导入功能,再到应收、应付、总账和库存的期初余额。最后介绍切换顺序以及确认数字准确的检查方法。

关于资料来源:本文依据 Odoo 19 版官方文档编写。菜单名称和选项可能因您安装的应用、本地化和访问权限而有所不同,因此在应用到正式系统之前,请务必先在测试数据库中确认每一步。

第 1 步:规划迁移范围

首先确定哪些数据要迁移,哪些作为档案保留在旧系统中。Odoo 的会计上线指南指出,全新起步的企业需要确认财政本地化、导入主数据并配置会计设置,而从旧软件迁移的企业还需要导入期初分录。

切换时机很重要。Odoo 文档建议在财年结束时进行切换,因为这样需要迁移的数据最少,并且不建议在税务期间中途切换。

编制一份迁移清单,列出每个数据对象、其来源系统、业务方负责人、记录数量以及目标 Odoo 模型。典型对象包括:

  • 基础设置记录:币种、日记账、财政状况、税项和付款条款
  • 主数据:产品类别、产品、属性和变体、联系人及其银行账户
  • 对本地化标准科目表的调整
  • 期初余额:试算平衡表、未结客户发票和贷项通知单、未结供应商账单和退款、银行和现金余额,以及期初库存盘点

尽早就哪些数据不迁移达成一致。历史上已关闭的交易通常保留在旧系统中供查阅,这样迁移规模更小,期初状况也更容易核对。

第 2 步:准备科目表和财政本地化

创建数据库或公司时选择的国家决定了财政本地化包,该包会添加一套按该国要求配置的标准科目表。您可以在会计设置的“财政本地化”下确认所用的包。

请将此视为计划中的第一道关口。文档提醒,一旦有日记账分录过账,财政本地化便无法更改,因此请在导入任何会计数据之前确认它。

将旧系统的科目映射到 Odoo 科目表,而不是替换它。如果某个 Odoo 科目与您的科目对应,就修改其名称或代码;如果没有对应科目,则手动创建或导入。同一科目表中的科目代码必须唯一。

不要删除标准科目或更改其科目类型,因为默认科目和设置都依赖于它们,应改为重命名和重新编码。每个科目的类型还会影响报表和财年结账,因此为新科目选择类型时要谨慎。

向 Odoo 19 迁移数据的分步切换顺序

第 3 步:按依赖顺序导入主数据

Odoo 在导入时解析关联关系,因此一条记录只能指向已经存在的记录。会计上线文档给出的顺序是:币种、日记账、财政状况、税项、付款条款、产品类别、产品、联系人银行账户和联系人。

对于产品,请先导入产品类别,以便在导入时设置每个产品的类别。如果使用变体,请在产品之前创建属性。Odoo 的产品导入指南介绍了一个单独的属性工作表,其中包含属性、显示类型、变体创建模式和值等列。

请谨慎对待变体创建模式。文档说明,一旦属性已用于至少一个产品,该模式便无法更改。属性名称和值名称中不能出现逗号,多个值之间用逗号分隔且不加空格。

对于联系人,请检查应收科目、应付科目和付款条款,因为这些决定了每个客户和供应商在会计中如何过账。

第 4 步:使用导入模板和导入功能

Odoo 可以从 Excel(XLSX)或 CSV 文件向大多数业务对象导入数据。打开该对象的列表视图,点击齿轮图标打开动作菜单,然后选择“导入记录”。许多对象(如联系人、产品和日记账分录)都提供可下载的导入模板,列映射已预先准备好。

使用模板是最稳妥的做法。您可以添加、删除和重新排列列,但要保留标识列。如果没有现成模板,请先导出几条现有记录,以获取准确的字段名称。

导入界面遵循清晰的步骤:上传数据文件;如果是 CSV 文件,调整格式选项(分隔符、编码、日期格式和千位分隔符);检查每个文件列是否映射到正确的 Odoo 字段,并手动映射无法识别的列;点击“测试”在不保存的情况下验证数据;只有测试通过后才点击“导入”。

请认真对待 Odoo 的警告:导入是永久性的,无法撤销。按创建日期或最后修改日期筛选记录可以帮助您找到某次导入影响的内容,但这只是补救手段,而不是撤销按钮。

注意格式。Odoo 建议使用 ISO 8601 日期格式(如 1981-07-24)、在 Excel 中使用真正的日期单元格,并为 CSV 文件选择正确的日期格式。制表符分隔的文件不会被自动识别,数字字段中无法识别的货币符号可能导致导入中断。对于大文件,文档建议将数据拆分为较小的批次以避免超时,且同一产品的所有变体必须位于同一批次中。

第 5 步:掌握外部 ID 和关联字段

外部 ID 是任何迁移文件中最重要的列。它为每条记录提供唯一标识,导入带有外部 ID 的文件时会更新匹配的记录,而不是创建重复记录。这样就可以安全地修正并重新导入同一个文件。

根据旧系统的主键构建外部 ID,并按对象添加前缀(例如客户前缀和供应商前缀),以确保它们在各表之间保持唯一。导入后切勿更改或删除它们,因为文档提醒,这可能会在下次导入时产生重复记录。

关联字段遵循特定规则:

  • Many2one 字段(如产品的类别或联系人的国家)可以填写关联记录的名称,但名称重复时会链接到第一个匹配项,因此使用以 External ID 结尾的列更可靠
  • Many2many 字段(如联系人标签)可填写多个值,值之间用逗号分隔且不加空格
  • One2many 字段(如订单明细行)将第一行放在父记录所在行,其后每一行单独成行,父记录列留空

还有两个细节可以避免意外。文件中缺失的列会获得默认值,但文件中存在而单元格为空的列会用空值覆盖这些默认值。此外,更新现有数据时,请勾选“导入兼容”选项进行导出,这样会包含外部 ID,且只导出可导入的字段。

第 6 步:清洗数据并进行测试导入

数据清洗应在数据进入 Odoo 之前完成。删除重复的客户和供应商,统一名称、电话号码和地址格式,关闭或归档过时产品,并确认文件中的每个引用(如类别、税项或付款条款)都已存在于目标数据库中。

在 Odoo 19 Enterprise 中,“数据清理”应用提供了去重规则,可将相似记录分组以便合并,还提供字段清理规则,例如去除空格、设置大小写和格式化电话号码。根据文档,去重和字段清理是 Enterprise 功能,而数据回收在 Community 中同样可用。因此,Community 用户应在导入前于电子表格中完成大部分清洗工作。

使用最终文件和最终导入顺序,在测试或预发布数据库中至少进行一次完整演练。记录每一个错误,从源头修正,并反复演练直到导入顺利完成。利用演练为每一步计时,以便为正式切换制定切实可行的时间安排。

第 7 步:导入期初余额

Odoo 文档列出了需要准备的四类期初状况:科目余额、未结客户发票和贷项通知单、未结供应商账单和退款,以及期初库存盘点。

对于总账,请使用杂项操作的导入模板(可从日记账分录列表获取),将期初试算平衡表作为一笔日记账分录导入。导入前,将应收和应付余额替换为两个清算科目 AR Clearing 和 AP Clearing,两者的类型均为“流动资产”。试算平衡表必须借贷平衡,导入后为草稿状态,需经您审核后过账。

接下来,通过客户发票和供应商账单列表中各自的模板导入未结客户发票和供应商账单,贷项通知单和退款则从各自的列表中导入。文档规定了明确的规则:合作伙伴必须与现有联系人完全一致;单据编号不得已存在,且其年份必须与发票或账单日期一致;到期日和付款条款只能二选一;明细行科目为应收或应付清算科目;单价为扣除部分付款后仍未支付的金额。

Odoo 建议将每张未结发票或账单作为一行总额导入,而不是逐行导入。导入的单据为草稿状态,您可以通过“动作”菜单批量确认。单据过账后,清算科目会被真实的应收和应付余额冲抵。

对于库存,请进入“库存 > 作业 > 实际库存”,使用库存调整模板导入盘点数量。然后点击“全部应用”,填写库存调整原因和盘点日期,并更新数量。批次号和序列号显示在单独的行中,可在盘点时选择或记录。

务必协调好库存与会计。文档指出,试算平衡表中的存货科目必须与库存价值一致,库存价值按产品成本乘以数量计算。请检查产品类别的计价设置如何对库存调整过账,并与会计人员商定库存价值进入总账的方式,以免重复计算。

对于银行和现金,请将每个日记账第一张对账单的期初余额设置为 Odoo 中第一笔交易之前的实际余额。如果使用银行同步,请删除日期早于试算平衡表日期的所有交易。

第 8 步:执行受控切换并对账

在切换当天,冻结旧系统中的交易,提取最终余额,按演练过的顺序导入文件,并在签核日志中记录每一步。典型的顺序为:本地化检查、基础设置记录、类别和产品、联系人、期初试算平衡表、未结发票和账单、期初库存和银行余额。

对账是证明迁移成功的方式。比较来源系统与 Odoo 中每个对象的记录数,然后检查以下余额:

  • Odoo 试算平衡表与旧系统期末试算平衡表逐科目一致
  • 应收和应付总额等于已导入的未结发票和账单之和
  • AR Clearing 和 AP Clearing 科目余额完全结平
  • 按产品和库位的库存数量与盘点结果一致,库存价值与存货科目相符
  • 每个银行和现金日记账都从实际对账单余额开始

确认清算科目已结平后,Odoo 的指导是将其科目类型改为“表外”,使其不再出现在主要报表中。请将对账工作簿和签核记录作为项目档案妥善保存。

1CBMS 如何为您提供帮助

1CBMS 为埃及和伊拉克的企业规划并执行 Odoo 19 数据迁移,涵盖从来源系统提取和清洗、外部 ID 设计、演练导入、期初余额到经签核的对账。欢迎通过 www.1cbms.com 联系我们,规划一次让您的团队带着可信数字上线的迁移。

Odoo Online、Odoo.sh 还是本地部署:Odoo 19 托管方式如何选择
三种托管方式在定制、控制权、升级义务、备份和成本因素上的差异,并附决策检查清单