New in Chargebee: Explore Reveal and understand your payment performance end-to-end.Try Now
Docschargebee docs
HomeBillingPaymentsRevRecGrowthReveal
Support

Product Updates


  • Release Notes

Getting Started


  • Overview
  • Chargebee Billing Data Centers
  • Object Relationship Model
  • Understanding Sites
  • Chargebee Tech Glossary
  • Articles and FAQ

Implementing Chargebee


  • Implementation Guide
  • Go-live Checklist
  • Articles and FAQ

AI in Chargebee


  • Chargebee Agents
  • Chargebee Copilot
  • Chargebee MCP Server (Model Context Protocol)

Developer Resources


  • Developer Resources Overview
  • Articles and FAQ

Product Catalog


  • Product Catalog Overview
  • Coupons
  • Articles and FAQ

Subscriptions


  • Working with Subscriptions
  • Billing
  • Orders
  • Articles and FAQ

Customers


  • Managing Customers
  • Account Hierarchy
  • Email Notifications
  • Branding
  • Configure Multiple Languages
  • Articles and FAQ

Entitlements


  • Entitlements Overview
  • Features Overview
  • Feature Management
  • Managing Product Entitlements
  • Subscription Entitlements
  • Customer Entitlements
  • Grandfathering Entitlements
  • Articles and FAQ

Usage Based Billing


  • Understanding Usages
  • Setting up Usage Based Billing
  • Usage Alerts
  • Metered Billing
  • Articles and FAQ

Chargebee CPQ


  • Chargebee CPQ
  • Chargebee CPQ for Salesforce
  • Chargebee CPQ for HubSpot

Invoices, Credit Notes, and Quotes


  • Invoices
  • Credit Notes
  • Quotes [Legacy]
  • Transactions
  • Articles and FAQ

Taxes


  • Overview
  • Configuring Taxes
  • Country-specific Taxes
  • Articles and FAQ

Hosted Capabilities


  • Overview
  • Hosted Checkout
  • Hosted Self-Serve Portal
  • Hosted Pages Features
  • Additional Hosted Pages
  • Payment Components
  • Pricing Table
  • Managing Payments with Chargebee.js
  • Mobile-Optimized Hosted Pages
  • Articles and FAQ

Site Configuration


  • Users & Roles
  • Custom Fields & Metadata
  • Approvals
  • Mandatory Fields
  • File Attachments & Comments
  • Advanced Filter Options
  • Multicurrency Pricing
  • Multi-decimal Support
  • Configuring Reason Codes
  • Events and Webhooks
  • API Keys
  • Time Zone
  • Time Machine
  • Transfer Configurations
  • Articles and FAQ

Multi Business Entity


  • Multi Business Entity Overview
  • Customer Transfer Overview
  • Articles and FAQ

Mobile Subscriptions


  • Overview
  • Omnichannel Subscriptions
    • Apple App Store
    • Google Play Store
    • Mapping Apple and Google Products
    • Importing Historic Data
  • Omnichannel One-Time Orders
  • Mobile Subscriptions (Legacy)

Reports and Analytics


  • RevenueStory
  • Home Dashboard
  • Frequently Asked Questions
  • FAQs for Classic Reports Sunset
  • Articles and FAQ

Integrations


  • Sales
  • Customer Support and Success
  • Finance
  • Tax
  • Marketing
  • Stitch
  • Collaboration
  • Contract Management
  • Ecommerce Management
  • Articles and FAQ

Data Privacy & Security


  • Two Factor Authentication
  • SAML Single Sign-On
  • System for Cross-Domain Identity Management (SCIM)
  • EU-GDPR
  • Consent Management
  • Personal Data Management
  • Compliance Certificates
  • HIPAA Guidelines
  • PCI Recommendations and Integration Types
  • Articles and FAQ

Data Operations


  • Bulk Operations
  • Migration
  • Articles and FAQ
  1. Billing
  2. Mobile Subscriptions
  3. Omnichannel Subscriptions
  4. Importing Historic Data
  1. Billing
  2. Mobile Subscriptions
  3. Omnichannel Subscriptions
  4. Importing Historic Data

Importing Historic Data

After you connect your Apple App Store or Google Play Store app to Chargebee, you may want to import historical purchases. This document explains how to import that data.

Import using Bulk Operations

Use Chargebee's bulk import feature to import historical purchases, especially when migrating large volumes of subscription data from the Apple App Store or Google Play Store. Follow these steps to perform a bulk import:

  1. Use the Bulk Operations to bulk import your historic subscriptions.

    image
  2. While selecting the operation in bulk import, choose the Recorded Purchases operation from the dropdown, and then select Record a purchase. This operation internally uses the Record a Purchase API to import subscription data.

  3. Prepare your data file in the following format:

    image
    • In this CSV, the recorded_purchase[app_id] field is the Connected App ID for the app whose purchases you're importing. You can connect your app and generate the App ID by following these steps.
    • The customer[id] is the Chargebee Customer ID to which the purchase will be linked. Note: The customer ID must already exist in Chargebee for the bulk import to work.
    • If you're importing Apple purchases and have the corresponding purchase transaction IDs, fill in the apple_app_store[transaction_id] column.
    • If you don't have the Apple transaction IDs, you can fill in the apple_app_store[receipt] and apple_app_store[product_id] columns instead.
    • For Google purchases, use the google_play_store[purchase_token] column.
    • In this CSV, the omnichannel_subscription[id] field allows you to specify the ID you want to assign to the Omnichannel subscription. This field is optional — if not provided, Chargebee will automatically generate an ID.
  4. Proceed with the rest of the steps until the bulk import is processed.

  5. After the operation is complete, Chargebee will notify you by email. You can also track progress as explained in the Bulk Operations documentation.

Limitations

  1. As noted here, the Record a Purchase API is asynchronous. Therefore, even if the bulk import shows a successful status, individual purchases may fail during validation by the respective app stores.
  2. Currently, only the initial purchase and the latest transaction are imported for Apple and Google.

Note

If a recorded purchase fails:

  • If the webhook is enabled during import, Chargebee sends the record_purchase_failed event.
  • If the webhook is not enabled, you can view failed purchases in the Chargebee Recorded Purchase UI.

FAQs

1. What happens if we import the same receipt or transaction twice, but with different Omnichannel Subscription IDs?

If the same receipt or transaction is imported twice using different Omnichannel Subscription IDs, the system will reject the second entry to avoid data duplication.

2. What happens if we import different receipts but use the same Omnichannel Subscription ID during import?

Importing different receipts with the same Omnichannel Subscription ID will result in an error. To ensure data integrity, each receipt must be associated with a unique Omnichannel Subscription ID.

Was this article helpful?