电子发票池与提交路由
每张启用了电子发票的已定案销售单据(发票、现金单、贷记单等)都要经过同一个判断:是单独提交给 LHDN,还是并入合并电子发票(consolidated e-invoice)? 如果缺少必要信息,则先停放在"池"(pool)中等待补正。本指南解释这套路由逻辑,让你始终清楚单据去了哪里、为什么。
提交类型(Submission Type)
每张单据带有一个电子发票提交类型,它决定路由方向:
| 提交类型 | 含义 |
|---|---|
| Individual(单独) | 该单据作为一张独立电子发票提交给 LHDN |
| Consolidated(合并) | 并入当月合并电子发票(典型场景:B2C 零售) |
| Single General | 先用一般买方信息尝试单独提交,失败则回退为合并 |
| (未设置) | 系统根据金额和数据完整性自动决定 |
RM 10,000 规则
金额达到 RM 10,000 的交易必须单独开具电子发票,不能藏在合并发票里。系统自动执行这条规则:
- 标记为 Consolidated 但总额 ≥ RM 10,000 的单据会被转入 Individual Pool,不进入批次。
- 金额 ≥ RM 10,000、买方 ID 类型为 BRN 但缺 TIN 的单据,系统会自动按注册号在 LHDN 检索 TIN 并回填。
单据定案后去了哪里?
单据定案时,系统检查其提交类型、金额,以及必填字段是否齐全:
| 提交类型 | 金额 | 必填字段齐全? | 结果 |
|---|---|---|---|
| Individual | 任意 | ✅ | 作为单独电子发票提交 LHDN |
| Individual | 任意 | ❌ | Individual Pool |
| Consolidated | < RM 10,000 | — | Batch Pool(等待月度合并) |
| Consolidated | ≥ RM 10,000 | ❌ | Individual Pool(RM 10k 规则) |
| Single General | 任意 | ✅ | 作为单独电子发票提交 |
| Single General | 任意 | ❌ | Single General Pool |
| (未设置) | 任意 | ✅ | 作为单独电子发票提交 |
| (未设置) | < RM 10,000 | ❌ | Batch Pool |
| (未设置) | ≥ RM 10,000 | ❌ | Individual Pool |
示例: GadgetSphere Sdn Bhd 的 POS 现金单标记为 Consolidated,流入 Batch Pool,由月度合并电子发票统一提交。同一天一位企业客户购买 RM 18,000 的设备,超过门槛,该发票必须使用客户的真实 TIN 单独提交。
三个池
池(pool) 是暂时无法提交的单据的停放区。三个池的行为各不相同:
Batch Pool(批次池)
- 进入条件: 金额低于 RM 10,000 的合并类单据(以及数据不全、未设置类型的单据)。
- 默认结果: 不做任何操作,单据会在下一次合并电子发票运行时被自动提交 —— 正常 B2C 销售无需干预。
- 可用操作: 补全买方信息后改为单独提交;移至 Individual 或 Single General 池;按日期范围/分店/指定单据即时合并;或跳过该单据的电子发票。
Individual Pool(单独池)
- 进入条件: 需要单独提交但缺少必要信息的单据(以及任何 ≥ RM 10,000 且数据不全的单据)。
- 默认结果: 一直停留,直到你处理 —— 这些单据需要人工关注。
- 可用操作: 补全买方信息并重新提交;如果实在拿不到买方信息,可将单据移入 Batch Pool 改为合并提交 —— 但必须赶在当月合并计划运行之前。
Single General Pool
- 进入条件: 标记为 Single General 且数据不全的单据。
- 用途: 适用于买方信息大概率拿不到、但仍想先尝试一次单独提交的场景。
- 可用操作: 修复后单独提交;若该次单独提交失败或 Invalid,可将该单据以单张单据的合并电子发票形式重新提交;或移至其他池。
池对比
| Batch Pool | Individual Pool | Single General Pool | |
|---|---|---|---|
| 默认结果 | 每月自动合并 | 等待人工处理 | 等待人工处理 |
| 修复后单独提交 | ✅ | ✅ | ✅ |
| 移至其他池 | ✅ | ✅ | ✅ |
| 回退为合并 | 自动(按计划) | 手动(移入批次池) | 单独提交失败后 |
| 跳过电子发票 | ✅ | ✅ | ✅ |
所有池操作都在 My E-Invoice Admin Applet 中完成。
月度合并周期
某个月内未处理的 Batch Pool 单据会被归组为合并电子发票 —— LHDN 要求在次月 7 日前提交。合并时按门店/分店把连续单号归组为区间,并跳过已单独提交的单据,确保每张小票都能追溯到唯一一张电子发票。
倒填日期(Backdated)单据
处理历史日期单据时有两条规则:
- 签发时间永远是"现在"。 LHDN 要求电子发票的签发日期时间为实际提交时间;单据原本的交易日期会单独保留,不会丢失。
- 往月单据的合并需要专门运行。 标准月度合并只处理当月单据;Batch Pool 中往月的单据要通过单独的"倒填合并"步骤处理 —— 请联系管理员或支持团队针对受影响的月份运行,之后照常提交合并电子发票。
常见问题
客户想要一张已进入 Batch Pool 的小票的单独电子发票,怎么办? 在 Batch Pool 中找到该单据,补全客户的 TIN/ID 和地址,执行 Save and Resubmit。单据会离开批次并单独提交。只要在该小票被合并之前操作都有效。
完全拿不到买方 TIN 怎么办? 本地买方仍可用 General Public TIN 加有效 NRIC 开具单独电子发票(见 General TIN 说明)。否则,把单据移入 Batch Pool 走合并提交。
单据显示"已跳过(skipped)",有问题吗? 跳过是针对不应开电子发票的单据的主动操作(例如由交易对方开票的情况)。被跳过的销售单据仍会被记录,用于与供应商传来的电子发票进行匹配。