Detect Recurring
ynab_detect_recurringFinds recurring outflows (subscriptions, bills, memberships) in transaction history by payee, similar amount and regular spacing, whether or not they are scheduled in YNAB.
Instructions
Finds recurring outflows (subscriptions, bills, memberships) in transaction history by payee, similar amount and regular spacing, whether or not they are scheduled in YNAB. For the scheduled transactions set up in YNAB, use ynab_list_scheduled_transactions. Gives each one's cadence, typical amount, yearly cost at the latest amount, next expected date, whether it seems to have stopped, and already_scheduled (a scheduled transaction has the same payee name; amounts are not compared). This is a heuristic: check the results before acting on them. Splits are counted through their subtransactions. Transfers are excluded, so loan and mortgage payments (transfers to a loan account) and credit card payments are not reported. Inflows are excluded too, and refunds are not netted against charges. Reads the whole window from YNAB in one request, which is slow for a long sinceDate on a busy plan. Yearly charges need a sinceDate far enough back to show minOccurrences of them.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| planId | No | The plan ID (optional, defaults to YNAB_PLAN_ID; budgetId is a deprecated alias) | |
| budgetId | No | Deprecated alias of planId (still accepted) | |
| sinceDate | No | Start of the history to scan, inclusive (ISO format: 2025-01-01). Defaults to 365 days ago. | |
| minOccurrences | No | On how many different dates one payee must charge a similar amount to make a pattern (default: 3) | |
| amountTolerancePct | No | How far above the smallest charge in a group another charge may be and still count, in percent with up to 3 decimal places (default: 10) |