---
id: object/page/8067
type: object
title: Page 8067 "Recurring Billing"
summary: Page 8067 "Recurring Billing" in Subscription Billing (Microsoft.SubscriptionBilling). 1 public procedures, 1 events. Introduced in BC29, still in BC30.
tier: official
language: en
tags:
  - page
  - subscription billing
versions:
  introduced: "29"
  last_changed: null
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 0d6947b3093f0989795ae69dc7d697eb676091a64579589e15297423e75b6d5c
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Subscription%20Billing/app/Billing/Pages/RecurringBilling.Page.al
    title: src/Apps/W1/Subscription Billing/app/Billing/Pages/RecurringBilling.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/SRB/billing-automation
    title: Billing automation
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/SRB/examples
    title: Examples for subscription billing
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/SRB/recurring-billing
    title: Recurring billing
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/SRB/welcome
    title: Welcome to subscription billing
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/SRB/working-with-contracts/contract-deferrals-per-contract-line
    title: Deferrals per contract line
    date: null
    commit: null
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/SRB/billing-automation
    - https://learn.microsoft.com/dynamics365/business-central/SRB/examples
    - https://learn.microsoft.com/dynamics365/business-central/SRB/recurring-billing
    - https://learn.microsoft.com/dynamics365/business-central/SRB/welcome
    - https://learn.microsoft.com/dynamics365/business-central/SRB/working-with-contracts/contract-deferrals-per-contract-line
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/sales/subscription-billing
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/8553
object_type: page
object_id: 8067
name: Recurring Billing
namespace: Microsoft.SubscriptionBilling
app: Subscription Billing
extends: null
first_version: "29"
last_version: "30"
present_in:
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids:
  - docs/learn-smb-docs/business-central/SRB/billing-automation.md
  - docs/learn-smb-docs/business-central/SRB/examples.md
  - docs/learn-smb-docs/business-central/SRB/recurring-billing.md
  - docs/learn-smb-docs/business-central/SRB/welcome.md
  - docs/learn-smb-docs/business-central/SRB/working-with-contracts/contract-deferrals-per-contract-line.md
counts:
  fields: 0
  procedures: 15
  events: 1
  subscribers: 0
  controls: 27
  actions: 12
relations:
  out: 1
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Page 8067 "Recurring Billing"

> Page 8067 "Recurring Billing" in Subscription Billing (Microsoft.SubscriptionBilling). 1 public procedures, 1 events. Introduced in BC29, still in BC30.

Subscription Billing · Microsoft.SubscriptionBilling · BC29-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Subscription%20Billing/app/Billing/Pages/RecurringBilling.Page.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Recurring Billing |
| SourceTable | Billing Line |
| PageType | Worksheet |
| UsageCategory | Tasks |
| ApplicationArea | All |

## Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control's own, else the bound field's (marked).

| Group | Control | Shows | ToolTip |
|---|---|---|---|
| Filter | Billing Template | `BillingTemplate.Code` | Specifies the name of the template that is used to calculate billable Subscription Lines. |
|  | Billing Date | `BillingDate` | Specifies the date up to which the billable Subscription Lines will be taken into account. |
|  | Billing to Date | `BillingToDate` | Specifies the optional date up to which the billable Subscription Lines should be charged. |
| BillingLines | Partner No. | [Partner No.](../table/8061.md#fields) | Specifies the number of the partner who will receive the contract components and be billed by default. |
|  | Partner Name | `PartnerNameTxt` | Specifies the name of the partner who will receive the contract components and be billed by default. |
|  | Contract No. | [Subscription Contract No.](../table/8061.md#fields) | Specifies the number of the Subscription Contract. |
|  | Subscription Contract Description | `ContractDescriptionTxt` | Specifies the description of the Subscription Contract. |
|  | Billing from | [Billing from](../table/8061.md#fields) | Specifies the date from which the Subscription Line is billed. |
|  | Billing to | [Billing to](../table/8061.md#fields) | Specifies the date to which the Subscription Line is billed. |
|  | Billing Reference Date Changed | [Billing Reference Date Changed](../table/8061.md#fields) | Specifies whether the billing period has been adjusted manually. This is taken into account by the period calculation and may have an effect on the creation of future billing proposals. <small>from the table field</small> |
|  | Service Amount | [Amount](../table/8061.md#fields) | Specifies the amount for the Subscription Line including discount. |
|  | Unit Cost (LCY) | [Unit Cost (LCY)](../table/8061.md#fields) | Specifies the unit cost for the billing period. |
|  | Unit Price | [Unit Price](../table/8061.md#fields) | Specifies the Unit Price for the subscription line billing period without discount. |
|  | Service Object Quantity | [Service Object Quantity](../table/8061.md#fields) | Specifies the quantity from the Subscription. |
|  | Discount % | [Discount %](../table/8061.md#fields) | Specifies the Discount % for the subscription line billing period. |
|  | Service Commitment Description | [Subscription Line Description](../table/8061.md#fields) | Specifies the description of the Subscription Line. |
|  | Billing Rhythm | [Billing Rhythm](../table/8061.md#fields) | Specifies the Dateformula for rhythm in which the Subscription Line is invoiced. Using a Dateformula rhythm can be, for example, a monthly, a quarterly or a yearly invoicing. |
|  | Update Required | [Update Required](../table/8061.md#fields) | Specifies whether the associated Subscription Line has been changed. The "Create Billing Proposal" function must be called up again before the billing document is created. |
|  | Document Type | [Document Type](../table/8061.md#fields) | Specifies the document type of the document created for posting. |
|  | Document No. | [Document No.](../table/8061.md#fields) | Specifies the document number of the document created for posting. |
|  | Service Start Date | [Subscription Line Start Date](../table/8061.md#fields) | Specifies the date from which the Subscription Line is valid and will be invoiced. |
|  | Service End Date | [Subscription Line End Date](../table/8061.md#fields) | Specifies the date up to which the Subscription Line is valid. |
|  | Service Object No. | [Subscription Header No.](../table/8061.md#fields) | Specifies the number of the Subscription. |
|  | Service Object Description | [Subscription Description](../table/8061.md#fields) | Specifies a description of the Subscription. |
|  | Billing Template Code | [Billing Template Code](../table/8061.md#fields) | Specifies the template code. |
|  | Discount | [Discount](../table/8061.md#fields) | Specifies whether the Subscription Line is used as a basis for periodic invoicing or discounts. |
|  | User ID | [User ID](../table/8061.md#fields) | Specifies the user who created the line. |

## Actions

| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Processing | Create Billing Proposal | Suggests the Subscription Lines to be billed based on the selected billing template. The billing proposal can be supplemented by changing the billing template and calling it up again. |  |
|  | Create Documents | The action creates contract invoices or credit memos for the billing lines displayed on this page. |  |
|  | Usage Data | Shows the related usage data. |  |
|  | Clear Billing Proposal | Deletes the current billing proposal in whole or in part. |  |
|  | Delete Documents | Deletes all contract invoices und credit memos. |  |
|  | Change Billing To Date | This can be used to change the end of billing. |  |
|  | Delete Billing Line | This can be used to delete selected billing lines. |  |
|  | Refresh | Refreshes the current view. |  |
| Navigation | Customer/Vendor | Opens the Customer/Vendor card. |  |
|  | Contract | Opens the Contract card. |  |
|  | Subscription | Opens the Subscription card. |  |
|  | Contract Line Dimensions | View or edit dimensions, such as area, project, or department, that you can assign to sales and purchase documents to distribute costs and analyze transaction history. |  |

## Events published

- `OnAfterApplyBillingTemplateFilter(var SelectedBillingTemplate: Record "Billing Template")` (integration)

## Procedures

- `InitTempTable()`

Plus 13 local procedures.

## Triggers

OnOpenPage, OnAfterGetRecord, OnAfterGetCurrRecord

## Relations

- source table [Table 8061 "Billing Line"](../table/8061.md)

## Recent changes

- 2026-07-30 [#8553 [Bug][SubscriptionBilling]: Performance: Billing document creation does not scale to large datasets (4M+ subscription lines)](../../changes/bcapps/8553.md) (main, BC30, performance)

## Across versions

- Present in: BC29-30
- Changed (declaration) in: none

## Documented on Microsoft Learn

- [Billing automation](https://learn.microsoft.com/dynamics365/business-central/SRB/billing-automation)
- [Examples for subscription billing](https://learn.microsoft.com/dynamics365/business-central/SRB/examples)
- [Recurring billing](https://learn.microsoft.com/dynamics365/business-central/SRB/recurring-billing)
- [Welcome to subscription billing](https://learn.microsoft.com/dynamics365/business-central/SRB/welcome)
- [Deferrals per contract line](https://learn.microsoft.com/dynamics365/business-central/SRB/working-with-contracts/contract-deferrals-per-contract-line)

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "page", object_name: "Recurring Billing")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
