Subscription renewal billing cycles not triggering automatic invoices in D365 Finance

We’re experiencing issues with our subscription billing cycles in D365 Finance 10.0.41. Our monthly subscription renewals are not generating invoices automatically as configured. The billing cycle configuration shows active status, but the batch job for renewal processing isn’t creating the expected invoice records.

I’ve verified the renewal date calculations in the subscription master records and they appear correct. The subscription status validation shows all records as ‘Active’ with proper end dates. However, when the renewal date arrives, nothing happens - no invoices, no errors in the batch job log.

Our batch job is scheduled to run daily at 02:00 AM, but even manual execution doesn’t trigger the invoice generation. Has anyone encountered similar issues with subscription renewal automation?

Have you checked the subscription fee transactions table? Sometimes the renewal process creates the fee records but fails at the invoice proposal stage. Query the SubscriptionFee table filtered by your subscription IDs and see if records exist with ‘Not invoiced’ status. If they’re there, the problem is downstream in the invoicing workflow, not in the renewal trigger itself.

Thanks for the suggestion. I reviewed the billing rules and they look correct - frequency is set to Monthly, renewal offset is 0 days. The subscription periods are configured properly with start/end dates. Still not generating invoices though. Could this be related to number sequences or invoice proposal settings?

Check your revenue recognition setup as well. In 10.0.41, there’s a dependency between subscription renewals and revenue schedules. If your revenue recognition configuration has validation errors or incomplete schedule templates, it can block the entire renewal process silently. Navigate to Revenue recognition > Setup > Revenue schedules and validate your templates are active and properly configured for subscription billing.

I encountered this exact scenario two weeks ago. The root cause is usually a combination of configuration issues across multiple areas. Let me walk you through the complete resolution.

Billing Cycle Configuration: First, verify Subscription management > Setup > Subscription groups. Ensure your subscription group has ‘Auto-renew’ enabled and the billing cycle template is correctly assigned. The renewal offset days must match your business requirements (0 for same-day renewal).

Batch Job Scheduling: The critical issue is often in the batch job parameters. Navigate to System administration > Inquiries > Batch jobs > Subscription renewal processing. The job must have these parameters:


ProcessDate: Current date or blank (for system date)
IncludeExpired: No
CreateInvoiceProposal: Yes

Ensure the recurrence is set to run BEFORE your business day starts (2 AM is good) and that it’s not in a ‘Waiting’ or ‘Withhold’ status.

Renewal Date Calculations: Go to Subscription management > All subscriptions and select a subscription that should renew. Click ‘Subscription fees’ and verify:

  • Period end date matches expected renewal date
  • Next billing date is calculated correctly
  • Fee status is ‘Approved’ (not ‘Draft’ or ‘On hold’)

If the next billing date is NULL or incorrect, recalculate it using ‘Functions > Calculate subscription fees’ from the subscription form.

Subscription Status Validation: This is often overlooked. Open Accounts receivable > Setup > Accounts receivable parameters > Subscription tab. Verify:

  • ‘Check subscription status before renewal’ is enabled
  • Credit limit validation is set appropriately (can block renewals)
  • Invoice account validation is configured

Additionally, check each subscription’s customer account for:

  • Active credit status (not on hold)
  • Valid invoice address
  • No blocking flags in customer master

Testing the Fix: After configuration corrections, don’t wait for the scheduled batch. Run the renewal batch job manually with a specific date range covering your test subscriptions. Monitor the Infolog for any warnings about skipped subscriptions. Check the Invoice proposals workspace to confirm invoices are generated.

If you’re still having issues after these checks, enable trace logging for the SalesSubscriptionProcessRenewals class and review the detailed execution log for specific validation failures.