The mandate already reached your hotel.
LHDN’s e-invoice obligation has applied since 1 January 2026, and Tourism Tax, SST and PDPA each carry filing rules of their own. Every one of them is checkable tonight, from the reports your PMS already prints.
Penalty-free until 31 December 2027only while you issue consolidated e-invoices every month

Built for Malaysian hospitality · In live hotel operations since 2026
The compliance clock is running
LHDN’s e-invoice mandate reached businesses above RM1 million turnover in 2026, and Tourism Tax, SST and PDPA each carry filing rules of their own. Every one of them is checkable from the reports your hotel already produces, if something checks them nightly.
LHDN's undertaking not to prosecute ends for the RM1 to RM5 million band. The obligation itself started 1 January 2026 and failing to issue an e-invoice has been an offence throughout, so nothing new begins after this date — what lapses is the forbearance, and only for taxpayers who were issuing consolidated e-invoices every month.
A single transaction at or above this amount cannot ride a consolidated e-invoice; it needs its own. Whether the rule bites during the relaxation is not settled, so KAI surfaces every night that reaches the threshold and you can check the folios behind it.
Tourism tax owed on every room night a tourist stays. Malaysian nationals and permanent residents are exempt, so the test is the exemption, not a passport. KAI classifies every guest and reconciles the tax listing against the night audit.
Statutory dates as at August 2026. LHDN has revised the e-invoice timetable more than once; check the current guideline before relying on a date here.
- Tourism Tax Act 2017
- Service Tax Act 2018
- LHDN e-Invoice Guideline
- Personal Data Protection Act
Three steps, nightly
Upload the reports your PMS already prints
Night audit, Tourism Tax listing, amendment listing, OTA statements. No integration project and no workflow change. Onboarding typically takes under a week.
Every figure is checked
Tourism Tax rules A to G. SST at 8% on net room revenue, never on service charge. The RM10,000 e-invoice rule. Rate spikes, missing amendment reasons, unpaired rate drops. Each flag cites the rule it came from.
A manager verifies. The record seals.
Nothing enters the vault without an explicit verify. Sealed records are SHA-256-hashed and kept seven years. The database itself refuses to update or delete them. Corrections need a second approver.
One nightly pass. Two jobs.
15 checks run against each night’s reports in a single pass. 7 answer to a Malaysian statute — Tourism Tax, Service Tax, the LHDN e-invoice rules. 6 surface money instead: a rate raised and never restored, a charge lowered with no reversing correction, a commission above the rate you contracted. You are buying the compliance. The leaks are what the same run finds on the way.
Statutory
5 checksThe rules you are measured against. Each flag cites the provision it came from.
- Tourism Tax, rules A to G revenue at riskcites Tourism Tax Act 2017
- Service Tax on net room revenue cites Service Tax Act 2018
- The RM10,000 rule cites LHDN e-Invoice guideline
- T+7 consolidation clock cites LHDN e-Invoice guideline
- Comp and house-use exemptions cites Tourism Tax (Exemption) Order 2017
All seven families: over-collection from exempt guests, foreign room nights never charged, missing passports, waivers that reconcile to nothing, guests who cannot be classified at all, exemption cross-checks, and under-charging below the RM 10 rate.
Period SST tested against 8% of net, so a rate applied to the wrong base surfaces the night it happens rather than at filing.
Any single transaction at or above RM10,000 that would otherwise fall into the monthly consolidation instead of getting its own e-invoice.
Nights still unfiled as the seven-day post-month deadline approaches.
Complimentary and house-use rooms cross-checked against the Tourism Tax (Exemption) Order 2017, so the occupied-room count and the tax listing can disagree for a reason you can name.
Integrity
7 checksWhat the parser finds in the night audit itself. These are the checks that pay for the subscription.
- Rate spikes and ghost rates revenue at risk
- Unpaired rate drops revenue at risk
- Amendment rate above threshold
- Amendments with no reason recorded
- Sticky default rates
- Outstanding balances revenue at risk
- Mis-scanned revenue
RATE SPIKEA rate raised far above its neighbours, and a rate raised then never restored — the shape of a manual override that outlived its reason.
AMENDMENT_UNPAIRED_DROPA charge lowered with no reversing correction inside the window. A genuine fat-finger correction pairs; an unpaired drop is revenue that left without a reason.
AMENDMENT_RATE_EXCEEDEDThe total value moved by amendments, measured against net revenue rather than counted as a number of folios — so a handful of large adjustments trips it where a hundred trivial ones would not.
AMENDMENT_REASON_MISSINGcites LHDN e-Invoice guidelineChanges to a charge with no reason code — the audit-trail requirement under the LHDN e-Invoice guideline, and the first thing an auditor asks for.
AMENDMENT_STICKY_DEFAULTThe same amended amount recurring across unrelated folios, which is a PMS configuration problem wearing the costume of a pricing decision.
OUTSTANDING_BALANCE_NONZEROA non-zero balance at close, in either direction: collect-at-checkout misses on one side, deposits held and never applied on the other.
REVENUE_PARSE_MISPICKA net revenue figure the scanner picked from the wrong cell — caught before it can reach the sealed record, where it would be permanent.
Reconciliation
3 checksWhere two documents that should agree are made to agree, in ringgit.
- OTA commission overcharge revenue at risk
- Statement against night audit revenue at risk
- Tourism Tax listing at seal time cites Tourism Tax Act 2017
The effective commission on each channel statement against the rate you actually contracted. The gap is an amount to recover, per channel, in ringgit.
Channel statements reconciled to the recorded room nights, so a control-total mismatch or a phantom room night surfaces instead of settling quietly.
The Tourism Tax PDF cross-checked against the night audit before the record seals — the one genuinely independent witness in the night's paperwork.
What a year of quiet leakage costs
Conservative monthly assumptions at a mid-size city property, carried over twelve months. Every line is a check KAI runs against your own reports.
- Tourism Tax misclassification
- RM 900
- OTA commission overcharge
- RM 800
- Unpaired rate drops
- RM 900
- Balances written off
- RM 600
- Illustrative monthly exposure
- RM 3,200
- Over twelve months
- RM 38,400
- The KAI subscription, one property
- RM 14,400 a year
Three foreign-guest room nights a night waived in error, at the statutory RM 10
A two-point gap between the statement's effective rate and the contracted rate, on RM 40,000 of channel gross
Six amendments that lower a charge with no reversing correction, around RM 150 each
Four collect-at-checkout misses and mis-posted folios a month, around RM 150 each
The monthly figure above, times 12.
RM 1,200 a month, at the published rate.
Illustrative figures, not measured results: the statutory RM 10 rate and the published subscription are the only fixed numbers. The annual total is the monthly assumptions above times twelve, which amplifies the illustration as well as the leak — the per-month workings are shown so you can redo the arithmetic with your own numbers. Because every line is a live check, your own figures replace these from your first uploads.
Your own figures replace these from the first uploads. See how each check works.
Four systems, one statutory record
Every number shows its working
Audit-grade means you can always answer one question: where did this number come from? On a KAI screen, a delta names its baseline, a flag cites the statute it enforces, and every figure traces back to the sealed vault record behind it, with any approved correction already resolved.
Report prose is AI-generated and machine-verified: every figure in the narrative is checked against the computed numbers before it renders. A summary that invents a figure never reaches you.

Built like the audit it performs
- Seven-year tamper-evident vault
- Sealed records are SHA-256-hashed; the database refuses updates and deletes.
- Maker-checker corrections
- The person who requests a correction can never be the one who approves it.
- Guest privacy by construction
- Names, passports and ICs never reach the statutory record; raw report files purge after 30 days.
- Machine-verified AI figures
- Every figure in an AI-written summary is checked against the computed values before it renders.
- Tenant isolation at the database
- 168 row-level security policies across the tenant tables. PostgreSQL enforces it and CI drift-locks the count, not convention.
Built for the hotels the mandate reaches
KAI is for independent Malaysian hotels and small groups above the RM1 million e-invoice line: typically 30 to 70 rooms, run by a GM who owns the numbers without a data team behind them. If your PMS prints a night audit, KAI can learn to read it. Supporting a new report format is a bounded addition, not an integration project.
See your own reports audited
Bring a night audit. In thirty minutes you'll watch it checked, verified and sealed.