1. Selling
  2. Escrow & closing

SaaS asset transfer guide

How to transfer the assets typically involved in a SaaS acquisition

Unsure how to transfer your assets in a SaaS acquisition? Here's a quick guide to help you get started. While this covers most assets a SaaS company might own, the list is not exhaustive. Please check against your asset list to ensure a seamless transfer.

Also, asset transfer procedures vary between service providers and might change at any time. Always verify instructions with your service provider, vendor, or host. We can't be held liable for any inaccuracies in the following guide but hope it helps you get started.

1. Transfer the domain name

  1. Unlock the domain: Log into the domain registrar account (GoDaddy, Namecheap, and so on) and locate the domain settings.
  2. Disable WHOIS privacy protection: Temporarily turn off WHOIS privacy settings to allow verification of transfer.
  3. Obtain the EPP code (authorization code): Request and retrieve the EPP code from the registrar’s control panel.
  4. Initiate the transfer on the buyer’s registrar: The buyer enters the domain name and EPP code in their registrar account to start the transfer process.
  5. Approve the transfer: Click the registrar’s confirmation link to approve the transfer.
  6. Wait for transfer to complete:Transfers typically take up to seven days depending on the registrar.
  7. Update DNS Records: Ask the buyer to update their DNS settings to ensure proper site functionality post-transfer.

ICANN Domain Transfer Policy

2. Migrate Hosting and Servers

  1. Backup your data: Create a complete backup of all databases, files, and configurations (just in case anything goes wrong).
  2. Create a staging environment: You'll need to test the migration later.
  3. Transfer hosting accounts:
    • AWS 
      1. Generate IAM (Identity and Access Management) credentials for the buyer (for security, don’t share root credentials).
      2. Ensure you give appropriate permissions to manage AWS services like S3 (storage) and EC2 (virtual servers). This allows the buyer to gradually take over without disrupting services.
      3. Update bucket policies or Access Control Lists (ACLs) to reflect the new ownership.
      4. Transfer any critical files the new owner needs.
      5. If the business runs on Amazon EC2 (Elastic Compute Cloud), which provides virtual servers, you should:
        1. Share access to EC2 instances with the buyer.
        2. Migrate instances to the buyer’s AWS account (this may involve creating AMIs – Amazon Machine Images – that the buyer can use to recreate the instance in their own AWS account).
        3. Ensure that networking configurations (such as security groups, IP addresses, and DNS settings) are transferred properly.
    • DigitalOcean: Share project access or migrate droplet snapshots.
  4. Update DNS records: Point the domain to the new server.
  5. Verify server performance: Ensure the server is secure and performs as expected.

AWS Transfer Guide | DigitalOcean Migration Guide

3. Transfer Stripe Account 

  1. Set up a new Stripe account for the buyer: Stripe doesn’t allow full transfers, so the buyer must set up a new account.
  2. Export customer and payment data:
    • Navigate to Payments > Export Data.
    • Download customer, transaction, and payment history.
  3. Use Stripe’s subscription migration API: The seller provides the customer list and re-subscribes them to the buyer’s new account.
  4. Update API keys & webhooks: The buyer updates the SaaS backend with new Stripe API keys and webhook endpoints.
  5. Notify customers: Inform users about billing system changes to avoid service interruptions.
  6. Deactivate the old account: once the account’s been migrated and validated, delete the old one. 

Stripe Docs

4. Transfer Source Code 


1. Transfer via GitHub, GitLab, or Bitbucket

    • GitHub: Navigate to Settings > Transfer Ownership and enter the buyer’s account.
    • GitLab: Use the Group Transfer feature.

2. Migrate continuous integration (CI) and continuous deployment (CD) configurations

  • Grant Admin Access to the new owner on the CI/CD platform.
  • If using GitHub Actions, add the buyer as an admin collaborator on the repository.
  • If using GitLab CI/CD, update repository permissions for the new owner.
  • Migrate API keys, authentication tokens, and environment variables safely using a secure credential manager, such as:
    • GitHub Secrets (Settings > Secrets and variables > Actions).
    • GitLab Variables (Settings > CI/CD > Variables).
    • AWS Secrets Manager, HashiCorp Vault, or other credential storage solutions.
  • Ensure that sensitive information is not leaked in public repositories.
  • Copy .yml or .json files that define CI/CD workflows:
    • GitHub Actions: .github/workflows/*.yml
    • GitLab CI/CD: .gitlab-ci.yml
    • Jenkinsfile (for Jenkins)
    • CircleCI: .circleci/config.yml
  • Update any hardcoded credentials, paths, or repository references to match the buyer’s new setup.
  • Ensure the pipeline works with hosting providers (AWS, Vercel, Netlify, and so on.).
  • Check integrations with monitoring/logging tools (Datadog, New Relic).

3. Run a test deployment

  • Perform a test build and deployment to confirm everything is working.
  • Check logs to verify:
    • The build process runs successfully.
    • Tests pass without issues.
    • The application deploys correctly.

4. Deactivate your access

  • Once the migration is complete, revoke the old owner’s access to prevent security risks.
  • If the buyer is setting up their own CI/CD pipeline, disable the old system after successful migration.

GitHub Transfer Guide

5. Transfer CRM and customer data

  1. Export customer data
    • HubSpot: Navigate to Settings > Data Management and export in CSV format.
    • Salesforce: Use the built-in Data Export Tool.
  2. Set up the buyer's CRM instance: Configure fields, tags, and integrations.
  3. Import customer data into the new CRM: Ensure data mapping accuracy.
  4. Reconfigure automations and workflows: Transfer email sequences, lead scoring rules.
  5. Test integrations and notifications: Ensure API connections function properly.

HubSpot Data Migration Guide | Salesforce Import Guide

6. Transfer the SaaS Application

  1. Give the buyer admin access.
  2. Transfer backend and database ownership
    • Cloud databases: Transfer AWS RDS, Firebase, or PostgreSQL ownership.
  3. Reconfigure API and webhooks: Ensure third-party integrations work post-transfer.
  4. Test functionality and performance: Ensure proper UI/UX post-transfer.

Google Firebase Guide

7. Migrate Google Workspace 

  1. Give the buyer admin access.
  2. Migrate emails and Drive data:
    • Use Google’s built-in migration tools.
  3. Transfer ownership of Google Docs, Sheets, and Slides.
  4. Update MX records for email routing.
  5. Test email and document access.

Google Workspace Admin Help

8. Transfer legal documents

  1. Transfer intellectual property rights: Assign patents, trademarks, and copyrights.
  2. Migrate contracts and agreements: Transfer customer, vendor, and employee agreements.
  3. Ensure GDPR and data protection compliance: Update privacy policies and security protocols.
  4. Verify legal entity transfer: Work with legal professionals for entity handover.

GDPR Compliance Guide

9. Migrate customer support and helpdesk

  1. Transfer helpdesk admin access (Zendesk, Freshdesk, Intercom).
  2. Migrate support ticket history using built-in export/import tools.
  3. Update live chat and support widget integration.
  4. Test support response workflows.

Zendesk Help Center

10. Transfer marketing and analytics

  1. Transfer Google Analytics and search console ownership.
  2. Migrate ad accounts (Google Ads, Facebook Ads).
  3. Reconfigure SEO and tracking pixels.
  4. Test marketing automations work as expected.

Google Analytics Admin Guide

Still need help?

Please search the help center again or contact us at support@acquire.com.