Subscription & Renewal Management
1. Goal: Stop SaaS Wastage ("Zombie Subscriptions")
Problem: Companies have hundreds of recurring payments (Slack, AWS, Adobe, LinkedIn). Nobody knows when they renew, who owns them, or if the price went up. They auto-renew on credit cards, leaking budget.
Solution: A "Renewal Radar" that builds a contract calendar automatically from AP Invoice data.
2. Core Value Proposition
- Visibility: A single calendar view of every recurring cost.
- Savings: Alerts 30-60 days before renewal ("Slack renews for $50k on Jan 1st. Cancel?").
- Ownership: Forces an owner for every tool ("Max, do we still use Figma?").
3. Workflow: The "Auto-Discovery" Engine
- Detection: System scans AP Invoices.
- Triggers: Recurring Vendors (Zoom), Frequency (Monthly), Keywords ("Subscription", "License").
- Extraction:
- Service Period: "Jan 1, 2024 - Dec 31, 2024".
- Renewal Type: Auto-renew vs Manual.
- Notice Period: "30 days notice required".
- Calendar Entry: Creates a
SubscriptionContract record.
- Alerting:
- T-60 Days: Email Owner ("Usage is down 10%. Do you want to downgrade?").
- T-30 Days: Alert Finance ("Cancellation deadline is tomorrow!").
4. Data Model
SubscriptionContract
subscription_id
vendor_id
owner_user_id (Internal stakeholder)
status: ACTIVE | CANCELLED | EXPIRED
renewal_frequency: MONTHLY | ANNUAL
current_period_start
current_period_end (The Renewal Date)
notice_period_days (e.g., 30)
cancellation_deadline (calculated: End Date - Notice Period)
cost_per_period
auto_renew: boolean
RenewalAction
action_id
subscription_id
decision: RENEW | CANCEL | DOWNGRADE | NEGOTIATE
decided_by_user_id
decision_date
5. UX/UI
- The Renewal Calendar: Visual timeline showing upcoming "cliffs" (big payments).
- The "Spend Efficiency" Report: "You spend $10k/month on Marketing tools. 3 of them haven't been invoiced in 60 days (Usage check)."
- Cancellation Assistant: Generates the "Please cancel my subscription" email template for the user.
6. Integration
- Inputs: AP Invoices (Discovery).
- Outputs: Alerts to Slack/Teams/Email.