Tentative Reconciliation

Understand the different between tentative and regular reconciliation


Modern Treasury attempts to reconcile items that can be matched to a transaction throughout the business day. These items are called “transactables,” and include payment orders, expected payments, paper items, returns, and incoming payment details.

Tentative reconciliation works off of pending transaction information. Pending transaction information provides closer to real-time updates, making it a helpful signal of the activity within an account throughout the day.

Since tentative reconciliation means that a transaction is pending, it technically does not provide full certainty that an item will clear—it is, however, pretty certain in practice. There are a few rare instances in which an item would not post (e.g., if a bank flags a payment for OFAC purposes), but pending items almost always end up posting. So if something tentatively reconciles, it’ll very likely complete.

Tentative reconciliation versus regular reconciliation

Tentative reconciliation is distinct from regular reconciliation in that regular reconciliation makes use of posted transaction information to prompt reconciliation.

The above screenshot shows what you will see in your dashboard to indicate tentative reconciliation (”Vendor Payment 1”) versus regular reconciliation (”Vendor Payment 2”). Both transactions have a green checkmark, but the top transaction is italicized, indicating that it is still pending and therefore only tentatively reconciled. In this example, on August 31 you will see the “Vendor Payment 1” transaction and the movement of the $410.22 from your account balance, but you won’t see a completed payment order until the transaction posts.

When the bank posts prior-day files, which provide information about transactions that posted the day before, Modern Treasury will delete any pending transactions and create new posted transactions in their place. Since these are technically new transactions being created, you will notice new transaction IDs for each of them. In our example, “Vendor Payment 1” will be replaced by a posted transaction with a new ID and appear un-italicized in your dashboard.

An analogous situation is pending transactions on a credit card bill. Although the money has left your account for these transactions, they are still pending on the bank’s side so not yet fully completed until the transactions post. These transactions similarly show up at the top of your credit card statement in italics.

When tentative reconciliation does not work

There are circumstances in which an item may post, but tentative reconciliation may not be possible. One reason is that some banks do not provide enough information in their statements about pending transactions to allow for tentative reconciliation. Another is that some banks do not provide intraday reporting, so there is no pending transaction data to use for matching.

Tentatively reconciled webhooks

To receive webhook events to trigger a notification when a transactable tentatively reconciles:

First, set up webhooks. For more information on how to set up webhooks, see our webhook documentation guidance.

Next, subscribe to tentatively_reconciled webhooks for lifecycle events related to expected payments, paper items, payment orders, returns, and/or incoming payment details.

Sample Tentatively Reconciled Payment Order Webhook

  "event": "tentatively_reconciled",
  "data": {
    "accounting_category_id": null,
    "amount": 123100,
    "charge_bearer": null,
    "counterparty_id": "928db55e-6552-4aaf-96d7-10c693922b1f",
    "created_at": "2019-12-12T22:27:22Z",
    "currency": "USD",
    "description": null,
    "direction": "credit",
    "effective_date": "2019-12-13",
    "foreign_exchange_contract": null,
    "foreign_exchange_indicator": null,
    "id": "9f7e0efa-aeb7-4378-ae18-b4bb038e5495",
    "metadata": {},
    "object": "payment_order",
    "originating_account_id": "b9fc1ae0-d493-4f01-a7b3-b39104e802b5",
    "priority": "normal",
    "receiving_account": {
      "account_details": [
        { ... },
      "account_type": "checking",
      "created_at": "2019-11-21T22:51:04Z",
      "id": "71fae619-afa6-45e6-8630-ce4d0b3d6387",
      "intermediate_account_id": null,
      "object": "external_account",
      "party_address": null,
      "party_name": "John Smith",
      "party_type": null,
      "routing_details": [
        { ... },
      "updated_at": "2019-11-21T22:51:04Z",
      "verification_status": "unverified"
    "receiving_account_id": "71fae619-afa6-45e6-8630-ce4d0b3d6387",
    "receiving_account_type": "external_account",
    "remittance_information": "December Rent",
    "statement_descriptor": "Rent",
    "status": "sent",
    "transaction_ids": [],
    "type": "ach",
    "transaction_monitoring_enabled": false,
    "decision_id": null,
    "updated_at": "2019-12-12T22:27:25Z"

State changes in tentative reconciliation

Transactables have many states. A regular reconciliation event will change the state of a pending transactable to completed. Since tentatively reconciled items are subject to change, the state of the transactable will only change to completed when it is reconciled to a posted transaction.

The states of transactables as they change may also be sent as webhook events based on your configuration. Note that tentatively_reconciled webhooks are the only ones sent by Modern Treasury that do not correspond to a state change.