---
id: object/table/8054
type: object
title: Table 8054 "Sub. Package Line Template"
summary: Table 8054 "Sub. Package Line Template" in Subscription Billing (Microsoft.SubscriptionBilling). 12 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: d9851e978f37ad7b675b4bad7892f4439e7657bbb2dcd142110050554a036fd8
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Subscription%20Billing/app/Service%20Commitments/Tables/SubPackageLineTemplate.Table.al
    title: src/Apps/W1/Subscription Billing/app/Service Commitments/Tables/SubPackageLineTemplate.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 8054
name: Sub. Package Line Template
caption: Subscription Package Line Template
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: 12
  procedures: 3
  events: 0
  subscribers: 0
relations:
  out: 2
  referenced_by: 8
  pages: 1
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Table 8054 "Sub. Package Line Template"

> Table 8054 "Sub. Package Line Template" in Subscription Billing (Microsoft.SubscriptionBilling). 12 fields. Introduced in BC29, still in BC30.

Subscription Billing · Microsoft.SubscriptionBilling · captioned "Subscription Package Line Template" · BC29-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Subscription%20Billing/app/Service%20Commitments/Tables/SubPackageLineTemplate.Table.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Subscription Package Line Template |
| DataClassification | CustomerContent |
| LookupPageId | Service Commitment Templates |
| DrillDownPageId | Service Commitment Templates |

## 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 | Code | Code[20] | Specifies a code to identify this Subscription Package Line Template. <small>via [Page 8055 "Service Commitment Templates"](../page/8055.md)</small> | NotBlank |
| 2 | Description | Text[100] | Specifies a description of the Subscription Package Line Template. <small>via [Page 8055 "Service Commitment Templates"](../page/8055.md)</small> |  |
| 3 | Invoicing via | Enum "Invoicing Via" | Specifies whether the Subscription Line is invoiced via a contract. Subscription Lines with invoicing via sales are not charged. Only the items are billed. <small>via [Page 8055 "Service Commitment Templates"](../page/8055.md)</small> | enum [Enum 8051 "Invoicing Via"](../enum/8051.md) |
| 4 | Invoicing Item No. | Code[20] | Specifies which item will be used in contract invoice for invoicing of the periodic Subscription Line. <small>via [Page 8055 "Service Commitment Templates"](../page/8055.md)</small> | TableRelation Item."No." where("Subscription Option" = const("Invoicing Item")) |
| 5 | Calculation Base Type | Enum "Calculation Base Type" | 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. <small>via [Page 8055 "Service Commitment Templates"](../page/8055.md)</small> | enum [Enum 8052 "Calculation Base Type"](../enum/8052.md) |
| 6 | Calculation Base % | Decimal | 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). <small>via [Page 8055 "Service Commitment Templates"](../page/8055.md)</small> |  |
| 7 | Billing Base Period | DateFormula | 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. <small>via [Page 8055 "Service Commitment Templates"](../page/8055.md)</small> |  |
| 8 | Discount | Boolean | Specifies whether the Subscription Line is used as a basis for periodic invoicing or discounts. <small>via [Page 8055 "Service Commitment Templates"](../page/8055.md)</small> |  |
| 40 | Create Contract Deferrals | Enum "Create Contract Deferrals" | Specifies whether deferrals are created for new Subscription Package lines. <small>via [Page 8055 "Service Commitment Templates"](../page/8055.md)</small> | enum [Enum 8020 "Create Contract Deferrals"](../enum/8020.md) |
| 8000 | Usage Based Billing | Boolean | Specifies whether usage data is used as the basis for billing via contracts. <small>via [Page 8055 "Service Commitment Templates"](../page/8055.md)</small> |  |
| 8001 | Usage Based Pricing | Enum "Usage Based Pricing" | Specifies the method for customer based pricing. <small>via [Page 8055 "Service Commitment Templates"](../page/8055.md)</small> | enum [Enum 8007 "Usage Based Pricing"](../enum/8007.md) |
| 8002 | Pricing Unit Cost Surcharge % | Decimal | Specifies the surcharge in percent for the debit-side price calculation, if a unit cost surcharge is to be used. <small>via [Page 8055 "Service Commitment Templates"](../page/8055.md)</small> |  |

## Keys

- PK: Code (clustered)

## Procedures

3 local procedures, no public ones.

## Relations

- drill-down page [Page 8055 "Service Commitment Templates"](../page/8055.md)
- lookup page [Page 8055 "Service Commitment Templates"](../page/8055.md)

## Referenced by

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

- [Table 8002 "Planned Subscription Line"](../table/8002.md): Template
- [Table 8009 "Imported Subscription Line"](../table/8009.md): Template Code
- [Table 8019 "Sub. Contr. Analysis Entry"](../table/8019.md): Template
- [Table 8056 "Subscription Package Line"](../table/8056.md): Template
- [Table 8059 "Subscription Line"](../table/8059.md): Template
- [Table 8068 "Sales Subscription Line"](../table/8068.md): Template
- [Table 8069 "Sales Sub. Line Archive"](../table/8069.md): Template
- [Table 8073 "Subscription Line Archive"](../table/8073.md): Template

## Pages and codeunits on this table

- [Page 8055 "Service Commitment Templates"](../page/8055.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: "Sub. Package Line Template")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
