Grain:
RECURRING_GIFTS — one row per standing recurring commitment. RECURRING_GIFT_PAYMENTS — one row per scheduled payment instance (null GIFT_KEY means payment was expected but not yet received).RECURRING_GIFT is the commitment — the amount, frequency, and current status. Each time a payment is processed, a RECURRING_GIFT_PAYMENT row is created that links the commitment to the actual GIFT transaction. Project designations are stored on the commitment itself via RECURRING_GIFT_DESIGNATIONS.
Key rule: To find missed payments, look forRECURRING_GIFT_PAYMENTrows whereGIFT_KEYis null — a payment was expected but no gift was recorded.
Solid lines — required join (FK always populated). Dotted lines — optional join (FK is nullable; always use LEFT JOIN).
Table columns
Tables on this page: RECURRING_GIFTS · RECURRING_GIFT_PAYMENTS · RECURRING_GIFT_DESIGNATIONS · CONTACTS (boundary) · GIFTS (boundary) · PROJECTS (boundary)FREQUENCYandSTATUSare numeric codes. Decode them usingTYPE_REFERENCESwithENTITY = 'RecurringGift'. See the decode pattern.
RECURRING_GIFTS
One row per standing recurring commitment — the amount, frequency, and current status. Individual payment instances are tracked inRECURRING_GIFT_PAYMENTS.
RECURRING_GIFT_PAYMENTS
One row per scheduled payment instance against a recurring gift. A nullGIFT_KEY means a payment was expected but not received — the primary signal for lapsed giving.
RECURRING_GIFT_DESIGNATIONS
One row per project split on a recurring gift commitment. MirrorsGIFT_DESIGNATIONS but lives on the commitment, not individual transactions.
CONTACTS
CONTACTS appears in this diagram as the giving unit that holds the recurring commitment. The full contacts structure is documented in Contacts — extended reference.
GIFTS
GIFTS appears in this diagram as the transaction created when a recurring payment processes. The full gift structure is documented in Gifts — extended reference.
PROJECTS
PROJECTS appears in this diagram as the destination for recurring gift designations. The full project structure is documented in Gifts — extended reference.
FREQUENCYandSTATUSare numeric codes. Decode them usingTYPE_REFERENCESwithENTITY = 'RecurringGift'. See the decode pattern.