---
id: object/table/8009
type: object
title: Table 8009 "Imported Subscription Line"
summary: Table 8009 "Imported Subscription Line" in Subscription Billing (Microsoft.SubscriptionBilling). 44 fields, 4 public procedures. 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: f71a6767e7d3a166cd7cd5d192c78e30401d030e845a2f68bc11043f58ed30a3
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Subscription%20Billing/app/Import/Tables/ImportedSubscriptionLine.Table.al
    title: src/Apps/W1/Subscription Billing/app/Import/Tables/ImportedSubscriptionLine.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/SRB/setup/import
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/set-up-business-central/set-up-sales/set-up-subscription-billing
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 8009
name: Imported 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: 44
  procedures: 4
  events: 0
  subscribers: 0
relations:
  out: 11
  referenced_by: 0
  pages: 1
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Table 8009 "Imported Subscription Line"

> Table 8009 "Imported Subscription Line" in Subscription Billing (Microsoft.SubscriptionBilling). 44 fields, 4 public procedures. 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/Import/Tables/ImportedSubscriptionLine.Table.al) · facts from BC29

Learn documents this table through its pages: [Page 8009 "Imported Service Commitments"](../page/8009.md) (1 Learn page).

## Properties

| Property | Value |
|---|---|
| Caption | Imported Subscription Line |
| DataClassification | CustomerContent |

## 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 | Entry No. | Integer | — | NotBlank; AutoIncrement |
| 2 | Subscription Header No. | Code[20] | Specifies the Subscription, the Subscription Line will be created for. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> | TableRelation [Table 8057 "Subscription Header"](../table/8057.md) (Subscription Header) |
| 3 | Subscription Line Entry No. | Integer | Specifies the line number of the Subscription Line. If empty, a Line No. will be assigned automatically. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 4 | 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 8009 "Imported Service Commitments"](../page/8009.md)</small> | enum [Enum 8053 "Service Partner"](../enum/8053.md) |
| 5 | Subscription Contract No. | Code[20] | Specifies the number of the contract in which Subscription Lines will be created as contract lines. Subscription Lines with Invoicing via = Sales cannot be called into a Contract. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.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" else if (Partner = const(Vendor)) "Vendor Subscription Contract") |
| 6 | Subscription Contract Line No. | Integer | Specifies the Line No. of the contract line. If empty a Line No. will be assigned automatically. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> | 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."))) |
| 7 | Sub. Contract Line Type | Enum "Contract Line Type" | Specifies the contract line type. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> | enum [Enum 8055 "Contract Line Type"](../enum/8055.md) |
| 8 | Subscription Package Code | Code[20] | Specifies the code of the Subscription Package. If a Vendor Subscription Contract line has the same Subscription No. and Package Code as a Customer Subscription Contract line, the Customer Subscription Contract dimension value is copied to the Vendor Subscription Contract line. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> | TableRelation [Table 8055 "Subscription Package"](../table/8055.md) (Subscription Package); NotBlank |
| 9 | Template Code | Code[20] | Specifies the code of the Subscription Package Line Template. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> | TableRelation [Table 8054 "Sub. Package Line Template"](../table/8054.md) (Sub. Package Line Template) |
| 10 | Description | Text[100] | Specifies the description of the Subscription Line. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 11 | Subscription Line Start Date | Date | Specifies the date from which the Subscription Line is valid and will be invoiced. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 12 | Subscription Line End Date | Date | Specifies the date up to which the Subscription Line is valid. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 13 | Next Billing Date | Date | Specifies the date of the next billing possible. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 15 | Calculation Base Amount | Decimal | Specifies the base amount from which the price will be calculated. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 16 | 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 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 17 | Discount % | Decimal | Specifies the percent of the discount for the Subscription Line. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 18 | Discount Amount | Decimal | Specifies the amount of the discount for the Subscription Line. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 19 | Amount | Decimal | Specifies the amount for the Subscription Line including discount. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 20 | 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 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 21 | 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 8009 "Imported Service Commitments"](../page/8009.md)</small> | enum [Enum 8051 "Invoicing Via"](../enum/8051.md) |
| 22 | Invoicing Item No. | Code[20] | Specifies which item will be used in contract invoice for invoicing of the periodic Subscription Line. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> | TableRelation Item."No." where("Subscription Option" = const("Invoicing Item")) |
| 23 | 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 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 24 | 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 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 25 | 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 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 26 | Billing Rhythm | DateFormula | Specifies the Date formula 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. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 27 | Discount Amount (LCY) | Decimal | Specifies the discount amount in client currency that is granted on the Subscription Line. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> | not editable |
| 28 | Amount (LCY) | Decimal | Specifies the amount in client currency for the Subscription Line including discount. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> | not editable |
| 29 | Currency Code | Code[10] | Specifies the currency of amounts in the Subscription Line. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> | TableRelation [Table 4 "Currency"](../table/4.md) |
| 30 | 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 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 31 | Currency Factor Date | Date | Specifies the date when the currency factor was last updated. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 32 | Calculation Base Amount (LCY) | Decimal | Specifies the basis on which the price is calculated in client currency. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 37 | Quantity | Decimal | Specifies the number of units of Subscription. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> | FlowField: lookup("Subscription Header".Quantity where("No." = field("Subscription Header No."))); not editable |
| 39 | Next Price Update | Date | Specifies the date of the next price update. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 40 | Exclude from Price Update | Boolean | Specifies whether this line is considered in by the Contract Price Update. Setting it to yes will exclude the line from all price updates. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> |  |
| 41 | Create Contract Deferrals | Enum "Create Contract Deferrals" | Specifies whether this Subscription Line should generate contract deferrals. If it is set to No, no deferrals are generated and the invoices are posted directly to profit or loss. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> | enum [Enum 8020 "Create Contract Deferrals"](../enum/8020.md) |
| 100 | Subscription Line created | Boolean | Specifies whether the Subscription Line has been created. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> | not editable |
| 101 | Error Text | Text[250] | Specifies the error in processing the record. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> | not editable |
| 102 | Processed by | Code[50] | Specifies who processed the record. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> | TableRelation [Table 91 "User Setup"](../table/91.md) (User Setup); not editable; DataClassification EndUserIdentifiableInformation |
| 103 | Processed at | DateTime | Specifies when the record was processed. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> | not editable |
| 104 | Sub. Contract Line created | Boolean | Specifies whether a contract line has been created for the Subscription Line. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> | not editable |
| 8000 | Usage Based Billing | Boolean | Specifies whether usage data is used as the basis for billing via contracts. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> | not editable |
| 8001 | Usage Based Pricing | Enum "Usage Based Pricing" | Specifies the method for customer based pricing. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> | enum [Enum 8007 "Usage Based Pricing"](../enum/8007.md); not editable |
| 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 8009 "Imported Service Commitments"](../page/8009.md)</small> | not editable |
| 8003 | Supplier Reference Entry No. | Integer | Specifies the sequence number of the related reference. <small>via [Page 8009 "Imported Service Commitments"](../page/8009.md)</small> | TableRelation [Table 8015 "Usage Data Supplier Reference"](../table/8015.md) ("Usage Data Supplier Reference" where(Type = const(Subscription))); not editable |

## Keys

- PK: Entry No. (clustered)

## Procedures

- `IsContractCommentLine(): Boolean`
- `ClearErrorTextAndSetProcessedFields()` (internal)
- `InitCurrencyData()` (internal)
- `GetInvoicingItemNo(): Code[20]` (internal)

## Relations

- Currency Code: TableRelation [Table 4 "Currency"](../table/4.md)
- Supplier Reference Entry No.: TableRelation [Table 8015 "Usage Data Supplier Reference"](../table/8015.md)
- Subscription Contract No.: TableRelation [Table 8052 "Customer Subscription Contract"](../table/8052.md) (conditional)
- Template Code: TableRelation [Table 8054 "Sub. Package Line Template"](../table/8054.md)
- Subscription Package Code: TableRelation [Table 8055 "Subscription Package"](../table/8055.md)
- Quantity: 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)
- Processed by: TableRelation [Table 91 "User Setup"](../table/91.md)

## Pages and codeunits on this table

- [Page 8009 "Imported Service Commitments"](../page/8009.md) (source table)
- [Codeunit 8006 "Create Subscription Line"](../codeunit/8006.md) (codeunit runs on it)
- [Codeunit 8007 "Create Sub. Contract Line"](../codeunit/8007.md) (codeunit runs on it)

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