Framing of revenues and MRR – ARR
Learn to compare your internal data (ERP, billing tools) with the indicators calculated by Fincome. Identify and analyze discrepancies to ensure the reliability of your finance reporting
Why perform a reconciliation?
This allows you to compare your internal data (sales, invoicing, MRR from the ERP, etc.) with Fincome's data to identify where discrepancies come from. The objective is to ensure that variations are justified (for example a discount applied, a one-off invoice, a period shift...) and not the result of an integration or configuration error. By regularly reconciling your revenue and your MRR/ARR, you gain confidence in Fincome data and can explain differences to your finance teams or investors clearly and transparently.
Important preliminary note
The internal reference (ARR & movements file validated by Finance or shared with your investors) is the primary basis for comparison. Invoicing exports serve as complementary support.
A difference in Fincome does not mean an error : it may reflect a different business rule or a specific calculation option (see §5).
MRR/ARR and their movements are based on a SaaS market consensus (vendors, investors, analysts), but there is no single truth.
Fincome provides several configurable calculation options which can — and sometimes should — justify differences compared to your internal reference.
1. Definitions and conventions (to lock before any comparison)
Internal ARR reference and movements
Internal reference file including total ARR, movements (New / Expansion / Contraction / Churn), and possibly breakdowns by segment or BU.
Invoiced revenue
Revenue from your invoices issued during 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 revenues: 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 reconciliation method
Objective: compare Fincome with your internal reference, then use invoicing exports to document discrepancies.
Phase A — Reconcile total ARR
Choose a period.
Record thetotal ARR in your internal reference.
Record theFincome total ARR (or MRR × 12).
Compare the two totals.
Interpretation:
If difference is small → tolerance (rounding/FX).
If difference is significant → move to Phase B.
If needed → document via invoicing exports.
A discrepancy may be justified by a Fincome option (discounts, statuses, smoothing…). Always document before concluding.
Phase B — Reconcile ARR movements
Record the movements (New / Expansion / Contraction / Churn) in your reference.
Extract the equivalent movements from Fincome (section Data → Export center).
Compare by category: the sum of movements reconstructs the total variation (ΔARR).
Identify discrepancies and adjust parameters if necessary.
Phase C — Reconcile revenue recognition
Go to the revenue recognition page
Analyze the share of one-time revenue versus recurring revenue
Compare with your reference
Phase D — Reconcile by segment / BU (optional)
Extract ARR and movements by segment/BU from both sources.
Compare: some segments may have specificities (local discounts, deferred invoicing, unpaid items…).
3. Deep reconciliation - Fincome vs reference comparison in an Excel file
Once you have identified a material MRR or ARR variance for a given month, export the detail of each source (Fincome vs your internal reference) and compute the variances for each customer.
In Fincome, the export is done from Data → Export center → MRR by customer / month. This export allows you to get the list of all your customers with their MRR for each month, in order to directly compare these values with those from your ERP or your internal file.
On this basis, select concrete cases and explore the reasons for these discrepancies in detail to understand their origin and define a classification of discrepancies by type.
Recommended reconciliation table (by customer)
CUST 001
Alpha Industry
12 000
11 400
-600
Discount
Coupon -5% Q3; Fincome in “net 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; pro rata
Delta = Fincome_M – Internal_ref_M. The acceptable residual must be small, documented (rounding/FX), and below the chosen materiality threshold.
To help you reconcile, you can complete this Excel template:
Main causes of discrepancies to investigate
Applied discount : If your billing system shows an amount lower than Fincome for a customer, this may come from a commercial discount. Fincome, depending on settings, can present an MRR net of discounts while your ERP shows the invoiced amount after discount, or vice versa. → Identify if the customer had a promotion or discount that month.
One-off / non-recurring : When the source shows revenue but Fincome shows €0 for a customer, this often corresponds to a one-off invoice (non-recurring). Fincome does not include non-recurring items in MRR. → This one-time revenue (e.g. installation fees, exceptional sale) then explains why Fincome MRR is lower than the invoicing figure observed for that customer.
Period shift (timing) : A discrepancy can come from a shift in revenue recognition. For example, if an invoice was issued in a different month (billing delay or advance), or if a subscription starts in the middle/end of the month, timing can make Fincome MRR diverge from ERP revenue for that specific month. → These discrepancies often offset month-to-month.
Calculation parameters or missing data : In some cases, none of the above points explains the discrepancy. → Ensure that Fincome parameters (Settings > Calculation options) are consistent with your billing method (e.g. churn accounting date, consideration of credit notes, neutralization of periods…). → If a customer has an unexplained discrepancy, verify that all their invoices and subscriptions are taken into account on both sides.
By categorizing each difference this way, you will obtain a clear view of the sources of discrepancies between your two references. Most often, a few major causes explain the majority of the total discrepancy, which allows you to focus your analysis on the points that really matter (for example a particular customer or a specific type of operation).
4. Concrete examples of common discrepancies
Temporary discounts
€1,000 gross, promo -10% for 3 months
Fincome (option “all discounts”) = €900. Expected difference if reference is gross. Cat. Discounts.
One off excluded
Setup €5,000 + subscription €600/month
Fincome excludes the setup. Cat. One off.
Period shift
Invoice 08/31 for 09/01–09/30
Difference offsets between M–1/M. Cat. Timing.
Churn recognition
Cancellation 09/05, period end 09/30
Churn date depends on option (on request / period end). Cat. Churn (rule).
Credit notes / refunds
Credit note –€300 on prior invoice
Retro/non-retro/ignored option. Cat. Credit/Refund.
Invoice in arrears
Invoices issued at period end
“Deferred smoothing” option to avoid MRR gaps. Cat. Deferred invoicing.
Disjunction / overlap
Two periods separated by one day
“Neutralization” option to fill gaps. Cat. Period neutralization.
Statuses included
Fincome = open + paid / reference = cash
Align option 12. Cat. Statuses.
5. Fincome calculation options — impact summary
1
Churn recognition
Position churn date
Moves the month of the movement
2
Application of discounts
Gross vs net
Changes the MRR/ARR level
3
Consideration of credit notes
Handle refunds
Impacts total and movements
4
Timezone
Align the timezone
Corrects day border shifts
6
Exclude open canceled / unpaid invoices
Clean up commitments
Reduces MRR if open at risk
7
Deferred invoicing
MRR smoothing
Avoids intra-month gaps/peaks
8
Deferred invoicing tolerance
Grace before simulated churn
Temporarily extends MRR
9
Future subscription tolerance
Anticipate an imminent start
Simulates anticipated MRR
10
Neutralization of disjunctions / overlaps
Real continuity of MRR
Avoids double counting
11
MRR recognition after period end
Renewal
Maintains/removes the MRR
12
Included invoice statuses
Commitment vs cash
Structural difference if source = cash
6. Recommended operating procedure
Lock the period and the currency (e.g. 09/2025, EUR).
Record the internal and Fincome total ARR.
Note the discrepancy (Phase A).
Record ARR movements M–1 → M (Phase B).
If needed, compare by segment/BU (Phase C).
Map each discrepancy to 1–2 Fincome options.
Decide:
Keep the internal view and document, or
Adjust Fincome options to align and then rerun the reconciliation.
7. Typical fixes
Fincome ARR < reference
Net vs gross view
Adjust discount 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/peaks
Deferred invoicing / renewal
Adjust options 7–11
Double counting
Overlapping periods
Enable neutralization (option 10)
Isolated discrepancies
Credit notes / credits
Set option 3
BU discrepancies
Local practices (promos, unpaid)
Phase C: reconcile by segment
10. FAQ
→ Where to start: ARR, MRR or revenue? Always with thetotal ARR from the internal reference (your reference file which prevails). Then reconcile ARR movements (New / Expansion / Contraction / Churn), the split of one-time vs recurring revenue, and if necessary, the segments/BU. Invoicing exports serve as support to document a specific point.
→ Does a discrepancy mean there is an error? No. A discrepancy is first a signal of a difference in interpretation (business view, scope, calculation options). It is an “error” only if the discrepancy is neither explained nor accepted after analysis. The goal of reconciliation is to document and then decide: we accept the discrepancy (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).
Deferred invoicing / renewal / tolerances (Options 7–9, 11).
Neutralization of gaps or overlaps (Option 10). Best practice: identify the option that explains the discrepancy, document it and decide whether to accept or align.
→ How to handle discounts in reconciliation? Clarify the target view:
Gross : before discount → higher MRR/ARR.
Net excluding temporary promos : permanent discounts only.
Net 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 (receipts)?
Align theOption 12 “Invoice statuses considered” to Paid only in Fincome to compare two cash views.
If you keep the commitment view (open + paid) in Fincome, the discrepancy is structural and must be accepted and explained.
→ How to explain a churn “one month too early/late”? Check theOption 1 “Churn recognition” :
On cancellation requestOn effective cancellationEnd of 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 ARR? No. By definition, ARR/MRR measures the recurring. One-offs remain outside ARR. A discrepancy vs a “total revenue” report including one-offs is expected and justified (category One off).
→ How to handle credit notes / refunds? Choose theOption 3 “Consideration of credit notes” :
Include – retroactive(impacts the original period)Include – non-retroactive(impacts the month of issuance)Ignore(default) Align with the interpretation of the internal reference. Document the option and the credit note identifier.
→ What if total ARR is reconciled but 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 invoice at period end: why do we observe “gaps” in ARR or MRR? Without enabling the option to handle invoices in arrears (Option 7), MRR can drop between two invoices. Enable a tolerance (e.g. maintain if invoice ≤ 5 days before period end) or set renewal (Option 11) to reflect your operational reality.
→ What is the impact of timezones? Day border changes (UTC vs local) can move an event by one day (invoice, start/end). Set the timezone (Option 4) to avoid artificial differences between reference and Fincome.
→ How to handle multi-currency / FX in reconciliation? Choose a common reference currency. Convert on the reference side or in a reconciliation tab with an explicit rate. Residual discrepancies (FX rounding) are acceptable if documented.
→ We see a discrepancy concentrated on one BU / segment: what to do? Move to Phase C: compare ARR & movements by BU/segment. Look for specific practices (frequent promos, local cash view, deferred invoicing, unpaid items). 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 issue (ID, name, duplicate, renaming). Update the mapping table and rerun the comparison. Also check the nature (one off) and status (trial/paused/unpaid/canceled).
→ How to handle subscription statuses (trialing, paused, unpaid)? Clearly define your policy:
trialing: 0 MRRpaused: 0 MRR while the pause is activeunpaid: depends on your internal policy (count the commitment or set to 0). Set consistently with Option 12 and document.
→ Where do “tolerated discrepancies” stop (rounding, cents, FX)? There is no universal threshold. Practical rule: achieve ≥ 95% of discrepancy explained and tolerate a small residual (rounding/FX) that is documented.
→ The internal reference includes CARR (contracts signed not invoiced): how to compare? Start by reconciling invoiced ARR. Then broaden to CARR (signed contracts not yet invoiced). Need help? Contact Fincome support to reconcile the transition.
→ The reference is “gross” but we want to move to “net” (or vice versa): how to do it? Decide the target view (Finance / Management / Investors). Update Option 2, rerun the reconciliation on a recent month and record the decision (date, impacts).
→ How to properly trace the reconciliation for internal audit? Keep a dated reconciliation file with: period, currency, scope, total ARR, movement bridge, segments, options chosen, justifications and decisions. This is your assumptions log.
→ What if total ARR is reconciled but some large accounts still show an unexplained delta? Target 3–5 accounts with large delta, reconstruct the chronology (periods, discounts, upgrades/downgrades, credit notes, statuses). The delta almost always results from an option or timing.
→ Differences between “total revenue” and ARR: how to avoid confusion? Total revenue includes one-offs and follows invoicing/receipts. MRR/ARR reflects the recurring (commitment/contract). Maintain two tracks: P&L vs ARR, and always specify the view used.
→ When to adjust calculation options in Fincome rather than document the discrepancy? If the discrepancy recurs systematically and your organization wants a target view (e.g. cash view for the board), align the option. Otherwise, accept the difference, documented and shared.
Useful links
Reconciliation tutorial part 1: Video link
Reconciliation tutorial part 2: Video link
Reconciliation tutorial part 3: Video link
Related articles:
Fincome data vs. invoicing data – Understand in detail why your Fincome data may differ from those of your billing system,
Managing calculation options - How to adjust settings to best align MRR calculations
Last updated