Prepare my file

Find the instructions to correctly construct your billing data import file.

Importing your billing data into Fincome begins with an essential step: correctly structuring your import file. This Excel (.xlsx) or Google Sheet file allows you to import your customers, subscriptions, invoices, invoice lines and credit notes according to the Fincome model. Good preparation ensures the reliability of your metrics (MRR, ARR, churn, revenue recognition…) and prevents any import errors.

Find the templates on Fincome > Settings > Connect a new billing system:

  • Excel: you will find an example and the empty template

  • Gsheet: you will find the template to complete before inserting the link

1. File structure

  • The import file is a table in which each row represents a invoice line (a billed product or service), i.e. a component of the invoice.

  • It consolidates 5 main categories of information:

    • Customer: the billed entity.

    • Subscription: where applicable, the recurring relationship.

    • Invoice: the document grouping the billed lines.

    • Line item: the billed detail (e.g. β€œPro Plan – 20 users – €600”).

    • Credit note

    • Optional: as many columns as necessary can be added to include enrichment data (don’t worry, this enrichment data can be added later).

2. Date format

  • All dates must be entered in the Excel format DD/MM/YYYY (type Date).

  • Text formats, ISO (e.g. 2025-09-15) or copied from a CSV are not recognized.

3. β€œtype” column (mandatory)

Each row of the file must indicate a type of imported data. Three values are possible:

"subscription"

  • Recurring subscription included in MRR/ARR.

  • The dark blue columns are mandatory.

  • The fields period_start and period_end must be provided, with:

    • period_start < period_end (never identical)

    • The periods must follow one another without overlap for the same subscription.

"one_off"

  • One-off billing line (outside MRR).

  • Same structure as subscription, but without period_start nor period_end.

"future_sub"

  • Future subscription not yet invoiced (signed contract with deferred start).

  • Only the following columns are mandatory: type, customer_id and the dark purple columns of the template.

4. Importing credit notes

To add a credit note in Fincome two solutions are possible:

1- Create a negative invoice line, identical to the one(s) it cancels but with the negative amount.

2- Create a dedicated line in the file.

Fill in:

  • invoice_id with the identifier of the relevant invoice,

  • a negative amount in amount_excluding_tax_after_discount,

  • the blue-green columns (related to the canceled line).

Fincome will automatically adjust your metrics (MRR, ARR, revenue recognition, etc.).

5. Concrete examples

Example 1 β€” Monthly subscription

type
period_start
period_end
amount_excluding_tax_after_discount
invoice_id
status
subscription_status
customer_id

subscription

01/09/2025

30/09/2025

600

INV-2025-001

paid

active

CUST-001

Example 2 β€” One_off line

type
amount_excluding_tax_after_discount
invoice_id
status
customer_id

one_off

1500

INV-2025-002

open

CUST-002

Example 3 β€” Credit note

type
amount_excluding_tax_after_discount
invoice_id
status
customer_id

subscription

-600

INV-2025-001

paid

CUST-001

6. Custom analysis axes (optional)

You can enrich your data by adding additional columns: β†’ acquisition_channel, country, customer_segment, CSM, etc. These columns automatically become custom analytical axes usable in your Fincome filters and breakdowns.

7. Allowed values

  • Subscription status (subscription_status) : trialing, active, paused, canceled, unpaid

  • Invoice status (invoice_status) : open, pending, paid, unpaid

  • Any other value will be rejected on import.

8. Checklist before import

  • File in .xlsx

  • All mandatory columns filled in according to the line type

  • Identifiers (customer_id, invoice_id, subscription_id) stable and consistent

  • Valid and ordered Excel dates (period_start < period_end)

  • Amounts in numeric, without thousand separators

  • Status and currency values conform to the Fincome model

FAQ β€” Preparing the file

β†’ Can an invoice contain multiple lines? Yes. The same invoice_id can aggregate multiple line items (e.g. subscription + setup fees). Just ensure that all fields describing the invoice (status, date, currency) are strictly identical on each row.


β†’ Are β€œone_off” lines taken into account in MRR/ARR? No. Only lines type = "subscription" contribute to MRR/ARR. The one_off represent one-time revenues.


β†’ How to model an annual or quarterly subscription? Provide the actual service period : period_start = 01/01/2026 and period_end = 31/12/2026 for an annual subscription, for example. Fincome relies on these dates to calculate MRR/ARR movements and revenue recognition.


β†’ How to handle an upsell or a downsell? Create multiple non-overlapping lines for the same customer_id : 01/01 β†’ 15/03 for the old plan, then 16/03 β†’ 31/12 for the new one. Fincome automatically detects changes (upsell/downsell).


β†’ How to represent a trial period? Use type = "subscription", subscription_status = "trialing" and specify a trial period. If the trial is not billed: amount_excluding_tax_after_discount = 0. Free trials can be ignored if you do not wish to track them.


β†’ How to handle credit notes? Two solutions:

  • Add an adjustment line with a negative amount, associated with the invoice_id original.

  • Create a credit note dedicated line according to the template instructions.


β†’ Which status values should be used?

  • Invoice (invoice_status) : open, paid, unpaid

  • Subscription (subscription_status) : trialing, active, paused, canceled, unpaid Any other value will be rejected.


β†’ What are the best practices for dates? Use Excel dates (DD/MM/YYYY), not text. period_end must always be later than period_start. For one_off, you can omit the dates or use the invoice date.


β†’ How to handle amounts excluding tax, discounts and VAT? amount_excluding_tax_after_discount = net amount excluding tax after discount. Taxes are managed separately, and the revenue recognition handles their accounting allocation.


β†’ Our billing is multi-currency: how to proceed? Fill in the currency column (ISO code: EUR, USD, GBP…). Fincome handles multi-currency consolidation and FX impact.


β†’ What if a customer or an invoice appears on multiple rows? This is expected, but the fields of the same object (e.g. status, currency) must be identical. Any discrepancy will be flagged as an inconsistency.


β†’ What to do for a large import? Split into batches (by period or entity) and start with a test sample of 5–10k rows.


β†’ How to avoid decimal separator errors? Format your amounts as Number, not text. Avoid thousand separators, and check that the comma/period matches your regional format.

Next:

Import my file

Last updated