Trends

SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

🧩 Introduction

Welcome to SB506 in our Subscription Billing series! In the previous article SB505, we covered the modular architecture of Subscription Billing in Dynamics 365 Finance. Now, we’re diving straight into Recurring Contract Billing (RCB)—the heart of any subscription-based setup.

If your company offers SaaS, support retainers, telecom plans, or monthly rentals, this module is where your billing engine lives. And to make this article practical and relatable, we’ll focus on a real-world CRM SaaS use case, using actual item numbers from our catalog.


⚙️ What is Recurring Contract Billing?

Recurring Contract Billing (RCB) is a powerful engine in D365 Finance that:

  • Automates recurring billing (monthly, quarterly, yearly)
  • Supports usage, milestone, and flat-fee items
  • Integrates with revenue deferrals and renewal cycles
  • Generates invoices (sales order or free text) per billing schedule

Think of it as your subscription calendar and invoice machine. You define what’s billed, when, and how—and D365 does the rest.


🏁 Prerequisites

Before we begin setup, ensure the following:

🔧 Features & Settings

  • Subscription Billing and Recurring Contract Billing are enabled in Feature Management
image-22 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance
image-23 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance
image-24 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance
  • The legacy “Revenue Recognition” feature is disabled  SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance
  • Number sequences are defined for Billing Schedule IDs  SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance  SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance
  • Relevant products (services/items) are released to your legal entity  SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

👤 User Access

  • You have access to:
    Subscription billing > Recurring contract billing workspace

🧠 Product Items Used in This Article

Product NumberProduct NameType
SBX-CRM-M01CRM Subscription – MonthlyService
SBX-IMP-ONEOnboarding Setup FeeService
SBX-SUPP-MMonthly Tech SupportService
SBX-RNW-ANN1Annual CRM Subscription RenewalService

These items will be used throughout this article as we build a full billing schedule for a SaaS CRM client.


🧩 Scenario: Billing Setup for a SaaS CRM Subscription

Let’s imagine your company sells a monthly CRM SaaS subscription. The offering includes:

  • A core monthly CRM license (SBX-CRM-M01)
  • A one-time onboarding fee (SBX-IMP-ONE)
  • Optional tech support (SBX-SUPP-M)
  • Automatic annual renewal (SBX-RNW-ANN1)

Our client “ABC Ltd” signs up on April 1, 2025, for a 12-month subscription.


🔧 Step 1: Configure Billing Parameters

📍 Path: Subscription billing > Recurring contract billing > Setup > Recurring contract billing parameters

Key settings:

FieldValuePurpose
Align to monthYesAlign billing to calendar month
Prorate partial periodsYesAdjust billing for partial start months
Proration methodDailyMore precise for mid-month contracts
Default invoice typeSales orderEnsures standard sales invoicing
Align deferral to billingYesRequired if using deferrals
Use trade agreementsYesPull pricing from price list if needed

Note – We will change default billing schedule group during billing schedule creation

image-25 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

🧠 Step 2: Create a Billing Schedule Group (Template)

📍 Path: Subscription billing > Setup > Billing schedule groups

image-26 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

💡 This group can be reused for all monthly CRM customers.


🧾 Step 3: Create the Billing Schedule

📍 Path: Subscription billing > Recurring contract billing > Billing schedules > Active Billing Schedules

image-27 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

You’ve now created a blank schedule tied to a customer and template.

image-29 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

➕ Step 4: Add Billing Lines

🔹 Line 1 – CRM Subscription (Monthly)

  • Item: SBX-CRM-M01
  • Item type: Standard
  • Quantity: 1
  • Unit price: 500
  • Billing frequency: Monthly

Note – Make sure you populate Site under Line details > Products > storage dimensions > Site

Site (and often Warehouse) is part of the inventory dimension group, even for subscription items — because Subscription Billing uses the sales order framework, which is tightly integrated with inventory and logistics.

image-28 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

🧾 This creates 12 billing events of £500 each.  SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance


🔹 Line 2 – Onboarding Setup (One-Time)

  • Item: SBX-IMP-ONE
  • Item type: Standard
  • Unit price: 1200
  • Quantity: 1
  • Billing frequency: One-time (limit to first period)
image-30 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

💡 This appears on the first invoice only.  SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance


🔹 Line 3 – Optional Tech Support

  • Item: SBX-SUPP-M
  • Unit price: 150
  • Billing frequency: Monthly
image-31 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

🛠️ Add only if customer subscribes to support.


🔹 Line 4 – CRM Annual Renewal

Leave this out for now. Since auto-renewal is enabled, D365 will generate a renewal line using item SBX-RNW-ANN1 when the last period is invoiced.


🔍 Step 5: Review Billing Details

Click View billing details per line to preview each monthly billing event. You can adjust start dates, skip periods, or override prices here if needed.


🧾 Step 6: Generate Invoices

📍 Path: Subscription billing > Periodic tasks > Generate invoice

image-32 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

Set:

  • Start Date: 01-Apr-2025
  • End Date: 30-Apr-2025
  • Consolidate by: Customer
  • Posting Option: Post Invoice Automatically
image-35 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance
image-33 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance
image-34 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

🎯 Output:

  • Verify billing
image-36 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance
image-39 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance
  • Verify Voucher Transactions
image-36 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

🔁 Step 7: Automate Monthly Billing

📍 Use batch job: Subscription Billing > Recurring Contract Billing > Periodic Tasks > Generate invoice batch processing

🔹 Invoice Batch Parameters

FieldValueWhy
Filter byStart dateEnsures billing lines that start on or before today are included.
Add the number of days or months✅ EnabledNeeded to dynamically move the date window forward each month.
Select by days or monthsMonthsSo the job calculates based on whole months, not daily offsets.
Number of days or months0Ensures only current month’s billing lines are selected.
Exclude zero consumptionYesKeeps invoices clean; avoids zero-quantity usage lines.
Consolidate by customerYesCombines lines for the same customer into a single invoice.
Consolidate all periodsNoPrevents catching previous or future periods — keeps it month-specific.
Posting optionPost invoice automaticallyTo fully automate invoice creation and posting.
Don’t print child itemYesCleaner invoice layout if using bundles.
Records to includeSubscription Billing NumberTo run globally, do not set specific billing numbers or lines
image-38 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance
image-37 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

🔄 Bonus: Prorated Billing Example

If a customer starts mid-month (e.g. April 10), proration will adjust the first period’s invoice to reflect a partial amount. This ensures fair billing for partial months.

image-40 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

Please note that a different billing schedule is being used for this explanation.

Billing Schedule Details:

  • Start Date: 10-Apr-2025
  • End Date: 31-Mar-2026
  • Flat Monthly Rate: £500
  • Invoice Run Cut-off (End Date): 30-Apr-2025
  • Resulting Charge: £350 (not full £500)
image-42 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

Calculation

image-38 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

🔁 Bonus: Auto Renewal

image-45 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

Fast forward in the future and I generated invoices for rest of 11months periods.

image-43 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

Auto renewed

image-41 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

Billing details line added too.

image-44 SB506 – Setting Up Recurring Contract Billing for a SaaS CRM Model in D365 Finance

✅ Summary

You’ve just built a real-life recurring billing model in D365 Finance using the CRM SaaS scenario:

LineItem NoDescriptionFrequencyAmount
1SBX-CRM-M01CRM SaaS SubscriptionMonthly£500
2SBX-IMP-ONEOnboarding Setup FeeOne-time£1200
3SBX-SUPP-MMonthly Tech SupportMonthly£150
4SBX-RNW-ANN1Auto Renewal (Generated)Annual£6000

🔜 What’s Next?

In SB507, we’ll explore the three item types (Standard, Usage, and Milestone) in detail using this same SaaS CRM model. You’ll also meet the SBX-CONS-API01 item to demonstrate usage-based billing for API calls.

Expand Your Knowledge: See More Subscription Billing Blogs

Share this content:

I am Yogeshkumar Patel, a Microsoft Certified Solution Architect and ERP Systems Manager with expertise in Dynamics 365 Finance & Supply Chain, Power Platform, AI, and Azure solutions. With over six years of experience, I have successfully led enterprise-level ERP implementations, AI-driven automation projects, and cloud migrations to optimise business operations. Holding a Master’s degree from the University of Bedfordshire, I specialise in integrating AI with business processes, streamlining supply chains, and enhancing decision-making with Power BI and automation workflows. Passionate about knowledge sharing and innovation, I created AI-Powered365 to provide practical insights and solutions for businesses and professionals navigating digital transformation. 📩 Let’s Connect: LinkedIn | Email 🚀

Post Comment

Table of Content