---
id: object/tableextension/8052
type: object
title: Table extension 8052 "Item"
summary: Table extension 8052 "Item" in Subscription Billing (Microsoft.SubscriptionBilling), extends "Item". 2 fields, 4 public procedures, 1 events. Introduced in BC29, still in BC30.
tier: official
language: en
tags:
  - tableextension
  - 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: 66775a5ad0520872e7bd3f9aaa8e21c7f7b5c940b41b7871f371b10ed2c79157
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Subscription%20Billing/app/Service%20Objects/Table%20Extensions/Item.TableExt.al
    title: src/Apps/W1/Subscription Billing/app/Service Objects/Table Extensions/Item.TableExt.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects:
    - object/table/27
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: tableextension
object_id: 8052
name: Item
namespace: Microsoft.SubscriptionBilling
app: Subscription Billing
extends: Item
first_version: "29"
last_version: "30"
present_in:
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 2
  procedures: 11
  events: 1
  subscribers: 0
relations:
  out: 2
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Table extension 8052 "Item"

> Table extension 8052 "Item" in Subscription Billing (Microsoft.SubscriptionBilling), extends "Item". 2 fields, 4 public procedures, 1 events. 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/Service%20Objects/Table%20Extensions/Item.TableExt.al) · facts from BC29

Extends [Item](../table/27.md).

## 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 |
|---|---|---|---|---|
| 8052 | Subscription Option | Enum "Item Service Commitment Type" | Specifies whether or not Subscription Lines can be linked to this item, or if the item is being used for recurring billing. This is only relevant if you are using Subscription Billing functionalities. <small>via [Page extension 8054 "Item Card"](../pageextension/8054.md)</small> | enum [Enum 8056 "Item Service Commitment Type"](../enum/8056.md); DataClassification CustomerContent |
| 8020 | Usage Data Suppl. Ref. Exists | Boolean | Specifies that at least one usage data supplier reference exists for the item. This is only relevant if you are using Subscription Billing functionalities. <small>via [Page extension 8054 "Item Card"](../pageextension/8054.md)</small> | FlowField: exist("Item Vendor" where("Item No." = field("No."), "Supplier Ref. Entry No." = filter(<> 0))); not editable |

## Events published

- `OnBeforeErrorIfServiceCommitmentOptionIsNotValidForServiceCommitmentPackage(Rec: Record Item; var IsHandled: Boolean)` (integration)

## Procedures

- `OpenItemServCommitmentPackagesPage()` (internal)
- `IsServiceCommitmentItem(): Boolean` (internal)
- `GetDoNotAllowInvoiceDiscountForServiceCommitmentItemErrorText(): Text` (internal)
- `HasSNSpecificItemTracking(): Boolean`

Plus 6 local procedures.

## Relations

- extends [Table 27 "Item"](../table/27.md)
- Usage Data Suppl. Ref. Exists: CalcFormula [Table 99 "Item Vendor"](../table/99.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: "tableextension", object_name: "Item")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
