Subscription Billing in D365 F&O: Recurring Revenue Use Cases Explained

D365 subscription billing

A recurring invoice sounds simple until the contract behind it is not: a bundled product that needs its price split across components, a three-year term that renews before the first year is even fully billed, or a price increase that only some customers actually agreed to. D365 subscription billing is built for exactly that complexity, well beyond the monthly repeat invoice most people picture.

This guide will explore four specific recurring use cases D365 subscription billing actually handles: revenue splits on bundled items, unbilled revenue at renewal, price changes mid-contract, and billing split across customers, plus where the native reporting on all of it still leaves a gap.

What a billing schedule actually controls

A billing schedule is the object everything else in this guide attaches to. It defines billing frequency and billing intervals together; a monthly frequency across a 12-month period produces twelve billing detail lines inside one term, and it can span multiple terms, an initial term followed by however many renewal terms the contract runs.

  • Invoices can be consolidated by period, customer, or item, or split out by item group, so one billing schedule does not have to produce one invoice per line.
  • Posting options range from creating just the sales order to generating a full invoice proposal for manual review before it posts.
  • A billing schedule can be terminated outright, which is different from letting a term simply expire without renewal.

None of this is visible from a single invoice. D365 subscription billing treats the schedule, not the invoice, as the unit of configuration, which is exactly why the use cases below all attach to the schedule rather than to any one bill.

Terms deserve a closer look on their own. A three-year contract billed monthly is not one long schedule; it is an initial 12-month term followed by two renewal terms, each with its own billing detail lines, its own potential price changes, and its own renewal processing. D365 subscription billing keeps these terms distinct specifically so that a renewal can be reviewed, adjusted, or even canceled without disturbing the terms that came before it.

Recurring contract billing use case: bundling with revenue split

A computer sold with a warranty and a support plan is often billed to the customer as one line. Revenue split lets that single sale carry a parent item and one or more child items underneath it, so the revenue behind the bundle gets attributed correctly, regardless of the customer seeing only one price.

  • The parent amount itself cannot be deferred; deferral happens at the child item level instead.
  • Child items inherit the parent’s start date, end date, quantity, unit, site, and warehouse, none of which can be changed independently on the child.
  • The pricing method for a revenue split is fixed at Flat, and the net amounts of every child must sum exactly to the parent amount.
  • Since version 10.0.32, a billing schedule line using revenue split can be set to renew automatically, so the bundle does not need to be manually rebuilt at every renewal.

Revenue split templates are reusable, built once on the Revenue split template page and applied to every sale of that bundle afterward, rather than configured line by line each time the same computer, warranty, and support combination sells again.

The restriction on changing child item details is worth noting before it causes confusion at renewal time. A sales team accustomed to adjusting a warranty’s site or warehouse independently on a standard item will find those fields locked on a revenue split child, by design, since the parent item is what actually carries that information for the whole bundle. The workaround is never to edit the child directly; every change belongs on the parent.

A bundle billed as one line but recognized as three separate revenue streams is exactly the kind of detail that gets lost in a standard invoice report. The Metrixs analytics suite keeps the parent-child structure visible in reporting, well beyond setup.

Recurring contract billing use case: renewals and unbilled revenue

A multi-year contract, billed monthly across an initial term and two renewal terms, runs into a timing problem deferred revenue does not solve on its own: what happens to the revenue recognition for a renewal term before that term has actually been invoiced yet? Unbilled revenue is the feature built for that specific gap.

  • An initial unbilled revenue journal entry has to be created before a billing schedule can be invoiced at all, establishing the accrual ahead of the actual bill.
  • A renewal term’s unbilled revenue journal entry can only be created once every billing detail line from the prior term has actually been billed, so the accrual follows real billing progress rather than running arbitrarily ahead of it.
  • The short-term unbilled method controls how far the accrual looks forward, either a rolling 12 months or the remaining current fiscal year, configurable at the parameter level rather than per contract.

This is a meaningfully different problem from deferred revenue, which holds money already collected until it is earned. Unbilled revenue anticipates revenue for work the contract already commits to, before an invoice for it has even gone out. Confusing the two is a common source of a renewal that looks like a revenue gap on the books when it is actually a billing timing artifact.

D365 subscription billing also supports unbilled offset accounts specifically for contracts billed in a currency other than the accounting currency, since an accrual made in one currency and later invoiced at a different exchange rate needs a place to absorb that difference cleanly rather than distorting the underlying revenue account.

If unbilled revenue and deferred revenue keep getting reconciled as if they were the same account, a Metrixs consulting review can separate the two cleanly before the next audit does it for you.

Recurring contract billing use case: price changes at renewal

A price rarely stays flat across a multi-year contract. The Price update utility updates the unit price on billing schedule lines and details that have not been billed yet, leaving anything already invoiced untouched, so a mid-2022 price change does not retroactively alter what was billed in 2021.

  • The utility does not work on usage items, items using escalation, milestone billing items, or revenue split items; each of those has its own pricing mechanism that overrides a blanket update.
  • A Consumer Price Index schedule offers a structured alternative: price escalation tied to a published index rather than a manually run utility, useful for contracts that explicitly reference CPI as the adjustment basis.

Renewal tracking is what ties all of this together. The Renewals tab on a billing schedule line holds the audit trail, unbilled revenue journal entries, term history, and pricing changes, in one place rather than scattered across separate transaction types.

This matters most in a renegotiation. A customer disputing a price increase needs the exact history of what was billed, when the update ran, and which term it applied from, and D365 subscription billing keeps that trail on the same page rather than requiring a reconstruction from invoice history and email threads.

Recurring contract billing use case: splitting one schedule across customers

Not every contract bills a single customer. The Customer split option, once enabled on the parameter page, allows one billing schedule to invoice different customers for different lines, useful for a parent organization with subsidiaries each responsible for their own portion of a shared agreement.

  • Customer split is configured at both the billing schedule header and line level, so a schedule can mix a primary billed customer with line-level exceptions.
  • Combined with invoice consolidation settings, by period, customer, or item, one underlying contract can still produce cleanly separated invoices for each responsible party.

This flexibility is easy to under-use. Many organizations running D365 subscription billing default to one customer per schedule simply because that was the first setup pattern anyone tried, then rebuild the same shared-agreement structure manually in Excel once a second subsidiary needs its own invoice, rather than turning on a feature already available in the platform.

What you needNative D365 F&O toolsA dedicated layer such as Metrixs
Portfolio-wide renewal trackingReviewed schedule by schedule, term by termConsolidated across every active contract
Unbilled vs. billed vs. recognized, side by sideTracked in separate journals and schedulesOne reporting layer across all three
Multi-year revenue split trend by bundleRebuilt from individual parent-child schedulesConfigurable history in one saved view
RefreshAs current as the last processed journal15 to 30 minutes via Synapse Link

How Metrixs extends D365 subscription billing reporting

Metrixs reads billing schedules, revenue split templates, unbilled revenue journals, and renewal history through Azure Synapse Link into the same dedicated Azure Data Lake used for the rest of D365 F&O, built across more than 6,000 backend tables.

  • Unbilled, billed, and recognized revenue shown together, held as configurable history instead of reviewed schedule by schedule.
  • Renewal tracking across a full contract portfolio, surfacing which terms are approaching renewal and which unbilled entries are still outstanding.
  • Revenue split visibility maintained across bundled products, even across a multi-entity or multi-ERP environment.
  • Refresh every 15 to 30 minutes, inside the same 12-module, 100+ report, 1,000+ metric suite; most deployments live in under 6 weeks; client ROI 290% to 450%.

D365 subscription billing still runs every schedule, split, and renewal correctly on its own. Metrixs is where finance sees all of it laid out across the whole portfolio at once, not one billing schedule opened after another.

Every renewal, every unbilled entry, every revenue split, in one view instead of one schedule at a time. The D365 F&O finance and accounting analytics use case shows what that actually looks like.

Frequently asked questions

What is a billing schedule in D365 subscription billing?

In D365 subscription billing, a billing schedule defines billing frequency, billing intervals, and the terms a recurring contract runs across, from an initial term through any number of renewals. It controls how invoices are consolidated, how they are posted, and how the underlying schedule can eventually be terminated.

What is revenue split used for in D365 F&O?

Revenue split lets a bundled sale, a product sold with a warranty and support plan, for example, be billed to the customer as one line while the underlying revenue is attributed across a parent item and its child items. The parent amount cannot be deferred directly; deferral happens at the child level.

How is unbilled revenue different from deferred revenue in D365 F&O?

Deferred revenue holds money already collected until the related work is performed. Unbilled revenue does the opposite: it recognizes revenue for a renewal term that has not been invoiced yet, provided the prior term has already been fully billed. The two solve opposite timing problems.

How does renewal tracking work in D365 subscription billing?

Renewal tracking runs through the Renewals tab on a billing schedule line, which holds the unbilled revenue journal entry audit trail, term history, and pricing changes together. Each renewal term’s unbilled revenue entry depends on the prior term’s billing lines all being fully invoiced first.

Can prices be updated automatically at contract renewal in D365 F&O?

The Price update utility updates unbilled schedule lines without touching anything already invoiced, though it does not apply to usage items, escalation items, milestone billing, or revenue split items. A Consumer price index schedule offers a structured alternative for contracts tied explicitly to a published index.

Can one billing schedule invoice more than one customer in D365 F&O?

Yes, through the Customer split option, enabled at the parameter level and then configured at the billing schedule header and line level. This lets a single underlying agreement produce separate invoices for different responsible parties, useful for parent organizations billing through subsidiaries.

The verdict

D365 subscription billing genuinely covers recurring revenue complexity most invoicing systems do not attempt: revenue split for bundled products, unbilled revenue for renewals still catching up to their billing schedule, structured price updates, and billing split across customers. This is not a thin layer bolted onto a standard invoice; it is a purpose-built structure for exactly the contract patterns that break simpler billing tools.

Where it stops is the portfolio view: renewal tracking, unbilled revenue, and revenue splits held as history across every active contract at once. Metrixs closes that gap, reading the same schedules and journals, refreshing every 15 to 30 minutes, and shipping it as part of the same suite that already covers general ledger, budgeting, and revenue recognition.

Ready to see your own recurring contracts as one connected portfolio view? Book a Metrixs reporting assessment, and we will map your billing schedules and renewal terms against what the reporting layer already covers.

Related reading: How the D365 General Ledger structures financial data for reporting

Interested in learning more? Contact our sales team now.

Whether you need more details, a personalized demo, or expert advice, our sales team is here to assist you every step of the way.