Skip to content
Financial Reporting Guide

Financial Reporting Guide

By the end of this guide, you will have closed March 2026, generated a balanced Trial Balance, a Profit and Loss statement broken down by branch, a Balance Sheet that balances, and exported all three to Excel for your external accountant ahead of the quarterly Sales and Service Tax (SST) filing. Plan for about 60 minutes the first month you do this on your own; once the rhythm sticks, you will be in and out in 20.

Meet GadgetSphere

You work in the GadgetSphere Sdn Bhd finance team. The group has three companies (the retail company GS, the e-commerce company GSO, and the wholesale company GSD) trading across 22 branches in Klang Valley, Penang, Johor Bahru, Kota Kinabalu, and Kuching. Quarter-end falls on 31 March 2026, your external accountant needs the Excel files by next Tuesday for the SST filing, and your finance manager wants to see how branch GS-KV-01 compared to GS-KV-05 over the quarter before they sign off. BigLedger does not produce a single true consolidated statement in this applet — you generate one set of reports per company (GS, GSO, GSD) and combine them in Excel for the group view your accountant signs off on.

A Financial Report in BigLedger is a frozen snapshot. The moment you generate it, the numbers are saved as they stood at that instant. If a back-dated journal lands later, you must reopen the snapshot and click Regenerate — it will not refresh on its own.

Concepts you will meet

Set of Books — the reporting container that groups all the ledgers belonging to one company. GadgetSphere has three: GS-Books, GSO-Books, and GSD-Books. You pick one Set of Books per report run; for a group-level view, generate one report per company and combine the figures in Excel.

Month-End Processing — a one-click routine, once per Set of Books per month, that writes the closing-day and opening-day journals and the per-account monthly summary rows that every Financial Report snapshot is built from. Run this before you generate the Financial Report, or the snapshot has nothing to read. The same click also runs two processors you never see a button for: a cost-of-goods-sold processor, which posts one journal per company — debit cost of goods sold, credit stock — for opening stock plus purchases less purchase returns less closing stock, and a retained-earnings processor, which moves the month’s profit or loss into retained earnings. Each of them writes its journal only if the company has the default GL codes it needs (COGS and STOCK_BALANCE for the first; PROFIT_LOSS and RETAINED_EARNING for the second) and says nothing at all when it does not.

Financial Report snapshot — when you generate a Trial Balance, Profit and Loss, or Balance Sheet, BigLedger saves a snapshot of the numbers at that moment. Frozen unless you regenerate.

Profit and Loss Report (ad-hoc) (the on-screen menu label reads “Profit Loss Report”) — a separate screen that runs a Profit and Loss view on demand without saving a snapshot. This is where you compare branches, cost centres, or projects side by side.

Before you start

Run through this checklist once before you open the reporting screens. Five minutes here saves an hour of chasing later.

  • Your Chart of Accounts is fully wired — every active GL Code (for example SALES-SMARTPHONE, COST-LAPTOP, EXPENSE-RENTAL) sits under a GL Category, and every Category sits under a GL Section (Assets, Liabilities, Revenue, Cost of Sales, Expenses, Equity). Anything missing that chain quietly drops out of the reports.
  • Each of the three companies (GS, GSO, GSD) has its own Set of Books with at least one ledger linked.
  • The GL Sections that the engine treats as profit and loss carry the codes it expects (SalesRevenue, CostOfGoodsSold, GeneralExpenses, OtherRevenues, OtherExpenses and the rest listed on the Financial Report applet page), and the retained-earnings section is coded RetainedEarnings. Rename those and month-end can no longer tell a P&L account from a balance-sheet one.
  • Every sales invoice, purchase invoice, receipt, payment, and manual adjustment for March 2026 is posted (not still in draft). Anything in draft will not appear in your reports.
  • Bank reconciliations for all 28 cashbooks are complete to 31 March 2026 — see the Bank Reconciliation Guide.
  • Your user holds the Financial Report permissions with the right company targets: READ lets you open snapshots, CREATE lets you run month-end, create and regenerate snapshots, and run the Profit Loss Report. Whatever your tenant calls the roles, those are the grants that matter.

Step 1: Confirm March 2026 is ready to close

Each document applet’s listing, then Financial Report > Error Checking > Stock Flow Report

Before you press a single button in the reporting screens, walk through your March 2026 checklist for each of the three companies (GS, GSO, GSD). In each document applet — Sales Invoice, Purchase Invoice, Receipt Voucher, Payment Voucher — filter the listing on March 2026 and Posting Status DRAFT. Every list should be empty. A draft document is not in the ledger at all, so its amount is simply missing from your Trial Balance.

Next, open Error Checking > Stock Flow Report, pick company GS and the date range 1–31 March 2026. It shows one row per module — Purchases, Purchase Returns, Sales, Sales Returns, Purchase Consignment, Reset MA — with the value on the stock side, the value posted to the module’s GL account, and the difference. Click a difference to see which documents are MISSING_ACCOUNTING, MISSING_INVENTORY or WRONG_AMOUNT; CREATE reposts the selected rows, and a row that comes back with an error usually means a missing default GL code on the item or company. Repeat for GSO and GSD. Finally, glance at the bank reconciliation listing for all 28 cashbooks and confirm a March 2026 session exists for each.

If one specific document worries you, Error Checking > Trace Document takes a document type and number and runs six checks on that one document — missing journal, wrong journal, missing cashbook line, missing shadow document, missing reversal — each with a Resolve button. It is a per-document tool, not a listing.

Watch out: if a document applet shows even one draft purchase invoice in March, stop and post it first — otherwise you will spend 20 minutes hunting a gap that is simply an unposted bill.

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: two messages stop 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. Journal Line is empty. means one ledger in the Set of Books had no journal activity at all in March — you cannot close an empty month, so either post March’s entries first or take the idle ledger out of that Set of Books.

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 — a manual one cannot be (the Create button and the server both refuse it), so open Ledger and Journal > Error Checking > Journal Not Balance for the quarter and it will name the culprit. Fix it, re-process the month, 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, March was processed before some March postings landed — re-run PROCESS on the March record and Regenerate the snapshot.

Step 7: Run the ad-hoc Profit and Loss Report comparing branch GS-KV-01 against GS-KV-05

Main menu > Financial Reports > Profit Loss Report

Open the ad-hoc Profit and Loss Report (the menu label reads “Profit Loss Report”) — a separate screen from the Financial Report snapshot you have been working in. It reads posted journals directly, no month-end needed. Set Group By to Branch, then in the Branch picker tick GS-KV-01 and GS-KV-05. Set Date From to 1 January 2026, Date To to 31 March 2026, and leave Cost Type on MA (moving average) — that matches the cost basis your company uses for closing stock, so the cost-of-sales row here is the one to reconcile against.

Click Search. The grid shows one amount column per branch, with the calculated rows Net Sales, Total Cost of Goods Sold, Gross Profit, Gross Margin, Profit Before Taxes, Net Profit and Profit Margin. Cost of sales on this screen is computed live from each sales line’s stored cost at the chosen basis — this is the report that answers “how is KV-01 doing versus KV-05” honestly even before anything has journalled cost of sales. Click the cost-of-sales amount to see the Gross Profit listing by document behind it. Nothing is saved; if you want a permanent record, export the grid.

Watch out: if the report rejects the query outright, none of the branches or companies you asked for is in your permission targets — the Branch picker only offers branches you may read, and the server checks again. Ask your administrator to add the branch targets to your Financial Report READ grant.

Step 8: Regenerate any snapshot if a back-dated entry lands

Main menu > Financial Reports > Financial Report > open the affected row > REGENERATE button (top right)

Snapshots are frozen at the moment you created them. If any back-dated journal posts into Q1 2026 after Step 3 (a common scenario: your accountant spots a misclassified RM 38,000 rental accrual a week later and corrects it), the original snapshot will still show the old numbers.

First re-process the month the correction landed in: open the March 2026 Month End Processing record, go to the Processor tab, and click PROCESS. That deletes March’s closing-day and opening-day journals and summary rows and rebuilds them from the journals as they now stand. Then open the affected snapshot (say GS-Books Q1 2026), click REGENERATE in the top right, and confirm. BigLedger throws away every line in that snapshot and re-reads the summaries — the header (Set of Books, period) is preserved, so all your links and exports still point to the same record.

Watch out: Regenerate without re-processing changes nothing, because the snapshot reads the same stale summary rows again. The order is always PROCESS the month, then REGENERATE the snapshot.

Step 9: Export the three statements to Excel for the external accountant

Main menu > Financial Reports > Financial Report > open each row > REPORT button > Excel export

On the GS-Books Q1 2026 snapshot, switch to the Trial Balance tab and click the REPORT button at the top right — this opens the printable version of the tab you are on. Export it from the grid’s export menu as an Excel file.

Repeat for Profit And Loss and Balance Sheet. Do the same three exports for GSO-Books Q1 2026 and GSD-Books Q1 2026. You now have nine files — name them with the convention you use with your external accountant (for example GS-TB-Q1-2026.xlsx, GS-PL-Q1-2026.xlsx, GS-BS-Q1-2026.xlsx) and email them. Use the same approach for the GS-KV-01-versus-GS-KV-05 comparison from Step 7 if your manager wants it attached. If they want the three companies side by side, tick the three snapshots on the listing and click Reports — the comparison view puts them next to each other on Trial Balance, Profit and Loss and Balance Sheet tabs.

Watch out: there is no group consolidation here — one snapshot per Set of Books, and the comparison view is side-by-side, not a total. If your accountant wants a group figure, they add the three in the spreadsheet.

Step 10: Lock March 2026 so nothing slips back in

Main menu > Master Data > Chart of Account > Fiscal Year > March 2026 > set status to Lock GL

Once the external accountant has confirmed they have the files, set the March 2026 fiscal period status to Lock General Ledger (Lock GL). This stops anyone in the team from posting a fresh journal back into March — a common cause of “why does my Q1 number keep changing” panic. Do this for each of the three companies (GS, GSO, GSD).

Lock GL stops manual journals only — automatic journals from documents still post, and a purchase invoice can still be dated into March. Lock TXN is the opposite: it stops operational documents being finalised with a date in the month (stock transfers excepted) but lets a manual journal through. Lock All stops both, and is the one to use once the quarter is truly closed. If you discover a genuine adjustment is needed after locking, switch the period back to Open, post the correction, PROCESS the month again, Regenerate the snapshot (Step 8), and re-lock. Doing it this way means every adjustment is deliberate and traceable — not an accidental Friday-afternoon typo.

Watch out: there is no approval on reopening a period, and no separate permission inside the Chart of Account applet for it — anyone who can open that applet can set March back to Open. Keep the applet installed for the few people who close the books, and nobody else.

What success looks like

Open the GS-Books Q1 2026 snapshot.

  • Trial Balance footer shows total Debit RM 47,238,901.22 = Credit RM 47,238,901.22 (your actual number will differ — what matters is the two values are identical).
  • The Profit Loss Report for Q1 shows Cost of Goods Sold around RM 10.6 million for GS-Books and a Gross Margin in the 12-18% range (around 14.6%), and the snapshot’s Profit And Loss tab shows a cost-of-sales figure of the same order — not zero — because the month-end cost-of-goods-sold journal was written for each of the three months.
  • Balance Sheet shows Total Assets equal to Total Liabilities + Shareholders’ Equity (both around RM 18-22 million for GS-Books at this scale).
  • You have nine Excel files saved (Trial Balance, Profit and Loss, Balance Sheet for each of GS, GSO, GSD).
  • The March 2026 fiscal period for all three companies shows status Lock General Ledger (Lock GL).

If all five tick, you are done — email the files and close the laptop.

Common mistakes

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, or the retained-earnings section is not coded RetainedEarnings.Open the Month End Processing record for each affected month, Processor tab, PROCESS; then reopen the snapshot and click Regenerate. Check the section code in Chart of Account if it still does not balance.
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.
A back-dated correction your accountant posted yesterday is not showing in the snapshot you generated last week.Snapshots are frozen photographs — they do not refresh by themselves, and neither do the month-end summary rows they read.Open the March 2026 Month End Processing record, Processor tab, PROCESS (that re-runs cost of goods sold, retained earnings and the close together), then open the snapshot and click Regenerate. Regenerate on its own re-reads the same stale summaries.
Profit Loss Report rejects the query, or a branch you expected is missing from the picker.The branches and companies you asked for are filtered against the targets on your Financial Report READ permission, on screen and again on the server.Ask your administrator to add the branch and company targets to your grant, then search again.

Related documentation

Last updated on