Reconciliation

Reconciliation strategies

Choose whether one record lines up with one record or with many.

A strategy says how records on the two sides group before the matching rules run.

One ledger transaction might be one external row, or one side might split into several rows that should be judged together.

One-to-one

Each external record is compared with one ledger transaction. Do not send grouping_criteria.

{
  "strategy": "one_to_one"
}

A customer pays $25 and both the ledger and the statement show one $25 row. Use one-to-one.

One-to-many

One external record is compared with a group of ledger transactions. grouping_criteria is required.

Blnk groups ledger transactions that share that field, sums their amounts, and then applies your rules to the group.

The date rule uses the earliest created_at in the group. A reference or description rule can match any member. greater_than and less_than compare the external value with that group.

{
  "strategy": "one_to_many",
  "grouping_criteria": "parent_transaction"
}
Grouping criteriaWhat it groups
transaction_idLedger transactions with the same transaction id.
parent_transactionLedger transactions that share a parent transaction.
sourceLedger transactions with the same source balance.
destinationLedger transactions with the same destination balance.
referenceLedger transactions that share a reference.
currencyLedger transactions with the same currency.
statusLedger transactions with the same status.
created_atLedger transactions with the same created-at value.

For example: If a processor reports one $100 charge, and the ledger stores the gross amount, the fee, and the net as separate transactions under one parent. Group by parent_transaction.

Many-to-one

Several external records are compared with one ledger transaction. grouping_criteria is required. Blnk groups the external rows that share that field and sums their amounts before the rules run.

The date rule uses the earliest external date. greater_than and less_than compare the ledger value with that group sum, so a larger ledger amount is greater_than.

{
  "strategy": "many_to_one",
  "grouping_criteria": "description"
}
Grouping criteriaWhat it groups
idExternal rows with the same id.
amountExternal rows with the same amount.
currencyExternal rows with the same currency.
referenceExternal rows that share a reference.
descriptionExternal rows with the same description.
dateExternal rows with the same date.
sourceExternal rows from the same source.

A statement splits one charge into parts, and the ledger stores a single $120 transaction. Group the external rows by the field they share, such as reference.

A grouping_criteria value Core cannot group on does not fail the start call. The run finishes as failed instead.

Using the dashboard

When you run a reconciliation, choose the strategy in Strategy.

Strategy and grouping criteria

If the strategy is one-to-many or many-to-one, choose the grouping criteria from the lists above. One-to-one leaves that field empty.