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

The KAI executive overview: KPI tiles over a demand calendar built on the Malaysian holiday calendar
Product capture · synthetic demo data

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.

31 December 2027

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.

LHDN e-Invoice Guideline v4.7
RM 10,000

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.

LHDN e-Invoice Guideline v4.7
RM 10 / room / night

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.

Tourism Tax Act 2017

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

How a night moves through KAIThree stages. First, the reports your PMS already prints are uploaded, and guest names, passports and identity card numbers are stopped at the parser so they never reach the statutory record. Second, every figure is checked against Tourism Tax rules A to G, SST at eight percent on net room revenue and the RM10,000 e-invoice rule, and each flag cites the rule it came from. Third, a manager verifies and the record seals: SHA-256 hashed and kept for seven years.NamePassportICstopped at the parserTourism Tax A to GSST 8% on netRM10,000 watchflagged, rule citedSHA-256sealed, 7 yearsUpload what your PMSalready printsEvery figureis checkedA manager verifies.The record seals.Night audit, Tourism Taxlisting, amendmentsEach flag cites the ruleit came fromNothing seals withoutan explicit verify
  1. 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.

  2. 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.

  3. 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 checks

The 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

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.

Service Tax on net room revenue
cites Service Tax Act 2018

Period SST tested against 8% of net, so a rate applied to the wrong base surfaces the night it happens rather than at filing.

The RM10,000 rule
cites LHDN e-Invoice guideline

Any single transaction at or above RM10,000 that would otherwise fall into the monthly consolidation instead of getting its own e-invoice.

T+7 consolidation clock
cites LHDN e-Invoice guideline

Nights still unfiled as the seven-day post-month deadline approaches.

Comp and house-use exemptions
cites Tourism Tax (Exemption) Order 2017

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 checks

What the parser finds in the night audit itself. These are the checks that pay for the subscription.

Rate spikes and ghost rates
revenue at riskRATE SPIKE

A rate raised far above its neighbours, and a rate raised then never restored — the shape of a manual override that outlived its reason.

Unpaired rate drops
revenue at riskAMENDMENT_UNPAIRED_DROP

A 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 above threshold
AMENDMENT_RATE_EXCEEDED

The 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.

Amendments with no reason recorded
AMENDMENT_REASON_MISSINGcites LHDN e-Invoice guideline

Changes 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.

Sticky default rates
AMENDMENT_STICKY_DEFAULT

The same amended amount recurring across unrelated folios, which is a PMS configuration problem wearing the costume of a pricing decision.

Outstanding balances
revenue at riskOUTSTANDING_BALANCE_NONZERO

A non-zero balance at close, in either direction: collect-at-checkout misses on one side, deposits held and never applied on the other.

Mis-scanned revenue
REVENUE_PARSE_MISPICK

A 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 checks

Where two documents that should agree are made to agree, in ringgit.

OTA commission overcharge
revenue at risk

The effective commission on each channel statement against the rate you actually contracted. The gap is an amount to recover, per channel, in ringgit.

Statement against night audit
revenue at risk

Channel statements reconciled to the recorded room nights, so a control-total mismatch or a phantom room night surfaces instead of settling quietly.

Tourism Tax listing at seal time
cites Tourism Tax Act 2017

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

Three foreign-guest room nights a night waived in error, at the statutory RM 10

OTA commission overcharge
RM 800

A two-point gap between the statement's effective rate and the contracted rate, on RM 40,000 of channel gross

Unpaired rate drops
RM 900

Six amendments that lower a charge with no reversing correction, around RM 150 each

Balances written off
RM 600

Four collect-at-checkout misses and mis-posted folios a month, around RM 150 each

Illustrative monthly exposure
RM 3,200
Over twelve months
RM 38,400

The monthly figure above, times 12.

The KAI subscription, one property
RM 14,400 a year

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.

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.

The KAI statutory vault: sealed nightly records showing net revenue, occupancy, SST, Tourism Tax, e-invoice status and the SHA-256 hash of each record
Product capture · synthetic demo data
Book a demoThirty minutes. Bring one night audit.

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.
Read how the vault refuses a rewriteThe database enforces it, not a policy.

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.

WhatsApp us