Expected Payments

An expected_payment is information about a payment you expect to occur in your bank account. Unlike payment orders, these are payments that are not initiated by the Modern Treasury system. Instead, you may be receiving money or could be charged by someone else. Some examples are receiving funding from a capital call via a wire or being debited by a vendor.

The Modern Treasury system attempts to connect expected payments to transactions to enable reconciliation even when you didn't initiate a payment. Some fields are required, as you will see below. For example, we need to know the direction and internal_account. Other fields, such as the counterparty and statement_descriptor help us to be more accurate in our automatic reconciliation.

You will notice the use of ranges for both the amount and date on the expected payment. This is because sometimes you aren't quite sure about these values. For example, you may expect a $10-15 charge between Monday and Wednesday. You would specify this using the lower and upper bound fields for each. If you know the values precisely, you can simply make the bounds equal.

📘

A note on precedence

When multiple expected payments match a given transaction, Modern Treasury will match the transaction against the most specific expected payment. For example, the expected payment that has the most non-null fields defined will be matched to the transaction.

Attribute

Description

id
string

Unique identifier for the expected payment.

type
string

One of ach, wire, or check.

amount_upper_bound
int32

The highest amount this expected payment may be equal to.
Value in specified currency's smallest unit. e.g. $10 would be represented as 1000.

amount_lower_bound
int32

The lowest amount this expected payment may be equal to.
Value in specified currency's smallest unit. e.g. $10 would be represented as 1000.

currency
string

Must conform to ISO 4217. Defaults to the currency of the internal account.

direction
string

One of credit, debit

When you are receiving money, use credit.

When you are being charged, use debit.

internal_account_id
string

The ID of one of your organization's Internal Accounts.

date_upper_bound
date

The latest date the payment may come in.
Format: yyyy-mm-dd

date_lower_bound
date

The earliest date the payment may come in.
Format: yyyy-mm-dd

description
string

An optional description for internal use.

statement_descriptor
string

The statement description you expect to see on the transaction.

For ACH payments, this will be the full line item passed from the bank.

For wire payments, this will be the OBI field on the wire.

For check payments, this will be the memo field.

metadata
object

Additional data represented as key-value pairs. Both the key and value must be strings. See Metadata.

counterparty_id
string

The ID of the counterparty you expect for this payment.

transaction_id
string

The ID of the Transaction this expected payment object has been matched to.

transaction_line_item_id
string

The ID of the Transaction Line Item this expected payment has been matched to.

status
string

One of unreconciled, reconciled, or archived.

reconciliation_method
string

One of manual if this expected payment was manually reconciled in the dashboard, automatic if it was automatically reconciled by Modern Treasury, or null if it is unreconciled.

live_mode
boolean

This field will be true if this object was created with a production API key or false if created with a test API key.

{
  "id": "afc256b0-dab8-4b9a-98c1-735fc23204ce",
  "object": "expected_payment",
  "type": "wire",
  "amount_upper_bound": 20000,
  "amount_lower_bound": 20000,
  "direction": "credit",
  "internal_account_id": "0f8e3719-3dfd-4613-9bbf-c0333781b59f",
  "currency": "USD",
  "date_upper_bound": "2018-11-08",
  "date_lower_bound": "2018-11-08",
  "statement_descriptor": "PMT1234",
  "metadata": {},
  "counterparty_id": "37ba4454-dd33-4aa0-8906-0e2e4103e45c",
  "transaction_id": null,
  "transaction_line_item_id": null,
  "status": "unreconciled",
  "reconciliation_method": null,
  "live_mode": true,
  "created_at": "2019-11-09T00:11:07Z",
  "updated_at": "2019-11-09T00:11:07Z"
}