Billing

Organization credits, ledger entries, and email send tracking.

Source: packages/db/src/schema/billing.ts

Enums

EnumValues
billing_cyclemonthly, annual
subscription_statusactive, past_due, cancelled, trialing, paused
ledger_entry_typecredit_purchased, email_sent, rollover_applied, manual_adjustment, refund, plan_change, period_reset
email_send_statusqueued, sent, skipped, failed, bounced
skip_reasonover_limit, unsubscribed, duplicate, invalid_address, suppressed, dry_run
invoice_statusdraft, open, paid, void, uncollectible

organization_credits

ColumnTypeNotes
idtextPK, prefix ocr_
organization_idtextFK → organization.id, CASCADE, UNIQUE
credits_usedintegerdefault 0
credits_remainingintegerdefault 3000
monthly_creditsintegerdefault 3000
current_period_starttimestamp
current_period_endtimestampNOT NULL
statusvarchar(50)default active
created_attimestamp
updated_attimestamp

credit_ledger

ColumnTypeNotes
idtextPK, prefix cld_
organization_idtextFK → organization.id, CASCADE
organization_credits_idtextFK → organization_credits.id, CASCADE
entry_typeledger_entry_typeNOT NULL
deltaintegerNOT NULL
balance_afterintegerNOT NULL
reasontext
reference_idtextpoints to email_send.id
created_attimestamp

email_send

ColumnTypeNotes
idtextPK, prefix esn_
organization_idtextFK → organization.id, CASCADE
organization_credits_idtextFK → organization_credits.id, CASCADE
email_log_idtextFK → email_log.id
recipient_emailvarchar(255)NOT NULL
counted_in_creditsbooleandefault true
credits_consumedintegerdefault 1
statusemail_send_statusdefault queued
error_messagetext
sent_attimestamp
created_attimestamp

Was this page helpful?

Edit this page