ERP数据录入最容易被低估的,不是把表格整理成系统能接受的格式,而是决定哪些记录代表同一个业务对象、谁有权确认合并、合并结果如何传递到订单、库存和财务数据中。只在导入前用表格删除重复行,可能让文件看起来更整洁,却把错误编码、错误关联和历史追溯问题一并带进新系统。
我规划ERP数据录入时,首先不会问“有多少重复行”,而是问“这些行各自代表什么业务对象”。客户档案、物料档案、供应商档案和员工档案的识别逻辑不同;同一个名称可能对应不同实体,不同名称也可能指向同一个实体。
因此,去重的基本单位不是Excel中的一行,而是业务对象。对客户来说,税务登记信息、内部客户编码、组织关系和业务所在地可能比名称更有辨识力;对物料来说,规格、型号、单位和版本往往比简称重要。具体字段还要依据企业编码制度、数据来源和目标ERP字段约束核实。
一个可执行的闭环通常包括七步:划定迁移范围、盘点数据来源、定义实体识别规则、标记疑似重复、由业务责任人确认、建立新旧编码映射、样本导入并复核。去重既发生在正式导入之前,也会影响导入顺序、关联关系、异常处理和上线后的数据维护。
关键判断是:系统接受文件,不代表业务对象已经识别正确;文件行数减少,也不代表重复问题已经解决。如果合并决定没有同步更新关联记录,表面上的“删重”反而可能造成订单找不到客户、库存挂错物料、余额无法追溯。

自动化适合发现候选记录、统一格式、检测空值和标记完全匹配项;是否合并,则要结合业务语义和关联影响判断。两条记录名称相似,只能说明值得检查,不能直接证明它们是同一个客户或同一个物料。
我会把处理结果至少分成“确认重复”“疑似重复待审”“确认不同”“暂缓处理”四种状态。这样项目组不会把“算法没有识别出来”误认为“数据一定没有重复”,也不会把“算法认为相似”误认为“可以直接合并”。
ERP切换的数据可能来自旧系统、独立业务软件、部门维护的工作簿、历史导出文件和人工补录表。各来源对名称、编码、地址、状态和日期的定义未必一致。某个客户在旧系统中按门店建档,在财务文件中按结算主体建档,在销售表中又按联系人或简称记录,导入前把它们放在一起,才发现“客户”并不是一个天然统一的对象。
这也是为什么不能先把所有文件纵向拼接,再靠一个字段统一去重。数据源的业务含义需要先识别:每份表是谁维护的、服务什么流程、编码由谁分配、最后更新时间是什么、是否包含已停用对象。否则,整理人员可能把不同层级的实体误合并,或把本来已经失效的记录当成有效主档。
完全重复是字段值完全相同的重复行,通常较容易定位;编码重复可能是编码重用、跨系统编码碰撞或编码映射错误;名称重复可能是同名不同主体;近似重复则包括简称、错别字、空格、旧称、新称或地址格式差异。
还有一种常被忽略的情况:主记录看起来只有一条,但它关联的联系人、收货地址、结算关系或历史交易被分散在其他表中。只删除主表中的一行而不检查引用关系,等于改变了数据结构,却没有完成数据迁移。
| 重复表现 | 表面特征 | 主要判定风险 | 建议处理方式 |
|---|---|---|---|
| 整行完全相同 | 多个字段值一致 | 仍需确认重复行是否来自有效业务记录 | 自动标记,复核来源后按规则保留一条 |
| 同名不同对象 | 名称一致,其他字段不同 | 误合并不同法人、门店或规格 | 结合实体层级、编码和业务属性复核 |
| 异名同一对象 | 简称、旧称或格式不同 | 漏判重复,留下多套主档 | 建立别名、来源编码和主记录映射 |
| 编码冲突 | 不同来源出现相同编码 | 覆盖数据或错误关联 | 先确认编码作用域,再制定目标编码映射 |
| 主档重复、关系分散 | 订单、地址或联系人挂在不同记录下 | 仅合并主档会丢失业务关系 | 梳理引用关系后再决定迁移与归属 |
一条客户主数据被重复录入,可能让销售人员分别在两个档案下建订单,导致客户汇总不完整;一个物料被重复编码,可能让库存分别记在两个物料号下,盘点时看起来各自合理、合计却不合理。财务余额也可能因客户编码映射不同而无法和总账或应收明细按同一口径核对。
因此,去重风险不能只按重复记录数量衡量。更重要的是该记录是否被交易引用、是否有余额或库存、是否涉及有效合同、是否承担审批或追溯职责。一个没有任何关联的重复候选,和一个已经被大量单据引用的主档,处理成本并不相同。

按名称删除看起来省事,风险却很高。同名客户可能分别是集团主体和分支机构,也可能是两个不同地区的经销商;同名物料也可能规格、单位或版本不同。反过来,同一客户在不同来源中的名称可能分别写成公司全称、品牌简称和历史名称。
更稳妥的做法是按实体类型配置复合识别规则,并明确字段的作用。规则可以是“候选识别字段+冲突字段+人工确认条件”,而不是把某个字段简单设为万能主键。若企业没有可靠的统一标识,应把“无法自动判断”作为合法结果,而不是强行把规则补齐。
名称相似度、地址相似度或拼写相似度可以帮助排序,但它们只是线索。企业简称可能造成高相似但不同主体,街道、楼栋或门店信息的差异也可能决定是不是同一个业务对象。相似度算法没有理解合同、结算和组织关系的能力。
如果团队使用模糊匹配,应先用已确认的样本测试:检查误合并、漏合并分别出现在哪类数据上,再把候选划为自动标记区、人工确认区和暂不处理区。阈值应由业务样本、字段可靠性和误判成本共同决定,不宜直接复制其他企业或工具的默认值。
“先让系统跑起来”适用于某些低风险、可回滚的试验批次,不适合作为正式主数据上线策略。数据导入后,用户可能开始建单、审核和记账;重复主档一旦被新业务引用,后续处理就不再是单纯删行,而是要分析单据、余额、库存和权限如何迁移。
正式切换前,应先通过小批量样本验证结构和业务关联。样本不是随便抽几行,而要覆盖常见记录、边界情况、历史编码、空值、特殊字符、停用状态和多个来源的冲突样例。
系统提示导入成功,通常只能说明文件满足了部分格式、字段或校验要求。它未必能证明客户层级正确、单位换算一致、期初数量正确,或历史编码已经映射到正确的目标记录。技术校验和业务核验应当分开记录。
我建议把“文件处理状态”和“业务验收状态”分成两个字段。例如,批次可以显示“系统导入完成”,但验收仍是“待财务核对”或“待仓储确认”。这样能避免项目进度表把技术完成误报为上线数据已验收。
业务人员确认两条记录是同一个对象,也不意味着旧记录应直接删除。历史订单、发票、库存流水或客户余额可能仍引用旧编码。目标系统是否支持合并、停用、别名、引用迁移和操作日志,需要逐项确认;若不支持某些能力,就要在迁移方案中另设映射和追溯机制。
至少应记录源系统、源编码、候选主记录、处理结论、确认人、确认时间、处理原因和影响范围。保留这些信息不是为了增加文书工作,而是为了让上线后的差异可以追到具体规则和具体决定。
| 误区 | 可能后果 | 流程中的替代控制 |
|---|---|---|
| 按名称一键删除 | 同名异体被合并,异名同体仍重复 | 按实体建立复合规则,保留人工复核状态 |
| 相似度高就自动合并 | 错误主档影响订单、库存或财务关系 | 先用样本评估误判成本,再分层处置 |
| 先上线再治理 | 重复主档被新单据引用,修复成本上升 | 正式批量前完成样本验证和异常审批 |
| 只看导入日志 | 技术成功掩盖业务口径错误 | 分开验收系统校验、业务关系与汇总结果 |
| 只保留最终记录 | 原始来源与合并决定难以追溯 | 保存映射表、处理理由和责任记录 |

判断一条重复候选能否自动处理,我会看三件事。第一是确定性:识别字段是否可靠、不同数据源是否使用同一口径。第二是影响面:该记录关联了多少业务对象,是否涉及余额、库存、合同、审批或历史追溯。第三是可逆性:处理后是否能恢复原值、重建关系或撤回批次。
只有当识别确定性高、影响面低、处理可逆时,自动化才可能带来明显效率收益。若记录被大量单据引用、字段存在冲突、处理难以撤销,即便算法匹配分数很高,也应该保留人工决策和审批记录。
| 情形 | 识别确定性 | 影响面 | 可逆性 | 建议动作 |
|---|---|---|---|---|
| 完全相同的导出重复行 | 较高,但需核对来源 | 通常较低 | 通常较高 | 自动标记,按批次规则复核后处理 |
| 名称近似、地址不同的客户 | 低至中 | 可能较高 | 取决于引用情况 | 业务人员确认,不直接合并 |
| 不同编码但多个可靠标识一致 | 中至较高 | 取决于历史单据 | 需检查目标系统能力 | 建立映射,核对关联记录后决定保留方式 |
| 库存物料规格或单位存在冲突 | 低 | 高 | 可能较低 | 暂停批量处理,由仓储、采购等责任人共同核实 |
重复处理不只有删除和合并两种选择。若两条记录确认指向同一对象,可以选择指定主记录并建立映射;若记录已失效但历史上被业务引用,可能更适合迁移后停用;如果一条记录的归属无法确认,或者迁移必要性不明确,可以暂不导入,等待责任人补充依据。
“暂不迁移”不是逃避问题,而是控制未经确认的数据进入新系统。前提是项目组记录暂缓原因、责任人、决策期限和业务影响,并判断相关交易是否需要迁移。对有余额、未结订单或库存的记录,不能仅因为档案疑似重复就跳过。
所有重复候选都由同一个人逐条审核,容易拖慢项目;所有候选都自动处理,又会把风险集中到规则里。更实用的办法是按业务影响分级:低影响、规则明确的数据由数据管理员复核;涉及客户结算、物料库存或供应商付款关系的记录,由对应业务负责人确认;涉及期初余额、账务口径或控制要求的事项,再由财务或项目治理负责人审批。
审批设计应围绕“谁理解业务、谁承担结果”来安排,而不是只按部门职位或系统权限分配。数据整理人员可以提出候选和依据,但不应在缺少业务上下文时独自决定多个系统中的记录是否属于同一实体。

以下是一个用于解释方法的情景模拟,不是某家企业的真实客户案例。某公司计划切换销售与财务流程,整理两份客户相关文件:销售台账里有客户简称和区域信息,财务台账里有结算名称、税务信息和应收余额。整理后发现,同一组名称近似记录可能是集团与门店,也可能是不同结算主体。
如果只按名称合并,工作表会快速减少若干行,但无法回答应收余额应挂在哪个实体、历史订单是否属于同一个组织、发票抬头是否一致。项目组因此先把记录状态分成“完全一致”“疑似同一对象”“确认不同”和“信息不足”,再由销售和财务分别核对各自负责的业务字段。
| 记录组合 | 表面线索 | 初步判断 | 下一步动作 |
|---|---|---|---|
| 销售台账A与财务台账A | 名称近似,税务信息一致,结算资料可对应 | 较强候选,但仍需确认目标主档层级 | 业务确认主记录,建立来源编码映射 |
| 客户简称B与完整名称C | 名称相似,地区和联系人不同 | 可能是集团与分支,也可能是不同主体 | 核对组织关系、合同及开票主体 |
| 旧系统客户D与停用客户E | 地址相同,状态和交易时间不同 | 可能为历史迁移或主体变更 | 检查历史单据与余额,决定停用或保留映射 |
| 相同物料简称F与G | 名称相同,规格与计量单位不同 | 不能因名称相同而合并 | 由仓储、采购核对规格、单位和替代关系 |
在这个情景中,团队不是拿所有记录一次性导入,而是选择一批覆盖不同状态的代表性样本:字段完整记录、旧编码记录、疑似重复记录、已停用记录、带关联交易的记录,以及存在单位或层级差异的边界样本。这样做的目标不是追求某个固定的样本数量,而是让每种高风险规则至少经过一次验证。
样本导入后,检查的不只是行数是否相等,还包括新旧编码是否映射正确、单据关联是否仍能追溯、金额或数量汇总是否符合约定口径、异常日志能否定位到源文件和源行。发现问题后,先修正规则和映射,再决定是否扩大批次。

项目汇报常用“清理了多少条”表示进度,但这个数字很容易误导:删得多可能是规则过宽,删得少也可能意味着漏判。更有决策价值的观察项包括候选复核耗时、误判类型、映射缺失数、导入失败数、关联异常数和返工批次数。
下面的对比同样是情景模拟,用于演示为什么“先做规则和样本验证”有时比“立即批量导入”更省返工。数字不是通用基准,实际项目应记录自己的批次数、处理时间和缺陷口径。若一个批次中同时改变字段、编码和匹配规则,复盘时也应标记变更,否则难以判断改善来自哪项调整。

每类数据都应先回答四个问题:是否迁移、迁移到什么层级、由谁提供、由谁验收。主数据通常需要业务部门确认,余额或期初数据要明确财务或仓储口径,历史交易数据是否迁移则应按查询、审计、业务连续性和项目方案决定,不能预设所有项目都要全量迁移。
还要确认“同名实体”的管理层级。例如客户档案究竟按法人、结算主体、门店还是销售区域建档;物料按基础物料、规格型号还是可销售商品建档。实体层级不清时,后面的识别字段和唯一性规则就无从谈起。
规则卡可以是一页表格,不需要一开始就做复杂的数据治理平台。它至少记录数据实体、来源系统、源字段、候选识别字段、冲突字段、主记录选择规则、需要人工确认的情形、责任部门和适用范围。
| 规则卡字段 | 填写示例 | 为什么需要 |
|---|---|---|
| 数据实体 | 客户、供应商、物料、员工 | 避免把不同对象套用同一套去重逻辑 |
| 来源与用途 | 销售系统客户主档、财务结算清单 | 解释同一字段在不同文件中的业务含义 |
| 候选识别字段 | 企业内部编码、可用的法定标识或其他可靠字段 | 帮助系统筛出需要检查的候选对象 |
| 冲突字段 | 名称、状态、地址、组织层级、单位 | 发现字段不一致时触发人工核验,而非静默覆盖 |
| 最终责任人 | 对应业务部门负责人或授权复核人 | 明确谁对业务身份判定负责 |
| 例外处理 | 关联余额、库存、未结单据时升级审批 | 让高影响记录进入更严格的处理路径 |
可以先用确定性规则筛选完全相同的记录,再用标准化后的名称、地址或其他字段生成近似候选。标准化包括去除无意义空格、统一全半角、统一日期格式和处理已确认的别名,但不能擅自抹掉具有业务意义的差异,例如组织层级、规格、单位或状态。
随后将候选分为三档:高确定性候选进入快速复核;中等确定性候选由业务人员检查关键字段;低确定性或高影响候选暂缓批量处理。分档的核心不是追求一个漂亮的匹配分数,而是将不同误判代价送到不同控制环节。
确认需要归并的记录后,保留源记录与目标主记录之间的对应关系。映射表至少应包含来源系统、源编码、源名称、目标编码、目标名称、处理状态、处理理由、责任人、确认时间和批次标识。若主记录调整,也应能追踪哪些源编码曾经映射到它。
映射表不是临时辅助文件,而是迁移交付的一部分。后续查询旧单据、解释余额差异、修复接口和排查重复建档,都可能需要它。保留策略和访问权限应符合企业内部制度,不宜把包含敏感字段的完整数据表随意散发。
样本设计应覆盖数据分布和风险边界,而不是只抽最整齐的记录。通常至少要考虑正常记录、异常字段、跨来源映射、疑似重复、停用对象、带关联单据对象和高风险余额或库存对象。实际覆盖范围要根据项目规模和ERP能力调整。
样本导入后,按预先约定的验收标准逐项核对:系统记录是否生成、关键字段是否落在正确位置、编码关系是否一致、关联数据是否可用、错误日志是否足够定位问题。样本失败时先修正规则,再重做验证;不要把失败样本从统计中删掉来美化结果。
正式导入应有批次号、输入文件版本、执行时间、操作人、成功数量、失败数量和异常处理状态。目标ERP的批量限制、重试机制、撤销能力和日志范围必须提前核实。不同系统的导入规则并不相同,不能假设都支持同一种回滚方式。
停止条件要在导入前写清楚。例如,关键字段映射错误、目标编码冲突、未处理的高风险疑似重复、异常数量超过项目约定范围,或者汇总对账出现无法解释的差异时,应暂停下一批。不要等到整个数据包导完后才追查第一个错误是从哪里开始传播的。

错误日志如果只有“失败”两个字,对业务团队帮助有限。每条异常最好能对应源文件、源行、目标字段、错误类型、处理负责人和截止状态。异常处理状态可以分为待补资料、待业务确认、待修正源文件、待重新导入和经批准暂缓等。
异常关闭也要定义标准。字段修正后重新提交,不等于业务问题已经关闭;只有当数据责任人确认归属、映射和必要的关联核验完成,才能把该异常标记为验收通过。否则项目会形成大量“技术上重跑成功、业务上仍无结论”的记录。
客户和供应商的同名、简称、历史名称及组织关系都可能影响结算、开票和交易追溯。建议先明确档案层级,再查看可用的内部编码、法定标识、结算主体、组织归属和状态等信息。具体字段是否可作为识别依据,要确认数据完整性和适用范围。
若同一业务对象在不同系统使用不同编码,优先建立新旧编码映射,不要因为目标系统要求统一编码,就抹去旧编码的来源信息。若存在集团与子公司、总部与门店关系,要先确认目标ERP能否表达层级关系;不能表达时,需要在数据模型或维护流程中明确替代方案。
物料去重尤其不能只依赖名称。规格、型号、颜色、尺寸、版本、计量单位、包装层级、批次属性和采购替代关系都可能决定它是不是同一物料。不同业务部门使用相同简称,并不意味着仓储和采购可以共用一条主档。
当计量单位或包装换算关系不一致时,先核实目标系统的基础单位和换算规则,再决定是否合并。若旧编码已经进入库存、采购或生产单据,即使确认对应同一物料,也应检查库存数量和单位换算后再迁移,不能只修改名称或直接停用其中一个编码。
余额和库存类数据的检查重点不是“重复行能不能删除”,而是统计口径、对象归属、期间和总量是否一致。导入前应约定币种、日期、组织、仓库、计量单位和账套等关键维度,并确认汇总对账由哪个责任部门完成。
历史交易是否需要全量迁移,需由业务查询需求、审计要求、数据保留政策和实施方案共同决定。若只迁移期初与未结业务,也要明确历史查询通过什么途径完成,以及旧系统数据何时、由谁维护。不能为了追求“新系统里什么都有”而把大量未经确认的历史数据一并导入。
员工记录可能涉及在职、离职、兼职、跨组织任职和历史账号等不同状态。将名字相同的人直接合并有明显风险;把同一个人在不同系统中的多个账号当成多个员工,也可能造成权限和审批关系重复。
这类数据应由人力资源或授权管理部门定义人员唯一识别口径,并与组织、岗位、账号和权限的关系一起核对。个人信息的收集、使用、保存和跨系统传输要遵循企业适用的制度与合规要求,数据迁移团队不应为了方便而扩大访问范围。
资源有限时,不必追求一开始就建复杂的数据治理体系,但不能省略范围确认、责任人和映射记录。可以优先处理高影响主数据和正式上线必需的数据,把低风险历史记录列入后续清理计划,并明确暂缓范围不会影响哪些业务。
可以把控制重点放在少量关键动作上:每类数据有一名业务责任人;每条高风险疑似重复有处理状态;每批导入有输入版本和结果记录;每个关键汇总有核对人。简单但可追溯的控制,往往比没有责任归属的复杂模板更有用。
多系统并行时,先区分“哪个系统是当前权威来源”与“哪些系统提供补充字段”。同一个字段可能在不同系统有不同维护责任,直接采用更新时间最新的记录不一定正确。应明确字段级来源优先级,冲突时交由业务责任人裁决。
如果历史编码存在复用、重号或跨组织重复,应先定义编码作用域,再建立映射。不能假设一个编码在所有系统、所有年份、所有组织中都是唯一的。必要时保留来源系统与来源期间作为复合线索,避免把历史重号误认为同一对象。

自动规则适合字段清晰、数据量大、重复模式稳定且错误易于撤回的情况。它能减少重复劳动,但要承担规则覆盖不完整和误判扩散的风险。人工复核适合业务影响高、记录关系复杂或字段存在明显冲突的情况,但耗时较多,也容易出现不同复核人判断标准不一致。
| 处理方式 | 适用条件 | 优势 | 代价与风险 |
|---|---|---|---|
| 规则自动标记 | 字段口径清楚,能够稳定筛出候选 | 处理速度快,规则可重复执行 | 不能独立理解业务语义,仍需控制误判 |
| 人工逐条确认 | 关联复杂、影响较大、候选数量可控 | 能结合合同、交易和组织背景判断 | 处理时间长,需统一判定标准和责任人 |
| 分层混合处理 | 数据量与风险程度差异较大 | 高确定性快速处理,高风险记录重点审核 | 需要设计状态流转、升级条件和复核记录 |
| 暂缓导入 | 归属不清、证据不足或目标结构暂不支持 | 避免不确定数据进入正式业务 | 必须评估未迁移数据对业务连续性的影响 |
全量迁移的好处是历史信息集中,用户可能减少跨系统查找;代价是清理范围、映射复杂度和验收负担都会扩大。范围收敛能让上线聚焦于当前业务必需数据,但需要安排历史查询、未结业务衔接和旧系统访问策略。
我通常建议先按业务连续性和风险划分:上线必需的数据、尚未完结的数据、为了查询而需要的数据、暂时没有明确用途的数据。每一类都要有迁移理由、数据责任人和验收方法。没有业务用途、没有清晰口径又难以核验的数据,不应仅因为“旧系统里有”就自动纳入。
合并主档能减少后续重复选择,也有利于统一业务口径;但如果目标系统不支持历史引用迁移,或者旧记录关联了大量交易,直接合并可能损害可追溯性。保留历史记录并设置停用状态和映射关系,能够保留原始上下文,但用户可能面对更多选项,维护规则也更复杂。
取舍时至少要确认:目标系统如何处理旧编码、历史单据会不会重新指向主记录、停用记录是否仍可查询、报表是否会重复汇总,以及业务人员如何判断应使用哪条记录。没有核实这些能力前,不应把“合并”当作天然最优选项。
上线时间压力是真实约束,但“先上线、后治理”只有在风险范围被明确隔离时才可控。例如,低风险、非关键数据可以分期补齐;涉及客户结算、库存计价、期初余额或权限关系的数据,则需要更谨慎的准入条件。
若必须压缩周期,应优先缩小迁移范围、增加责任人集中确认、采用短周期小批次验证,并把未解决事项记录为正式风险,而不是把待确认状态改成“已完成”。上线后的治理计划要明确负责人、截止日期和影响范围,否则遗留问题很容易变成长期数据债务。

第一层是技术验收:检查文件格式、必填字段、编码长度、导入错误和批次日志。它回答“系统是否接收了数据”,不回答数据业务含义是否正确。
第二层是关系验收:检查主数据与订单、仓库、组织、供应商、联系人和其他关联对象之间的引用是否正确。关系验收要覆盖典型流程,而不是只看主档页面是否显示正常。
第三层是业务验收:按约定口径核对关键汇总和样本单据,例如客户余额、库存数量、未结订单或有效物料范围。核对口径、时点和责任人必须事先确定;否则不同部门可能拿不同日期和不同范围的数据比较,产生无法解释的差异。
“去重已完成”不应只写在进度表里。建议为每类数据定义完成条件:识别规则已批准、疑似候选有最终状态、映射关系可追溯、样本导入已验收、关键异常已关闭或获得正式批准暂缓、业务负责人已签字确认。
对于暂缓处理的记录,也要保留待办状态、风险说明和业务影响。这样项目结束后仍能区分“确认没有问题”“暂时没处理”和“系统暂时无法支持”,避免后续维护人员把未决事项当成已验收数据。
上线时清理得再仔细,如果后续用户仍能随意新建重复主档,问题会重新出现。企业需要明确新建记录的权限、必填字段、编码申请流程、查重提示、名称变更规则和定期复核责任。具体能否由系统强制控制,应依据目标ERP功能验证。
我建议在上线后的第一个维护周期,重点观察新增档案的重复候选、驳回原因、字段缺失和人工合并请求。将这些现象反馈到编码规则和培训材料中,比上线前一次性制定一套永不调整的规则更符合实际。
如果企业希望持续跟踪数据质量,指标必须有明确口径、时间范围和责任人。例如“疑似重复率”要说明分母是新增档案、全部有效档案,还是本期抽查记录;“异常关闭时间”要说明从发现到关闭的起止点;“导入成功率”要区分技术成功和业务验收成功。
不建议为了汇报方便,把所有问题压成一个总分。一个总体分数可能掩盖高风险对象的缺陷,也可能让不同数据实体的质量互相抵消。更适合的做法是按客户、物料、供应商、员工及余额数据分别看趋势,并保留异常类型和处理状态。

出现关键编码冲突、主数据层级不明、余额或库存对账差异无法解释、错误日志无法定位源记录,或高风险候选尚未由责任人确认时,应暂停相关数据批次。停止不是项目失败,而是避免错误在下一批中扩大。
若项目时间不允许解决所有低优先级问题,可以把问题分级、缩小迁移范围,并记录暂缓责任与后续安排。不能把“时间不够”当作数据已经正确的证据,也不能让没有责任人的问题默默进入系统。
每个疑似重复至少留下“源记录、候选主记录、判断依据、处理状态、影响范围、确认人和时间”这几类信息。这样,无论是数据整理、业务验收还是上线后的问题追溯,团队都能知道为什么保留、为什么合并,以及某个决定可能影响了哪些关系。
这套记录不必很复杂,但必须在导入前就能使用。等上线后出现差异再补理由,往往只能靠记忆还原;而数据迁移的每个重要决定,都应该能从记录中复现。
ERP数据去重的价值,不在于让表格少几行,而在于让系统中的每条主记录都有清楚的身份、来源和业务关系。把重复判定嵌进范围规划、编码映射、样本验证、批次导入和业务验收,才能避免“文件整洁、系统仍乱”的反差。
下一步可以从一类高影响数据开始:先选客户、供应商或物料中的一种,画清它的来源和业务层级,写出候选识别字段、冲突处理规则及责任人,再用一小批边界样本验证。先证明规则适用于真实业务,再扩大导入规模;先保留可追溯证据,再追求处理速度。


读者评论
文章把去重从“删重复行”拉回到业务对象识别,客户和物料需要不同判断字段,这一点对多来源数据整理很实用。
强调检查订单、库存和财务关联是必要的。主档确认合并后还要保留新旧编码映射,否则历史记录可能难以追溯。
区分系统导入成功与业务验收完成很有价值。先用包含边界情况的样本验证,再批量迁移,能降低上线后返工风险。