# Bank Reconciliation Tool

This guide walks you through reconciling a bank account in NexWave using the **Advance Bank Reconciliation Tool**. It covers the full month-end workflow: loading bank transactions, setting the statement period, matching existing records, creating missing vouchers, running Bank Rules, reconciling batch payments, checking the closing balance, and undoing a match when needed.

Looking for the newer **Bank Rec** workspace? Use [Reconcile Bank Transactions in the Bank Rec Workspace](/doc/81b50f05-a975-40e3-99be-43fabe5dbf05).

Use this guide when you have bank statement lines in NexWave and need to clear them against the correct accounting records. If you are still setting up the bank account or importing the statement file, start with the related setup guides first.

## Before you start

You will need:

* A **Bank Account** record with **Is Company Account** ticked and the **Account** field linked to the General Ledger bank account.
* Bank transactions loaded into NexWave, either through [Import Bank Statement](/doc/3e567099-e3b8-40e3-a207-81e8e0e501a4) or through a bank feed.
* The closing balance from the bank statement for the period you are reconciling.
* Submitted Sales Invoices, Purchase Invoices, Payment Entries, Journal Entries, or Batch Payment Entries where those records already exist in NexWave.
* Permission as an Accounts User, Accounts Manager or System Manager.

If the bank statement has not been imported yet, use [Import Bank Statement](/doc/3e567099-e3b8-40e3-a207-81e8e0e501a4) first. If you are importing a file and NexWave warns that a saved field mapping is out of date, re-pick the blank mapping fields from the current file headings, check the preview, then save the mapping again after a successful import.

## Step 1: Open the tool and set the period

In the awesomebar, search for **Advance Bank Reconciliation Tool** and open it.

Set these fields:

| Field | What to enter |
|-------|---------------|
| **Company** | The company that owns the bank account. |
| **Bank Account** | The company bank account you are reconciling. |
| **From Date** / **To Date** | The statement period, usually one calendar month. |
| **Closing Balance** | The closing balance from the bank statement as at the **To Date**. |
| **Filter by Reference Date** | Tick only when your bank uses a separate reference date and you need the tool to filter by that date instead of the posting date. |

 ![Tool with company, bank account and date range selected](https://docs.nexwaveapp.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2YxMTg5ZTEzLTdlMTQtNDA1ZC04MDI1LWMxZmI0Y2Y2MTg0ZC9hNTc4MDQ2NS0yOTkxLTQ5MWEtODE2MC1iMDY1Nzk5MzgyZTcvNjYyNGZjMWQtZWRkNi00MTZkLWIyYWItZGY3Y2UwZDhlNTY0LnBuZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzkyNjIwOTAwLCJleHAiOjE3OTI3MDczMDB9.1aTEPa08ozyXJ21ulfBFQmFsWLZ_2aGPdyzXZ0K8y6w)

The **Account Opening Balance** is filled from the General Ledger as at the **From Date**. Do not change it as a normal step. If it looks wrong, finish the current review checks first, then use the troubleshooting table at the end of this guide.

## Step 2: Load unreconciled entries

Click **Get Unreconciled Entries**.

NexWave loads:

* **Closing Balance as per Bank Statement**: the statement balance you entered.
* **Closing Balance as per ERP**: the General Ledger balance after the reconciled transactions in the period are considered.
* **Difference**: the remaining gap between the statement balance and NexWave balance.
* The unreconciled **Bank Transaction** rows for the selected period.
* The **Matched Transactions** section for transactions already reconciled in the same period.

 ![Unreconciled transactions and balance summary](https://docs.nexwaveapp.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2YxMTg5ZTEzLTdlMTQtNDA1ZC04MDI1LWMxZmI0Y2Y2MTg0ZC8zYjM0NzIyMC1hZjFhLTQ0MTctOGYzMy0zNjM3ZTUwNzM0YWQvM2VlOGRkZDktYWQwMS00MDUxLTlkY2ItNWYxMzJhMTUwMWY3LnBuZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzkyNjIwOTAwLCJleHAiOjE3OTI3MDczMDB9.IEyCis1KyBMtP4gQm0YJiCnKcGhJY-ud8-IIXDtRfjY)

Before matching rows, scan the unreconciled list for obvious import problems:

* Deposits and withdrawals should be in the correct columns.
* Dates should match the bank statement.
* Duplicate or overlapping statement rows should not appear as new transactions.
* The **Reference Number**, **Particulars**, **Code**, **Other Party** and **Description** columns should contain the best available bank details. These help Bank Rules and manual searching.

If the statement orientation or dates are wrong, fix the import before reconciling. It is safer to correct the source transactions than to reconcile a month against reversed or misdated rows.

## Step 3: Open the transaction action dialog

On an unreconciled row, click **Actions**. The **Reconcile the Bank Transaction** dialog opens.

Choose the **Action**:

| Action | Use it when |
|--------|-------------|
| **Match Against Voucher** | The payment, invoice, journal, or unpaid invoice already exists in NexWave. This is the usual choice. |
| **Create Voucher** | No record exists yet, for example bank fees, interest, owner drawings, one-off receipts, or one-off supplier payments. |
| **Update Bank Transaction** | You want to add party or payment details to the bank transaction without reconciling it yet, usually so a Bank Rule can handle the same pattern later. |

Your default action may be pre-selected from **Advance Bank Reconciliation Settings**. You can still change it in the dialog for the individual transaction.

## Step 4: Match an existing record

Use **Match Against Voucher** when the transaction should be linked to a record that already exists.


1. Set **Action** to **Match Against Voucher**.
2. Tick the relevant document filters:
   * **Payment Entry**: payments and receipts already entered.
   * **Journal Entry**: manual journals, bank transfers, fees, interest and adjustments.
   * **Sales Invoice** / **Purchase Invoice**: submitted invoices paid through this bank account.
   * **Unpaid Sales Invoice**: customer receipts where the invoice is still outstanding.
   * **Unpaid Purchase Invoice**: supplier payments where the bill is still outstanding.
3. Use **From Date**, **To Date**, **Customer Group** or **Show Only Exact Amount** only when the candidate list is too broad.
4. Tick the correct row in **Select Vouchers to Match**.
5. Click **Submit**.

 ![Match Against Voucher with Payment Entry / Journal Entry filters](https://docs.nexwaveapp.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2YxMTg5ZTEzLTdlMTQtNDA1ZC04MDI1LWMxZmI0Y2Y2MTg0ZC84Mzc4MzgwZi04ZDMwLTRhZDAtYjhkZS0wMWRlZWE3M2RmZDQvYmM4MDZlMGItMWM5ZS00MzQxLWFlMTQtMTAyYTRhY2M5YzE3LnBuZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzkyNjIwOTAwLCJleHAiOjE3OTI3MDczMDB9.ujj62HBTUZB5SgpsbnGYbiohLUKvBjzmq1KWtSNgUMs)

If you match against an existing Payment Entry or Journal Entry, NexWave links the bank transaction to that voucher. If you match against an unpaid invoice, NexWave creates the Payment Entry for you and links it to the bank transaction.

### Match a customer receipt to an unpaid Sales Invoice

For a deposit from a customer where no Payment Entry exists yet:


1. Set **Action** to **Match Against Voucher**.
2. Tick **Unpaid Sales Invoice**.
3. Find the invoice in **Select Vouchers to Match**.
4. Tick the invoice row and submit.

 ![Match Against Voucher with Unpaid Sales Invoice filter](https://docs.nexwaveapp.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2YxMTg5ZTEzLTdlMTQtNDA1ZC04MDI1LWMxZmI0Y2Y2MTg0ZC8yZTE5ZjIyMS0xZjVhLTRhZTYtYTI0NS03OTIzYTZmMWJhMjUvNTM2MjBmMDAtYmU2OC00MjIwLTk0NjQtMGNkZGIxOTIzNWY4LnBuZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzkyNjIwOTAwLCJleHAiOjE3OTI3MDczMDB9.E3F3dPxKUOObAVsg5O4nCsvPUBgewFxzmCkDU3eRGlk)

NexWave creates and submits the customer Payment Entry, allocates it to the invoice, and reconciles it to the bank transaction.

### Match a supplier payment to unpaid Purchase Invoices

For a withdrawal paid to a supplier where no Payment Entry exists yet:


1. Set **Action** to **Match Against Voucher**.
2. Tick **Unpaid Purchase Invoice**.
3. Tick one or more supplier invoices that make up the bank transaction amount.
4. Submit.

If several invoices make up the same payment, tick all of the relevant invoice rows before submitting. Use **Show Only Exact Amount** only when one candidate should match the bank transaction exactly.

## Step 5: Create a voucher from the bank transaction

Use **Create Voucher** when the bank transaction has no matching record yet.

### Create a Payment Entry

Choose **Payment Entry** when the transaction is a customer receipt or supplier payment.

Fill in:

* **Reference Number** and **Cheque/Reference Date**.
* **Posting Date**.
* **Mode of Payment**.
* **Party Type** and **Party**.
* **Project** and **Cost Centre**, if your reporting uses them.

 ![Create Voucher Payment Entry dialog](https://docs.nexwaveapp.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2YxMTg5ZTEzLTdlMTQtNDA1ZC04MDI1LWMxZmI0Y2Y2MTg0ZC9hMTc5YWZlYi0yNjI1LTQ0ZmYtOGE0Ny1hNmE0NGE5YTgxNzkvNTdiMDhlNDMtNWVlZS00YzYwLWExYTAtNTgzMTkwOWQ5NDgzLnBuZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzkyNjIwOTAwLCJleHAiOjE3OTI3MDczMDB9.o9PSIH3tg4i6lYyE3K5W3ueRAToyAIvLPvvUOHEQhiM)

If the receipt or payment needs allocation across many invoices, taxes, deductions, or extra fields that are not in the dialog, click **Edit in Full Page** and complete the regular Payment Entry form.

### Create a Journal Entry

Choose **Journal Entry** for bank charges, interest, owner drawings, transfers, rounding, foreign exchange adjustments, or other transactions that do not need a customer or supplier Payment Entry.

Fill in:

* **Entry Type**, usually **Bank Entry**.
* **Posting Date** and **Cheque/Reference Date**.
* **Account** for the non-bank side.
* **Party Type** and **Party**, only when the selected account needs party tracking.
* **Project** and **Cost Centre**, if required.

 ![Create Voucher Journal Entry dialog](https://docs.nexwaveapp.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2YxMTg5ZTEzLTdlMTQtNDA1ZC04MDI1LWMxZmI0Y2Y2MTg0ZC8xMTY1ZTI3NC1iOWU4LTQ3MDItODg4OC00YjE2OWM3YjdlN2MvOWI2OTE2OWQtYWNhYi00ZWMxLWE0NDEtMjBmZWIxYzAzMTM3LnBuZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzkyNjIwOTAwLCJleHAiOjE3OTI3MDczMDB9.IZ15KxiFVCjKRCQV96LLIJjEWHhQts5S6lEkbnIBlYU)

The bank-side line is filled automatically from the selected bank transaction.

### Save the pattern as a Bank Rule

Tick **Save as Bank Rule** before submitting when the same type of transaction is likely to recur. NexWave creates a [Bank Rule](/doc/44484d56-d71d-483d-8c44-0b3a84027bbe) using the transaction details and the voucher action you just entered.

Keep the rule specific enough to avoid false matches, but not so narrow that minor bank-description changes stop it working. Useful rule inputs are **Reference Number**, **Particulars**, **Code**, **Other Party**, **Description**, **Deposit** and **Withdrawal**.

## Step 6: Update a bank transaction without reconciling

Use **Update Bank Transaction** when you want to enrich the bank line but leave it unreconciled for now.

Typical reasons:

* The customer or supplier needs to be created first.
* You want a Bank Rule to pick up the line after party details are added.
* You need another user to confirm the correct account or party.

Set **Party Type**, **Party**, **Mode of Payment** or **Description**, then submit. The bank transaction remains unreconciled and will still appear in the list.

## Step 7: Run rules and auto-reconcile

For recurring transactions, use the **Reconcile** button on the page header.

Choose:

| Option | What it does |
|--------|--------------|
| **Run Bank Rules** | Applies your saved Bank Rules to unreconciled transactions. Matching rules can create and reconcile vouchers automatically. |
| **Auto Reconcile** | Looks for existing Payment Entries or Journal Entries that can be matched by amount and reference. |

After running either option, click **Get Unreconciled Entries** again and review what remains. Do not assume the whole month is complete until the **Difference** is zero and the unmatched rows have been reviewed.

## Step 8: Reconcile a submitted Batch Payment Entry

If a supplier payment run clears the bank as one withdrawal, reconcile it from the submitted **Batch Payment Entry** rather than matching each child Payment Entry separately in the Bank Reconciliation Tool.

Before reconciling the batch, check:

* The **Batch Payment Entry** is submitted.
* The linked Payment Entries in **Payment Summary** are submitted.
* The **Bank Transaction** is submitted and still unreconciled.
* The **Company Bank Account** and **Currency** match the batch.
* The bank transaction is a single withdrawal and its **Withdrawal** and **Unallocated Amount** match the batch **Total Payment Amount**.

Open the submitted **Batch Payment Entry**, then click **Actions** > **Reconcile with Bank Transaction**. Select the matching bank transaction and click **Reconcile**. NexWave sets the batch reconciliation status and updates the linked Payment Entry clearance dates together.

For the full supplier payment run workflow, see [Run a Payment Run](/doc/bee2e6f7-dd47-49b2-a31c-84eac2c418d6).

## Step 9: Confirm the month is reconciled

Back in the **Advance Bank Reconciliation Tool**, click **Get Unreconciled Entries** again.

You are finished when:

* **Closing Balance as per Bank Statement** equals the statement balance for the period.
* **Closing Balance as per ERP** equals the NexWave balance after reconciliations.
* **Difference** is zero.
* The unreconciled list is empty, or any remaining timing differences are understood and documented.

Do not rely only on the absence of obvious errors. A wrong date range, reversed import, missing opening transaction, or unreconciled batch payment can still leave the bank account wrong even when most rows look matched.

## Step 10: Review or undo matched transactions

The **Matched Transactions** section shows the bank transactions already reconciled in the selected date range.

 ![Matched Transactions section](https://docs.nexwaveapp.com/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2YxMTg5ZTEzLTdlMTQtNDA1ZC04MDI1LWMxZmI0Y2Y2MTg0ZC9hOWY3YzczMS1mODUxLTQyODAtYmJhYi1kYzAyNjgwOTllMGEvYWQ5MTNlOGEtNDZhMy00NjMzLTg4MmEtNWQ4OTk3NjcxODk4LnBuZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzkyNjIwOTAwLCJleHAiOjE3OTI3MDczMDB9.5udlVAreemQ-wB4mFkQsrmcuNk_7R932h_82L1nOZSI)

Use this section to:

* Confirm the bank transaction is linked to the expected voucher.
* Check the party and reference details.
* Click **Unreconcile** if the wrong voucher was linked.

Unreconciling removes the bank reconciliation link. It does not cancel a Payment Entry or Journal Entry. If NexWave created a Payment Entry from an unpaid invoice and you need to undo that accounting entry as well, cancel the Payment Entry after unreconciling.

If you reconciled from **Batch Payment Entry**, use **Actions** > **Unreconcile** on the batch so the batch status and Payment Entry clearance dates stay in sync.

## Validation checks before closing the period

Use these checks before you close the month:

| Check | Why it matters |
|-------|----------------|
| Run **Validation** > **Batch Validate Transactions** | Finds linked transactions that need review, such as matches against cancelled vouchers or inconsistent references. |
| Compare the bank statement ending balance to **Closing Balance as per Bank Statement** | Confirms the typed statement balance is correct. |
| Compare **Closing Balance as per ERP** to the bank account ledger balance for the same date | Confirms the reconciliation is aligned with the General Ledger. |
| Review unreconciled rows outside the date range if the difference remains | A transaction just before or after the period can explain the remaining gap. |
| Review batch payments and batch receipts separately | A batch can have its own reconciliation status and should not be partially matched row by row. |

## Troubleshooting

| Symptom | What to check |
|---------|---------------|
| **Difference** is not zero after clearing every visible row | Check the **Closing Balance**, **From Date**, **To Date**, and previous-period opening balance. Then review whether any bank transactions sit just outside the selected date range. |
| **Closing Balance as per ERP** does not match the General Ledger | Confirm the same bank account and date are being used. Look for Payment Entries or Journal Entries posted outside the selected reconciliation range. |
| The voucher list is empty under **Match Against Voucher** | Remove extra filters, widen the date range, untick **Show Only Exact Amount**, and check the voucher is submitted and in the same currency as the bank account. |
| An unpaid invoice does not appear | Check that the invoice is submitted, still outstanding, assigned to the expected party, and in the same currency as the bank account. |
| A saved bank statement mapping warning appears during import | The bank changed one or more file headings. Re-pick the blank mapping fields from the uploaded file, check the preview, then save the mapping again after import. |
| Deposits and withdrawals are reversed | The statement was imported with the wrong amount orientation, or the **Credit Card** flag is missing on a credit card bank account. Correct the import before reconciling. |
| A Bank Rule did not pick up a transaction | The rule conditions may be too strict, or the transaction may be missing party or description details. Use **Update Bank Transaction** to add details, then run **Run Bank Rules** again. |
| A batch payment has already been matched row by row | Unreconcile the incorrect matches, then reconcile the submitted **Batch Payment Entry** to the single bank transaction from the batch. |
| Reconciled the wrong voucher | Use **Unreconcile** in **Matched Transactions**. Then match the bank transaction to the correct voucher. |
| Need to post a receipt without an invoice | Use **Create Voucher** > **Payment Entry**, set **Party Type** and **Party**, leave invoice references empty, and submit. |
| Need to post a bank fee, interest, transfer, or adjustment | Use **Create Voucher** > **Journal Entry** and choose the correct contra **Account**. |

## Related guides

* [Reconcile Bank Transactions in the Bank Rec Workspace](/doc/81b50f05-a975-40e3-99be-43fabe5dbf05): use the newer Bank Rec workspace for matching, Cash Coding, matched review and rules.
* [Import Bank Statement](/doc/3e567099-e3b8-40e3-a207-81e8e0e501a4): load bank transactions before reconciling.
* [Set up a Bank Account](/doc/dd0ff8a3-c28a-4932-9a04-39c086673d72): create company bank accounts and credit card bank accounts.
* [Bank Rules](/doc/44484d56-d71d-483d-8c44-0b3a84027bbe): set up recurring transaction matching.
* [Run a Payment Run](/doc/bee2e6f7-dd47-49b2-a31c-84eac2c418d6): create supplier payment batches and reconcile a batch to one bank transaction.
* [Reconcile and Allocate Payments](/doc/43dbe64b-7df3-4329-8daa-67f951f567b1): allocate existing payments against invoices after bank reconciliation.
* [Bank Reconciliation Tool reference](/doc/2869cb02-cb4f-42ad-938e-5f0abd973889): field-level reference for the reconciliation tool.