---
id: object/page/8006
type: object
title: Page 8006 "Contract Renewal Selection"
summary: Page 8006 "Contract Renewal Selection" in Subscription Billing (Microsoft.SubscriptionBilling). 2 public procedures, 4 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: c8015f0c52d33aada4fcfbbd458d324b3e79c2c9f8ad7841c7a90bd144a0b4d7
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Subscription%20Billing/app/Contract%20Renewal/Pages/ContractRenewalSelection.Page.al
    title: src/Apps/W1/Subscription Billing/app/Contract Renewal/Pages/ContractRenewalSelection.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/10276
object_type: page
object_id: 8006
name: Contract Renewal Selection
caption: Select Subscription Contract Lines for Renewal
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: []
counts:
  fields: 0
  procedures: 13
  events: 4
  subscribers: 0
  controls: 26
  actions: 0
relations:
  out: 1
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Page 8006 "Contract Renewal Selection"

> Page 8006 "Contract Renewal Selection" in Subscription Billing (Microsoft.SubscriptionBilling). 2 public procedures, 4 events. Introduced in BC29, still in BC30.

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

## Properties

| Property | Value |
|---|---|
| Caption | Select Subscription Contract Lines for Renewal |
| SourceTable | Cust. Sub. Contract Line |
| PageType | Worksheet |
| UsageCategory | None |
| 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 |
|---|---|---|---|
| Options | AddVendorServicesCtrl | `AddVendorServices` | Selecting this Option will also select and add the related Vendor Subscription Contract Lines. |
| ContractLines | Contract Line Type | [Contract Line Type](../table/8062.md#fields) | Specifies the contract line type. |
|  | Subscription Line Start Date | `TempServiceCommitment."Subscription Line Start Date"` | Specifies the date from which the Subscription Line is valid and will be invoiced. |
|  | Subscription Line End Date | `TempServiceCommitment."Subscription Line End Date"` | Specifies the date up to which the Subscription Line is valid. |
|  | Renewal Term | `RenewalTerm` | Specifies a date formula by which the Contract Line is renewed and the end of the Contract Line is extended. It is automatically preset with the initial term of the Subscription Line and can be changed manually. |
|  | Service Object No. | [Subscription Header No.](../table/8062.md#fields) | Specifies the number of the Subscription. |
|  | Serial No. | `ServiceObject."Serial No."` | Specifies the Serial No. assigned to the Subscription. |
|  | Service Object Description | [Subscription Description](../table/8062.md#fields) | Specifies a description of the Subscription. |
|  | Customer Reference | `ServiceObject."Customer Reference"` | Specifies the reference by which the customer identifies the Subscription. |
|  | Service Commitment Description | [Subscription Line Description](../table/8062.md#fields) | Specifies the description of the Subscription Line. |
|  | Service Object Quantity | [Service Object Quantity](../table/8062.md#fields) | Specifies the number of units of Subscription. |
|  | Price | `TempServiceCommitment.Price` | Specifies the price of the Subscription Line with quantity of 1 in the billing period. The price is calculated from Base Price and Base Price %. |
|  | Discount % | `TempServiceCommitment."Discount %"` | Specifies the percent of the discount for the Subscription Line. |
|  | Discount Amount | `TempServiceCommitment."Discount Amount"` | Specifies the amount of the discount for the Subscription Line. |
|  | Amount | `TempServiceCommitment.Amount` | Specifies the amount for the Subscription Line including discount. |
|  | Price (LCY) | `TempServiceCommitment."Price (LCY)"` | Specifies the price of the Subscription Line in client currency related to quantity of 1 in the billing period. The price is calculated from Base Price and Base Price %. |
|  | Discount Amount (LCY) | `TempServiceCommitment."Discount Amount (LCY)"` | Specifies the discount amount in client currency that is granted on the Subscription Line. |
|  | Amount (LCY) | `TempServiceCommitment."Amount (LCY)"` | Specifies the amount in client currency for the Subscription Line including discount. |
|  | Currency Code | `TempServiceCommitment."Currency Code"` | Specifies the currency of amounts in the Subscription Line. |
|  | Next Billing Date | `TempServiceCommitment."Next Billing Date"` | Specifies the date of the next billing possible. |
|  | Calculation Base Amount | `TempServiceCommitment."Calculation Base Amount"` | Specifies the base amount from which the price will be calculated. |
|  | Calculation Base % | `TempServiceCommitment."Calculation Base %"` | Specifies the percent at which the price of the Subscription Line will be calculated. 100% means that the price corresponds to the Base Price. |
|  | Term Until | `TempServiceCommitment."Term Until"` | Specifies the earliest regular date for the end of the Subscription Line, taking into account the initial term, extension term and a notice period. An initial term of 24 months results in a fixed term of 2 years. An extension period of 12 months postpones this date by 12 months. |
|  | Initial Term | `TempServiceCommitment."Initial Term"` | Specifies a date formula for calculating the minimum term of the Subscription Line. If the minimum term is filled and no extension term is entered, the end of Subscription Line is automatically set to the end of the initial term. |
|  | Planned Serv. Comm. exists | [Planned Sub. Line exists](../table/8062.md#fields) | Specifies if a planned Renewal exists for the Subscription Line. |
|  | Line verification | `LineCheckText` | Specifies the result of a preliminary check to see if the line is valid for a Contract Renewal. |

## Events published

- `OnTransferChangedValuesFromBufferToSubscriptionLine(var SubscriptionLine: Record "Subscription Line"; var SubscriptionLineBuffer: Record "Subscription Line" temporary)` (integration)
- `OnAfterInitTempSubscriptionLine(var TempSubscriptionLine: Record "Subscription Line" temporary)` (integration)
- `OnAfterCheckContractLine(var CustSubContractLine: Record "Cust. Sub. Contract Line")` (integration)
- `OnValidateRenewalTermOnBeforeCurrPageUpdate(var CustSubContractLine: Record "Cust. Sub. Contract Line"; var TempSubscriptionLine: Record "Subscription Line" temporary; RenewalTerm: DateFormula)` (integration)

## Procedures

- `SelectLinesWithRenewalTerm(var CustomerContractLine: Record "Cust. Sub. Contract Line")`
- `GetSalesQuoteCreated(): Boolean`

Plus 7 local procedures.

## Triggers

OnOpenPage, OnAfterGetRecord, OnQueryClosePage

## Relations

- source table [Table 8062 "Cust. Sub. Contract Line"](../table/8062.md)

## Recent changes

- 2026-08-18 [#10276 [master] Renewal Term field on the Create Contract Renewal Quote page does not accept the entered value such as 12M](../../changes/bcapps/10276.md) (main, BC30, fix)

## Across versions

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

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: "Contract Renewal Selection")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
