LHDN MyInvois: what your POS has to do
A practical checklist for connecting retail and F&B point-of-sale workflows to MyInvois, from invoice data to testing and reconciliation.

Start with the invoice workflow
Map how a sale becomes an invoice, who requests buyer details and how staff handle returns. Agree the applicable invoice rules with your finance team using current HASiL guidance before configuring the POS. A receipt and a submitted e-Invoice should have distinct statuses in your records.
Prepare structured invoice data
The MyInvois submission API accepts JSON or XML documents. Your integration needs to transform POS data into the expected document structure, rather than sending a receipt image. Check the selected document version and required fields against the official SDK, then validate sample transactions before rollout.
Track submission and validation separately
Submission is only one step. Store the submission reference and document identifiers, then retrieve the validation result. Staff need a clear view of pending, valid and failed documents, with actionable error messages. Connect each result to its original sale so accounting can reconcile the records.
Plan recovery and adjustments
Design a queue for connection failures and controlled retries that avoid duplicate submissions. Decide who reviews failures and how a correction is linked to the original document. Test cancellation and credit-note workflows with your finance team instead of treating a deleted POS sale as a completed invoice adjustment.
Test before the first live sale
Use the official MyInvois sandbox resources to test your integration. Include missing buyer details, rejected documents, connection failures, returns and receipt reprints. Ask the vendor to demonstrate status tracking, exports and the handover process, and confirm who maintains the integration when the SDK changes.