Procapy
Wednesday, November 4, 2026

Bank reconciliation: how to do it step by step, and clear the differences that never go away

Procapy Team

In January a packaging supplier calls the finance manager to say it hasn’t been paid for an October invoice. AP checks the ledger: paid on 28 October, Rp 18.5 million, with the payment run reference. The supplier insists. Two days later someone finds the answer on the October bank statement. The bank returned the transfer the next day, because the supplier had changed banks and the old account was closed.

The money had been back in the company’s account for three months. It was in the October bank reconciliation too, as part of a Rp 27 million difference between the bank and the books. Most of that difference was explained. The last part was posted to a suspense account called “bank differences”, which had been growing quietly all year.

A bank reconciliation done properly would have found the returned payment within days of the bank sending it back. This guide explains what a bank reconciliation is, how to do one step by step, a worked example of one month, why reconciliations go wrong and how to keep them current.

What is a bank reconciliation?

A bank reconciliation compares your own record of a bank account (the bank account in your general ledger, often called the cash book) with the bank statement for the same date, explains every difference between the two and corrects the ledger where it’s wrong. The result is a short statement showing that both balances agree once the differences are taken into account.

The differences fall into two groups:

  • Timing differences: transactions already in one record but not yet in the other. A customer’s deposit made on the last afternoon of the month that the bank credits the next day, called a deposit in transit, or a cheque or giro you’ve issued that the payee hasn’t cashed yet, called an outstanding payment. They clear by themselves, and the ledger needs no entry.
  • Items the ledger is missing or got wrong: bank charges, interest, direct debits, payments the bank returned, receipts nobody recorded and mistakes in the ledger itself. Each one needs an entry in the books.

Occasionally the bank is wrong, for example a debit meant for another customer. Those go back to the bank, with the evidence, and stay on the reconciliation until the bank corrects them.

Every bank account needs a reconciliation at least once a month, including the quiet ones. Busy accounts are easier to reconcile weekly or even daily, because a week’s transactions are easier to match than a month’s.

How to do a bank reconciliation, step by step

  1. Get both balances for the same date. The closing balance on the bank statement and the ledger balance for that account, at the same cut-off.
  2. Start from last month’s reconciliation. Last month’s deposits in transit and outstanding payments should appear on this month’s statement. Any that don’t are getting old, and old items need explaining.
  3. Match transactions, not just totals. Tick off each line on the statement against the ledger by amount, date and reference. A single bank debit for a payment run may match forty invoices in the ledger, so match the batch, not the invoices.
  4. List what’s on the statement but not in the ledger. Charges, interest, direct debits, returned payments and receipts nobody recorded. Each one needs an entry.
  5. List what’s in the ledger but not on the statement. Deposits in transit and outstanding payments. Check each one is genuine and recent.
  6. Look for errors. Transposed digits, payments recorded twice and transactions posted to the wrong bank account. A difference that divides exactly by 9 is often two digits swapped.
  7. Prepare the reconciliation. The adjusted bank balance must equal the adjusted ledger balance, to the rupiah. There is no line for an unexplained difference.
  8. Review and sign it off. Someone who doesn’t make payments reviews the reconciliation, the supporting lists and anything old, and signs it with the date.

A worked example: October’s reconciliation

On 31 October the bank statement shows a balance of Rp 1,185,820,000 and the cash ledger shows Rp 1,212,900,000, a difference of Rp 27,080,000. The amounts are only illustrative. The finance officer starts with the bank side:

Bank side (Rp ’000) Amount
Balance per bank statement, 31 October 1,185,820
Add: customer deposit in transit 45,000
Less: giro issued, not yet cleared −62,500
Adjusted bank balance 1,168,320

Then the ledger side, where the five items found on the statement each need an entry:

Ledger side (Rp ’000) Amount
Balance per cash ledger, 31 October 1,212,900
Less: loan instalment debited by the bank −75,000
Add: supplier payment returned by the bank 18,500
Add: customer transfer not yet recorded 12,000
Add: payment entered as 9,850 instead of 9,580 270
Less: bank charges −350
Adjusted ledger balance 1,168,320

Both sides come to Rp 1,168,320,000, so the reconciliation is complete. What it tells the finance manager:

  • The returned payment is the most important line. The ledger and the AP ageing both say the supplier was paid, and the supplier hasn’t been. Reverse the payment so the invoice shows as unpaid, get the new bank details through the usual vendor verification and pay it in the next run, before the supplier has to call.
  • The customer transfer needs an owner. The Rp 12 million came in without an invoice number. Post it to a holding account for unidentified receipts, and find the customer this week, not at year-end.
  • The error was easy to find. The Rp 270,000 difference divides exactly by 9, which pointed to the transposed digits in a single payment.
  • The timing items need checking next month. The deposit should appear in the first days of November. The giro should clear when the supplier presents it; if it hasn’t after a few weeks, ask why.

Why bank reconciliations go wrong

  • Done quarterly, or only at year-end. Three months of transactions take far longer than three times one month, and the people who could explain them have forgotten.
  • Differences posted to suspense. A small “unexplained difference” gets the reconciliation signed, and the suspense account becomes the place where returned payments and missing receipts go to be forgotten.
  • Matching totals instead of transactions. Two errors can cancel each other out, so balances that agree aren’t proof that every transaction is right.
  • Payment runs that don’t match. The bank shows one debit for a run of forty invoices, the ledger shows forty lines, and nobody can easily prove they’re the same money.
  • Reconciling items that never clear. The same outstanding giro or unidentified receipt appears every month for a year, until nobody remembers what it was.
  • The person who pays also reconciles. Then nobody independent ever compares what left the bank with what was approved, which is one of the reasons segregation of duties matters for small teams.
  • Quiet accounts left out. The old account at a second bank, the foreign currency account, the account used only for tax payments. Unreconciled accounts are where problems stay hidden longest.

Bank reconciliation in Indonesia

  • Giro and cheques. Payments by bilyet giro or cheque stay outstanding until the payee presents them, sometimes weeks later. List each one by number and date, and follow up the old ones, since a giro can only be presented within its validity period.
  • Virtual accounts. Many companies collect from customers through virtual accounts, which identify the payer on every receipt. They cut the number of unidentified receipts sharply.
  • Interest and its tax. Banks usually credit interest on current accounts (jasa giro) after withholding final income tax. Record the interest and the tax as the statement shows them, rather than only the net amount.
  • Several banks and several PTs. Companies often keep a payroll bank, a collection bank and a bank for each PT in the group. Reconcile every account on its own, and expect transfers between group companies to leave one bank and arrive in another on different days.
  • Foreign currency accounts. Reconcile them in the account’s own currency first, then translate the balance at the month-end rate. A difference in rupiah that isn’t there in dollars is a rate, not a missing transaction.

Signs your bank reconciliation needs work

Your bank reconciliation probably needs work if any of these sound familiar:

  • Reconciliations for some accounts are done quarterly, or not at all.
  • The reconciliation has a line called “unexplained difference”, or one goes to a suspense account every month.
  • The same outstanding items appear month after month.
  • Suppliers tell you about returned payments before the bank reconciliation does.
  • Customer receipts sit unidentified for more than a month.
  • The person who releases payments is the person who reconciles the account.
  • Nobody signs or dates the reconciliation.

An unexplained difference isn’t small just because the amount is small. It’s a transaction nobody has looked at yet.

How to keep bank reconciliations current

  1. Set a deadline for every account. For example, every account reconciled within three working days of month-end, and the busiest weekly.
  2. Use electronic statements. Download or import the statement from the bank instead of typing from a PDF.
  3. Put a reference on everything. Quote the invoice or payment run number in every transfer description, and ask customers to quote your invoice number or use a virtual account.
  4. Record payment runs so they match the bank. One ledger entry per bank debit, or a batch reference that ties the invoices to the debit. A payment run on fixed days helps here too.
  5. Post bank-only items as they happen. Charges, direct debits and interest every week, not all at once at month-end.
  6. Give old items a deadline. For example, any item older than 60 days is escalated to the finance manager with a plan to clear it.
  7. Never plug a difference. If it can’t be explained, it stays visible on the reconciliation until it is.
  8. Separate preparing from reviewing. The person who reviews and signs isn’t the person who releases payments.

How Procapy helps

Procapy doesn’t replace the bank reconciliation in your accounting system, but it changes what reaches it. In Proca to Pay, approved invoices are paid in runs, and payment files are generated in the format your bank expects, per entity and account. The bank details on each payment are checked against the verified vendor master before the file is built. Payment status posts back to Dynamics, SAP, Xero, QuickBooks or ABSS against each invoice, so the AP ageing reflects what has actually left the bank, and unmatched or returned payments are flagged for follow-up rather than discovered at bank reconciliation.

In Capy Expense, approved claims are collected into a reimbursement run on your schedule, with a single sign-off and a single file for the bank or the ERP. Across both, corporate card and bank statement lines are matched to claims and invoices automatically on amount, date and merchant, so your team reviews the handful that didn’t match, not the full statement. A reconciliation report shows anything unsynced or mismatched between Procapy and the ledger, and every journal traces back to its source document.

Customer receipts, loan instalments and bank charges still come from where they live today, but the supplier payments and reimbursements, usually the longest list of debits on the statement, arrive already matched. The cash flow and payments page has more. Book a 30-minute walkthrough, bring last month’s bank statement and a payment run, and we’ll show you which lines would arrive already matched.