Catch the rejection before LHDN does
Eighteen checks run against your document before it is submitted. When LHDN still rejects one, you get the returned code, the field at fault and the clock — not a failed status.
Affected Field
Contact Record
Pre-validation
Buyer TIN verified with LHDN, BRN matched to SSM, classifications resolved, tax totals reconciled to lines. Submit stays disabled while a blocker exists.
Eleven tracked states
Draft through validated, plus rejected, retry pending, cancelled, externally cleared, and sandbox — which never counts toward your clearance rate.
Purchase-side duties
Self-billed e-invoices for suppliers who don't file, and consolidated documents for high-volume small transactions.
Clearance produces a ledger entry, not a notification
When LHDN validates a document, the sales journal posts and the UUID is stored against the invoice. Cancel inside 72 hours and a reversing journal posts too.