Skip to content
Pools: The Monthly Consolidation Cycle

E-Invoice Pools: The Monthly Consolidation Cycle and Backdated Documents

Part 4 of Pools and E-Invoice Submission Routing: how last month’s Batch Pool rows become consolidated e-invoices, what each number in that cycle is and who can change it, and what happens to documents dated in the past. It follows Working each pool. Most of GadgetSphere’s month — its walk-in counter receipts, marked Consolidated at the till — ends up here.

Check the Batch Pool before the 7th: rows dated before last month are outside the automatic run’s window, and only Consolidate, pressed by you, takes them.

  1. The monthly consolidation cycle
  2. Backdated documents

The monthly consolidation cycle

Unprocessed Batch Pool documents from a month are grouped into consolidated e-invoices, which LHDN requires to be submitted within seven calendar days after the month end — by the 7th (e-Invoice Specific Guideline 4.9, §3.6.2). Every receipt inside one is traceable back to the e-invoice that reported it.

You do not normally press anything — and there is no single “consolidation day”. Consolidation and submission are two clocks on your tenant’s scheduler, and by default both tick all day, every day: the consolidation run every half hour, the consolidated submission every 20 minutes. From the first firing on the 1st, each consolidation run takes a batch of last month’s unprocessed Batch Pool rows (100 by default) and builds them into consolidated e-invoices, and the submission clock sends whatever has been built for last month on to LHDN. So last month is consolidated in batches from the morning of the 1st onward, and the 7th is the deadline those batches have to beat, not the day they run. A small month is done within the first hours; a high-volume tenant on the default batch can need days of runs — the interval and the batch size are set per tenant on the clock’s row in the Scheduler applet, which is where to look (or ask support) if your month is large (Pools and queues works the arithmetic). The clocks belong to the tenant, not the company — one consolidation clock serves every company in your BigLedger tenant, so in a group of three companies all three are consolidated by the same runs, and switching that clock off stops it for all three at once. The buttons in the Batch Pool and on Internal Submission → Consolidated Submission are the manual fallback, used when a run has to be repeated or a row has fallen outside its window. The full week-by-week routine is in The Month-End E-Invoice Cycle.

Where each number in this section comes from. Some are clocks on your tenant, some are written into the program, and one is LHDN’s:

FigureWhat it isWhere you see it, and who can change it
Consolidation every 30 minutesA clock: the default timetable BigLedger installs, switched on, when a tenant is createdThe E_INVOICE_BATCH_PROCESSING_CYCLE_RUN_PROCESSOR row in the Scheduler applet; whoever administers your scheduler can change the timetable or switch it off
100 Batch Pool rows per runA program default, used whenever the clock carries no limit property — and a default clock is installed with noneThe clock’s Json tab in the Scheduler; a limit there replaces the 100
Last month onlyA program rule, counted on the Malaysian calendar; the run refuses the current monthThe same Json tab can name an earlier month in month; nothing makes it take this month
Up to 4,800 rows a dayArithmetic: 100 rows × 48 runs a day at the defaultsChanges with either of the two above
One run at a timeA program rule: a run holds a lock for up to six hours, and a firing that finds it held does nothingNowhere on screen
Consolidated submission every 20 minutesA clock, installed the same wayThe CONSOLIDATED_E_INVOICE_PROCESSOR row in the Scheduler
Up to 49 consolidated e-invoices sent per firing, dated before the 1stA program default (a maxIterations property on that clock replaces it) and a program ruleThe clock’s Json tab, for the first; nowhere, for the second
200 lines per by-branch e-invoiceA program constantNowhere; see By document or by branch
The 7thLHDN’s rule, not BigLedger’s: no clock or field holds it, and the run does not stop on itThe guideline; LHDN guideline versions records the copy we checked

Which processors are running is a per-tenant answer from support — but three switches are yours, per company. On each company’s E-Invoice tab: Disable Consolidated Submission and Disable Single-General Submission take those two values out of the Submission Type drop-down on every sales and purchase document for that company, so nobody can mark a new document for them; and Send Email To Buyer decides whether the validated PDF is e-mailed to the buyer at all. In a group of three companies they are three separate answers, and the first two explain a submission type that has gone missing from a drop-down rather than a processor that has stopped.

Consolidated Submission Queue listing showing consolidated e-invoices with buyer General Public and a Submit button
Internal Submission → Consolidated Submission — consolidated e-invoices waiting to go to LHDN. The buyer on every one of them is General Public.

Backdated documents

Two rules matter when handling documents dated in the past:

  1. Issue time is always “now”. LHDN requires the e-invoice issue date-time to be the actual submission time. BigLedger does not copy it from the document: it writes the clock time, in UTC, at the time of submission — the moment the run builds what it sends — so a document finalised on the 30th and sent on the 1st carries the 1st. The document’s original transaction date is preserved separately — you don’t lose it. A consolidated e-invoice is the exception you will notice: its own date is set to the last day of the month it reports.
  2. The automatic run looks at one month, and older rows are left where they are. Since 2026-09-18 it selects only unprocessed Batch Pool rows whose transaction date falls in the previous calendar month. A receipt dated this month waits for next month’s runs, which is right; a receipt dated two months ago is outside the window and will never be picked up, however long you wait. Sort the Batch Pool by date every cycle. When you find old rows, select them and press Consolidate yourself — the button has no date window, and the e-invoice it builds is dated the last day of that receipt’s own month. It will be submitted, and it will be late, because that month’s deadline was the 7th of the month after it.

What success looks like for this part

Sorted by date, with process status unprocessed, the Batch Pool shows only this month’s and last month’s rows; and by the 7th no row for last month is left unprocessed and last month’s consolidated e-invoices show as submitted on Internal Submission → Consolidated Submission. When you are done, run the whole page’s success check.

Common mistakes in this part

  • Moving a document to the Batch Pool months after the fact. The row keeps the document’s own date, and the automatic run only selects last month’s. Move it late enough and nothing will ever pick it up — you will have to select it and press Consolidate yourself.

Next: Consolidating by document or by branch.

Last updated on