Recurring transactions
Schedule a fixed-amount payment or collection to run automatically, on the interval you choose, until an end date or occurrence count.
A recurring transaction is a schedule you create once, and PCE generates the underlying transaction automatically on each due date, a fixed amount, on the interval you set, until an end date or occurrence count is reached. Use it for rent, subscriptions, retainers, payroll, or any repeating pay or collect you'd otherwise re-key every cycle.
The schedule is a separate object from the transactions it spawns. The schedule has its own statuses (ACTIVE, PAUSED, CANCELLED, COMPLETED); each generated transaction is a normal Treasury transaction that follows the shared Transaction lifecycle.
Same rails as a one-off transactionA recurring transaction reuses the transaction model: the
action.transactionyou schedule takes the samesource,destination,method,amount, andprocessingDetailas a single Pay or Collect. Supported methods are ACH, WIRE, CHECK, BOOK, INTERNATIONAL_WIRE, and VIRTUAL_CARD. Set the schedule once, and every occurrence inherits it.
Choose your task
Set up the schedule (frequency, interval, start/end) and the pay or collect it runs.
Update the schedule, pause and resume it, or cancel and delete it.
List schedules by criteria, and list the transactions a schedule has generated.
The schedule model
A schedule is defined by transactionDetail. frequency and interval are always required; the day/month fields are required only for certain frequencies.
| Field | Required | Description |
|---|---|---|
frequency | ✓ | How the interval is counted: CALENDAR_DAY, BUSINESS_DAY, WEEK, MONTH, or YEAR. |
interval | ✓ | Gap between two occurrences, in units of frequency (e.g. interval: 2 + frequency: WEEK = every other week). |
startDate | Optional | When the schedule begins. Current date or a future date. |
endDate | Optional | When the schedule ends. Must be in the future. |
occurrence | Optional | Total number of occurrences to run. |
dayOfWeek | Conditional | Day(s) of week. Required when frequency is WEEK. |
dayOfMonth | Conditional | Day(s) of month. Required when frequency is MONTH or YEAR. |
monthOfYear | Conditional | Month(s) of year. Required when frequency is YEAR. |
A schedule ends when its endDate is reached or its occurrence count is met, whichever happens first. If you set both, the earlier one wins.
Statuses
These are the statuses of the schedule, not of the transactions it generates. For the status of an individual generated transaction, see the Transaction lifecycle.
| Status | Meaning | Reasons |
|---|---|---|
ACTIVE | Default on creation. The schedule is running and will generate transactions on each due date. | ON_USER_REQUEST |
PAUSED | You've suspended the schedule; no transactions are generated until it resumes. | SERVICE_ON_HOLD, PAID_EXTERNALLY, OTHERS |
CANCELLED | You've stopped the schedule permanently. It can't be reactivated. | INCORRECTLY_CREATED, PAID_EXTERNALLY, SERVICE_CONTRACT_TERMINATED, OTHERS |
COMPLETED | The endDate was reached or the occurrence count was met, and no actions are pending. | End date elapsed, occurrences elapsed |
See also
- Transaction lifecycle: statuses and tracking for each generated transaction
- Pay and Collect: the one-off equivalents of what a schedule runs
- Bank accounts & contacts: the saved payees and accounts a schedule references
- Recurring Transaction Error Codes: reasons a schedule request is rejected
Updated 1 day ago