Night audit & statutory vault
Checked before it seals.
Immutable after.
Every night, KAI parses the audit pack your PMS prints, runs the integrity checks, and stages the result for review. A manager verifies; the record seals, SHA-256-hashed into a statutory vault kept for seven years.
The vault is write-once by construction: the database refuses updates and deletes, and a nightly sweep re-hashes every record to prove nothing changed.
Checked nightly
Integrity flags with reasons, not just colours.
Sealed on verify
A manager's explicit verify is the only gate to the vault.
Traceable for years
Seven-year retention with tamper-evidence the database enforces.
Integrity checks before anything seals
The staged night is checked against your own history and the statutory rules. Each flag carries its reason and its source, so an operator can act on it instead of guessing.
- Rate spikes, unpaired rate drops and sticky-default detection
- Amendment rate and missing reason codes: the LHDN audit-trail check
- Outstanding-balance and revenue parse sanity checks
A manager's verify is the gate
Nothing auto-seals. The verify step shows the night's figures and corroborates them against the Tourism Tax listing as an independent witness. A material mismatch requires a typed reason before the seal proceeds.
- Verify-then-seal: the explicit human gate on the statutory record
- Seal-time corroboration against the Tourism Tax listing, with acknowledgement
- Idempotent by design: re-uploading a sealed night can never alter it

Corrections leave a chain, not an edit
A sealed record is never edited. A correction is requested by one person, approved by another, and carries its own hash chained to the original. The trail is part of the record.
- Maker-checker: the requester can never be the approver
- Correction hashes chained to the original sealed record
- Nights already filed with LHDN are excluded from correction
Everything in the night-audit layer
- Verify-then-seal workflow
- Uploads stage for review; a property manager's explicit verify is what seals the record.
- SHA-256 hash ledger
- Each sealed record is hashed over its eight statutory fields; corrections carry chained hashes of their own.
- Database-enforced immutability
- The vault refuses updates and deletes at the database layer. Write once, keep seven years.
- Nightly integrity sweep
- Every record and correction chain is re-hashed nightly; any mismatch raises an alert.
- Seal-time corroboration
- The night is cross-checked against the Tourism Tax listing before sealing; a material mismatch needs a typed reason.
- Integrity flags
- Rate spikes, amendment-rate, missing reason codes, sticky defaults, unpaired drops, outstanding balances. Each flag cites its reason.
- Maker-checker corrections
- Requested by one role, approved by another; LHDN-filed nights are excluded.
- Audit-gap detection
- The last 30 nights are checked for missing audits, and “could not check” is reported as itself, never as “no gaps”.
- Historical import
- Yearly summaries seal as clearly-marked historical months, so year-on-year comparisons work from day one.
- Off-site backup
- The vault mirrors to off-site object storage, with alerting when a backup misses.
See a night sealed end to end
Bring one night's pack. We'll parse it, check it and seal it while you watch.