Skip to main content
Audience: MSP staff answering “where do these numbers come from?” for Financial Reporting. Financial Reporting combines three kinds of synced data:
  • Billing records from your PSA, which supply revenue.
  • Ticket time entries, which supply support hours.
  • Device and user counts, which supply endpoints.
MSPortal assigns each revenue record to a category using the rules in Settings > MSP Tools > Financial Reporting. It then calculates monthly averages, ratios and a grade. MSPortal never writes these numbers back to the PSA.

Where revenue comes from

A record must belong to a mapped company to count. Check company mapping when a company’s revenue is missing.

How a revenue category is chosen

Each record receives one category, Monthly Recurring Revenue (MRR), Other Recurring Revenue (ORR) or Non-recurring Revenue. MSPortal checks the rules below in order, and the first rule that matches decides the category.
  1. Project linkage. Anything tied to a project, project charge or milestone is always Non-recurring. You cannot override this rule.
  2. Per-Contract Overrides. A category pinned to one specific agreement or contract.
  3. Agreement Additions (Products) for ConnectWise, or Services (SKUs) for Autotask and Halo. A category set for one product or service, whatever contract it is on. Revenue categories set on the SKU Mapping tab are saved as these same rules.
  4. Line Item Types. A category for a type of line:
    • ConnectWise: product type and product class.
    • Autotask: billing item type and sub-type.
    • Halo: item category, time entry, contract, or recurring and one-off invoice lines.
  5. Contract Types. A broad default for every line on a contract of that type.
  6. Charge Types (Halo only). Halo’s Fixed and Pre-Pay charge types, plus revenue that arrived on a recurring invoice.
  7. Fallback. Anything that matches no rule counts as Non-recurring. The revenue is still included in the report.

Defaults provided by MSPortal

Some rules are filled in when a PSA connects. The table shows these defaults, and you can change any of them. Uncategorized in the settings editor means no rule is set at that level. The record is not excluded, because a lower rule or the fallback still assigns a category.

How billing cadence affects monthly amounts

Recurring revenue billed for several months at once is spread across those months. For example, an annual MRR charge adds one twelfth of its amount to each of the 12 months it covers.
  • Autotask uses the contract’s billing period (monthly, quarterly, semiannual or annual).
  • Halo uses the billing period in the item’s category name, such as “annual” or “quarterly”. Contract bill amounts are already divided by the contract’s billing cycle.
  • ConnectWise agreement additions are counted in each active month.
  • Per-Contract Overrides have a Billing Cadence choice for a contract that needs a different spread. Non-recurring revenue is never spread.

Other metrics

Portfolio cards divide totals by totals, so they are not an average of each company’s ratio.

When numbers update

  • Period. Revenue figures are monthly averages for the selected period. Trailing 3 Months (Avg) uses the last three complete months.
  • Nightly refresh. Monthly figures are rebuilt every night from the latest synced data.
  • After saving settings. Saving Revenue Categories or Reporting Model starts a background recalculation of the last 12 months. The report can show the previous figures for a few minutes while it runs. Revenue categories changed on the SKU Mapping tab reach the report through the scheduled refresh. The current and previous month update overnight, and older months update later in the weekly and monthly refresh.
  • PSA changes. A change in the PSA appears after its next sync and the following refresh.

Common questions

From the rules on Settings > MSP Tools > Financial Reporting > Revenue Categories. Each billing record takes the category from the first matching rule, from Per-Contract Overrides down to Contract Types. Autotask and Halo start with default rules based on contract and charge types. Anything unmatched counts as Non-recurring.
Either no rule matched or the record is linked to a project. Open the revenue value to see which rule classified each record. Then map the product, line type or contract type on the Revenue Categories tab. Project-linked revenue always stays Non-recurring.
Endpoints come from synced devices and users, counted according to the Reporting Model tab. Support hours come from time entries on tickets in the support boards, queues or teams selected on the Reporting Model tab. None of it is sample data.
MRR includes only records categorized as MRR, averaged across the selected period, with multi-month charges spread over the months they cover. Check the period, the category rules and company mapping, then open the MRR value to compare individual records.