Chargebee integration guide

Welcome to the Chargebee integration guide with Fincome. This document guides you step by step to connect your Chargebee billing data to Fincome.

Prerequisites

Before starting, make sure that:

  • You are the Chargebee account administrator

  • You have an OAuth connection enabled (via the Chargebee App Store or the API settings)

  • Your Fincome account is active

  • You have enabled access to the entities: Customers, Products, Prices, Subscriptions, Invoices and Credit Notes


Introduction to the integration

The Chargebee integration enables automatic synchronization of the following entities into Fincome:

  • Customers

  • Products & Prices

  • Subscriptions & subscription lines

  • Invoices & invoice lines

  • Credit notes

This data is normalized in Fincome to produce:

  • MRR (monthly, net, expansion, contraction, churn)

  • Subscription cohorts

  • Revenue recognition

  • Discount analysis (temporary vs permanent)

  • Multi-currency management

  • Customer lifetime and churn analysis


Integration steps

1. Connect to Chargebee from Fincome

  1. Log in to your Fincome account.

  2. Go to the Data tab.

  3. Click Connect a new billing system:

  1. Select Chargebee.

  2. On another page, log in to your Chargebee account.

  3. Go to Settings > Configure Chargebee > API Key > Add a read-only key and select "All".

  4. Copy this key and paste it on your Fincome page.

  5. On your Chargebee page copy what is between "https://" and ".chargebee.com" and paste it on the Fincome page.

  6. Confirm.

  7. Once the connection is established, the initial synchronization starts automatically.

2. Data synchronized

Customers

  • ID, name, email, country, postal code, parent (customer hierarchy)

Products & Prices

  • Product: ID, name, family

  • Price: ID, name, duration, period, type, amount, currency, item type

Subscriptions

  • ID, linked customer, status, trial dates, subscription start, cancellation, end of commitment

  • Subscription lines (item_price) analyzed one by one

  • Monthly amounts calculated, in original currency and base currency

Invoices & Lines

  • Invoice: ID, status, customer, date

  • Line: linked price, description, amounts before tax, discounts (temp/perm), taxes, quantity, period, currency

Credit notes

  • Credit note: ID, status, original invoice

  • Lines: same structure as the invoice (with amounts inverted)


Detailed operation of the integration

  • Field-to-field mapping: each Chargebee entity is finely translated according to the mapping provided by the API

  • Multi-subscription lines: Fincome analyzes subscription.subscription_items individually

  • Cancellations interpreted: cancelled_at, cancel_schedule_created_at are taken into account

  • Contractual commitments: reconstructed via GetContractualCommitmentEndDate()

  • Reconstructed MRR: from the prices associated with each active item_price, adjusted according to the period

  • Differentiated discounts: temporary and permanent handled separately, per line

  • Currency conversion: based on currency_code + created_at (or date) depending on the object type

  • Deletion or inactive resource: handled with IdPathOrResourceDeleted(...)


To know

  • Initial synchronization: depends on history, may take a few hours

  • Automatic update: every night + update via webhook

  • Custom fields: available via metadata in the customer and subscription objects

  • Bringing back canceled lines: via deleted_at

  • Only credit notes not โ€œvoidedโ€: voided credit notes are not imported

  • Manual deletion in Chargebee: not propagated


Integration overview

Item

Detail

Integration method

OAuth 2.0 (direct connection via App Store)

Supported entities

Customers, Products, Prices, Subscriptions, Invoices, Credit notes

Synchronization frequency

Daily + real-time Webhooks

Scope of the initial import

All data available via API

Synchronization method

Chargebee REST API with pagination

Chargebee data deletion

Managed via deleted or IdPathOrResourceDeleted


Data settings

Setting or field

How it works in Fincome

subscription_items

Each line is tracked individually

Trial detection

Fields trial_start and trial_end

Subscription dates

started_at or start_date

End of contractual commitment

Reconstructed via dedicated method (GetContractualCommitmentEndDate)

Line-by-line discounts

temporary_discount_amount vs discount_amount

Currency conversion

Via currency_code + created_at or invoice.date

Deleted subscriptions

deleted_at is populated if the subscription has disappeared


Technical mapping (Chargebee โ†’ Fincome)

Customers

Chargebee field

Fincome field

customer.id

original_id

customer.relationship.root_id

root_parent_id

customer.email

email

customer.billing_address.country

country

customer.billing_address.zip

zip_code

customer.metadata

custom_axis_field

Products & Prices

Chargebee field

Fincome field

item.id

original_id (product)

item.name

name (product)

item_family_id

chargebee_item_family (axis)

item_price.id

original_id (price)

item_price.name

name (price)

item_price.period_unit

period_unit

item_price.period

period_length

item_price.amount

amount

item_price.currency_code

currency_code

item_price.item_type

chargebee_item_type (axis)

Subscriptions

Chargebee field

Fincome field

subscription.id

original_id

subscription.status

status

subscription.customer_id

customer_id

subscription.subscription_items[].item_price_id

price_id

subscription.started_at / start_date

subscription_start_date

subscription.trial_start

trial_start

subscription.trial_end

trial_end

subscription.cancel_schedule_created_at / cancelled_at

canceled_at

subscription.cancelled_at

effective_cancellation_date

subscription.created_at

deal_closed_date

computed

monthly_value, monthly_value_main

subscription.metadata

custom_axis_field

Invoices & Lines

Chargebee field

Fincome field

invoice.id

original_id

invoice.date

date

invoice.status

status

invoice.customer_id

customer_id

invoice.line_items[].id

original_id (line)

item_price_id

price_id

subscription_id

subscription_id

quantity

quantity

amount_after_discount

amount_excluding_tax_after_discount

tax_amount

tax_amount

line_item_discounts (perm)

discount_amount

line_item_discounts (temp)

temporary_discount_amount

description

description

date_from, date_to

period_start, period_end

invoice.currency_code

currency_code

Credit notes

Chargebee field

Fincome field

credit_note.id

original_id

credit_note.line_items

credit note lines

credit_note.status != voided

import filter

amount

amount_excluding_tax_after_discount

discount_amount

discount_amount

temporary_discount_amount

temporary_discount_amount

description, date_from, date_to

description, period_start, period_end


Need help?

Our support team is available via the in-app chat or by email: [email protected]


Next steps

  • Check your KPIs in the MRR, Churn, and Cohorts views

  • Add other billing sources (Stripe, Chargebee, etc.)

  • Enrich your customer data (segmentation, company size...)

  • Schedule a session with your Customer Success to go further

Last updated