Skip to content

Revenue Metrics

Revenue metrics compare your realized revenue against your expected revenue on a monthly basis. That is, they put forecasted amounts (what you expect to earn, derived from your pipeline or other source records) and invoiced amounts (what you have actually billed) side by side – grouped by business entity, month, and, optionally, product category.

Both figures coexist for the same period. Finalizing an invoice does not remove the matching forecast – this is by design, so you can see at any time where actual billing matches, exceeds, or falls short of your expectations.

All amounts in revenue metrics are net values (without tax).

Which metric type do I need?

Revenue metrics answer the question "How does what we actually billed compare to what we expected to bill?" If you instead need a cash flow forecast, use cash metrics; if you need recurring-revenue (MRR) figures for investors or shareholders, use subscription metrics or account metrics.

Revenue Metrics Data

Revenue metrics rely on two related objects:

Object Acronym Purpose
Revenue Reporting Period RRP One record per month per business entity. Acts as the monthly "bucket" that aggregates the amounts of all its details.
Revenue Reporting Detail RRD One record per revenue or deduction item within a period. Holds the amount, the type (Forecasted or Invoiced), and the class (Revenue or Deduction).

A single RRP can have many RRDs. RRDs are children of their RRP in a master-detail relationship – deleting an RRP also deletes all its RRDs.

Revenue Reporting Period (RRP) data model
Field Description
Business Entity The business entity this period belongs to.
Date The first day of the period month.
Month The month of the period.
Year The year of the period.
Forecasted Amount The net sum of all forecasted details, with deductions subtracted from revenue.
Invoiced Amount The net sum of all invoiced details, with deductions subtracted from revenue.
Revenue Reporting Detail (RRD) data model
Field Description
Revenue Reporting Period The parent RRP (master-detail); the detail is deleted when the period is deleted.
Account The related Salesforce account.
Amount The net amount of this detail.
Type Forecasted (expected) or Invoiced (realized).
Class Revenue (positive amount) or Deduction (negative amount).
Product Category Optional grouping label (for example Licence, Support) used for chart filtering and aggregation.
Service Period Start Start of the service period the detail refers to.
Service Period End End of the service period the detail refers to.
Charging Plan For forecasted details: how the amount is distributed across months (empty, Monthly, or Annual).
Invoice Line Items For invoiced details: the comma-separated list of contributing invoice line item names.

Type: Forecasted vs. Invoiced

Every RRD carries a Type that indicates whether it represents expected or realized figures:

Type Description
Forecasted Created by a forecast run from your source records. Represents expected revenue or costs – for example from open opportunities or orders.
Invoiced Created on invoice finalization or the Fix Invoices procedure. Represents realized revenue or costs from actually billed invoices.

Both types coexist within the same RRP – one never replaces the other.

Class: Revenue vs. Deduction

Within each type, a record is classified by the sign of its amount:

Class Description
Revenue A positive amount – a standard invoice line item, or a source record with FC_Amount__c >= 0.
Deduction A negative amount – a credit, or a source record with FC_Amount__c < 0.

The RRP summary fields (Invoiced Amount, Forecasted Amount) subtract deductions from revenue automatically. If the same product category produces both revenue and deduction amounts, JustOn Billing & Invoice Management keeps them as separate RRDs, one per class.

Revenue Metrics Generation

Revenue metrics are fed from two independent sources – one for the forecasted side, one for the invoiced side.

Forecasted Revenue

JustOn Billing & Invoice Management provides the Forecast Run Job that creates revenue reporting details of the type Forecasted (and the matching periods) from your configured source records. When it executes, it:

  • Reads all configured forecast filters,
  • For each filter, queries the child records where FC_Processed__c == false,
  • Builds forecasted RRDs from the FC_ fields on each child record,
  • Applies the charging plan to split or repeat amounts across months,
  • Creates or updates the matching RRP records,
  • Sets FC_Processed__c = true on the processed records.

Because of the FC_Processed__c flag, a re-run does not automatically reprocess records that were already handled. To recalculate a source record's forecast, its FC_Processed__c flag must be reset to false – typically through your own automation (for example a Salesforce flow). The next run then deletes all forecasted RRDs associated with that record and recreates them from the current FC_ field values.

The forecast run can only be started from the JustOn Billing Configuration. There is no trigger for it in the regular invoicing UI.

Invoiced Revenue

The invoiced side is produced automatically by your normal invoicing processes – no configuration beyond enabling the feature is needed.

Invoice Finalization
When an invoice is finalized, JustOn reads its invoice line items, applies the configured revenue recognition rules to split amounts across months (when a service period spans several months), and creates Type == Invoiced RRDs plus the matching RRP.
Cancellation
When an invoice is canceled, its Type == Invoiced RRDs are deleted and the affected RRP amounts are recalculated. The RRP remains, and forecasted RRDs are not affected.
Fix Invoices
Lets you recreate invoiced RRDs for already finalized invoices (see configuration).

RRDs of the same invoice that share the same Product Category and Class are aggregated into a single RRD. The combined Invoice Line Items field then lists the contributing line item names.

Implementation Details

The following conditions apply to revenue metrics:

  • Global switch

    Revenue metrics are controlled by the Enable Revenue Metrics global setting. While it is off, no RRP or RRD records are created or updated. Turning it off later does not delete existing records. Re-enabling resumes creation for subsequent runs and finalizations but does not retroactively create records for the disabled period.

  • One period per entity per month

    There is exactly one RRP per business entity per month. Any number of RRDs – of any type or class – can belong to it.

  • Empty periods are normal

    An RRP can remain without any associated RRDs – for example after a forecast refresh deletes its forecasted details. Its amount fields are simply recalculated.

  • Unaffected processes

    Cross-settlement (settling an invoice with a credit) and dunning runs do not create or change RRP/RRD records.

  • Optional period splitting

    For forecasted details, the FC_ChargingPlan__c field controls how the amount is spread across the service period:

    Charging Plan Service Period Start = 01 Jan, End = 31 Mar, Amount = 300 Result
    (empty) One-time item; the full amount is booked in the start month 1 RRD: Jan = 300
    Monthly The full amount is booked for each month in the period 3 RRDs: Jan 300, Feb 300, Mar 300
    Annual Split into 12 consecutive monthly windows from the start; each gets Amount / 12 12 RRDs from Jan, each = 25.00

    For Annual, small rounding differences are tolerated (for example 100.00 / 12 = 8.33; 12 × 8.33 = 99.96), since a forecast is meant to give a rough overview. Each window's RRP is assigned by that window's own start date, and if a window's day-of-month does not exist in a later month (for example the 29th in February of a non-leap year), the date is normalized to the last valid day of that month.

Revenue Metrics Example

Assume a business entity ACME and the following source records processed by a forecast run, plus one finalized invoice:

Source Type Amount Service Period Charging Plan Category
Opportunity line A Forecasted 300 Jan – Mar Monthly Licence
Opportunity line B Forecasted -50 Jan (empty) Licence
Invoice INV-1 (Jan) Invoiced 280 Jan Licence

This produces the following January RRP for ACME:

RRD Type Class Amount
A (Jan window) Forecasted Revenue 300
B Forecasted Deduction -50
INV-1 Invoiced Revenue 280

The RRP summary fields then read Forecasted Amount = 250 (300 − 50) and Invoiced Amount = 280. On the Revenue Metrics Chart, January shows a hatched forecasted bar of 250 next to a solid invoiced bar of 280 – the business billed slightly more than it had forecasted for that month.