2026 年马来西亚销售与服务税(SST 8%):开票、贷项通知单与 SST-02 申报指南
面向马来西亚企业的 2026 年实务指南:正确区分 8% 与 6% 服务税、开具发票和贷项通知单、记录会计分录,并复核 SST-02 工作底稿。
核心要点 (TL;DR)
- •马来西亚 8% 服务税并非适用于所有服务;选用 8%、6%、固定税额或免税处理前,必须先核实应税服务类别、生效日期、豁免、注册资格及关税局最新政策。
- •服务税应按折扣后的应税价值计算并精确至仙;发票必须保留税率与税额,不能只依赖公司层面的单一预设税率。
- •贷项通知单必须注明原发票及调整原因,并分别冲减应税价值与服务税;已过账账簿的平衡分录是借记收入、借记 SST 应付税款、贷记应收账款。
- •GetPay 的 SST-02 页面是双月工作底稿;Lock snapshot 只建立不可更改的内部审计记录,并不等于已向马来西亚皇家关税局申报。
- •现有 GetPay 开票流程仍把 service 预设为 6%,而 SST-02 计算也不会扣除贷项通知单或生成法定税率分栏;这两项不能被描述为已自动完成 8% 合规。
先判断实际服务类别,才能决定是否采用 8%
2026 年最稳妥的原则并不是“所有服务一律加 8%”,而是先依据马来西亚皇家关税局的现行指引判断该项供应是否属于应税服务,再核实供应商是否已经或必须注册、服务日期、付款日期、豁免条件和适用税率,最后才决定发票的税务处理。
马来西亚自 2024 年 3 月 1 日起,把许多应税服务的一般服务税率从 6% 调高至 8%,但 SST 仍然是多税率制度。关税局现行概览列明,餐饮、物流、电信和停车等类别仍有 6% 处理;2025 年及 2026 年扩大的应税服务范围也各有 6% 或 8% 规定。信用卡及签账卡则采用固定税额,而不是普通百分比。
因此,税率是每项交易必须保存的事实,不能只设为整家公司的永久预设:
| 判断事项 | 应保留的证据 | 实务意义 |
|---|---|---|
| 服务是否落入应税类别? | 合约、服务说明、行业指南 | 同一家企业可能同时提供应税与非应税服务 |
| 适用 8%、6%、固定税额还是豁免? | 当时有效的关税局法令、指南、政策或裁定 | 已注册 SST 不代表所有供应都采用同一税率 |
| 服务及付款发生在何时? | 服务期间、发票日期、收款日期 | 过渡规则及会计基础可能取决于时间 |
| 客户或交易是否符合豁免? | 豁免证明或相关事实 | 单看服务名称未必足以确定税务处理 |
| 供应商是否已为该服务注册? | SST 注册资料 | 发票列出服务税前,必须具备正确注册依据 |
这篇文章的表格不能取代关税局的最新分类。2024 年税率调整后,关税局仍在 2025 年和 2026 年持续发布范围、豁免及行业政策。若交易同时涉及多种服务、跨期合约或特殊豁免,应查阅对应行业的最新指南,并让税务专业人士复核。
8% 服务税发票应怎样计算?
先确定应税价值,再扣除会降低该价值的发票折扣,按正确税率计算服务税,最后把税额四舍五入至最接近的一仙。
假设一项管理服务已经正确归类为 8%:
| 发票组成 | 计算 | 金额 |
|---|---|---|
| 服务原价 | — | RM10,000.00 |
| 发票折扣 | — | (RM500.00) |
| 应税价值 | RM10,000 − RM500 | RM9,500.00 |
| 服务税 | RM9,500 × 8% | RM760.00 |
| 发票总额 | RM9,500 + RM760 | RM10,260.00 |
如果同样的 RM9,500 应税价值依法采用 6%,税额是 RM570,总额是 RM10,070。两者相差 RM190,足以说明单一的“service”标记无法满足同时供应不同税率服务的企业。
系统不应只保存 RM10,260 的最终总额,还应保存:
- 服务说明及服务期间;
- 原价和折扣;
- 应税价值;
- 税种及税率;
- 服务税金额;
- 发票总额;
- 交易所需的客户及供应商资料;
- 适用的 SST 注册资料;以及
- 支持豁免或特殊处理的文件。
GetPay 现有发票程序在计算边界采取了合理做法:先计算 net = subtotal - discount_amount,再把所选税率乘以 net,将 tax_amount 四舍五入至两位小数,并保存 tax_type、tax_rate、tax_amount 和 total。这样日后复核时,不必从一个没有税率标签的总额倒推税款。
但是,目前 GetPay 标准开票流程仍把 service 映射为 0.06、sales 映射为 0.10、exempt 映射为 0,开票窗口也采用同一固定映射。它没有提供已经验证的 8% 服务选项,也没有逐行混合税率功能。因此,8% 供应不能套用现有的“Service Tax (6%)”预设,更不能宣称 GetPay 当前已经实现多税率 SST 开票。合规需求确实存在,但在所检查的程序中,这项产品功能尚未出现。
什么时候应该开具贷项通知单?
根据关税局的说明,当原发票的交易价值减少或交易取消时,注册服务提供者应使用贷项通知单作调整。正确做法不是覆写原发票,而是保留原文件,再建立一张有日期、编号和明确原因的调整文件。
实务上,贷项通知单应包括:
- 显著的“贷项通知单”字样及独立流水号;
- 开具日期;
- 供应商身份及 SST 注册资料;
- 买方身份;
- 减额原因;
- 足以识别原应税服务的说明;
- 调减的数量或价值;
- 不含服务税的价值;
- 适用服务税率及税额;以及
- 原发票号码和日期。
调整税率必须跟随原供应的税务处理。若一张 8% 发票需要调减 RM2,500 应税价值:
| 贷项通知单组成 | 计算 | 金额 |
|---|---|---|
| 收入调减 | — | RM2,500.00 |
| 服务税调减 | RM2,500 × 8% | RM200.00 |
| 贷记总额 | RM2,500 + RM200 | RM2,700.00 |
不能把 RM2,700 全部记作收入减少,否则收入与 SST 负债之间的界线会被抹掉。
借方和贷方应怎样记录?
对于已采用应计制过账、但尚未收清的发票,冲减分录如下:
| 账户角色 | 借方 | 贷方 |
|---|---|---|
| 收入 | RM2,500.00 | — |
| SST 应付税款 | RM200.00 | — |
| 应收账款 | — | RM2,700.00 |
| 合计 | RM2,700.00 | RM2,700.00 |
这正是 GetPay 已过账账簿模式中贷项通知单建立器的经济实质:借记原发票类别对应的收入账户;税额大于零时借记 SST 应付税款;再以总额贷记应收账款。本文不列出固定总账科目代码,因为实际科目必须由企业当前启用的科目表及原发票类型决定。
GetPay 还会检查:
subtotal和total必须大于零;tax_amount不得为负数;- 三个金额最多只能有两位小数,精确至仙;
subtotal + tax_amount必须与total对上;- 贷项通知单必须连接一张原发票;
- 所有非作废贷项通知单的累计总额不得超过原发票总额;以及
- 同一租户使用相同幂等键重试时,可以取回原有贷项通知单,而不是重复冲减。
数据库操作会先锁定原发票记录,再重新检查累计上限,避免两张同时建立的贷项通知单各自误用同一笔剩余额度。在已过账模式下,程序也会检查会计期间是否开放,以及原销售日记账是否存在,然后才通过受控流程同时建立贷项通知单和分录。
在 MyInvois 流程中,GetPay 把贷项通知单映射为文件类型 02,并要求原发票已有 LHDN UUID,才能建立 BillingReference。这项电子发票关联与 SST-02 申报是两回事:MyInvois 贷项通知单有效,并不代表服务税调整已经自动进入 SST-02。
SST-02 工作表应如何编制?
工作表应分层编制,让复核人员可以从每一个申报数字追查到原始文件:
- 列出双月应税期间内的发票,并保留每张发票的应税价值、税率及税额。
- 按法定税率或税务处理分组,不能把所有服务合并成一个数字。
- 把借项通知单列为增加,把贷项通知单列为扣减,并注明原文件。
- 依据企业获准采用的服务税会计基础和时间规则确定申报期间。
- 对账已收税款、税务调整、付款及总账。
- 将最终工作底稿与当期 SST-02 表格和 MySST 申报资料逐项核对。
- 保存已提交表格、回执或确认、明细表及复核证据。
GetPay 现有 /sst-return 页面提供的是范围较窄的内部计算。程序采用固定双月期间:1–2 月、3–4 月、5–6 月、7–8 月、9–10 月和 11–12 月,并按 issue_date 选择发票,纳入状态为 ISSUED、OVERDUE 和 PAID 的记录。
当前计算字段如下:
| GetPay 字段 | 现有计算方式 |
|---|---|
total_sales | 发票 subtotal 减去 discount_amount 后的总和 |
output_tax | 发票 tax_amount 的总和 |
invoice_count | 纳入计算的发票数量 |
input_tax | 有效银行交易中分类为 SST_GST 的金额总和 |
payment_count | 上述 SST_GST 有效交易数量 |
net_payable | output_tax - input_tax,四舍五入至两位小数 |
status | 负数为 REFUND,否则为 PAYABLE |
程序会先把银行交易拆分项目覆盖到原交易,再筛选 SST_GST。当某个拆分项目与 SST 有关而母交易不是,或母交易保留了已经过时的类别时,这项处理可以避免只看母交易而造成遗漏或重复。
页面可以把即时汇总导出为 CSV;服务器也能把即时计算渲染成 SST-02 申报汇总 PDF。另一条提交路线可从当时计算结果建立 MySST 队列草稿。这些功能适合准备工作底稿及安排营运流程,但现有计算并不是完整的法定 SST-02 明细表。
现有 GetPay 汇总以外还要对账什么?
有三项重要边界必须另外处理。
第一,发票查询没有选取或按 tax_type、tax_rate 分组。它把所有纳入发票的折扣后小计相加,再汇总已存的 tax_amount。因此,页面不会生成法定税率分栏,也无法单独证明所有金额都属于正确 SST 范围内的应税服务。
第二,getSSTReturn() 没有读取 credit_notes。即使 GetPay 的贷项通知单已在过账账簿正确冲减收入、SST 应付税款和应收账款,该项扣减仍不会出现在 SST-02 页面的计算中。企业必须另外保留贷项通知单调整表,并把它对到 SST-02 对应的税款扣减项目。
第三,现有汇总按发票日期计算,并包括尚未付款的 ISSUED 和 OVERDUE 发票。关税局发布的开票说明把收款基础列为一般服务税会计基础,而发票或应计基础须取得关税局总监书面批准。企业应采用哪一种基础,取决于注册人的实际情况和现行规则。按发票日期编制的应计汇总不能直接改名为收款基础的法定申报表。
这些不是文字上的免责声明,而是会改变应税价值、应缴税款及归属期间的实质差异。
“Lock snapshot” 实际上做了什么?
复核完成后,管理员可以点击 Lock snapshot。GetPay 会重新计算该期间,并把数字连同操作人、时间、数量、总额、状态及可选备注写入只增不改的 sst_returns 历史记录。每个期间只能锁定一次,数据库保护也会阻止记录在写入后被修改。
这项锁定只是内部审计轨迹控制,并不会把 SST-02 传送给关税局。页面显示 Not a filed return,按钮写的是 Lock snapshot,确认说明更明确列出 This does NOT submit the return to RMCD。
正确顺序应是:
- 计算并导出工作底稿。
- 对账税率组别、会计时间基础、贷项通知单、借项通知单及总账余额。
- 取得内部复核人或会计师批准。
- 只有在所有限制及调整已有记录时,才锁定内部快照。
- 通过获授权的 MySST 流程准备并提交法定 SST-02。
- 把真正的提交证据与 GetPay 锁定记录分开保存。
这项区分可以防止错误审计陈述:“已在 GetPay 锁定”并不等于“已向关税局申报”。
2026 年最终控制清单
- 根据关税局最新资料确认服务分类。
- 确认适用 8%、6%、固定税额或豁免。
- 清楚保存服务日期、付款日期、发票日期及税务会计基础。
- 按正确的折扣后应税价值计算税款,并精确至仙。
- 不得以覆写已开具发票的方式隐藏调整。
- 每张贷项通知单必须分开列出应税价值和服务税。
- 注明原发票,并保存调整原因。
- 核对累计贷项通知单,确保不会超过原发票总额。
- 在 GetPay 现有汇总以外另行建立 SST-02 税率分栏和贷项通知单扣减表。
- 把按发票日期的输出与法律上适用的会计基础对账。
- 把 CSV、PDF 和 Lock snapshot 视为工作底稿控制,而不是申报证明。
- 以 MySST 提交回执或确认作为实际申报证据。
常见问题 (FAQ)
2026 年马来西亚所有应税服务都征收 8% 服务税吗?
不是。许多应税服务采用 8% 一般税率,但关税局也规定部分服务维持 6%、信用卡或签账卡采用固定税额,并另有豁免及行业规则。企业应按实际供应查阅当时有效的分类与生效日期指引,不能把 8% 设为所有交易的统一预设。
8% 服务税发票应如何开具贷项通知单?
贷项通知单应注明原发票和调整原因,并把减额分为应税价值及适用税率下的服务税。例如应税价值减少 RM2,500,按 8% 计算的税额减少 RM200,总贷记额为 RM2,700。已过账账簿应借记收入 RM2,500、借记 SST 应付税款 RM200,并贷记应收账款 RM2,700。
目前在 GetPay 选择 service 会自动计算 8% 服务税吗?
不会。现有发票建立及编辑程序把 service 映射为 0.06、sales 映射为 0.10、exempt 映射为零。资料表虽可保存 tax_rate,但标准开票流程并不是已经验证的多税率或 8% 服务税流程。
GetPay 的 SST-02 汇总会包括贷项通知单扣减吗?
不会。现有计算汇总合资格发票的 subtotal、discount_amount 和 tax_amount,以及分类为 SST_GST 的银行交易金额,并没有查询 credit_notes。因此,正式编制 SST-02 前必须另行编制贷项通知单调整表并完成对账。
点击 Lock snapshot 是否代表 SST-02 已向关税局申报?
不是。Lock snapshot 只把当时数字保存为该双月期间的一次性内部审计记录。GetPay 页面明确显示 Not a filed return,确认窗口也说明此操作不会把申报表提交给马来西亚皇家关税局。
来源与权威依据
Ready to automate your Malaysian e-invoicing & bookkeeping?
GetPay handles 100% compliant e-invoices, multi-bank reconciliation, and statutory payroll out of the box.
相关文章
LHDN MyInvois 电子发票 API 故障排查:先看证据,不猜错误码
依据 GetPay 实际程序说明 MyInvois 身份验证、UBL 2.1 文件封装、提交防重、状态查询与税务错误证据的排查方法。