Skip to content
Financial Reporting: Close and Read

Close the month and read the financial statements

Steps 2 to 6 of the Financial Reporting Guide: close March and read what the close produced. You run Month End Processing for each Set of Books and check that every ledger has its two journals, generate one snapshot per company for the quarter, and read the Trial Balance, each company’s Profit and Loss and the Balance Sheet. It follows Step 1, where March was made ready to close. The running example is GadgetSphere’s quarter ending 31 March 2026, reported one company at a time (GS, GSO, GSD); Meet GadgetSphere sets it out.

  1. Step 2: run Month-End Processing for March 2026.
  2. Step 3: generate the Financial Report snapshot for the quarter.
  3. Step 4: check the Trial Balance balances.
  4. Step 5: read the per-company Profit and Loss for the quarter.
  5. Step 6: read the Balance Sheet and confirm it balances.

Step 2: Run Month-End Processing for March 2026

Main menu > Financial Reports > Month-End Processing > click the + (New) button

Open Month End Processing and create one new record for GS-Books with Year 2026 and Month March, then click Create. The processing runs straight away for every ledger in that Set of Books. First the two quiet processors: if GS has COGS and STOCK_BALANCE default GL codes, BigLedger values closing stock at 31 March on the company’s Inventory Closing Base On cost basis and posts a cost-of-goods-sold journal (opening stock + March purchases − purchase returns − closing stock, debit COST-*, credit INV-*); if it has PROFIT_LOSS and RETAINED_EARNING defaults, it posts the month’s net result to retained earnings. Then the close itself: BigLedger reads every journal line dated in March (the two journals it just wrote included), writes a closing-day journal dated 31 March (one line per account, closing the month’s movement — the P&L lines are described POSTING TO PROFIT AND LOSS), an opening-day journal dated 1 April that re-opens the balance-sheet accounts only, and one summary row per account for the month. Those summary rows are what every snapshot reads. Wait for the spinner to clear.

Repeat the same three-field create for GSO-Books and again for GSD-Books. After all three runs you should see three new rows in the Month End Processing listing, each tagged March 2026. Skip this step and your snapshot for Q1 will simply have no March in it.

Watch out: only one message stops the run. Set of Books is missing primary ledger configuration. means the Set of Books has no ledger linked. Fix it in Chart of Account > Set Of Books > Ledgers. Everything else that goes wrong inside the close is silent: the record is created and the screen reports success, but the close, or half of it, is missing. Three causes produce this:

  • A ledger with no journal lines at all in March has nothing to close, so no closing journal is written for it.
  • A GL Category with no GL Section link leaves the closing or opening journal unbalanced.
  • A company with no PROFIT_LOSS or RETAINED_EARNING default GL code also leaves those journals unbalanced. Since July 2026 an unbalanced journal is refused.

On a re-run it is worse, because the previous close was deleted first.

So check after every run. It takes a minute. In Ledger And Journal, for each ledger of GS-Books, look for two journals described AUTO CREATED FROM MONTH END PROCESSING: one dated 31 March and one dated 1 April. If both are there, March is closed. If either is missing, fix the cause: link the category, map the two default GL codes, or post March’s entries or take the idle ledger out of the Set of Books. Then open the record’s Processor tab and click PROCESS.

Step 3: Generate the Financial Report snapshot for the quarter

Main menu > Financial Reports > Financial Report > click the + (New) button

Open Financial Report and click +. Pick GS-Books as the Set of Books, Start Year 2026, Start Month 1, End Year 2026, End Month 3. Click Create. BigLedger reads the month-end summary rows for January to March, groups them by GL Section, GL Category, and GL Code, and writes the totals into a new snapshot. It does not read the journals directly — which is why Step 2 had to come first.

Repeat for GSO-Books (Q1 2026) and GSD-Books (Q1 2026). You now have three Q1 2026 snapshots in the listing, each with its own Trial Balance, Profit And Loss, Balance Sheet, and Malaysian Income Tax Reporting Standard (MITRS) tab. Remember the snapshot is frozen at this moment in time — if your finance manager posts a back-dated correction tomorrow, you will need to come back, re-process the month, and click Regenerate on the affected snapshot (covered in Step 8).

Watch out: if the snapshot saves but the Trial Balance tab is empty, one or more of January, February and March was never processed for that Set of Books. Run Month End Processing for the missing months, then click Regenerate on the snapshot.

Step 4: Check the Trial Balance balances

Main menu > Financial Reports > Financial Report > open the GS-Books Q1 2026 row > Trial Balance tab

Open the GS-Books Q1 2026 row from the listing and switch to the Trial Balance tab. You will see every GL Code that had any movement in the quarter — CASH-PRI-KV01 (cash, primary bank, KV branch 01), DEBTOR-TRADE-RETAIL (customers who owe you money), INV-SMARTPHONE (smartphone stock on hand), SALES-SMARTPHONE (smartphone revenue from KV branch 01), COST-SMARTPHONE (cost of smartphone sales), EXPENSE-RENTAL, LIAB-SST-OUTPUT (Output SST you owe the tax authority), and so on — grouped by GL Section and GL Category.

Scroll to the footer. The total Debit and total Credit columns must match to the cent. For GadgetSphere’s Q1 2026 you should see something like Debit RM 47,238,901.22 = Credit RM 47,238,901.22 — typically in the tens of millions of ringgit at this scale; the two numbers must be identical. If they are off by even RM 0.01, a journal somewhere is unbalanced. The Create button and the server both refuse an unbalanced manual journal, with one way round them: a saved line deleted on a journal’s View page goes at once and leaves the journal’s stored totals as they were (see Journal Entries). Open Ledger and Journal > Error Checking > Journal Not Balance for the quarter; it compares those stored totals, so it finds every other kind but not that one. Every journal it lists is a real imbalance, because every journal is meant to balance on its own: one from before the balance check arrived in July 2026, or a rounding difference. Correct a manual one, raise a month-end one with support before you post anything, then re-process the month and regenerate. Repeat the check for GSO-Books and GSD-Books.

Watch out: a GL Code that you know had transactions (for example a freshly added SALES-GAMING) is missing — its GL Category is not linked to a GL Section. Go to Chart of Account, add the link, then come back and click Regenerate.

Step 5: Read the per-company Profit and Loss for the quarter

Main menu > Financial Reports > Financial Report > open the GS-Books Q1 2026 row > Profit And Loss tab

On the same GS-Books Q1 2026 snapshot, switch to the Profit And Loss tab. Rows are grouped by GL Section — Revenue first (sales of smartphones, laptops, accessories across branches), then Cost of Sales (COST-SMARTPHONE, COST-LAPTOP, COST-ACCESSORY), then Operating Expenses (rental, wages, marketing). BigLedger injects calculated rows in bold: Net Sales, Total Cost of Goods Sold, Gross Profit (Loss), Gross Margin, Profit Before Taxes, and Net Profit (Loss) with Profit Margin.

Those bold calculated rows are not clickable — drill-down only works on real GL Code rows. For GadgetSphere’s Q1, expect numbers in this ballpark: Net Sales RM 12.4 million, Total Cost of Goods Sold RM 10.6 million, Gross Profit RM 1.82 million, Gross Margin 14.6%, Net Profit RM 0.46 million. Sanity check that Gross Margin for GS-Books sits in the 12-18% range you would expect for a multi-brand consumer electronics retailer. Repeat the check for GSO-Books (e-commerce typically a touch lower margin) and GSD-Books (wholesale typically lower still).

One thing to understand about the cost of sales row on this tab: a sales invoice does not post cost of sales. The posting rule for sales writes the debtor, the sales and the output-tax lines and nothing to inventory or COST-*. What lands in the cost-of-sales section is the journal Month End Processing wrote in Step 2 — one figure per company, worked out the periodic way as opening stock plus purchases less purchase returns less closing stock — plus anything you journalled by hand. It is a monthly total, not a per-invoice cost, so it will not agree to the cent with the Profit Loss Report (Step 7), which adds up the stored cost of every sales line; a gap of a few percent between the two is normal, a gap of millions means the month-end journal was never written.

Watch out: if Cost of Goods Sold is zero here but the Profit Loss Report shows RM 10.6 million, the cost-of-goods-sold processor wrote nothing — and it never says why. The usual reason is that the company has no COGS or STOCK_BALANCE default GL code. Map both in Chart of Account > Company > Default GL Codes, re-PROCESS March (Step 8) and Regenerate the snapshot. Use the Profit Loss Report for the margin conversation in the meantime.

Step 6: Read the Balance Sheet and confirm it balances

Main menu > Financial Reports > Financial Report > open the GS-Books Q1 2026 row > Balance Sheet tab

Switch to the Balance Sheet tab. The view groups every GL Code at its 31 March 2026 balance under Assets (CASH-PRI-KV01 through KV12, DEBTOR-TRADE-RETAIL (customers who owe you money), INV-SMARTPHONE, INV-LAPTOP), Liabilities (LIAB-SUPPLIER-TRADE (suppliers you owe money to), LIAB-SST-OUTPUT (Output SST you owe the tax authority)), and Equity (EQUITY-CAPITAL (shareholders’ paid-in capital), EQUITY-RETAINED (accumulated profits the business has retained)). BigLedger injects four bold totals: Total Assets, Total Liabilities, Total Shareholders’ Equity, and Total Liabilities and Shareholders’ Equity.

The arithmetic test is simple: Total Assets must equal Total Liabilities + Total Shareholders’ Equity. The retained-earnings line on this tab is read from the opening balance of the RetainedEarnings section for the end month, which month-end wrote. If the sheet does not balance, the usual causes are that a prior month (December 2025, January 2026, February 2026) was never processed for that Set of Books, that something was posted into a month after it was processed, or that the retained-earnings section has been renamed. Go back to Step 2, run Month End Processing for every unprocessed month in order, then come back here and click Regenerate. Once GS, GSO, and GSD all balance, you are ready to compare branches.

Watch out: if the Balance Sheet is off by roughly your March profit, either March was processed before some March postings landed, or the March retained-earnings journal was never written because GS has no PROFIT_LOSS / RETAINED_EARNING default GL code. In the second case the 1 April opening journal was refused too (the check in Step 2 catches it). Map the defaults if they are missing, re-run PROCESS on the March record and Regenerate the snapshot.

Next: Steps 7 to 10, compare branches, regenerate, export and lock.

What success looks like for this part

For each Set of Books, every ledger has its two month-end journals for March, and each company’s snapshot shows a Trial Balance that balances and a Balance Sheet whose two sides agree.

Common mistakes in this part

SymptomCauseFix
A snapshot’s Trial Balance, Profit And Loss and Balance Sheet tabs are empty.Month End Processing has not been run for one or more months in the range — the snapshot reads the monthly summaries month-end writes, not the journals.Run Month End Processing for every month in the range for that Set of Books, then open the snapshot and click Regenerate.
Balance Sheet does not balance — Total Assets is off from Total Liabilities + Equity by roughly your March net profit.March (or an earlier month) was processed before some of its postings landed; the company has no PROFIT_LOSS / RETAINED_EARNING default GL code, so the result never reached retained earnings; or the retained-earnings section is not coded RetainedEarnings.Map the two defaults if they are missing. Open the Month End Processing record for the earliest affected month, Processor tab, PROCESS, then each later closed month in order; then reopen the snapshot and click Regenerate. Check the section code in Chart of Account if it still does not balance.
Month End Processing said success, but a statement is empty, short or does not balance for that month.The close, or half of it, was not written, and the screen was not told: a ledger with no entries in the month, a GL Category with no GL Section link, or a missing PROFIT_LOSS / RETAINED_EARNING default GL code.In Ledger And Journal, look for the two AUTO CREATED FROM MONTH END PROCESSING journals per ledger (Step 2). Fix the cause, PROCESS that month and every later closed month in order, then Regenerate.
The snapshot’s Profit And Loss shows Cost of Goods Sold as zero while the Profit Loss Report shows millions.A sales invoice posts no cost-of-sales journal; the cost-of-sales figure comes from the cost-of-goods-sold processor that runs inside Month End Processing, and it silently writes nothing when the company has no COGS or STOCK_BALANCE default GL code.Map COGS and STOCK_BALANCE in Chart of Account > Company > Default GL Codes, open the March Month End Processing record, Processor tab, PROCESS, then Regenerate the snapshot. Use the Profit Loss Report for margin in the meantime.
A GL Code you know had movement (for example SALES-GAMING) is completely missing from the Trial Balance.Its GL Category is not linked to a GL Section, so the report’s grouping drops it.Open Chart of Account, find that GL Category, attach it to the correct GL Section (Revenue, Cost of Sales, etc.), come back to the snapshot, and click Regenerate.

Related documentation

Last updated on