Set up the Subscription Billing Power BI app
In a subscription business, managers typically want to know KPIs such as Monthly Recurring Revenue (MRR) or Total Contract Value (TCV), because these metrics provide insight into predictable revenue streams, long-term customer commitments, and the overall health of the business model.
To calculate these KPIs in Business Central, more is needed than just the current state of your subscription contracts and subscription contract lines. Subscriptions can change over time — quantities may increase, terms may be shortened, or subscriptions may end. If you only evaluate the live subscription contract data, you will only see the recurring revenue for the current month, without any historical perspective.
Relying on posted invoices or general ledger entries does not solve this challenge either. While they provide historical figures, they do not include future-dated subscriptions that have not yet been invoiced but still need to be reflected in recurring revenue and contract value calculations.
The Subscription Contract Analysis Entries table was introduced to create a monthly snapshot of all active and planned subscriptions. This ensures you can:
- Track KPIs historically, even when contracts have changed.
- Include future contracts in your revenue calculations.
- Maintain a consistent, comparable basis for both current and historic subscription analysis.
Setting up the analysis entries is therefore a required step to make full use of the subscription billing Power BI app.
The Subscription Contract Analysis Entries table can also be used within Business Central, to easily create an ad-hoc analysis based on your subscription data.
Create subscription contract analysis entries
You can create subscription contract analysis entries manually:
- Choose the
icon, enter Create Subscription Contract Analysis, then choose the related link. - The task runs immediately and generates entries for all contract lines that meet the required conditions.
- Choose the
icon, enter Subscription Contract Analysis Entries, then choose the related link. You will see the newly created entries with the current date as Analysis Date.
The task creates one entry per Subscription Line for the current month. It only considers subscription lines that meet the following conditions:
- The line is linked with a customer or vendor subscription contract.
- The subscription line is active (meaning the Subscription Line End Date is empty or in the future).
Note
Note:
Business Central compares the current month with the month in field Analysis Date for each subscription line. If a subscription contract analysis entry for the same subscription line and the same month already exists, no new entry is created. The existing entry is not updated.
For each entry, Business Central calculates the Monthly Recurring Revenue LCY (MRR) and Monthly Recurring Cost LCY (MRC).
It calculates the MRR for a customer-facing subscription by normalizing the Amount (LCY) to a monthly value based on the date formula in Billing Base Period.
Example calculation of MRR:
- A subscription line has an amount of 1.200 USD with a billing base period of 1Y (or 12M). This means the amount represents a yearly subscription price.
- Business Central calculates the MRR by dividing 1.200 USD by 12 months, resulting in 100 USD per month.
The value for MRC is calculated in a similar way based on the Unit Cost (LCY) and Billing Base Period of the subscription.
MRR and MRC for vendor-facing subscription lines are calculated in the following way:
- MRR is always zero.
- MRC is calculated by normalizing the Amount (LCY) to a monthly value based on the date formula in Billing Base Period.
Set up job queue for subscription contract analysis entries
Instead of running the task manually each month, you can schedule it in the Job Queue. This ensures that your subscription contract analysis entries are always created on time and remain up to date.
- Choose the
icon, enter Job Queue Entries, then choose the related link. - Choose the New action.
- In the Object Type to Run field, choose Report.
- In the Object ID to Run field, choose 8005, Create Subscription Contract Analysis.
- In the Earlies Start Date/Time field, enter the first date of the next month.
- In the Next Run Date Formula field, enter 1M.
- In the Starting Time field, enter 2 AM.
- Choose the Set Status to Ready action.
Now, the subscription contract analysis entries will be created once per month at the beginning of each month. You can run the job queue entry more than once in the same month. In this case, it will only create entries for newly added subscription lines since the last run.
By automating this process, you reduce manual effort and ensure that the Power BI Subscription Billing app always reflects the most accurate and complete set of subscription data.
Set up job queue for subscription contract termination dates
To calculate KPIs such as Total Contract Value (TCV) or Sales Forecast, the Power BI Subscription Billing app relies on the Term Until field to determine the remaining subscription period. This date is calculated in Business Central based on the Subscription Start Date, Initial Term, Notice Period, and Extension Period defined on the subscription line.
To ensure the Term Until field is always accurate, you can schedule the update as a recurring Job Queue Entry:
- Choose the
icon, enter Job Queue Entries, then choose the related link. - Choose the New action.
- In the Object Type to Run field, choose Codeunit.
- In the Object ID to Run field, choose 8058, Update Sub. Lines Term. Dates.
- In the Earlies Start Date/Time field, enter the first date of the next month.
- In the Next Run Date Formula field, enter 1D.
- In the Starting Time field, enter 1 AM.
- Choose the Set Status to Ready action.
Now, the notice dates are updated automatically once a day and outside of business hours.
Related information
Cancel planned subscription lines
Subscription lines
Use Job Queues to Schedule Tasks
Installing Power BI apps for Business Central
Subscription Billing controlling
Subscription Billing overview