tableSales & Receivablesofficial - Microsoftderived - from the source, no model text

Table 8006 "Usage Data Billing"

Subscription Billing · Microsoft.SubscriptionBilling

Across versions

  1. BC23-28not present
  2. BC29-30present

Neighbourhood 12 connected objects and pages

Table 8057 "Subscription Header" (relates to, 2 links)Subscription HeaderTable 36 "Sales Header" (relates to)Sales HeaderTable 37 "Sales Line" (relates to)Sales LineTable 8052 "Customer Subscription Contract" (relates to)Customer Subscription ContractTable 8061 "Billing Line" (relates to)Billing LineTable 8062 "Cust. Sub. Contract Line" (relates to)Table 8063 "Vendor Subscription Contract" (relates to)Vendor Subscription ContractTable 8065 "Vend. Sub. Contract Line" (relates to)Vend. Sub. Contract LinePage 8035 "Usage Data Billings" (pages and codeunits on it, 3 links)Usage Data BillingsTable 8021 "Usage Data Billing Metadata" (referenced by, 3 links)Usage Data Billing MetadataTable 8013 "Usage Data Import" (referenced by, 2 links)Usage Data ImportImport data in usage-based billing (Learn pages)Import data in usage-based b…

Open in the neighbourhood explorer

One hop out, from the extracted relations and call graph. Up to 40 shown; the sections below list them all.

Subscription Billing · Microsoft.SubscriptionBilling · BC29-30 · source at ea08af5e · facts from BC29

Learn documents this table through its pages: Page 8035 “Usage Data Billings” (1 Learn page).

Properties

Property Value
Caption Usage Data Billing
DataClassification CustomerContent
LookupPageId Usage Data Billings
DrillDownPageId Usage Data Billings

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 Specifies the sequential number assigned to the record when it was created. via Page 8035 “Usage Data Billings” AutoIncrement
2 Usage Data Import Entry No. Integer Specifies the sequential number of the related import that was assigned to it when it was created. via Page 8035 “Usage Data Billings”
3 Supplier No. Code[20] Specifies the number of the supplier to which this usage data refers. via Page 8035 “Usage Data Billings”
4 Partner Enum “Service Partner” Specifies whether the Subscription Line partner is a customer or a vendor. via Page 8035 “Usage Data Billings” enum Enum 8053 “Service Partner”
5 Subscription Contract No. Code[20] Specifies the contract on which the usage data is billed. via Page 8035 “Usage Data Billings” TableRelation Table 8052 “Customer Subscription Contract”, Table 8063 “Vendor Subscription Contract” (if (Partner = const(Customer)) “Customer Subscription Contract” else if (Partner = const(Vendor)) “Vendor Subscription Contract”)
6 Subscription Contract Line No. Integer Specifies the contract line through which the usage data is billed. via Page 8035 “Usage Data Billings” TableRelation Table 8062 “Cust. Sub. Contract Line”, Table 8065 “Vend. Sub. Contract Line” (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 Subscription Header No. Code[20] Specifies the number of the related Subscription. via Page 8035 “Usage Data Billings” TableRelation Table 8057 “Subscription Header” (Subscription Header)
8 Subscription Description Text[100] Specifies the description of the related Subscription. via Page 8035 “Usage Data Billings” FlowField: lookup(“Subscription Header”.Description where(“No.” = field(“Subscription Header No.”))); not editable
9 Subscription Line Entry No. Integer —
10 Subscription Line Description Text[100] Specifies the Subscription Line for which the usage data is billed. via Page 8035 “Usage Data Billings”
11 Processing Status Enum “Processing Status” Specifies whether the row has been processed. In case of an error during processing, it is displayed in the “Reason (Preview)” field. enum Enum 8012 “Processing Status”; not editable
12 Processing Date Date Specifies the date of processing. via Page 8035 “Usage Data Billings” not editable
13 Processing Time Time Specifies the time of processing. via Page 8035 “Usage Data Billings”
14 Reason (Preview) Text[80] Specifies the preview why the last processing step failed. via Page 8035 “Usage Data Billings” not editable
15 Reason Blob —
16 Charge Start Date Date Specifies the start date of the usage. via Page 8035 “Usage Data Billings”
17 Charge Start Time Time — obsolete Pending 26.0; #if not CLEANSCHEMA29
18 Charge End Date Date Specifies the end date of the usage. via Page 8035 “Usage Data Billings”
19 Charge End Time Time — obsolete Pending 26.0; #if not CLEANSCHEMA29
20 Charged Period (Days) Decimal Specifies the calculated period (in days). via Page 8035 “Usage Data Billings”
21 Charged Period (Hours) Decimal Specifies the calculated period (in hours). via Page 8035 “Usage Data Billings” obsolete Pending 26.0; #if not CLEANSCHEMA29
22 Quantity Decimal Specifies the quantity. via Page 8035 “Usage Data Billings”
23 Unit Cost Decimal Specifies the unit cost. via Page 8035 “Usage Data Billings”
24 Cost Amount Decimal Specifies the total cost. via Page 8035 “Usage Data Billings”
25 Unit Price Decimal Specifies the unit price. via Page 8035 “Usage Data Billings”
26 Amount Decimal Specifies the total amount. via Page 8035 “Usage Data Billings”
27 Currency Code Code[10] Specifies the currency code. via Page 8035 “Usage Data Billings”
28 Usage Base Pricing Enum “Usage Based Pricing” Specifies the criterion used to calculate the usage based pricing. via Page 8035 “Usage Data Billings” enum Enum 8007 “Usage Based Pricing”
29 Pricing Unit Cost Surcharge % Decimal Specifies the unit cost surcharge for usage-dependent pricing. via Page 8035 “Usage Data Billings”
30 Billing Line Entry No. Integer Specifies the billing line through which the usage data is billed. via Page 8035 “Usage Data Billings” TableRelation Table 8061 “Billing Line” (if (Partner = const(Customer), “Document Type” = filter(None)) “Billing Line”.“Entry No.” where(Partner = const(Customer)) else if (Partner = const(Customer), “Document Type” = filter(Invoice)) “Billing Line”.“Entry No.” where(Partner = const(Customer), “Document Type” = const(Invoice), “Document No…)
31 Document Type Enum “Usage Based Billing Doc. Type” Specifies the document type through which the usage data will be invoiced. via Page 8035 “Usage Data Billings” enum Enum 8008 “Usage Based Billing Doc. Type”
32 Document No. Code[20] Specifies the document number via which the usage data is billed. via Page 8035 “Usage Data Billings” TableRelation Table 36 “Sales Header” (if (Partner = const(Customer), “Document Type” = const(Invoice)) “Sales Header”.“No.” where(“Document Type” = const(Invoice)) else if (Partner = const(Customer), “Document Type” = const(“Credit Memo”)) “Sales Header”.“No.” where(“Document Type” = const(“Credit Memo”)) else if (Partner = const(Custom…)
33 Document Line No. Integer Specifies the document line for which the usage data will be billed. via Page 8035 “Usage Data Billings” TableRelation Table 37 “Sales Line” (if (Partner = const(Customer), “Document Type” = const(Invoice)) “Sales Line”.“Line No.” where(“Document Type” = const(Invoice), “Document No.” = field(“Document No.”)) else if (Partner = const(Customer), “Document Type” = const(“Credit Memo”)) “Sales Line”.“Line No.” where(“Document Type” = const(“…)
34 Rebilling Boolean —
35 Product ID Text[80] Specifies the unique ID of the product for this subscription with the supplier.
36 Product Name Text[100] Specifies the vendor’s product name for this subscription.

Keys

  • PK: Entry No. (clustered)
  • key1: Usage Data Import Entry No., Subscription Header No., Subscription Line Entry No., Partner, Document Type, Charge End Date
  • key2: Subscription Contract No., Subscription Contract Line No.
  • key3: Subscription Line Entry No., Document Type, Charge End Date
  • key4: Document No., Document Type
  • key5: Billing Line Entry No.

Events published

  • OnAfterSaveDocumentValues(UsageDateBilling: Record "Usage Data Billing") (integration)
  • OnAfterGetPrintoutDescription(Rec: Record "Usage Data Billing"; var Description: Text[100]) (integration)
  • OnAfterShouldPrintProductName(Rec: Record "Usage Data Billing"; var Result: Boolean) (integration)

Procedures

  • SetReason(ReasonText: Text) (internal)
  • InitFrom(UsageDataImportEntryNo: Integer; SubscriptionHeaderNo: Code[20]; ProductID: Text[80]; ProductName: Text[100]; BillingPeriodStartDate: Date; BillingPeriodEndDate: Date; NewQuantity: Decimal) (internal)
  • AlignContractCurrency(TempSubscriptionLine: Record "Subscription Line"; ImportCurrencyCode: Code[10]) (internal)
  • CalculateAmounts(UsageDataSupplier: Record "Usage Data Supplier"; ImportCurrencyCode: Code[10]; NewUnitCost: Decimal; NewCostAmount: Decimal; NewUnitPrice: Decimal; NewAmount: Decimal) (internal)
  • FilterOnUsageDataImportAndServiceCommitment(UsageDataImportEntryNo: Integer; ServiceCommitment: Record "Subscription Line") (internal)
  • ExcludeProcessingStatusError() (internal)
  • FilterOnServiceCommitment(ServiceCommitment: Record "Subscription Line") (internal)
  • UpdateChargedPeriod() (internal)
  • ShowReason() (internal)
  • GetReason(): Text (internal)
  • ShowRelatedDocuments(var UsageBasedBilling: Record "Usage Data Billing"; DocumentType: Option Contract,"Contract Invoices","Posted Contract Invoices"; ServicePartner: Enum "Service Partner") (internal)
  • MarkPurchaseHeaderFromUsageDataBilling(var UsageDataBilling: Record "Usage Data Billing"; var PurchaseHeader: Record "Purchase Header") (internal)
  • FilterOnDocumentTypeAndDocumentNo(ServicePartner: Enum "Service Partner"; UsageBasedBillingDocType: Enum "Usage Based Billing Doc. Type"; DocumentNo: Code[20]) (internal)
  • SaveDocumentValues(UsageBasedBillingDocType: Enum "Usage Based Billing Doc. Type"; DocumentNo: Code[20]; DocumentEntryNo: Integer; BillingLineEntryNo: Integer) (internal)
  • IsPartnerVendor(): Boolean (internal)
  • IsPartnerCustomer(): Boolean (internal)
  • FilterDocumentWithLine(ServicePartner: Enum "Service Partner"; DocumentType: Enum "Usage Based Billing Doc. Type"; DocumentNo: Code[20]; EntryNo: Integer) (internal)
  • ShowForContractLine(ServicePartner: Enum "Service Partner"; ContractNo: Code[20]; EntryNo: Integer) (internal)
  • ShowForDocuments(ServicePartner: Enum "Service Partner"; DocumentType: Enum "Usage Based Billing Doc. Type"; DocumentNo: Code[20]; EntryNo: Integer) (internal)
  • ShowForSalesDocuments(DocumentType: Enum "Sales Document Type"; DocumentNo: Code[20]; EntryNo: Integer) (internal)
  • ShowForPurchaseDocuments(DocumentType: Enum "Purchase Document Type"; DocumentNo: Code[20]; EntryNo: Integer) (internal)
  • ShowForRecurringBilling(ServiceObjectNo: Code[20]; ServCommEntryNo: Integer; DocumentType: Enum "Rec. Billing Document Type"; DocumentNo: Code[20]) (internal)
  • ShowForServiceCommitments(ServicePartner: Enum "Service Partner"; ServiceObjectNo: Code[20]; EntryNo: Integer) (internal)
  • ExistForContractLine(ServicePartner: Enum "Service Partner"; ContractNo: Code[20]; EntryNo: Integer): Boolean (internal)
  • ExistForDocuments(ServicePartner: Enum "Service Partner"; DocumentType: Enum "Usage Based Billing Doc. Type"; DocumentNo: Code[20]; EntryNo: Integer): Boolean (internal)
  • ExistForSalesDocuments(DocumentType: Enum "Sales Document Type"; DocumentNo: Code[20]; EntryNo: Integer): Boolean (internal)
  • ExistForPurchaseDocuments(DocumentType: Enum "Purchase Document Type"; DocumentNo: Code[20]; EntryNo: Integer): Boolean (internal)
  • ExistForRecurringBilling(ServiceObjectNo: Code[20]; ServCommEntryNo: Integer; DocumentType: Enum "Rec. Billing Document Type"; DocumentNo: Code[20]): Boolean (internal)
  • ExistForServiceCommitments(ServicePartner: Enum "Service Partner"; ServiceObjectNo: Code[20]; EntryNo: Integer): Boolean (internal)
  • UpdateRebilling() (internal)
  • InsertMetadata() (internal)
  • SetMetadataAsInvoiced() (internal)
  • IsInvoiced(): Boolean (internal)
  • GetPrintoutDescription(): Text[100]
  • ShouldPrintProductName(): Boolean

Plus 17 local procedures.

Triggers

OnInsert, OnModify, OnDelete

Relations

Referenced by

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

Pages and codeunits on this table

Recent changes

Deprecations

  • field Charge End Time: Pending 26.0 (#if not CLEANSCHEMA29), “No longer needed as the time component is not relevant for processing of usage data.”
  • field Charge Start Time: Pending 26.0 (#if not CLEANSCHEMA29), “No longer needed as the time component is not relevant for processing of usage data.”
  • field Charged Period (Hours): Pending 26.0 (#if not CLEANSCHEMA29), “No longer needed as the time component is not relevant for processing of usage data.”

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: "Usage Data Billing"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources