12.1 Recurring Contract Billing, Billing Schedules & Milestones

Key Takeaways

  • The Subscription billing module in Dynamics 365 Finance consists of three tightly unified sub-modules: Recurring contract billing (RCB) for recurring invoices and pricing structures, Revenue and expense deferrals (RED) for ASC 606 / IFRS 15 recognition schedules, and Multiple element revenue allocation (MEA) for Standalone Selling Price (SSP) allocations across bundled contracts.
  • Billing schedule groups define master operational defaults for billing frequency (monthly, quarterly, semiannual, annual, one-time), payment terms, invoice creation methods (Sales order vs. Free text invoice), auto-renewal rules, and pricing escalation templates.
  • D365 Finance supports four distinct pricing models: Standard (fixed base price per unit), Flat tier (fixed flat amount for the bracket regardless of unit quantity), Volume tier (entire quantity priced at the unit price of the highest bracket reached), and Tier / Tiered (graduated bracket pricing where units within each range are billed at that bracket's specific rate).
  • Milestone billing decouples invoicing from standard calendar periods, distributing total contract value across project deliverable milestones (percentage-based or fixed amounts) that trigger invoice creation only when marked as Ready to bill.
  • Contract lifecycle controls—including indexation/price escalations, administrative holds with reason codes, and early contract terminations with prorated credit calculation—automatically update downstream sales order generation and linked deferral schedules.
Last updated: August 2026

12.1 Recurring Contract Billing, Billing Schedules & Milestones

Quick Summary: In modern digital and service-driven business models, enterprises manage complex recurring revenue streams, software-as-a-service (SaaS) subscriptions, tiered consumption pricing, and milestone-based project billing. The Subscription billing module in Microsoft Dynamics 365 Finance (Subscription billing > Recurring contract billing) provides an enterprise-grade engine that automates recurring customer billing schedules, supports sophisticated pricing tiers, coordinates contract renewals and escalations, and seamlessly integrates with revenue deferrals and sales invoicing.


1. Subscription Billing Architectural Framework

Subscription billing is composed of three interconnected sub-modules designed to manage the entire quote-to-revenue lifecycle:

+---------------------------------------------------------------------------------------------------------+
|                               Subscription Billing Module Architecture                                  |
+---------------------------------------------------------------------------------------------------------+
|                                                                                                         |
|  +-----------------------------------+        +------------------------------------------------------+  |
|  |   Recurring Contract Billing      | <----> |        Revenue & Expense Deferrals (RED)             |  |
|  |   - Billing Schedule Groups       |        |   - Straight-Line / Daily / Monthly Recognition      |  |
|  |   - Multi-Frequency Billing       |        |   - Unearned Balance Sheet to Earned P&L Amortization|  |
|  |   - 4 Dynamic Pricing Models      |        |   - Deferred Expenses & Commission Amortization      |  |
|  |   - Milestone Billing Allocations |        +------------------------------------------------------+  |
|  |   - Holds, Terminations & Credits |                                   ^                              |
|  +-----------------------------------+                                   |                              |
|                   |                                                      |                              |
|                   v                                                      v                              |
|  +-----------------------------------+        +------------------------------------------------------+  |
|  |    Invoice Generation Engine      |        |       Multiple Element Revenue Allocation (MEA)      |  |
|  |   - Sales Orders / Free Text Invs | <----> |   - Standalone Selling Price (SSP) Engines           |  |
|  |   - Batch Processing Automations  |        |   - ASC 606 / IFRS 15 Proportional Price Allocation  |  |
|  |   - Billing Detail Transaction Log|        |   - Revenue Allocation Clearing Reconciliation       |  |
|  +-----------------------------------+        +------------------------------------------------------+  |
+---------------------------------------------------------------------------------------------------------+

Core Components and Capabilities

  1. Recurring Contract Billing (RCB): Manages recurring customer billing schedules, complex consumption and tiered pricing structures, price indexation escalations, contract holds, cancellations, and periodic invoice generation.
  2. Revenue and Expense Deferrals (RED): Automates the deferred recognition of revenue and expenses over time (straight-line, daily, or event-driven) in strict accordance with ASC 606 and IFRS 15 standards.
  3. Multiple Element Revenue Allocation (MEA): Evaluates bundled contracts with multiple distinct deliverables (e.g., hardware, installation services, and recurring subscriptions) and reallocates the transaction price based on relative Standalone Selling Prices (SSP).

2. Billing Schedule Groups & Master Defaults

Billing schedule groups (Subscription billing > Recurring contract billing > Setup > Billing schedule groups) establish reusable master templates that standardize billing terms, frequency, pricing behaviors, and ledger postings across customer contracts.

+---------------------------------------------------------------------------------------------------+
|                             Billing Schedule Group Configuration                                  |
+---------------------------------------------------------------------------------------------------+
|  Field / Setting                     | Configuration Options / Defaults       | Accounting Impact |
|  :---------------------------------- | :------------------------------------- | :---------------- |
|  **Billing Frequency**               | Monthly, Quarterly, Semiannual, Annual | Default cadence   |
|  **Invoice Creation Method**         | Sales Order vs. Free Text Invoice      | Document created  |
|  **Billing Schedule Type**           | Standard vs. Milestone                 | Timing / Trigger  |
|  **Auto-Renew Contract**             | Yes / No (Default Renewal Term: Months)| Renewal automation|
|  **Price Escalation Rule**           | Percentage Uplift / CPI Indexation     | Automated increase|
|  **Default Deferral Schedule Group** | Link to RED Deferral Template          | Auto-creates RED  |
|  **Payment Terms**                   | Net 30, Net 60, Due Immediately        | Due date calc     |
+---------------------------------------------------------------------------------------------------+

[!NOTE] When creating a new customer billing schedule, selecting a Billing schedule group automatically populates the header and line defaults. However, authorized functional users can override individual line frequencies, pricing methods, or deferral flags directly on the schedule.


3. Billing Schedule Creation & Line Structure

Billing schedules (Subscription billing > Recurring contract billing > Billing schedules > All billing schedules) represent the core transactional contracts between an enterprise and its customers.

Billing Schedule Header Parameters

  • Customer Account: The bill-to and invoice customer.
  • Billing Schedule Group: The master template driving defaults.
  • Start Date & End Date: The active contract period (e.g., 2026-01-01 to 2026-12-31).
  • Billing Frequency: Master cadence for invoice generation across lines.
  • Number of Periods: Total billing occurrences calculated automatically from dates and frequency.
  • Invoice Option: Determines whether generating billing creates Sales Orders (supporting physical items, inventory reservation, and packing slips) or Free Text Invoices (service items only).

Billing Schedule Line Parameters

Each billing schedule can contain multiple line items with distinct pricing rules, start/end dates, and deferral behaviors:

  • Item Number: Inventory product, non-stock service item, or subscription charge item.
  • Start Date & End Date: Line-specific effective dates (allowing staggered add-on subscriptions).
  • Quantity & Unit Price: Base commercial terms.
  • Pricing Method: Determines how total line billing is calculated based on ordered or consumed quantities.
  • Revenue Deferral Toggle: When enabled, automatically generates an unearned revenue deferral schedule upon invoice posting.
  • Escalation Schedule: Configured percentage or CPI price increases applied upon renewal dates.

4. The Four Dynamic Pricing Models

Dynamics 365 Finance Subscription Billing provides four robust pricing models to support diverse commercial contracts:

+---------------------------------------------------------------------------------------------------------+
|                                 Subscription Billing Pricing Models Matrix                              |
+---------------------------------------------------------------------------------------------------------+
| Pricing Model | Calculation Formula / Engine Logic                   | Best-Fit Commercial Use Case     |
| :------------ | :--------------------------------------------------- | :------------------------------- |
| **Standard**  | `Total = Quantity × Unit Base Price`                 | Fixed unit recurring subscriptions|
|               | Fixed unit rate derived from Item Master or Trade Agr.| (e.g., $50/user/month for SaaS).  |
| ------------- | ---------------------------------------------------- | --------------------------------- |
| **Flat Tier** | `Total = Fixed Flat Amount for Applicable Bracket`   | Tiered package pricing            |
|               | Unit count determines tier; price is fixed flat sum.  | (e.g., Up to 50 users = $500 flat)|
| ------------- | ---------------------------------------------------- | --------------------------------- |
| **Volume Tier**| `Total = Total Quantity × Unit Rate of Highest Tier` | Bulk volume discount contracts    |
|               | Entire quantity is billed at the single lowest rate.  | (e.g., 150 units all @ $8/unit).  |
| ------------- | ---------------------------------------------------- | --------------------------------- |
| **Tiered**     | `Total = Sum of (Qty in Bracket × Bracket Unit Rate)` | Graduated / progressive pricing   |
| (Graduated)   | Units are billed progressively through each bracket.  | (e.g., First 100 @ $10, next @ $8)|
+---------------------------------------------------------------------------------------------------------+

Comprehensive Pricing Comparison Example

Consider an enterprise software customer consuming 150 user licenses under a contract defined with the following tier setup:

  • Tier 1 (1 to 100 units): Base Rate = $10.00 / unit (or Flat Tier Amount = $1,000.00)
  • Tier 2 (101 to 500 units): Base Rate = $8.00 / unit (or Flat Tier Amount = $3,500.00)
+---------------------------------------------------------------------------------------------------+
|                         Mathematical Comparison for 150 Units Consumed                            |
+---------------------------------------------------------------------------------------------------+
| Pricing Model | Step-by-Step Mathematical Calculation                 | Total Line Invoice Amount |
| :------------ | :---------------------------------------------------- | :------------------------ |
| **Standard**  | 150 units × $10.00 standard unit price                | **$1,500.00**             |
| **Flat Tier** | 150 falls into Tier 2 (101-500) -> Flat Fee applies   | **$3,500.00**             |
| **Volume Tier**| 150 falls into Tier 2 -> ALL 150 units @ $8.00/unit   | **$1,200.00**             |
| **Tiered**     | Tier 1: 100 units × $10.00 = $1,000.00                |                           |
| (Graduated)   | Tier 2:  50 units × $8.00  =   $400.00                | **$1,400.00**             |
+---------------------------------------------------------------------------------------------------+

[!IMPORTANT] Understanding the difference between Volume Tier (all units re-priced at the highest achieved tier rate) and Tiered / Graduated (units progressively priced across incremental brackets) is heavily tested on the MB-310 exam.


5. Milestone Billing Setup & Allocation

Milestone billing is utilized when billing triggers depend on the completion of agreed-upon deliverables or project phases rather than calendar intervals.

+---------------------------------------------------------------------------------------------------+
|                               Milestone Allocation Structure                                      |
+---------------------------------------------------------------------------------------------------+
| Milestone ID | Description                     | Allocation % | Milestone Amount | Billing Status |
| :----------- | :------------------------------ | :----------- | :--------------- | :------------- |
| **M1**       | Contract Execution & Design     | 20.00%       | $20,000.00       | Completed / Billed|
| **M2**       | System Prototype Delivery       | 30.00%       | $30,000.00       | Ready to Bill   |
| **M3**       | User Acceptance Testing (UAT)   | 30.00%       | $30,000.00       | Incomplete      |
| **M4**       | Final Go-Live & Handover        | 20.00%       | $20,000.00       | Incomplete      |
| **Total**    | **Contract Value: $100,000.00**  | **100.00%**  | **$100,000.00**  |                |
+---------------------------------------------------------------------------------------------------+

Milestone Configuration Workflow

  1. Set the Billing Schedule Type to Milestone on the schedule header or line.
  2. Apply a predefined Milestone Template or manually define milestone lines with milestone descriptions, percentage allocations, or fixed milestone amounts.
  3. The total contract line item amount is distributed across the milestone lines.
  4. When a project milestone is completed, an authorized user changes its status to Ready to bill.
  5. Running the invoice generation process generates an invoice only for the completed milestone amount.

6. Contract Lifecycle: Price Updates, Holds & Terminations

Automated Price Updates & Escalations

  • Manual or Batch Escalation: Price increases can be scheduled using fixed percentages or indexation tables (e.g., Consumer Price Index adjustments) via Subscription billing > Recurring contract billing > Periodic tasks > Update prices.
  • Renewal Escalations: Automatically apply a 3-5% price uplift upon contract anniversary dates.

Administrative Holds

  • When a customer account enters dispute or service is suspended, users can place a Hold on the entire billing schedule header or specific lines.
  • A Hold Reason Code is mandatory for audit tracking.
  • While on hold, the invoice generation engine skips the schedule lines, preventing erroneous billing until the hold is officially removed.

Early Terminations & Credit Rules

  • When a customer cancels a multi-year subscription mid-term, the Terminate action is executed (Subscription billing > Recurring contract billing > Billing schedules > Terminate).
  • The user specifies the Termination Date and selects the Refund / Credit Option:
    • No Refund / No Credit: Leaves previously posted invoices intact.
    • Prorated Credit: Calculates the unused portion of prepaid billing periods, creates a credit memo / sales credit note, and reverses the unearned balance on linked revenue deferral schedules.

7. Generating Invoices from Billing Schedules

Invoice generation is executed under Subscription billing > Recurring contract billing > Periodic tasks > Generate invoice.

+---------------------------------------------------------------------------------------------------------+
|                                 Invoice Generation Processing Engine                                    |
+---------------------------------------------------------------------------------------------------------+
|  Parameter                   | Selection / Functional Behavior                                          |
|  :-------------------------- | :----------------------------------------------------------------------- |
|  **To Date (Cutoff Date)**   | Evaluates all schedule lines where Next Billing Date <= Cutoff Date.     |
|  **Include Schedules on Hold**| Set to No (ensures disputed accounts are protected from billing).       |
|  **Generate Invoices By**    | Customer Account, Billing Schedule, or Invoice Customer.               |
|  **Posting Option**          | Create Sales Orders (Open), Post Packing Slip, or Post Invoice directly. |
+---------------------------------------------------------------------------------------------------------+

Operational Processing Sequence

  1. The batch engine queries active billing schedules where the Next billing date is on or before the specified To date.
  2. For standard lines, the system creates Sales Orders or Free Text Invoices based on the line's configuration.
  3. For milestone lines, only lines with status Ready to bill are processed.
  4. Upon successful invoice posting, the billing schedule line's Billed through date and Next billing date fields are updated.
  5. If Revenue Deferral is enabled, the invoice posting automatically triggers the creation of a Revenue Deferral Schedule in RED.
Loading diagram...
Recurring Contract Billing Schedule Lifecycle & Invoice Generation Workflow
Test Your Knowledge

A telecommunications company uses Dynamics 365 Finance Subscription Billing to invoice corporate customers for data platform subscriptions. A customer signs a contract for 250 user licenses. The pricing configuration is set to 'Volume Tier' with two tiers: Tier 1 (1 to 100 users) at $20/user/month, and Tier 2 (101 to 500 users) at $15/user/month. What is the total monthly invoice amount generated by the system?

A
B
C
D
Test Your Knowledge

A consulting organization provides enterprise ERP implementations billed across four project deliverables: Project Charter (15%), Solution Blueprint (25%), UAT Sign-off (35%), and Final Deployment (25%) on a $200,000 fixed-price contract. When executing the 'Generate invoice' periodic batch job, the system must only invoice the Solution Blueprint deliverable ($50,000). How should the Functional Consultant configure the billing schedule lines?

A
B
C
D
Test Your Knowledge

A customer with an annual billing schedule in Dynamics 365 Finance experiences a temporary service outage and initiates a billing dispute. The accounting manager must ensure that no recurring invoices or sales orders are generated for this customer during next week's automated month-end billing run, while preserving all schedule line details for future resumption. Which action should be performed?

A
B
C
D