OptionalanchorOptionalbillingAVS data forwarded on every charge — some PSPs (Paysafe) demand a zip on stored-token charges when the vaulted handle carries no billing data (browser-tokenized cards). Persisted with the record so renewals have it.
OptionalcanceledISO 8601 — the paid-through window. The next charge is due at currentPeriodEnd.
Consecutive failed renewal attempts for the CURRENT period (dunning). A charge without a definitive answer does not count until it is settled.
OptionallastOptionallastpspPaymentId of the latest successful charge.
OptionalmetadataOptionalnextISO 8601 — when past_due, the earliest instant the next retry may run.
OptionalpendingMoney-safety state — stores MUST persist this field; dropping it re-charges unresolved renewals.
OptionalrenewalMoney-safety state — stores MUST persist this field; dropping it lets a retry charge a period whose earlier charge may have gone through. Written by the manager only. Records without it derive the next attempt from failedAttempts, as earlier releases did.
Day-of-month (1-31) the billing cycle anchors on — recorded at creation and on a lapsed resume when the interval is month/year. Advancement clamps it per target month WITHOUT eroding it: Jan 31 -> Feb 28 -> Mar 31. Records predating this field keep the clamped-forward behavior.