Determine how Blnk compares and matches records between your Ledger and external data.
Matching rules are used by Blnk to determine how to compare and match your ledger records with your external records. These rules define how fields like amount, date, and reference are compared, with flexibility for small discrepancies (called drifts).
In this guide, you’ll learn how to set matching rules and apply them when running reconciliation.
To create a new matching rule, call the Create Matching Rule endpoint:
Blnk ensures accurate reconciliation by comparing external records with your ledger records based on five key attributes:
Attributes | Operators | What it does |
---|---|---|
amount | equals , greater_than , less_than | Compares transaction amounts. |
currency | equals | Ensures both transactions use the same currency. |
date | equals , after , before | Matches transactions based on their timestamps. |
reference | equals , contains | Checks if the transaction reference matches or is partially included. |
description | equals , contains | Matches transactions based on their descriptions. |
Each attribute is matched using specific operators, which determine how strict the comparison is:
Operators | Description |
---|---|
equals | Both records must match exactly. |
contains | Parts of the external record match the internal record. |
greater_than | The external amount must be higher than the internal amount. |
less_than | The external amount must be lower than the internal amount. |
after | The external date must be later than the internal date. |
before | The external date must be earlier than the internal date. |
Here’s how these rules work during reconciliation:
Matching amounts
External amount | Internal amount | Operator used | Match? |
---|---|---|---|
$100.00 | $100.00 | equals | ✅ Yes |
$105.00 | $100.00 | greater_than | ✅ Yes |
$95.00 | $100.00 | greater_than | ❌ No |
Matching dates
External date | Internal date | Operator used | Match? |
---|---|---|---|
March 10, 2025 | March 10, 2025 | equals | ✅ Yes |
March 12, 2025 | March 11, 2025 | after | ✅ Yes |
March 10, 2025 | March 11, 2025 | after | ❌ No |
Matching references
External amount | Internal amount | Operator used | Match? |
---|---|---|---|
”REF-12345" | "12345” | contains | ✅ Yes |
”INV-56789" | "INV-56789” | equals | ✅ Yes |
”12345" | "REF-12345” | contains | ❌ No |
Flexibility: Use operators like contains
, greater_than
, and before
to account for processing delays, fees, and partial matches.
Precision: Ensure transactions are matched accurately, reducing errors in reconciliation.
Control: Customize your matching rules to fit your financial workflows.
Small differences in amounts or dates—like fees or time zone shifts—can disrupt reconciliation.
The allowable_drift
field sets a tolerance range for matches, used with the equals
operator. Blnk supports two types:
Amount drift: Tolerates value differences (e.g., 0.01 = 1% drift).
Date drift: Allows for time differences (e.g., 3600 = 1 hour).
Use amount drift when:
Use date drift when:
To ensure accurate and reliable financial reconciliation, follow these best practices when defining matching rules:
Optimize for efficiency: Reduce manual effort by implementing automated matching rules.
Use Drifts Strategically: Apply allowable drifts to handle small discrepancies without compromising accuracy.
Ensure accuracy: Minimize human errors with consistent and precise rule application.
Design for scalability: Use robust rules that can handle high transaction volumes and complex financial products.
Maintain compliance: Align matching rules with regulatory requirements for transparency.
Regularly review & optimize: Continuously assess and refine matching rules based on reconciliation performance and error patterns.
Audit logs: Maintain detailed logs of matching decisions to support audits and troubleshooting.
We are very happy to help you make the most of Blnk, regardless of whether it is your first time or you are switching from another tool.
To ask questions or discuss issues, please contact us or join our Discord community.