What am I supposed to do between the 1st and the 7th? The month-end e-invoice cycle
Watch this as a presentation — 1 on this page, slides with narration.
“What am I supposed to do between the 1st and the 7th?” Make sure everything you sold last month reached LHDN once and only once: clear the pools that wait for you, work the Invalid list in the last days of the month before consolidation sweeps it, then let consolidation run and reconcile, so that last month’s consolidated e-invoices are validated by the 7th.
Every month you have seven days to prove that everything you sold last month reached LHDN — once, and only once. Consolidated e-invoices for last month must be validated by the 7th, and the work that gets you there is a short, repeatable loop you can run yourself. This guide walks that loop end to end. Budget about two hours on the 1st or 2nd, after a look at the Invalid list in the last days of the month, then a few short check-ins until the list is clean.
The cycle, at a glance
- Clear the Individual Pool before consolidation runs: get the buyer details, or move a receipt under RM 10,000 you will never complete to the Batch Pool (Step 1).
- Check the Batch Pool for rows marked processed, which the run will not sweep (Step 2).
- Pull the export that shows each e-invoice’s live status, from Internal Submission → To IRB E-Invoice (Step 3).
- Work the Invalid list in the last days of the month, before the run sweeps it (Step 4).
- Let the consolidation run, or trigger it yourself for rows older than last month (Step 5).
- Chase anything still IN_QUEUE the next morning: nothing retries it on its own (Step 6).
- Reconcile on the Discrepancies Report, and work through the five reasons a tally does not balance (Step 7).
Steps 3 and 4, and Step 1’s named-buyer receipts under RM 10,000, are done in the last days of the month you are closing: the scheduled run sweeps it within about half an hour of midnight on the 1st (Malaysia time). The rest of Step 1, and Step 2, can be done then or from the 1st; Steps 5 to 7 come after.
The cycle runs across three pages: Step 1 is on this one, Steps 2 to 4 are on Work the Invalid list before the run, and Steps 5 to 7 are on Run the consolidation and reconcile.
Meet GadgetSphere
GadgetSphere Sdn Bhd runs 22 consumer-electronics branches across Malaysia, plus an online arm and a distribution company. Last month its counters rang up roughly 38,000 receipts, almost all walk-in sales under RM 10,000 with no buyer details — those become one consolidated e-invoice per group. Another 112 invoices were RM 10,000 or more, so each of those has to go to LHDN individually with the buyer’s real tax number. Getting all of it reported by the 7th is the job below.
What you need to know first
Three ideas do all the work in this cycle. If any of them is new to you, read it first — two minutes each, and the rest of this page follows on its own.
- Consolidated e-invoices — how a month of counter receipts is reported in one document, and why a sale of RM 10,000 or more can never be one of them.
- Pools and queues — which holding areas empty themselves and which wait for you. Steps 1 and 2 below are entirely about the ones that wait.
- Validation and clearance — what Submitted, Valid and Invalid actually mean, and why the Submission Status column in Submission History is not LHDN’s verdict.
The one you have to have straight before you start is the last. Internal Submission → Submission History has two status columns that look alike. Submission Status records what happened when the document was sent, and it stays Submitted even after LHDN rejects the document. E-Invoice Status is the one BigLedger updates when LHDN answers. Internal Submission → To IRB E-Invoice carries one row per e-invoice with that live verdict, and it is the screen to work from.
Before you start
- You can open the My E-Invoice Admin Applet and use the Export button on the submission screens.
- Last month’s sales are all finalised. A document still sitting in draft has never entered the e-invoice pipeline at all, and no amount of pool-clearing will find it.
- You know whether the consolidation clock is running on your tenant, and how fast it gets through a month. It is not a date: by default the consolidation run fires every half hour from the 1st, taking a batch of last month’s Batch Pool rows each time, and the consolidated submission follows every 20 minutes. The clock’s row in the Scheduler applet shows whether it is ACTIVE and its interval; if you do not have that applet, or your month runs to tens of thousands of receipts, ask support before the 1st — not on the 6th.
- Your company’s e-invoice authorisation is healthy. If every document is failing with an authentication error and none of them has a data problem, the intermediary authorisation you granted BigLedger on the MyInvois portal has lapsed and needs renewing — no amount of month-end work will move anything until it is.
Step 1: Clear the Individual Pool before consolidation runs
Outcome: every high-value and named-buyer sale from the month you are closing either has a real tax number on it or has been consciously moved somewhere it can still be reported.
My E-Invoice Admin Applet → Individual Pool
The Individual Pool is where documents land when they were meant to go to LHDN on their own but something mandatory is missing — usually the buyer’s tax number, identity type or address. Nothing moves them on for you. No rule ages a pooled row and nothing warns you it is old, so they will sit there for months — and every one of them is a sale you have not reported.
Resubmit a named-buyer receipt under RM 10,000 before midnight on the last day: after it, a resubmission LHDN rejects is swept into the consolidated e-invoice (Step 4). Rows of RM 10,000 or more, and receipts you are moving to the Batch Pool, can wait for the 1st.
Work the list in two passes:
- Get the buyer details. Open the row, complete the buyer’s tax number, identity type and value, and the address, then use Save and Resubmit. GadgetSphere’s corporate sales — the RM 24,600 laptop fleet order for an accounting firm — belong in this pass. If the buyer’s identity type is a business registration number and the tax number is blank, use Get TIN / Verify TIN on the row: it asks LHDN for the number that goes with the identity type and value in front of you, at any amount. The RM 10,000 threshold belongs to the automatic lookup, not to the button — BigLedger searches by itself only on a document of RM 10,000 or more whose identity type is a registration number, so on a RM 4,000 corporate invoice nothing has been tried and the button is exactly the thing to press.
- Move what you genuinely cannot complete. For a receipt under RM 10,000 where the customer has walked away and you will never get their details, use Move To Batch Pool so it is consolidated with everything else. Since 2 October 2026 the run also does part of this for you: when it executes for a month that has ended, every individual e-invoice record from that month that LHDN did not take, under RM 10,000 and a sales document, is moved into the Batch Pool as consolidated and its row leaves To IRB E-Invoice. Since 13 October 2026 that means an Invalid record, or one still IN_QUEUE because LHDN refused it when it was sent; a record not yet sent is left for the submission run. That sweep reads records, so a receipt still sitting in the Individual Pool — which never got one — is not touched, and Move To Batch Pool remains its only way out. An Invalid record is swept whoever its buyer is, which is why Step 4 comes before the run, not after it. Do it before your consolidation run: a row moved afterwards is picked up by the next run and dated to the last day of the previous month, which is only right while that is still the month it belongs to.
If you skip this step: the consolidation runs, everything else reports cleanly, and your Individual Pool documents quietly stay unreported. You will find them the next time somebody reconciles — possibly months later, well past any chance of cancelling or correcting cleanly.
Next: Steps 2 to 4, the Batch Pool and the Invalid list.
Step 2: Check the Batch Pool for rows that will not be swept
In brief: most Batch Pool rows are unprocessed and will be consolidated, even when they are red. A row somebody pressed Process or Save and Resubmit on is marked processed whether it succeeded or failed, and the monthly consolidation will not pick it up; so do not press Process on red rows to clear them. The full step is Step 2 on Work the Invalid list before the run.
Step 3: Pull the export that shows live status
In brief: export Internal Submission → To IRB E-Invoice: one row per e-invoice, with its current status (Valid, Invalid, Submitted, or IN_QUEUE while it is still with BigLedger) and what to do about each. The full step is Step 3 on Work the Invalid list before the run.
Step 4: Work the Invalid list
In brief: work the list in the last days of the month you are closing: since 13 October 2026 an Invalid row under RM 10,000 that you have left alone is swept into the consolidated e-invoice under the General Public buyer. Fix and resubmit every row whose buyer needs their own e-invoice and let the rest go into the consolidated one on purpose.
At the default clock the first scheduled run after midnight on the 1st sweeps, and a later rejection is swept by the next run. The full step is Step 4 on Work the Invalid list before the run.
Step 5: Let the consolidation run — or trigger it yourself
In brief: for most companies you do not press anything: from the 1st the consolidation run fires every half hour on last month’s Batch Pool rows, and the 7th is the deadline the batches must beat. The automatic run takes last month only, so a row from two months ago needs Consolidate pressed by hand; a by-branch run overwrites a buyer’s own tax number with the General Public one. The full step is Step 5 on Run the consolidation and reconcile.
Step 6: Chase anything still IN_QUEUE the next morning
In brief: The queue sends one document at a time, so start on the 1st. A row that has not moved by the next morning is not retrying on its own: select it and press Submit. The full step is Step 6 on Run the consolidation and reconcile.
Step 7: Reconcile, and understand the five reasons a tally does not balance
In brief: on the Discrepancies Report, compare the sales you finalised against the e-invoice records BigLedger holds for them, per document type; a balanced report is not by itself proof that the month reached LHDN. If they do not match, work through five reasons, cheapest first. The full step is Step 7 on Run the consolidation and reconcile.
What success looks like
Thirty seconds, four screens, on or before the 7th:
- Batch Pool, filtered to last month — no unprocessed rows left, and no processed-but-failed rows either.
- Individual Pool and Single General Pool — empty, or every remaining row has a person chasing the buyer’s details.
- Internal Submission → To IRB E-Invoice, filtered to last month — no Invalid rows, no row still Submitted, and nothing still waiting to be sent: no IN_QUEUE rows, and no consolidated e-invoice still sitting in the consolidated queue. Each named-buyer row on the list you saved in Step 3 shows Valid on its own row; a swept one has left this screen.
- Monthly Report → Discrepancies Report for the month — the document count and totals match per document type.
If all four are clean, the month is closed.
Common mistakes
| Mistake | What you see | Fix |
|---|---|---|
| Filtering the Invalid list on Submission History’s Submission Status column | A short, reassuring list; rejections you never worked | That column records the sending and stays Submitted. LHDN’s verdict is in the E-Invoice Status column beside it. Work from Internal Submission → To IRB E-Invoice, one row per e-invoice with the live status |
| Moving Individual Pool rows to the Batch Pool long after the run | The new Batch Pool row keeps the document’s own date, and the automatic run only ever selects last month’s. Move a receipt across two months late and nothing picks it up | Do the pool clean-up on the 1st or 2nd. For anything already older than last month, select the rows in the Batch Pool and press Consolidate yourself — the button has no date window |
The mistakes that belong to one part are on that part’s page: assuming a processed / failed Batch Pool row will be picked up and treating a repeated document number as a duplicate are with Steps 2 to 4; starting on the 6th, marking a sale that fell through Skip E-Invoice, and voiding a sale after its e-invoice went out are with Steps 5 to 7.