Articles on: Account setup
This article is also available in:

Scoping revenue and MRR – ARR

Why perform a scoping exercise?


It lets you compare your internal data (sales, billing, MRR from the ERP, etc.) with Fincome's data, in order to identify where the gaps come from. The goal is to ensure that variations are justified (for example an applied discount, a one-off invoice, a period offset...) and not the result of an integration or configuration error. By regularly scoping your revenue and your MRR/ARR, you gain confidence in Fincome's data and can explain differences to your finance teams or your investors in a clear and transparent way.


**The internal reference (ARR & movements file validated by Finance or shared with your investors) is the primary basis for comparison. Billing exports serve as complementary support.


A gap in Fincome does not mean an error: it can reflect a different business rule or a specific calculation option (see §5). MRR/ARR and their movements rely on a SaaS market consensus (vendors, investors, analysts), but there is no single truth.


Fincome provides several configurable calculation options that can – and sometimes must – justify differences from your internal reference.**


1. Definitions and conventions (to lock down before any comparison)


Term

Definition

Internal ARR and movements reference

Internal reference file including total ARR, movements (New / Expansion / Contraction / Churn), and possibly the breakdowns by segment or BU.

Billed revenue

Revenue from your invoices issued over the period (sometimes includes one-offs, discounts, or credit notes).

MRR

Monthly Recurring Revenue: monthly recurring revenue, according to your Fincome options (discounts, statuses, tolerances…).

ARR

Annual Recurring Revenue = MRR × 12.

One-off / non-recurring

One-time revenue: setup fees, professional services, single sales… (excluded from MRR/ARR).

Scope

Same month, same entities/products/segments, same currency.

Granularity

Calendar month (from the 1st to the last day).

ARR movements

New, Expansion, Contraction, Churn.

2. Recommended primary scoping method


Goal: compare Fincome with your internal reference, then use billing exports to document the gaps.


Phase A — Scope total ARR


  1. Choose a period.
  2. Note the total ARR in your internal reference.
  3. Note the total Fincome ARR (or MRR × 12).
  4. Compare the two totals.


Interpretation:

  • If the gap is small → tolerance (rounding/FX).
  • If the gap is significant → move to Phase B.
  • If needed → document via the billing exports.


A gap can be justified by a Fincome option (discounts, statuses, smoothing…). Always document before concluding.


Phase B — Scope ARR movements


  1. Note the movements (New / Expansion / Contraction / Churn) in your reference.
  2. Extract the equivalent movements from Fincome (Data → Export center section).
  3. Compare by category: the sum of the movements reconstitutes the total variation (ΔARR).
  4. Identify the gaps and adjust the settings if necessary.


Phase C — Scope revenue recognition


  1. Go to the revenue recognition page
  2. Analyze the share of one-time revenue versus recurring revenue
  3. Compare with your reference


Phase D — Scope by segment / BU (optional)


  1. Extract ARR and movements by segment/BU in both sources.
  2. Compare: some segments may have specificities (local discounts, deferred billing, unpaid invoices…).

3. Advanced scoping - Fincome vs reference comparison in an Excel file


Once you have identified a material MRR or ARR gap for a given month, export the detail from each source (Fincome vs your internal reference) and derive the gaps for each customer.


In Fincome, the export is done from Data → Export center → MRR by customer / month. This export lets you obtain the list of all your customers with their MRR for each month, in order to directly compare these values to those from your ERP or your internal file.


On this basis, select concrete cases and explore the reasons for these gaps in detail to understand their origin and define a classification of gaps by type.



customer_id

Customer

Internal ref. (M)

Fincome (M)

Δ (F–R)

Category

Comment

CUST 001

Alpha Industrie

12,000

11,400

−600

Discount

−5% coupon Q3; Fincome in "net of all discounts"

CUST 014

Beta Cloud

5,000

0

−5,000

One-off

One-time setup (non-recurring)

CUST 032

Gamma Retail

8,400

9,100

+700

Timing

Invoice 08/31 → period covered in 09

CUST 087

Delta Apps

7,200

6,800

−400

Upgrade/Down

Downsell on 09/18; proration


Delta = Fincome_M – Internal_reference_M. The acceptable residual must be small, documented (rounding/FX), and below the retained materiality threshold.


To help you with scoping, you can fill in this Excel template: Cadrage.xlsx


Main causes of gaps to investigate


  • Applied discount: If your billing system shows a lower amount than Fincome for a customer, it may come from a commercial discount. Fincome, depending on the settings, can present an MRR net of discounts while your ERP shows the amount billed after discount, or vice versa. → Identify whether the customer had a promotion or discount that month.
  • One-off / non-recurring: When the source shows revenue but Fincome displays €0 for a customer, this often corresponds to one-off (non-recurring) billing. Fincome does not include non-recurring items in the MRR. → This one-time revenue (e.g.: installation fees, exceptional sale) then explains why the Fincome MRR is lower than the billing figure observed for this customer.
  • Period offset (timing): A gap may sometimes come from an offset in revenue recognition. For example, if an invoice was issued in a different month (late or early billing), or if a subscription starts in the middle/end of the month, timing can make Fincome's MRR diverge from the ERP's revenue for that specific month. → These gaps often offset each other from one month to the next.
  • Calculation settings or missing data: In some cases, none of the above points explains the gap. → Then make sure that the Fincome settings (Settings > Calculation options) are consistent with your billing method (e.g. churn recognition date, handling of credit notes, neutralization of periods…). → If a customer has an unexplained gap, check that all their invoices and subscriptions are properly taken into account on both sides.


By categorizing each difference this way, you will get a clear view of the sources of gaps between your two references. Most often, a few major causes explain most of the total gap, which lets you focus your analysis on the points that really matter (for example a particular customer or a specific type of operation).

4. Concrete examples of typical gaps


Case

Example

Reading / category

Temporary discounts

€1,000 gross, −10% promo over 3 months

Fincome ("all discounts" option) = €900. Expected gap if reference is gross. Cat. Discounts.

One-off excluded

€5,000 setup + €600/month subscription

Fincome excludes the setup. Cat. One-off.

Period offset

Invoice 08/31 for 09/01–09/30

Gap offsets between M−1/M. Cat. Timing.

Churn recognition

Cancellation 09/05, period end 09/30

Churn date depends on option (at request / end of period). Cat. Churn (rule).

Credit notes / refunds

−€300 credit note on a previous invoice

Retroactive / non-retroactive / ignored option. Cat. Credit note.

Billing in arrears

Invoices issued at the end of the period

"Deferred smoothing" option to avoid MRR gaps. Cat. Deferred billing.

Gap / overlap

Two periods one day apart

"Neutralization" option to fill the gaps. Cat. Period neutralization.

Included statuses

Fincome = open + paid / reference = cash

Align option 12. Cat. Statuses.

5. Fincome calculation options — impact summary


#

Option

Purpose

Potential effect

1

Churn recognition

Position the churn date

Moves the movement's month

2

Application of discounts

Gross vs net

Changes the MRR/ARR level

3

Handling of credit notes

Process refunds

Impacts total and movements

4

Time zone

Align the timezone

Corrects boundary-day offsets

6

Exclude open canceled / unpaid invoices

Clean up commitments

Reduces MRR if open at risk

7

Billing in arrears

MRR smoothing

Avoids intra-month gaps/spikes

8

Deferred billing tolerance

Grace before simulated churn

Temporarily extends the MRR

9

Future subscription tolerance

Anticipate a close start

Simulates anticipated MRR

10

Neutralization of gaps / overlaps

Actual MRR continuity

Avoids double counting

11

MRR recognition after period end

Renewal

Maintains/removes the MRR

12

Included invoice statuses

Commitment vs cash

Structural gap if source = cash

6. Recommended operating procedure


  1. Lock down the period and currency (e.g. 09/2025, EUR).
  2. Note the internal and Fincome total ARR.
  3. Note the gap (Phase A).
  4. Note the ARR movements M–1 → M (Phase B).
  5. If needed, compare by segment/BU (Phase C).
  6. Map each gap to 1–2 Fincome options.
  7. Decide:
  • Keep the internal view and document, or
  • Adjust the Fincome options to align then rerun the scoping.

7. Typical fixes


Symptom

Probable cause

Action

Fincome ARR < reference

Net vs gross view

Adjust discounts option

Fincome ARR > reference

Commitment vs cash view

Align statuses (option 12)

Churn too early/late

Different recognition rule

Modify option 1

Intra-month gaps/spikes

Deferred billing / renewal

Adjust options 7–11

Double counting

Overlapping periods

Enable neutralization (option 10)

Isolated gaps

Credit notes / credits

Set option 3

BU gaps

Local practices (promos, unpaid)

Phase C: scope by segment



10. FAQ


Where to start: ARR, MRR, or revenue?
Always with the total ARR of the internal reference (your authoritative reference file). Then, scope the ARR movements (New / Expansion / Contraction / Churn), the split between one-time and recurring revenue, then if necessary, the segments/BUs. Billing exports serve as support to document a specific point.


Does a gap mean there is an error?
No. A gap is first and foremost the signal of a difference in reading (business view, scope, calculation options). It is only an "error" if the gap is neither explained nor accepted after analysis. The goal of scoping is to document then decide: we accept the gap (intended view) or we adjust an option to align.


Why does my Fincome ARR differ from my internal reference file?
In many cases, the cause is related to a calculation option:

  • Discounts (Option 2): before discount / permanent only / all (default).
  • Included invoice statuses (Option 12): open + paid (default) vs paid only (cash view).
  • Churn recognition rule (Option 1).
  • Billing in arrears / renewal / tolerances (Options 7–9, 11).
  • Neutralization of gaps or overlaps (Option 10). Best practice: point to the option that explains the gap, document it, and decide to accept or align.


How to handle discounts in the scoping?
Clarify the target view:

  • Gross: before discount → higher MRR/ARR.
  • Net excluding temporary promos: permanent discounts only.
  • Net of all discounts (default): includes permanent and temporary. Apply the same rule on both sides (reference & Fincome) and document the choice.


What if my internal reference is in a "cash" view (collections)?
Align Option 12 "Invoice statuses taken into account" to Paid only in Fincome to compare two cash views. If you keep the commitment view (open + paid) on the Fincome side, the gap is structural and must be accepted and explained.



How to explain a churn "a month too early/late"? Check Option 1 "Churn recognition":

  • At the cancellation request
  • At the effective cancellation
  • End of the last paid period (default) The movement will be positioned differently depending on the option. Document the chosen rule.


Should one-offs (setup, services) appear in the ARR?
No. By definition, ARR/MRR measures the recurring. One-offs remain outside the ARR. A gap vs a "total revenue" report including one-time items is expected and justified (One off category).


How to handle credit notes / refunds?
Choose Option 3 "Handling of credit notes":

  • Include – retroactive (impacts the original period)
  • Include – non-retroactive (impacts the issuance month)
  • Ignore (default) Align with the reading of the internal reference. Document the option and the credit note's identifier.


What if the total ARR is scoped but the movements differ?
Don't panic, it's common. Move to the bridge by ARR movement category (New / Expansion / Contraction / Churn). Differences often come from:

  • discounts (permanent vs temporary),
  • churn rules,
  • smoothing / renewal / tolerances (Options 7–9, 11),
  • statuses (commitment vs cash). Categorize and explain each component.


We bill at the end of the period: why do we observe ARR or MRR "gaps"?
Without enabling the billing-in-arrears handling option (Option 7), the MRR can drop between two invoices. Enable a tolerance (e.g. maintain if invoice ≤ 5 days before period end) or set the renewal (Option 11) to reflect your operational reality.


What is the impact of time zones?
Boundary date changes (UTC vs local) can move an event by one day (invoice, start/end). Set the time zone (Option 4) to avoid artificial gaps between the reference and Fincome.


How to handle multi-currency / FX in the scoping?
Choose a common reference currency. Convert on the reference side or in a scoping tab with an explicit rate. Residual gaps (FX rounding) are acceptable if documented.


We observe a gap concentrated on one BU / segment: what should we do?
Move to Phase C: compare ARR & movements by BU/segment. Look for specific practices (frequent promos, local cash view, offset billing, unpaid invoices). Decide either to accept these specific rules, or to harmonize.


A customer exists in the reference but not in Fincome (or vice versa)?
This is a mapping problem (ID, name, duplicate, renaming). Update the correspondence table and rerun the comparison. Also check the nature (one off) and the status (trial/paused/unpaid/canceled).


How to handle subscription statuses (trialing, paused, unpaid)?
Clearly define your policy:

  • trialing: 0 MRR
  • paused: 0 MRR as long as the pause is active
  • unpaid: depends on your internal policy (count the commitment or drop to 0). Set consistently with Option 12 and document.


Where do "tolerated gaps" end (rounding, cents, FX)?
There is no universal threshold. Practical rule: reach ≥ 95% of explained gap and tolerate a small documented residual (rounding/FX).


The internal reference includes CARR (signed contracts not yet billed): how to compare?
Start by scoping the billed ARR. Then, extend to CARR (signed contracts not yet billed). Need help? Contact Fincome support to scope the transition.


The reference is "gross" but we want to switch to "net" (or the reverse): how to do it?
Decide on the target view (Finance / Management / Investors). Update Option 2, rerun the scoping on a recent month, and record the decision (date, impacts).


How to cleanly trace the scoping for internal audit?
Keep a dated scoping file with: period, currency, scope, total ARR, movements bridge, segments, chosen options, justifications, and decisions. This is your assumptions log.


What if the total ARR is scoped but some large accounts still show an unexplained delta?
Target 3–5 accounts with a large delta, reconstruct the chronology (periods, discounts, upgrades/downgrades, credit notes, statuses). The delta almost always results from an option or a timing.


Differences between "total revenue" and ARR: how to avoid confusion?
Total revenue includes one-offs and follows billing/collection. MRR/ARR reflects the recurring (commitment/contract). Maintain two tracks: P&L vs ARR, and always specify the view used.


When to adjust the calculation options in Fincome rather than document the gap?
If the gap comes back systematically and your organization wants a target reading (e.g. cash view for the board), align the option. Otherwise, accept the difference, documented and shared.

Useful links

Updated on: 03/07/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!