---
id: object/page/8058
type: object
title: Page 8058 "Service Comm. Package Lines"
summary: Page 8058 "Service Comm. Package Lines" in Subscription Billing (Microsoft.SubscriptionBilling). 3 public procedures. 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: 28daada1752f8a62c4f389fa2278d76c48c474584ea5ddf054fc74acceaa1cb7
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Subscription%20Billing/app/Service%20Commitments/Pages/ServiceCommPackageLines.Page.al
    title: src/Apps/W1/Subscription Billing/app/Service Commitments/Pages/ServiceCommPackageLines.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: page
object_id: 8058
name: Service Comm. Package Lines
caption: Lines
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: 4
  events: 0
  subscribers: 0
  controls: 20
  actions: 0
relations:
  out: 1
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Page 8058 "Service Comm. Package Lines"

> Page 8058 "Service Comm. Package Lines" in Subscription Billing (Microsoft.SubscriptionBilling). 3 public procedures. Introduced in BC29, still in BC30.

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

## Properties

| Property | Value |
|---|---|
| Caption | Lines |
| SourceTable | Subscription Package Line |
| PageType | ListPart |
| 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 |
|---|---|---|---|
| General | Partner | [Partner](../table/8056.md#fields) | Specifies whether a Subscription Line should be invoiced to a vendor (purchase invoice) or to a customer (sales invoice). |
|  | Template | [Template](../table/8056.md#fields) | Specifies a code to identify this Subscription Package Line Template. |
|  | Description | [Description](../table/8056.md#fields) | Specifies a description of the package line. |
|  | Invoicing via | [Invoicing via](../table/8056.md#fields) | Specifies whether the Subscription Line is invoiced via a contract. Subscription Lines with invoicing via sales are not charged. Only the items are billed. |
|  | Invoicing Item No. | [Invoicing Item No.](../table/8056.md#fields) | Specifies which item will be used in contract invoice for invoicing of the periodic Subscription Line. |
|  | Calculation Base Type | [Calculation Base Type](../table/8056.md#fields) | Specifies how the price for Subscription Line is calculated. "Item Price" uses the list price defined on the Item. "Document Price" uses the price from the sales document. "Document Price And Discount" uses the price and the discount from the sales document. |
|  | Calculation Base % | [Calculation Base %](../table/8056.md#fields) | Specifies the percentage at which the price of the Subscription Line is calculated. 100% means that the price is the same as the calculation base (item or document). |
|  | Billing Base Period | [Billing Base Period](../table/8056.md#fields) | Specifies the period to which the Subscription Line amount relates. For example, enter 1M if the amount relates to one month or 12M if the amount relates to 1 year. |
|  | Billing Rhythm | [Billing Rhythm](../table/8056.md#fields) | Specifies the rhythm in which the Subscription Line is calculated. Using a date formula, the rhythm can be defined as monthly, quarterly or annual calculation. |
|  | Service Comm. Start Formula | [Sub. Line Start Formula](../table/8056.md#fields) | Specifies when a Subscription Line is valid. The validity can be automatically changed to the first of the following month using date formula. If the field remains empty, the Subscription Line is valid after shipment. |
|  | Initial Term | [Initial Term](../table/8056.md#fields) | 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. |
|  | Extension Term | [Extension Term](../table/8056.md#fields) | Specifies a date formula for automatic renewal after initial term and the rhythm of the update of "Notice possible to" and "Term Until". |
|  | Notice Period | [Notice Period](../table/8056.md#fields) | 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... |
|  | Discount | [Discount](../table/8056.md#fields) | Specifies whether the Subscription Line is used as a basis for periodic invoicing or discounts. |
|  | Create Contract Deferrals | [Create Contract Deferrals](../table/8056.md#fields) | Specifies whether deferrals are created for new Subscription lines. |
|  | Period Calculation | [Period Calculation](../table/8056.md#fields) | Specifies the Period Calculation, which controls how a period is determined for billing. The calculation of a month from 28.02. can extend to 27.03. (Align to Start of Month) or 30.03. (Align to End of Month). |
|  | Price Binding Period | [Price Binding Period](../table/8056.md#fields) | 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. |
|  | UsageBasedBilling | [Usage Based Billing](../table/8056.md#fields) | Specifies whether usage data is used as the basis for billing via contracts. |
|  | sageBasedPricing | [Usage Based Pricing](../table/8056.md#fields) | Specifies the method for customer based pricing. |
|  | PricingUnitCostSurcharPerc | [Pricing Unit Cost Surcharge %](../table/8056.md#fields) | Specifies the surcharge in percent for the debit-side price calculation, if a unit cost surcharge is to be used. |

## Procedures

- `SetItemNo(NewItemNo: Code[20])` (internal)
- `SetShowAllPackageLines(NewShowAllPackageLines: Boolean)` (internal)
- `SetPackageCode(NewPackageCode: Code[20])` (internal)

Plus 1 local procedures.

## Triggers

OnOpenPage, OnAfterGetRecord, OnNewRecord

## Relations

- source table [Table 8056 "Subscription Package Line"](../table/8056.md)

## 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: "Service Comm. Package Lines")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
