---
title: "Bank Reconciliation"
description: "Import a bank statement (CSV or OFX), match each line to your books, record bank fees with rules and close the reconciliation at zero difference."
url: "https://bareledger.app/guides/bank"
category: "Banking, journals & reports"
updated: "2026-10-29"
publisher: "BareLedger (Syneria Technologies OPC)"
---

# Bank Reconciliation

> Import statements, match lines to your books, record fees, and close a reconciliation at zero difference.

Reconciling your bank account means checking that every line on your actual bank statement matches something already recorded in your books, so the two agree with each other. Here's the whole process, start to finish.

## Step 1: Make sure the bank account exists

Before you can reconcile, the bank account needs to already be set up in **Bank & reconciliation** (name, linked account, opening balance). If it's already there, click **Reconcile** on that account's card.

## Step 2: Import your bank statement

Click **Import statement**. You can upload a CSV file, an Excel file (.xlsx or .xls) or an OFX/QFX file exported from your bank.

- **For CSV and Excel files**, you'll need to tell the system which column is which — Date, Amount (or separate Debit/Credit columns), Description, and Reference — and pick the date format that matches your file (e.g. DD/MM/YYYY).
- **For Excel files**, the title block banks print above the table is skipped for you, and if the workbook has several sheets you pick the one with the transactions after the first Preview. Real date cells are read as dates whatever their display format — the date format setting only matters for dates typed as text.
- **For OFX/QFX files**, none of that mapping is needed — it's read automatically.

Click **Preview** first to see how many lines will be imported and how many are duplicates that'll be skipped automatically (so re-uploading the same statement by accident won't cause problems). Then click **Import** to bring the lines in for real.

**If the import fails**: check that every row has a valid date (matching the format you picked) and a valid amount — a single bad row will stop the whole file from importing, so fix the flagged rows and re-upload.

## Step 3: Start a reconciliation session

Click **Start reconciliation**. Enter the **statement start date**, **end date**, and the **closing balance** shown on your paper or PDF bank statement (the opening balance is filled in for you automatically, carried over from your last completed reconciliation — you can't type over it). Click **Start**.

## Step 4: Match each line

For every line on your statement, you'll do one of three things:

- **Match** — if the system finds a likely match already in your books, click **Accept** on the suggestion. Otherwise, click **Match** yourself and tick the entry (or entries) it corresponds to. The amounts normally add up exactly; when the bank split one of your transfers into two lines, change the amount next to the entry to use only part of it — the rest stays available for the other line. A line you have only partly explained shows as **Partially matched** and stays open for the remainder.
- **Settle invoices / Settle bills** — for money that pays customer invoices (money in) or supplier bills (money out) that you have *not* recorded a payment for yet. The system suggests which open invoices or bills fit the amount — a single one, or several from the same customer that add up — and warns you when more than one set fits so you choose. Tick the documents, adjust an amount for a part-payment, and **Submit payment for approval**: a payment is drafted and sent for review like any other; the invoices or bills are settled, and the line matched, only once a checker approves it. If a customer paid more than their invoices, you can hold the extra as a customer credit.
- **Record entry** — for something on your statement that isn't in your books yet (a bank fee, interest, etc.), click **Record entry**, choose which account it affects, and confirm. This creates a new entry that still needs to go through the normal review/approval steps before it counts — it isn't recorded instantly.
- **Exclude** — for statement lines that will never have a matching entry in your books (bank-only notices), click **Exclude** to set them aside. You can always **Restore** an excluded line later if needed.

If you've set up automatic matching rules ahead of time, clicking **Apply rules** runs them against everything still unmatched in one go.

## Step 5: Finish when the difference hits zero

At the top of the page, a running **Difference** shows how far apart your statement and your books still are — it turns green at zero. Once every line is matched or excluded and the difference is zero, click **Complete**. This locks everything in that period; if you need to change something afterward, only the most recently completed session can be reopened. If your company's security policy requires it, you'll be asked for a fresh 6-digit security code when completing (or reopening) a reconciliation.

## Common mix-ups

- Uploading a file type that isn't CSV, Excel (.xlsx/.xls), OFX, or QFX — nothing else is accepted.
- Expecting a bank line to settle an invoice the moment you submit — the payment still goes through review and approval; the line shows **Entry pending** with a link to the payment until then.
- Picking the wrong date format for a CSV — this makes every row fail to import.
- Expecting the opening balance to be editable — it's always carried automatically from your last completed reconciliation.
- Trying to complete a session while the difference isn't zero or some lines are still unresolved — the **Complete** button stays disabled until everything's settled.
