Migrate from BillingGroup to Account as billing principal

Refactorkamo-shared-library
Shipped
April 27, 2026 at 10:35 PM UTC
Author
Kamo
Commit
f1da294

Account is now the single Stripe customer principal. A Member needing to pay (e.g. for a subscription) auto-creates an Account; that Account then holds one or more cards with one designated as primary, and owns all subscriptions, licenses, invoices, and billing-config rows. Schema changes (Account.java): - Add stripeCustomerId, paymentMethods (List<AccountPaymentMethod>), primaryPaymentMethod (@ManyToOne) - Add findByStripeCustomerId to AccountRepository New entities + repositories under **************** - AccountPaymentMethod (cards held under an Account; Account.primaryPaymentMethod points at one) - AccountSubscription (replaces BillingGroupSubscription, references Account) - AccountInvoice (replaces BillingGroupInvoice) - AccountLicense (replaces BillingGroupLicense; references Account + member) - AccountBillingMember (replaces BillingGroupMember; group-plan members) - AccountBillingConfig (replaces BillingGroupConfig) - BillingSourceType, LicenseStatus enums moved into the new package Removed: the entire **************** package (BillingGroup entity, all BillingGroup* sub-entities and repositories). Updated: **************** now resolves entitlement against **************** rather than BillingGroup.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing