华为MetaERP 年结后发现差异,不要一上来就反结账重跑——先花 10 分钟把“差异长什么样“锁住,再对着根因表对号入座,80% 的场景能直接定位。下面按“现象 → 根因 → 对症动作“给路径,SA

年结后发现差异,不要一上来就反结账重跑——先花 10 分钟把"差异长什么样"锁住,再对着根因表对号入座,80% 的场景能直接定位。下面按"现象 → 根因 → 对症动作"给路径,SAP 和 EBS 分开。


🎯 先锁差异现象(三步缩小范围)

不管哪套系统,年结差异先归到三类:

  1. BS 科目:新年度 01 期期初 ≠ 上年度 12 期期末 → 结转本身漏了 / 旧期间没关被补凭证前滚

  2. PL 科目:新年度 01 期期初 ≠ 0 → FAGLGVTR / GLOIRE 漏转

  3. 留存收益科目:新年度期初 − 上年末 ≠ 上年净利润 → OB53 / RE CCID 配错,或这本就是正常的(SAP 留存收益期初 = 上年末 + PL 滚入,Note 176067 明确说这不算不一致)

⚠️ 第三类先别慌:SAP 留存收益科目"上年末→新年初"对不上是设计行为,不是 bug。要验的是"新年初余额 − 上年末余额 = 上年净利润",这个等式成立就没事 。


🟦 SAP 侧:差异定位五条线

线 1:PL 科目新年初非零(最高频)

抓手:FAGLB03 / FS10N 筛所有 PL 科目,看 01 期期初有没有余额。

根因前三:

现象

根因

对症

某个新增 PL 科目(如 54010101)新年初还挂余额

科目主数据没标损益类,FAGLGVTR 直接跳过

FS00 改科目类型 → 若新年还没过账可重置 FAGLGVTR 重跑;已过账则手工 F-02 转留存收益

PL 科目勾了"未清项管理"

余额无法正确结转

SKB1 改主数据,XLOEB 字段检查

跨公司代码同一科目属性不一致

集团共用科目表但某公司代码科目属性不同,结转无报错但期初差

SE16 查 T077K 比对公司代码间设置

线 2:BS 科目新旧年度对不上

抓手:FAGLB03 看哪个 BS 科目 01 期初 ≠ 12 期末。

  • 旧期间没关:OB52 查上年度 1-12 期是否全关。若还开着,补凭证会被系统自动前滚年初余额,造成"明明结对了又歪了"

  • 货币类型漏转:跨国公司配了本位币+集团币+第 3 本位币,但 FAGLGVTR 只转了本位币 → 查 FAGLFLEXT:SELECT RLDNR,RBUKRS,RACCT,RHCUR,HSL01 FROM FAGLFLEXT WHERE RYEAR=2023(HSL01 是 01 期期初)

  • 新总账 totals/index 不一致:跑 FAGLF101 选"检查并修复",系统会出对比报告指差异行;涉及量大找 Basis,小量看 Note 1859685

线 3:资产与总账对不上(ABST2 飘红)

根因:AJAB 关资产年后,资产侧因主数据变更触发折旧重算,FI 与 AA 脱节。

对症:SAP Note 29694 — 用程序RACORR20_APA_TEST='X'先模拟,对完金额再正式跑,只修已过账折旧的范围 。特殊折旧准备、当年退休的资产要先冲回再跑。

线 4:CO / 利润中心年初不对

S_ALR_87012277看利润中心损益,GLPCA表核对各科目年初与 FS10N 上年末是否一致。2KES 漏结转或并行分类账(0L / 2L)参数不一致都会飘。

线 5:能不能反结账重跑?

  • 新年 01 期还没过任何凭证​ → FAGLGVTR 可以重置重跑(Reset + 再执行),F.07 同理可用 F.48 重置客商结转

  • 01 期已过账​ → 不能直接重置,要么冲新年凭证到 0 再重置,要么手工 F-02 调留存收益补差,别硬回

  • 资产侧 AJAB 已关 → 用 AR01 重开旧年公司代码 + Note 29694 修,比反结账安全


🟥 EBS 侧:差异定位四条线

线 1:GLOIRE 日志直接报 Ret CCID 错(最高频)

开新年首期时 GLOIRE 进程报错,常见三个:

报错

含义

对症

Your Retained Earnings account must be a balance sheet account

RE 科目类型标成了 Expense/Revenue 默认值

去 SOB 设置把 RE 科目 Account Type 改成 Ownership/Stockholder's Equity,勾 Allow Posting/Budgeting

Error 14: Unable to retrieve segment values associated with your retained earnings ccid

RE 的 CCID 无效 / 段值被禁用

fnd_flex_values_vl看 RE 组合里哪个段值ENABLED_FLAG='N',前端重新启用

Flexfield creation failed

动态插入没开又没预定义 CCID

开 Dynamic Insertion,或手动在 Key Values 里把 RE 组合建出来

线 2:Trial Balance 新年初 BS 科目对不上上年末

  • 子模块没关干净就开 GL 新年首期:AP/AR/FA/INV 各自期间状态查GL_PERIOD_STATUSES,必须子模块旧年全 CLOSED 再开 GL 新年首期

  • 过早开未来期间:GLOIRE 会把余额前滚到每一个已开未来期,开得越多越乱。建议只开 01 期,13/14 调整期用完再开 02

线 3:PL 科目首期起始余额 ≠ 0

EBS 的 GLOIRE 不产生日记账,只改GL_BALANCES。如果 Revenue/Expense 首期起始余额非零:

  • 跑 Oracle 官方诊断Note 1416402.1 — Misclassified Accounts​ 脚本,扫科目表里有没有收入/费用错标成资产/负债的

  • 平衡段(Balancing Segment)的 RE 科目没全覆盖:有些 BU / 公司段没配 RE,GLOIRE 不知道往哪转,就跳过了

线 4:子模块与 GL 对不上

年结后GL_BALANCES与子模块(AP_INVOICES_ALL/AR_CASH_RECEIPTS_ALL/FA_DEPRN_DETAIL)对账差:

  • AP 侧先跑APXPREP​ 看未核销预付款,美元账户容易飘

  • AR 侧AR_TO_GL_AUDIT报表

  • FA 侧折旧必须 Post 完再关 GL,否则FA_DEPRN_SUMMARYGL_BALANCES对不上

EBS 能不能反结账重跑?

  • GLOIRE 的本质:不开新期间就不产生 JL,相对安全;但只要新年度已有 J/E 过账到 GL,不能硬回

  • 真要重跑:关新年所有期 → 删新年 J/E → 重新 Open 首期让 GLOIRE 再走一次;或走GL Balances Corruption Fix​ 脚本(就是报 Error 14/15 那个的同系列),但建议 Oracle SR 开单跟进,别自己动GL_BALANCES


🟨 排差异的"对号入座"速查

给你一个 10 分钟定位流:

  1. FAGLB03(SAP)/ Trial Balance(EBS)跑 BS 衔接 → 哪个科目飘?

  2. 飘的是 PL?→ 查科目类型 / GLOIRE 日志(90% 是主数据)

  3. 飘的是 BS?→ 查 OB52 旧期间 / 子模块关没关 / 货币类型

  4. 飘的是 RE?→ 先算"新年初 − 上年末 = 上年净利润?"成立就别动

  5. 资产与 GL 对不上 → SAP 走 Note 29694,EBS 查 FA 折旧 Post

年结差异 80% 是主数据 + 期间状态这两件事,真到要反结账重跑的不到 20%。