Peppol 映射好,UUID 处理好。
你照常开发票。我们在后台生成 Peppol BIS 3.0 XML,POST 给 MyInvois,接住 UUID,再把 QR 盖到客户的 PDF 上。除非你问,否则你永远不用看架构。
- 全部 34 个必填字段,从你的客户 + 产品记录自动填好
- LHDN 宕机时自动排队重试,服务一恢复就立刻发出你的发票
- 每次提交都记录,留下取证级审计轨迹
LHDN 的电子发票制度零件很多。最容易绊倒微型企业的那几样(校验、合并 B2C、以及提交机制本身),就是我们最先搭好的。
你照常开发票。我们在后台生成 Peppol BIS 3.0 XML,POST 给 MyInvois,接住 UUID,再把 QR 盖到客户的 PDF 上。除非你问,否则你永远不用看架构。
在任何东西到 LHDN 之前,你就看到他们会看到的,只是那些天书代码已经翻好了。没有 400 行的错误堆栈。不用猜是哪个字段坏了。
如果你做的是 walk-in 生意(kedai makan、零售、柜台销售),就不需要每个客户开一张发票。Kiira 把一个月的柜台收入汇总,在你选定的那天提交一张合并 B2C 电子发票。
每次提交都先在 sandbox 试跑一遍。回来的那些错误(平时你的会计软件原封不动转给你的那些),在你看到之前就翻好了。
在 MyTax 上查一下:IG 开头是个人,C 是公司。你的买方多半给错了。
第 3 行:「Teh Ais」。映射一次到 LHDN 的目录,往后每一笔销售我们都复用。
四舍五入的问题:你的表格取整了两次。我们会重算并重新提交;你这边不用做任何事。
如果你的店收 walk-in 现金,就不用每杯 kopi 开一张 MyInvois 电子发票。LHDN 允许你把一个月合并成一次提交,只要在月底后 7 天内送到。合并这件事,Kiira 来做。
次月 7 号是稳妥的默认值。Kiira 每个月都在那天提交。
POS 导出、Shopee 结算、GrabFood 结算:你接了哪个源都行。
如果某个 walk-in 在月中要了一张记名发票,我们就把他从汇总里排除。不会重复计算。
SST 在整个月正确汇总,不是三次分开的取整操作。
LHDN 每张发票要 34 个字段。大多来自你的客户记录、产品目录或公司资料,填一次就好。其余的(UUID、数字签名、提交时间戳)由我们操心。
来自你的 MyTax 资料 · 开通时校验
公司用 SSM,独资用 NRIC
可选 · 仅在已注册时
5 位行业代码 · 选一次
必须与 SSM 完全一致
B2B 必填
Kiira 处理 · 不用你操心
保存时校验 · 未通过 LHDN 登记则标记
取决于买方类型
必须与注册名完全一致
与 SSM / NRIC 相同
B2B 必需
可选,但建议填
买方行业 · B2B 必填
来自地址 · 自动推导
默认 MYS;允许境外
当下 · UTC+8
你的序列 · 我们保证唯一
MYR · 允许外币
描述 + 数量 + 单价 + 分类
0 / 6 / 8% · 自动计算
汇总 · 按 LHDN 规则取整
Net 7 / Net 30 · 可选
DuitNow QR 嵌在这里
非 MYR 时 · BNM 每日汇率
行级金额,不是百分比
用于贷记 / 借记单
用于合并 B2C
UUID、数字签名、时间戳:由我们处理
别的工具趁夜里跑批量提交。这没问题,直到某一晚一张坏发票溜了过去,等退款来了你才发现。我们不这么干:每次提交都是人工点击,草稿发票会先存活一小时,什么都不会动。
连合并 B2C 也要点一下。我们在 7 号提醒你,你批准,它才发。
每份草稿以 needs_review = true 存 60 分钟。在 WhatsApp 回一句「nope」,它就没了。
每次提交都记录 prompt 版本、token 数、响应负载。受监管的轨迹,内建其中。
Kiira 的 MyInvois 模块在 Compliance 套餐上是 RM79/月。真正需要之前不留卡。你账本的其余部分(发票、费用、银行导入)永远免费。