> ## Documentation Index
> Fetch the complete documentation index at: https://aczen-d43c4738.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Import and reconcile bank statements in Aczen Bilz

> Upload your bank statement in CSV or PDF format and let Aczen Bilz automatically match every transaction against your recorded invoices and journal entries.

Bank reconciliation is the process of confirming that every transaction in your bank account matches an entry in your accounting records. When they match, you know your books are accurate. When they don't, you have found either a missing journal entry or an error that needs investigation. Aczen Bilz handles the matching for you automatically — you upload your statement, the AI parses it, and within seconds you see which transactions are reconciled and which ones need attention.

## Supported file formats

Aczen Bilz accepts bank statements in **CSV** and **PDF** formats. Most Indian banks offer a CSV export from their net banking portal. PDF statements are also supported — Aczen Bilz extracts the transaction table from text-based PDFs automatically.

### Supported banks

The following banks are supported out of the box. Any other bank whose statement uses a standard column layout will also work.

| Bank                 | Common column layout                                                                                |
| -------------------- | --------------------------------------------------------------------------------------------------- |
| HDFC Bank            | Date, Narration, Chq/Ref No, Value Date, Withdrawal Amt, Deposit Amt, Closing Balance               |
| ICICI Bank           | Transaction Date, Value Date, Description, Ref No./Cheque No., Debit Amount, Credit Amount, Balance |
| Axis Bank            | Transaction Date, Description, Debit/Credit Amount, Balance                                         |
| State Bank of India  | Txn Date, Description, Debit, Credit                                                                |
| Kotak Mahindra Bank  | Date, Description, Debit, Credit, Balance                                                           |
| Punjab National Bank | Date, Particulars, Debit, Credit                                                                    |
| Bank of Baroda       | Date, Description, Debit, Credit                                                                    |

<Tip>
  Download the statement directly from your bank's net banking portal as a CSV file. If only PDF is available, use the PDF download — Aczen Bilz can parse text-based PDFs from all major Indian banks.
</Tip>

<Warning>
  Scanned or image-only PDFs cannot be parsed. If your bank provides a scanned statement, request a digital (text-based) PDF or use the CSV export instead.
</Warning>

## HDFC and ICICI sample formats

The expected column headers for the two most common formats are shown below.

**HDFC Bank CSV**

```csv theme={null}
Date,Narration,Chq/Ref No,Value Date,Withdrawal Amt,Deposit Amt,Closing Balance
```

**ICICI Bank CSV**

```csv theme={null}
Transaction Date,Value Date,Description,Ref No./Cheque No.,Debit Amount,Credit Amount,Balance
```

Aczen Bilz automatically detects the column mapping regardless of which bank format you upload. After parsing, it shows you the detected mapping so you can confirm it is correct before reconciling.

## How to import and reconcile a bank statement

<Steps>
  <Step title="Open Bank Reconciliation">
    In the left sidebar, click **Banking → Bank Reconciliation**.
  </Step>

  <Step title="Upload your statement">
    Drag and drop your CSV or PDF file onto the upload area, or click it to browse and select a file. Aczen Bilz immediately begins parsing the statement using AI.

    While parsing, you will see a progress indicator. Once complete, a summary appears showing:

    * Number of transactions found
    * Bank name detected (e.g. HDFC, ICICI)
    * Total deposits and total withdrawals
  </Step>

  <Step title="Review the detected column mapping">
    After parsing, Aczen Bilz displays the column mapping it detected — for example, which column it mapped to Date, Description, Debit, and Credit. Verify that the mapping looks correct before proceeding.
  </Step>

  <Step title="Run AI Reconciliation">
    Click **AI Reconcile**. Aczen Bilz compares every bank transaction against all posted journal entries in your ledger. The matching uses amount, date (with a ±7 day tolerance), and description to score each potential pair.
  </Step>

  <Step title="Review the results">
    The results appear in three tabs:

    * **Matched** — bank transactions paired with a ledger entry
    * **Unmatched Bank** — bank transactions with no corresponding journal entry
    * **Unmatched Ledger** — posted journals with no corresponding bank transaction

    Review the summary cards at the top for a quick count: total bank transactions, matched count, unmatched count, and the difference between the bank balance and ledger balance.
  </Step>

  <Step title="Handle unmatched transactions">
    For each unmatched bank transaction, click **Create Entry** to open the journal creation dialog. Aczen Bilz pre-fills the date, amount, and narration from the bank transaction. Select the correct accounts and click **Create** — the journal is posted immediately and the transaction moves to the matched list.
  </Step>
</Steps>

## How auto-matching works

Aczen Bilz scores each bank transaction against each posted ledger entry using a weighted formula:

| Factor      | Weight | How it is scored                                                        |
| ----------- | ------ | ----------------------------------------------------------------------- |
| Amount      | 50%    | Exact match scores 1.0; within 1% scores 0.8; within 5% scores 0.5      |
| Date        | 35%    | Same day scores 1.0; ±1–2 days scores 0.7–0.8; ±3–7 days scores 0.1–0.6 |
| Description | 15%    | Exact match scores 1.0; partial word match scores 0.1–0.6               |

A combined score of **0.8 or above** is automatically marked as matched. Scores between 0.5 and 0.8 are flagged as partially matched for your review.

<Note>
  Auto-matching only works against **posted** journal entries. If you have draft journals, post them first before running reconciliation.
</Note>

## Manually resolving unmatched items

If a bank transaction could not be matched automatically, you have two options:

<AccordionGroup>
  <Accordion title="Create a new journal entry from the unmatched transaction">
    Click **Create Entry** next to the unmatched bank transaction. In the dialog:

    1. Confirm or edit the **date** and **narration** — these are pre-filled from the bank statement.
    2. Select the **bank account** (the account that represents the bank in your Chart of Accounts).
    3. Select the **counter account** — for example, a sales income account for a deposit or an expense account for a withdrawal.
    4. Click **Create**. The journal is posted and the bank transaction is considered reconciled.
  </Accordion>

  <Accordion title="Investigate an unmatched ledger entry">
    If a posted journal has no corresponding bank transaction, it means the transaction may be pending clearance, was entered in error, or occurred in a different period. Check your bank statement for the entry and either wait for it to clear or reverse the journal if it was entered by mistake.
  </Accordion>
</AccordionGroup>

## Reconciliation summary

After reconciliation, the summary cards show:

<CardGroup cols={2}>
  <Card title="Bank transactions" icon="landmark">
    The total number of transactions parsed from your uploaded statement.
  </Card>

  <Card title="Matched" icon="circle-check">
    The number of bank transactions successfully paired with a ledger entry.
  </Card>

  <Card title="Unmatched (bank)" icon="triangle-alert">
    Bank transactions with no ledger entry — these need a new journal or investigation.
  </Card>

  <Card title="Difference" icon="arrow-left-right">
    The gap between the bank closing balance and the ledger balance. A difference of ₹0 means you are fully reconciled.
  </Card>
</CardGroup>

## Viewing past reconciliations

All reconciliation sessions are saved automatically. Scroll down to the **Reconciliation History** table to see every statement you have imported. Click any row to load the full transaction list, matched pairs, and unmatched items for that session.

<Note>
  Each history row stores the complete parsed statement data. You do not need to keep the original CSV or PDF file after uploading — Aczen Bilz retains all transaction details.
</Note>
