Sign in

Blog · Board and management reporting · Finance and FP&A teams

General ledger report: read and reconcile transactions

A general ledger report shows the journal lines behind account balances. Use an exported ledger to explain movements, check balanced journals and reconcile opening balances to closing balances.

The short answerA general ledger report lists posted transactions by account, with dates, journal references, descriptions, debits and credits. It explains how an opening balance became a closing balance. Reconcile account movements to the ledger balance and check that complete journals have equal debits and credits before using the report to explain financial results.

A general ledger report shows the posted transactions behind each account balance. Read it as a roll-forward: opening balance, period debits and credits, then closing balance. Its job is to explain which entries moved the account and to provide references you can follow back to supporting documents.

A trial balance summarizes balances. The ledger report supplies the detail needed when a total changes unexpectedly or a reconciliation fails.

Identify the columns before totaling anything

Start with an export containing posting date, journal ID, account, description, debit and credit. Preserve legal entity, currency, document reference and source transaction ID if supplied. Keep separate columns for transaction-currency and reporting-currency amounts; choose one currency basis for each calculation.

The IRS explanation of double-entry bookkeeping describes transactions being entered in journals and posted to ledger accounts. It also states the balancing requirement: total debits equal total credits after posting. That check applies to complete entries, not to an isolated expense or cash account.

Before analysis, remove presentation-only subtotal rows from your working selection. A ledger export may contain transaction lines, account totals and a grand total together. Summing all three counts the same movement repeatedly. Preserve the original file so the selection can be reviewed.

Also establish whether opening balances are separate fields or rows inside the export. They are the starting point for a roll-forward, not additional current-period activity.

Read a complete set of journal lines

The following US company example contains all journal lines for the illustrated September activity, in USD. Put the header in row 1 and the ten transaction rows in rows 2 through 11. Column G, added afterward, will hold net debit movement.

A: Posting date B: Journal C: Account D: Description E: Debit (USD) F: Credit (USD)
September 1, 2026 J01 Accounts receivable Customer invoice 15,000 0
September 1, 2026 J01 Revenue Customer invoice 0 15,000
September 5, 2026 J02 Operating expense Supplier bill 6,000 0
September 5, 2026 J02 Accounts payable Supplier bill 0 6,000
September 12, 2026 J03 Accounts payable Supplier payment 4,000 0
September 12, 2026 J03 Cash Supplier payment 0 4,000
September 20, 2026 J04 Cash Customer receipt 12,000 0
September 20, 2026 J04 Accounts receivable Customer receipt 0 12,000
September 30, 2026 J05 Depreciation expense Monthly depreciation 1,000 0
September 30, 2026 J05 Accumulated depreciation Monthly depreciation 0 1,000

Read J03 across both accounts: AP falls through a debit, while cash falls through a credit. A debit does not universally mean an increase; its effect depends on the account type.

Enter the following in G2 and fill down through G11:

=E2-F2

This uses debit-positive signs consistently. A credit-balance liability will therefore appear as a negative signed balance. Keep that convention visible instead of switching signs silently between accounts.

Prove the journals balance

Total debits and credits separately:

=SUM(E2:E11)
=SUM(F2:F11)

Both totals are $38,000: $15,000 + $6,000 + $4,000 + $12,000 + $1,000. The complete-export check must return zero:

=SUM(E2:E11)-SUM(F2:F11)

Check each journal too. List its journal ID once in J2:J6 and calculate this in K2, filled down:

=SUMIFS($E$2:$E$11,$B$2:$B$11,J2)-SUMIFS($F$2:$F$11,$B$2:$B$11,J2)

Every listed journal returns zero. This catches individual imbalances that could otherwise offset in the overall total. The formula follows Microsoft's SUMIFS syntax, which sums rows meeting specified criteria. Covirage is not affiliated with Microsoft.

Use SUMIFS by account and month when the real export covers multiple periods. Keep all criteria ranges aligned with the amount range; a shifted date range can select the wrong transactions while still returning a plausible result.

Reconcile movements to closing balances

Closing signed balance = Opening signed balance + Debits - Credits

The company supplies the opening balances below independently of the transaction table. These are selected accounts, not a complete trial balance. Their movements come directly from the journal rows above.

Account Opening signed balance (USD) Debits (USD) Credits (USD) Net movement (USD) Closing signed balance (USD)
Cash 50,000 12,000 4,000 8,000 58,000
Accounts receivable 25,000 15,000 12,000 3,000 28,000
Accounts payable -20,000 4,000 6,000 -2,000 -22,000

Cash closes at $50,000 + $12,000 - $4,000 = $58,000. AP closes at -$20,000 + $4,000 - $6,000 = -$22,000, meaning a $22,000 credit balance. The arithmetic uses exact dollars without rounding.

For a summary account name in M2 and its opening signed balance in N2, calculate closing balance with:

=N2+SUMIFS($E$2:$E$11,$C$2:$C$11,M2)-SUMIFS($F$2:$F$11,$C$2:$C$11,M2)

Compare that result with the independently exported closing ledger balance. Subtracting one from the other should return zero. A balanced journal total alone does not prove this roll-forward: the opening balance or reporting period could still be wrong.

Turn movements into review questions

The cash increase comes from customer receipts exceeding the supplier payment in these rows. It does not equal profit: the customer invoice, supplier expense and depreciation affect different accounts at different times. The accrual versus cash accounting guide explains that distinction.

For AP, use the closing ledger balance as the control total for the accounts payable aging reconciliation. Keep the transaction-level evidence here and investigate overdue invoice buckets in the aging report rather than trying to infer due dates from posting dates.

Where a ledger review goes wrong

  • Filtered journals treated as complete. A cash-account export contains only one side of many journals and need not balance by itself.
  • Duplicate descriptions treated as duplicate transactions. A complete journal naturally has several related lines. Use stable line identifiers to investigate genuine duplicates.
  • Opening or subtotal rows mixed into activity. Separate them before summing current-period movements.
  • A zero difference treated as proof of classification. An entry can balance while using the wrong expense account or period. Review document support for material movements.

Explain your ledger export in Covirage

Bring journal lines with account names, posting dates, debits and credits, together with the balance figures you want to reconcile. Covirage maps the columns, and its tools compute and check the movements; the external AI model explains the result with every figure traced to its rows. Create a free Covirage account and bring a sample of your own export.

See Excel analysis with Covirage for the wider file-based workflow.

Questions people ask

How is a general ledger report different from a trial balance?

The general ledger report provides transaction detail within accounts. A trial balance summarizes account balances at a date. Use the trial balance to locate an unexpected balance and the ledger detail to identify the transactions that explain it.

Does every account need equal debits and credits?

No. An individual account can have a net debit or credit movement. Equal debits and credits are expected across the complete journal, including its other accounts, and across a complete set of posted journal lines.

Why does my ledger export fail the debit-credit check?

First check whether the export contains every side of each journal. An account filter, missing page or mixed currency fields can create a false difference. If complete, comparable entries still fail, have accounting investigate the source records.

Which date should I use for the monthly ledger report?

Use the accounting posting date for the period movement and retain document dates for investigation. Record the extraction time too, because a later backdated posting can change a previous period even when its month-end date stays unchanged.