Skip to content

Guide

Connecting your own system to MyInvois: what actually breaks.

A direct integration removes the re-typing, but it moves the risk into your own code. The failures are rarely on the happy path. They are on the edges, and the edges are where teams get caught.

Part of the Malaysia e-Invoice guide.

Submitting an invoice on the happy path is the easy 80 percent. The reason integrations run over is the other 20: the rejected submission, the refund, the reconciliation, and the specification that will not hold still. Four of these are worth knowing before you commit to building.

Validation fails silently

This is the one that hurts most. If nothing is watching the response, a rejected submission looks identical to a successful one from inside your own admin. Everything appears to have gone out. You find out at month end, when the count does not match. Failure handling is not a nice-to-have on an e-Invoice integration; it is the feature. Every submission needs its response checked, failures surfaced where a human will actually see them, and a retry path that does not create duplicates.

Refunds and credit notes are separate documents

A refund is not an edit to the original invoice. It is its own document type that references the original, and a system that models a refund as a status change on an order has nowhere to put it. If the business takes returns at all, the data model has to carry document types, not just order states, or the first refund after go-live becomes an incident.

Timing against your accounting close

Submission windows and your bookkeeping cycle run on different clocks. Deciding who reconciles the two, and when, is a process question no integration can answer for you. The build can make it visible and hard to get wrong, but someone still owns the reconciliation.

The specification will change

It already has. The thresholds moved once, and the format details are revised as the regime settles. If you own the integration, you own the upkeep when that happens. That is the real trade against a middleware, which absorbs those changes for a per-document fee. Budget for maintenance from the start rather than treating the integration as done on go-live day.

What a solid integration actually includes

When we build a direct integration, the connection is the small part. The parts that keep it working are:

When not to build it at all

A direct integration is only worth it above a certain volume. Below that line the MyInvois portal is the honest answer, and building anything is a waste. If you are weighing it up, the route decision guide walks through where that line sits for your volume.

Thresholds, dates and penalties for this topic live on the main guide and were last checked on 31 July 2026. Confirm the current specification with an official LHDN source.

Weighing up building your own integration?

Tell us what system raises your invoices and how many go out a month. We will tell you whether a direct integration earns its cost, or whether the portal or a middleware is the honest answer.