SaaS Acquisition Checklist: Billing and Subscription Handover
Acquiring a SaaS business involves many moving parts. While code, domain, and customer data get attention, billing handover is often underestimated — until it becomes a problem.
This checklist covers everything you need for a clean billing and subscription transition.
Pre-Close: Preparation Phase
2-4 Weeks Before Close
- Review subscription data: Get a complete list of active subscriptions, including plan types, billing periods, and MRR breakdown
- Understand the billing setup: Document what payment processor is used, any payment gateways, dunning settings, etc.
- Check for complexities: Note any grandfathered plans, custom pricing, annual prepayments, or unusual configurations
- Verify customer payment methods: Confirm payment methods are current and not failing
1-2 Weeks Before Close
- Request Customer Data Copy: Contact Stripe support to initiate the transfer (allow 1-3 business days)
- Create restricted API keys: Set up keys in both source and destination Stripe accounts
- Set up destination account: Ensure products and prices exist in the buyer’s Stripe account
- Prepare price mapping: If Price IDs differ, document the mapping
1 Week Before Close
- Receive mapping CSV: Confirm Stripe has completed Customer Data Copy
- Validate the data: Check that customer counts and payment methods match expectations
- Test with subset: If possible, test the migration process with a small subset first
- Prepare communication: Draft any customer notifications if needed
At Close: Migration Execution
Migration Day
- Freeze customer actions: Consider temporarily pausing self-service subscription changes
- Run final validation: Confirm all subscriptions are in expected state
- Execute migration: Run the subscription recreation process
- Verify creation: Confirm each new subscription is active in destination account
- Cancel old subscriptions: Deactivate source subscriptions only after verification
- Document everything: Save complete logs and audit trail
Verification
- Count subscriptions: New account subscription count matches source
- Check billing dates: Sample subscriptions have correct billing anchors
- Verify amounts: Subscription amounts match expected pricing
- Test Stripe Dashboard: Buyer can access and manage subscriptions
Post-Close: Stabilization
First 24 Hours
- Monitor for errors: Watch for failed payments or unexpected charges
- Check customer support: Be ready for any billing-related questions
- Confirm webhooks: Ensure new account receives subscription events
First Week
- First billing cycle: Verify that scheduled renewals process correctly
- Review any failures: Address payment failures with appropriate dunning
- Customer communication: Handle any questions or concerns
First Month
- Complete audit: Confirm all subscriptions are billing correctly
- Close old account: Once stable, wind down the seller’s Stripe account involvement
- Archive documentation: Store migration records for future reference
Common Issues and Solutions
Missing Payment Methods
Symptom: Some customers show as “no payment method” in new account
Cause: Payment method may not have been included in Customer Data Copy
Solution: Customer will need to re-enter payment details; reach out proactively
Incorrect Billing Dates
Symptom: Customer reports being charged on unexpected date
Cause: Billing anchor wasn’t set correctly during recreation
Solution: Adjust anchor or provide credit/refund as appropriate
Double Charges
Symptom: Customer charged by both old and new subscription
Cause: Old subscription wasn’t canceled before new one billed
Solution: Immediate refund, customer communication, process review
Subscription Not Found
Symptom: Active subscription in source not appearing in migration
Cause: Mapping CSV may be incomplete or subscription state changed
Solution: Manually handle outliers, investigate root cause
Special Considerations
Annual Subscriptions
Annual subscriptions have already collected revenue. Agree on:
- How prepaid revenue is handled in purchase price
- Whether subscriptions are migrated or left to expire
Trials in Progress
Customers on trial need careful handling:
- Migration should preserve trial end date
- First charge should align with trial completion
Failed Payment States
Subscriptions with past-due invoices:
- Decide whether to migrate as-is or resolve first
- May need manual intervention
Enterprise/Custom Deals
Large customers with custom arrangements:
- Document any special terms
- May need individual migration approach
Legal and Tax Considerations
This is a billing transition, so involve appropriate advisors for:
- Tax reporting implications of the transition
- Revenue recognition for in-progress billing periods
- Any contractual obligations around payment processing changes
Tools and Resources
For Migration
- MoveMRR: Automated subscription migration with safety checks
- Stripe Customer Data Copy: Official Stripe process for data transfer
- Restricted API Keys: Security best practice for migration
For Documentation
- Spreadsheet of all subscriptions with mapping
- Complete audit log from migration tool
- Confirmation screenshots from Stripe Dashboard
Planning a SaaS acquisition? Learn how MoveMRR handles billing transfer or review our Knowledge Base for technical details.