# Bank Reconciliation

<p class="doc-lead">Bank Reconciliation lets you match transactions recorded in your ERP cash book against your bank statement. Use it to verify balances, identify missing entries, and resolve timing differences between your books and the bank.</p>

<div class="doc-toc">
<p class="doc-toc-title">On this page</p>
<div class="doc-toc-section">
<span class="doc-toc-group-title">Getting started</span>
<div class="doc-toc-links">
<a href="#/accounts/bank-reconciliation?id=overview">Overview &amp; List View</a>
<a href="#/accounts/bank-reconciliation?id=quick-start">Quick Start</a>
</div>
</div>
<div class="doc-toc-section">
<span class="doc-toc-group-title">Reconciliation</span>
<div class="doc-toc-links">
<a href="#/accounts/bank-reconciliation?id=header-fields">Create Form Fields</a>
<a href="#/accounts/bank-reconciliation?id=balances">Statement vs Book Balances</a>
<a href="#/accounts/bank-reconciliation?id=workflow">Reconciliation Workflow</a>
</div>
</div>
<div class="doc-toc-section">
<span class="doc-toc-group-title">More</span>
<div class="doc-toc-links">
<a href="#/accounts/bank-reconciliation?id=actions-status">Actions &amp; Status</a>
<a href="#/accounts/bank-reconciliation?id=view-tabs">View Tabs &amp; Widgets</a>
<a href="#/accounts/bank-reconciliation?id=best-practices">Best Practices</a>
<a href="#/accounts/bank-reconciliation?id=faq">FAQ</a>
<a href="#/accounts/bank-reconciliation?id=related">Related</a>
</div>
</div>
</div>

<hr class="doc-section-divider">

<h2 id="overview">Overview &amp; List View</h2>

The Bank Reconciliations list shows all reconciliation records with bank account, date range, notes, closing balance difference, and status.

<b>List columns</b>

`Id`, `Bank Account`, `From Date`, `To Date`, **Notes**, `Difference`, `Status`

<b>Quick filters</b>

| **Filter** | **Shows** |
|------------|-----------|
| Approved | Approved reconciliations |
| Draft | Draft reconciliations |
| Cancelled | Cancelled reconciliations |

<b>Header actions</b>

| **Action** | **Description** |
|------------|-----------------|
| New | Opens the new bank reconciliation form |

Click a row to open the reconciliation in view mode. Select a row to show footer action: **view**.

There is no edit form — reconciliations are edited on the view screen while in Draft status.

<b>List View</b>

<img src="accounts/images/newbank-reco.webp" alt="New bank reconciliation" loading="lazy">

<hr class="doc-section-divider">

<h2 id="quick-start">Quick Start — Create a Bank Reconciliation</h2>

<h3>1. Navigate</h3>
Go to <b>Accounts → Bank Reconciliation</b> from the left menu.

<h3>2. Create new reconciliation</h3>
Click <b>New</b> and fill in the form:

<ul>
<li>Select <b>From Date</b> and <b>To Date</b> (maximum 31-day range).</li>
<li>Select the <b>Bank Account</b> to reconcile.</li>
<li>Add optional <b>Notes</b> and <b>Statement Sort Order</b>.</li>
</ul>

<h3>3. Save</h3>
Click <b>Save</b> to create the reconciliation in Draft status and open the reconciliation view.

<h3>4. Reconcile on the view screen</h3>
<ul>
<li><b>Upload Statement</b> — import your bank statement file.</li>
<li><b>Fetch Cash Book</b> — load ERP transactions for the selected account and period.</li>
<li>Match transactions manually or use <b>Auto Match</b>.</li>
<li>Once matching is complete, click <b>Approve</b>. Resolving differences first is recommended but not enforced by the system.</li>
</ul>

<hr class="doc-section-divider">

<h2 id="header-fields">Create Form Fields</h2>

| **Field** | **Description** |
|-----------|-----------------|
| From Date | Start of the reconciliation period. Mandatory. |
| To Date | End of the reconciliation period. Mandatory. Maximum 31 days from From Date. |
| Bank Account | Bank account to reconcile. Mandatory. Only active leaf cash/bank accounts are shown. |
| Notes | Optional remarks about this reconciliation. |
| Statement Sort Order | How imported statement lines are sorted. Options: <b>Auto Detect</b>, <b>Old First (Ascending)</b>, <b>New First (Descending)</b>. |

<b>Form actions</b>: <b>Save</b>, <b>Reset</b>, <b>Cancel</b>

<hr class="doc-section-divider">

<h2 id="balances">Statement vs Book Balances</h2>

The reconciliation view shows a summary panel comparing bank statement and ERP cash book balances.

<b>Account info</b>

`Account`, `From`, `To`, `Status`, `Currency` (when multi-currency is enabled)

<b>Balance comparison table</b>

| **Row** | **Statement** | **Book** | **Difference** |
|---------|---------------|----------|----------------|
| Opening | Bank statement opening balance | ERP cash book opening balance | Variance |
| Closing | Bank statement closing balance | ERP cash book closing balance | Variance |
| Not Matched Count | Unmatched statement lines | Unmatched book lines | — |
| Not Matched Value | Total unmatched statement amount | Total unmatched book amount | — |

<img src="accounts/images/bankreconci.webp" alt="Bank reconciliation balances" loading="lazy">

<b>Bank Statement section</b>

Columns: `Date`, `Narration`, `Deposit`, `Withdrawal`

<b>Cash Book section</b>

Columns: `Date`, `Narration`, `Ref`, `Party`, `Dr`, `Cr`

Matched lines are visually highlighted. Unmatched lines show remaining balance to match.

<hr class="doc-section-divider">

<h2 id="workflow">Reconciliation Workflow</h2>

<h3>1. Select account and date range</h3>
Create a new reconciliation with the bank account and period (up to 31 days).

<h3>2. Upload bank statement</h3>
Click <b>Upload Statement</b> (Draft only). Accepts `.xlsx`, `.xls`, and `.csv` files. The system parses transaction details and sets statement opening/closing balances.

<h3>3. Fetch cash book entries</h3>
Click <b>Fetch Cash Book</b> (Draft only). Loads journal lines for the selected bank account within the date range and sets book opening/closing balances.

<h3>4. Match transactions</h3>

<b>Auto Match</b> — automatically matches lines with the same amount, date, and debit/credit direction. Prefers matches where the book party name appears in the statement narration.

<b>Manual Match</b> (Draft only):
<ol>
<li>Select a statement line (radio button).</li>
<li>Click <b>Match</b> on a book line with the same direction (deposit/credit or withdrawal/debit).</li>
<li>Partial matches are supported — the system matches up to the smaller remaining balance.</li>
</ol>

<b>Un Match</b> — click on a matched row to undo the match and restore unmatched balances.

<h3>5. Refresh totals</h3>
Click <b>Refresh</b> to recalculate unmatched counts, balance differences, and line balances after matching changes.

<h3>6. Approve</h3>
Click <b>Approve</b> to lock the reconciliation. The system does <b>not</b> require opening/closing differences to be zero or all lines to be matched before approving — reconciling fully first is a best practice, not a hard rule. Use <b>Open</b> later if you need to revise an approved reconciliation.

<h3>7. Download statement</h3>
Click <b>Download Statement</b> to export the reconciliation as an Excel file (`bankReconciliationStatement.xlsx`).

<h3>Group By</h3>

Use the <b>Group By</b> toolbar to organize unmatched lines: <b>None</b>, <b>Amount</b>, <b>Date</b>, or <b>Party Name</b>.

<hr class="doc-section-divider">

<h2 id="actions-status">Actions &amp; Status</h2>

<h3>Statuses</h3>

| **Status** | **Description** |
|------------|-----------------|
| Draft | Editable — upload, fetch, match, refresh, delete, and approve available. |
| Approved | Locked — only Open and Download Statement available. |
| Cancelled | Listed in filters; no dedicated cancel action in the view UI. |

<h3>View toolbar actions</h3>

| **Action** | **When available** | **Notes** |
|------------|-------------------|-----------|
| Delete | Draft | Confirmation: <b>Are you sure to delete?</b> |
| Auto Match | Draft | Matches by amount, date, and direction |
| Refresh | Draft | Recalculates all balance totals |
| Approve | Draft | Confirmation: <b>Are you sure to approve bank reconciliation?</b> Does not enforce zero differences or full matching |
| Open | Approved | Reopens for revision; confirmation: <b>Are you sure to open/revise bank reconciliation?</b> |
| Download Statement | All statuses | Exports reconciliation to Excel |

<h3>Data toolbar (Draft only)</h3>

| **Action** | **Description** |
|------------|-----------------|
| Upload Statement | Import bank statement file (.xlsx, .xls, .csv) |
| Fetch Cash Book | Load ERP journal lines for the account and period |

<h3>Row-level actions (Draft only)</h3>

| **Action** | **Description** |
|------------|-----------------|
| Match | Match selected statement line to a book line (same direction) |
| Un Match | Undo an existing match on a matched row |

<b>Master Update</b> is not available for bank reconciliation.

<hr class="doc-section-divider">

<h2 id="view-tabs">View Tabs &amp; Side Panels</h2>

Bank reconciliation uses a dedicated reconciliation workflow screen, not the standard transaction view with side panels. History, attachments, and other transaction side tabs are not shown on this screen.

<hr class="doc-section-divider">

<h2 id="best-practices">Best Practices</h2>

<ul>
<li><b>Reconcile monthly:</b> Run reconciliation for each bank account at the end of each statement period.</li>
<li><b>Upload before fetching:</b> Import the bank statement first, then fetch the cash book for accurate side-by-side comparison.</li>
<li><b>Use Auto Match first:</b> Run <b>Auto Match</b> to handle obvious matches, then manually match remaining items.</li>
<li><b>Refresh after changes:</b> Click <b>Refresh</b> after manual matches to update balance differences.</li>
<li><b>Resolve differences before approving:</b> Ensure opening and closing differences are zero or documented before approval.</li>
<li><b>Download for audit:</b> Export the reconciliation statement after approval for record-keeping.</li>
</ul>

<hr class="doc-section-divider">

<h2 id="faq">FAQ</h2>

<b>What date range can I reconcile?</b><br>
The period must be between 1 and 31 days. The system shows an error if the range exceeds one month.

<b>What file formats are supported for bank statements?</b><br>
`.xlsx`, `.xls`, and `.csv`. The system auto-detects date, narration, and amount columns.

<b>Can I edit an approved reconciliation?</b><br>
Use <b>Open</b> to revert an approved reconciliation back to Draft for revision.

<b>Does approval require all differences to be zero?</b><br>
No. The system lets you approve even with unmatched lines or non-zero opening/closing differences. Fully reconciling first is recommended for accuracy but is not enforced.

<b>What does Auto Match do?</b><br>
It matches statement and book lines with the same amount, date, and debit/credit direction. It prefers matches where the book party name appears in the statement narration.

<b>Can I partially match a transaction?</b><br>
Yes. Manual matching supports partial matches — the system matches up to the smaller remaining balance on either line.

<b>Is Master Update available?</b><br>
No. Bank reconciliation does not support Master Update.

<b>Why are some book lines not matching?</b><br>
Check that amounts, dates, and directions (deposit vs withdrawal) align. Use <b>Group By</b> to organize unmatched lines by amount or date for easier review.

<hr class="doc-section-divider">

<h2 id="related">Related Topics</h2>

<b>Related documentation</b>
<ul>
<li><a href="#/accounts/accounts-settings">Accounts Settings</a> — manage cash and bank accounts used in reconciliation.</li>
<li><a href="#/accounts/reports/daybook">Day Book</a> — daily ledger view for the reconciled account.</li>
<li><a href="#/accounts/reports/account-transactions">Account Transactions</a> — detailed transaction report for the bank account.</li>
<li><a href="#/accounts/issued-cheques">Issued Cheques</a> — track outgoing cheques affecting bank balances.</li>
<li><a href="#/accounts/received-cheques">Received Cheques</a> — track incoming cheques affecting bank balances.</li>
</ul>
