---
id: object/table/8002
type: object
title: Table 8002 "Planned Subscription Line"
summary: Table 8002 "Planned Subscription Line" in Subscription Billing (Microsoft.SubscriptionBilling). 48 fields. Introduced in BC29, still in BC30.
tier: official
language: en
tags:
  - table
  - 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: b4a77f74cd0f09e5c373e67ac1bf2c97e168bb6845d344b219ac3fa972a04d79
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Subscription%20Billing/app/Contract%20Renewal/Tables/PlannedSubscriptionLine.Table.al
    title: src/Apps/W1/Subscription Billing/app/Contract Renewal/Tables/PlannedSubscriptionLine.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/SRB/purchases
    - https://learn.microsoft.com/dynamics365/business-central/SRB/working-with-contracts/contracts-services-mgmt
    - https://learn.microsoft.com/dynamics365/business-central/SRB/working-with-contracts/service-commitment-cancellation
    - https://learn.microsoft.com/dynamics365/business-central/SRB/working-with-contracts/so-service-commitments
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/sales/subscription-billing
    - topic/business-central/business-functionality/sales/subscription-billing/contracts
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 8002
name: Planned Subscription Line
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: 48
  procedures: 4
  events: 0
  subscribers: 0
relations:
  out: 17
  referenced_by: 5
  pages: 1
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Table 8002 "Planned Subscription Line"

> Table 8002 "Planned Subscription Line" in Subscription Billing (Microsoft.SubscriptionBilling). 48 fields. 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/Contract%20Renewal/Tables/PlannedSubscriptionLine.Table.al) · facts from BC29

Learn documents this table through its pages: [Page 8004 "Planned Service Commitments"](../page/8004.md) (4 Learn pages).

## Properties

| Property | Value |
|---|---|
| Caption | Planned Subscription Line |
| DataClassification | CustomerContent |
| LookupPageId | Planned Service Commitments |
| DrillDownPageId | Planned Service Commitments |

## Fields

Explanation: the field's ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.

| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Subscription Header No. | Code[20] | Specifies the number of the Subscription. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> | TableRelation [Table 8057 "Subscription Header"](../table/8057.md) (Subscription Header) |
| 2 | Entry No. | Integer | Specifies the entry number of the Subscription Line. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 3 | Subscription Package Code | Code[20] | Specifies the code of the Subscription Package. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> | TableRelation [Table 8055 "Subscription Package"](../table/8055.md) (Subscription Package); not editable; NotBlank |
| 4 | Template | Code[20] | Specifies the code of the Subscription Package Line Template. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> | TableRelation [Table 8054 "Sub. Package Line Template"](../table/8054.md) (Sub. Package Line Template); not editable; NotBlank |
| 5 | Description | Text[100] | Specifies the description of the Subscription Line. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 6 | Subscription Line Start Date | Date | Specifies the date from which the Subscription Line is valid and will be invoiced. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 7 | Subscription Line End Date | Date | Specifies the date up to which the Subscription Line is valid. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 8 | Next Billing Date | Date | Specifies the date of the next billing possible. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> | not editable |
| 9 | Calculation Base Amount | Decimal | Specifies the base amount from which the price will be calculated. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 10 | Calculation Base % | Decimal | Specifies the percent at which the price of the Subscription Line will be calculated. 100% means that the price corresponds to the Base Price. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 11 | Price | Decimal | 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 %. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> | not editable |
| 12 | Discount % | Decimal | Specifies the percent of the discount for the Subscription Line. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 13 | Discount Amount | Decimal | Specifies the amount of the discount for the Subscription Line. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 14 | Amount | Decimal | Specifies the amount for the Subscription Line including discount. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 15 | Billing Base Period | DateFormula | Specifies for which period the Amount is valid. If you enter 1M here, a period of one month, or 12M, a period of 1 year, to which Amount refers to. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 16 | Invoicing via | Enum "Invoicing Via" | Specifies whether the Subscription Line will be invoiced using contract or sales document. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> | enum [Enum 8051 "Invoicing Via"](../enum/8051.md) |
| 17 | Invoicing Item No. | Code[20] | — | TableRelation Item."No." where("Subscription Option" = const("Invoicing Item")) |
| 18 | Partner | Enum "Service Partner" | Specifies whether the Subscription Line will will be calculated as a credit (Purchase Invoice) or as debit (Sales Invoice). <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> | enum [Enum 8053 "Service Partner"](../enum/8053.md) |
| 19 | Subscription Contract No. | Code[20] | Specifies in which contract the Subscription Line will be calculated. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> | TableRelation [Table 8052 "Customer Subscription Contract"](../table/8052.md), [Table 8063 "Vendor Subscription Contract"](../table/8063.md) (if (Partner = const(Customer)) "Customer Subscription Contract" where("Sell-to Customer No." = field("Subscription Customer No.")) else if (Partner = const(Vendor)) "Vendor Subscription Contract") |
| 20 | Notice Period | DateFormula | Specifies a date formula for the lead time that a notice must have before the Subscription Line ends. The rhythm of the update of "Notice possible to" and "Term Until" is determined using the extension term. For example, with an extension period of 1M, the notice period is repeatedly postponed by on... <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 21 | Initial Term | DateFormula | 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. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 22 | Extension Term | DateFormula | Specifies a date formula for automatic renewal after initial term and the rhythm of the update of "Notice possible to" and "Term Until". <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 23 | Billing Rhythm | DateFormula | Specifies the Dateformula for the rhytm in which the Subscription Line is invoiced. Using a Dateformula rhythm can be, for example, a monthly, a quarterly or a yearly invoicing. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 24 | Cancellation Possible Until | Date | Specifies the last date for a timely termination. The date is determined by the initial term, extension term and a notice period. An initial term of 12 months and a 3-month notice period means that the deadline for a notice of termination is after 9 months. An extension period of 12 months postpones... <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 25 | Term Until | Date | 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. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 26 | Subscription Customer No. | Code[20] | — | FlowField: lookup("Subscription Header"."End-User Customer No." where("No." = field("Subscription Header No."))); not editable |
| 27 | Subscription Contract Line No. | Integer | — | TableRelation [Table 8062 "Cust. Sub. Contract Line"](../table/8062.md), [Table 8065 "Vend. Sub. Contract Line"](../table/8065.md) (if (Partner = const(Customer)) "Cust. Sub. Contract Line"."Line No." where("Subscription Contract No." = field("Subscription Contract No.")) else if (Partner = const(Vendor)) "Vend. Sub. Contract Line"."Line No." where("Subscription Contract No." = field("Subscription Contract No."))) |
| 42 | Customer Price Group | Code[10] | — | TableRelation [Table 6 "Customer Price Group"](../table/6.md) (Customer Price Group); not editable |
| 29 | Shortcut Dimension 1 Code | Code[20] | — | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(1), Blocked = const(false))) |
| 30 | Shortcut Dimension 2 Code | Code[20] | — | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(2), Blocked = const(false))) |
| 31 | Price (LCY) | Decimal | 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 %. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> | not editable |
| 32 | Discount Amount (LCY) | Decimal | Specifies the discount amount in client currency that is granted on the Subscription Line. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> | not editable |
| 33 | Service Amount (LCY) | Decimal | Specifies the amount in client currency for the Subscription Line including discount. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> | not editable |
| 34 | Currency Code | Code[10] | Specifies the currency of amounts in the Subscription Line. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> | TableRelation [Table 4 "Currency"](../table/4.md); not editable |
| 35 | Currency Factor | Decimal | Specifies the currency factor valid for the Subscription Line, which is used to convert amounts to the client currency. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> | not editable |
| 36 | Currency Factor Date | Date | Specifies the date when the currency factor was last updated. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> | not editable |
| 37 | Calculation Base Amount (LCY) | Decimal | Specifies the basis on which the price is calculated in client currency. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> | not editable |
| 50 | Next Price Update | Date | Specifies the date of the next price update. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 53 | Type Of Update | Enum "Type Of Price Update" | Specifies, whether the Planned Subscription Line has been created by a Price Update. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> | enum [Enum 8004 "Type Of Price Update"](../enum/8004.md) |
| 54 | Perform Update On | Date | Specifies the date, the price update will take affect if no date is specified in the contract line. If empty the "Next Price Update" of the contract line is used. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 55 | Price Binding Period | DateFormula | Specifies the period the price will not be changed after the price update. It sets a new "Next Price Update" in the contract line after the price update has been performed. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 100 | Unit Cost | Decimal | — | not editable |
| 101 | Unit Cost (LCY) | Decimal | Specifies the unit cost of the item. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> |  |
| 480 | Dimension Set ID | Integer | — | TableRelation [Table 480 "Dimension Set Entry"](../table/480.md) (Dimension Set Entry); not editable |
| 1000 | Sales Quote No. | Code[20] | Specifies the Document No. of the Sales Quote from which the record originates. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> | TableRelation [Table 36 "Sales Header"](../table/36.md) ("Sales Header"."No." where("No." = field("Sales Quote No."))); not editable |
| 1001 | Sales Quote Line No. | Integer | Specifies the Line No. of the Sales Quote from which the record originates. <small>via [Page 8004 "Planned Service Commitments"](../page/8004.md)</small> | not editable |
| 1002 | Sales Order No. | Code[20] | — | TableRelation [Table 36 "Sales Header"](../table/36.md) ("Sales Header"."No." where("Document Type" = filter(Order), "No." = field("Sales Order No."))); not editable |
| 1003 | Sales Order Line No. | Integer | — | not editable |

## Keys

- PK: Entry No. (clustered)
- Contract: Subscription Contract No., Subscription Contract Line No.
- Quote: Sales Quote No., Sales Quote Line No.

## Procedures

4 local procedures, no public ones.

## Relations

- drill-down page [Page 8004 "Planned Service Commitments"](../page/8004.md)
- lookup page [Page 8004 "Planned Service Commitments"](../page/8004.md)
- Shortcut Dimension 1 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Shortcut Dimension 2 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Sales Order No.: TableRelation [Table 36 "Sales Header"](../table/36.md)
- Sales Quote No.: TableRelation [Table 36 "Sales Header"](../table/36.md)
- Currency Code: TableRelation [Table 4 "Currency"](../table/4.md)
- Dimension Set ID: TableRelation [Table 480 "Dimension Set Entry"](../table/480.md)
- Customer Price Group: TableRelation [Table 6 "Customer Price Group"](../table/6.md)
- Subscription Contract No.: TableRelation [Table 8052 "Customer Subscription Contract"](../table/8052.md) (conditional)
- Template: TableRelation [Table 8054 "Sub. Package Line Template"](../table/8054.md)
- Subscription Package Code: TableRelation [Table 8055 "Subscription Package"](../table/8055.md)
- Subscription Customer No.: CalcFormula [Table 8057 "Subscription Header"](../table/8057.md)
- Subscription Header No.: TableRelation [Table 8057 "Subscription Header"](../table/8057.md)
- Subscription Contract Line No.: TableRelation [Table 8062 "Cust. Sub. Contract Line"](../table/8062.md) (conditional)
- Subscription Contract No.: TableRelation [Table 8063 "Vendor Subscription Contract"](../table/8063.md) (conditional)
- Subscription Contract Line No.: TableRelation [Table 8065 "Vend. Sub. Contract Line"](../table/8065.md) (conditional)

## Referenced by

5 fields in 5 objects relate to this table (TableRelation or CalcFormula).

- [Table 8001 "Sub. Contract Renewal Line"](../table/8001.md): Planned Sub. Line exists
- [Table 8057 "Subscription Header"](../table/8057.md): Planned Sub. Lines exist
- [Table 8059 "Subscription Line"](../table/8059.md): Planned Sub. Line exists
- [Table 8062 "Cust. Sub. Contract Line"](../table/8062.md): Planned Sub. Line exists
- [Table 8065 "Vend. Sub. Contract Line"](../table/8065.md): Planned Sub. Line exists

## Pages and codeunits on this table

- [Page 8004 "Planned Service Commitments"](../page/8004.md) (source table)

## 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: "table", object_name: "Planned Subscription Line")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
