Available in version 0.7.0 and later.
Before you start
To successfully run reconciliation, you need to first do three things:- Prepare your external data: Format your external data according to the specified structure to enable seamless matching with your Ledger. See External Data Preparation for details.
- Define your matching rules: Set rules to compare fields like amount, date, or reference between your ledger and external records. These rules determine how closely records must match. See Matching Rules for details.
- Set your reconciliation strategy: Specify how transactions are distributed between both records, e.g., one transaction in your ledger can be split into 2 or more in a bank statement. See Reconciliation Strategies for details.
Reconciliation options
Blnk offers two reconciliation options based on your needs:- Batch reconciliation: Ideal for scheduled bulk processing, such as daily bank reconciliations. It’s efficient for handling large volumes of transactions at once.
- Instant reconciliation: Best for real-time accuracy, like immediate fraud detection or on-the-fly transaction matching. It ensures your ledger stays up-to-date as transactions occur.
Option 1: Batch reconciliation
To reconcile in batches, you need to:- Prepare and upload your external data in a CSV or JSON file for upload.
- Pass the
upload_idfrom your successful upload in the request body. - Set your matching rules and reconciliation strategy.
Response
| Field | Type | Description |
|---|---|---|
upload_id | String | Unique identifier of the uploaded external record for reconciliation. |
strategy | String | Defines the reconciliation strategy to be used. |
matching_rule_ids | Array | An array of rule ids that determine how the records are matched. |
grouping_criteria | String | Specifies the field used to group related records during reconciliation. Not required for one_to_one. |
dry_run | Boolean | If false, result is saved to the database. If true, it is not. |
Option 2: Instant reconciliation
Available on version 0.10.1 or later.
Response
Verifying reconciled transactions
You can verify if a transaction has been reconciled with Instant Reconciliation by retrieving the transaction details with the Get Transaction endpoint.meta_data object as shown below:
Response
| Field | Description |
|---|---|
external_txn_id | ID of the matched external transaction. |
reconciled: true | If matched successfully. |
reconciled_at | When the reconciliation was done. |
reconciliation_amount | Amount from the external record. |
reconciliation_id | Unique ID of the reconciliation process. |
Common use cases
Reconciliation can be a great fit for you if you are building:- BNPL platforms: Verify loan disbursements and repayments match merchant records, preventing billing errors and ensuring smooth settlements.
- Fintech apps: Sync payments from multiple sources (e.g., cards, wallets) for accurate reporting and user trust.
- Crypto exchanges: Reconcile transactions between wallets, smart contracts, and fiat ramps to maintain balance integrity.
- Payment processors: Ensure funds move correctly between merchants, banks, and users, avoiding costly mismatches.
- Multi-currency systems: Align balances across regions and providers, simplifying global operations.