feat(subscriptions): auto-sync FY subscription row when dependent is activated
SubscriptionSyncService::syncForDependent() inserts a pending subscription
row for the current financial year whenever a spouse, child, or temporary
member becomes active. Triggered via two paths in Subscriptions bootstrap:
- Cashier path: spouse.fee_paid / child.fee_paid / temporary.fee_paid
- Zero-fee path: *.added events where fee = 0 (immediate activation)
Guards: member must be active + non-exempt type; dedup prevents duplicates.
Rates resolved identically to SubscriptionGenerator (year-specific catalog
code → generic code → hard fallback). Never throws — safe in event context.
Co-Authored-By:
Claude Sonnet 4.6 <noreply@anthropic.com>
Showing
Please register or sign in to comment