---
id: object/table/8013
type: object
title: Table 8013 "Usage Data Import"
summary: Table 8013 "Usage Data Import" in Subscription Billing (Microsoft.SubscriptionBilling). 14 fields, 14 public procedures, 3 events. 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: b46b0bf66a6821d9be7d784dd975cb58610f7c488ea596d994a9f0ffa7f13eb2
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Subscription%20Billing/app/Usage%20Based%20Billing/Tables/UsageDataImport.Table.al
    title: src/Apps/W1/Subscription Billing/app/Usage Based Billing/Tables/UsageDataImport.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/UBB/masterdata/suppliers
    - https://learn.microsoft.com/dynamics365/business-central/UBB/processing-usage-data/extend-contract
    - https://learn.microsoft.com/dynamics365/business-central/UBB/processing-usage-data/imports-processing
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/sales/subscription-billing/bill-subscriptions-based-on-usage
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/9293
object_type: table
object_id: 8013
name: Usage Data Import
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: 14
  procedures: 23
  events: 3
  subscribers: 0
relations:
  out: 9
  referenced_by: 2
  pages: 2
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Table 8013 "Usage Data Import"

> Table 8013 "Usage Data Import" in Subscription Billing (Microsoft.SubscriptionBilling). 14 fields, 14 public procedures, 3 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/Usage%20Based%20Billing/Tables/UsageDataImport.Table.al) · facts from BC29

Learn documents this table through its pages: [Page 8041 "Usage Data Imports"](../page/8041.md) (3 Learn pages).

## Properties

| Property | Value |
|---|---|
| Caption | Usage Data Import |
| DataClassification | CustomerContent |
| LookupPageId | Usage Data Imports |
| DrillDownPageId | Usage Data Imports |

## 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. <small>via [Page 8041 "Usage Data Imports"](../page/8041.md)</small> | not editable; AutoIncrement |
| 2 | Supplier No. | Code[20] | Specifies the number of the supplier to which this usage data refers. <small>via [Page 8041 "Usage Data Imports"](../page/8041.md)</small> | TableRelation [Table 8014 "Usage Data Supplier"](../table/8014.md) (Usage Data Supplier) |
| 3 | Supplier Description | Text[80] | Specifies the description of the supplier to which this usage data refers. <small>via [Page 8041 "Usage Data Imports"](../page/8041.md)</small> | FlowField: lookup("Usage Data Supplier".Description where("No." = field("Supplier No."))); not editable |
| 4 | Description | Text[80] | Specifies the description of the import. <small>via [Page 8041 "Usage Data Imports"](../page/8041.md)</small> |  |
| 5 | Processing Date | Date | Specifies the date of the last processing step. <small>via [Page 8041 "Usage Data Imports"](../page/8041.md)</small> | not editable |
| 6 | Processing Step | Enum "Processing Step" | Specifies the last processing step. <small>via [Page 8041 "Usage Data Imports"](../page/8041.md)</small> | enum [Enum 8006 "Processing Step"](../enum/8006.md); not editable |
| 7 | Processing Status | Enum "Processing Status" | Specifies the status of the last processing step. <small>via [Page 8041 "Usage Data Imports"](../page/8041.md)</small> | enum [Enum 8012 "Processing Status"](../enum/8012.md); not editable |
| 8 | Reason (Preview) | Text[80] | Specifies the preview why the last processing step failed. <small>via [Page 8041 "Usage Data Imports"](../page/8041.md)</small> | not editable |
| 9 | Reason | Blob | — |  |
| 10 | No. of Usage Data Blobs | Integer | Specifies the number of files of the raw data. <small>via [Page 8041 "Usage Data Imports"](../page/8041.md)</small> | FlowField: count("Usage Data Blob" where("Usage Data Import Entry No." = field("Entry No."))); not editable |
| 11 | No. of Imported Lines | Integer | — | obsolete Pending 29.0; #if not CLEANSCHEMA32; FlowField: count("Usage Data Generic Import" where("Usage Data Import Entry No." = field("Entry No."))); not editable |
| 12 | No. of Imported Line Errors | Integer | — | obsolete Pending 29.0; #if not CLEANSCHEMA32; FlowField: count("Usage Data Generic Import" where("Usage Data Import Entry No." = field("Entry No."), "Processing Status" = const(Error))); not editable |
| 13 | No. of Usage Data Billing | Integer | Specifies the number of errors during the creation and processing of Usage Data Billing. <small>via [Page 8041 "Usage Data Imports"](../page/8041.md)</small> | FlowField: count("Usage Data Billing" where("Usage Data Import Entry No." = field("Entry No."))); not editable |
| 14 | No. of UD Billing Errors | Integer | Specifies the number of usage data billing errors. <small>via [Page 8041 "Usage Data Imports"](../page/8041.md)</small> | FlowField: count("Usage Data Billing" where("Usage Data Import Entry No." = field("Entry No."), "Processing Status" = const(Error))); not editable |

## Keys

- PK: Entry No. (clustered)

## Events published

- `OnDeleteUsageDataBillingLines()` (integration)
- `OnBeforeProcessUsageDataImport(var UsageDataImport: Record "Usage Data Import"; ProcessingStep: Enum "Processing Step")` (integration)
- `OnAfterProcessUsageDataImport(var UsageDataImport: Record "Usage Data Import"; ProcessingStep: Enum "Processing Step")` (integration)

## Procedures

- `SetStatus(ProcessingStatus: Enum Microsoft.SubscriptionBilling."Processing Status")` (internal)
- `SetReason(ReasonText: Text)` (internal)
- `DeleteUsageDataBillingLines()` (internal)
- `SetErrorReason(ErrorText: Text)` (internal)
- `UpdateProcessingStatus()` (internal)
- `ShowReason()` (internal)
- `NewDataImport()` (internal)
- `ImportFile()` (internal)
- `ProcessUsageDataImport(var UsageDataImport: Record "Usage Data Import"; ProcessingStep: Enum "Processing Step")` (internal)
- `CloseUsageDataImports(var UsageDataImport: Record "Usage Data Import")` (internal)
- `ReopenUsageDataImports(var UsageDataImport: Record "Usage Data Import")` (internal)
- `CollectCustomerContractsAndCreateInvoices(var UsageDataImport: Record "Usage Data Import")` (internal)
- `CollectVendorContractsAndCreateInvoices(var UsageDataImport: Record "Usage Data Import")` (internal)
- `ShowRelatedDocuments(var UsageDataImport: Record "Usage Data Import"; ServicePartner: Enum "Service Partner"; DocumentType: Option Contract,"Contract Invoices","Posted Contract Invoices")` (internal)

Plus 6 local procedures.

## Triggers

OnDelete

## Relations

- drill-down page [Page 8041 "Usage Data Imports"](../page/8041.md)
- lookup page [Page 8041 "Usage Data Imports"](../page/8041.md)
- No. of UD Billing Errors: CalcFormula [Table 8006 "Usage Data Billing"](../table/8006.md)
- No. of Usage Data Billing: CalcFormula [Table 8006 "Usage Data Billing"](../table/8006.md)
- No. of Usage Data Blobs: CalcFormula [Table 8011 "Usage Data Blob"](../table/8011.md)
- Supplier Description: CalcFormula [Table 8014 "Usage Data Supplier"](../table/8014.md)
- Supplier No.: TableRelation [Table 8014 "Usage Data Supplier"](../table/8014.md)
- No. of Imported Line Errors: CalcFormula [Table 8018 "Usage Data Generic Import"](../table/8018.md)
- No. of Imported Lines: CalcFormula [Table 8018 "Usage Data Generic Import"](../table/8018.md)

## Referenced by

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

- [Table 8011 "Usage Data Blob"](../table/8011.md): Usage Data Import Entry No.
- [Table 8018 "Usage Data Generic Import"](../table/8018.md): Usage Data Import Entry No.

## Pages and codeunits on this table

- [Page 8040 "Usage Data Import API"](../page/8040.md) (source table)
- [Page 8041 "Usage Data Imports"](../page/8041.md) (source table)
- [Codeunit 8023 "Create Usage Data Billing"](../codeunit/8023.md) (codeunit runs on it)
- [Codeunit 8025 "Import And Process Usage Data"](../codeunit/8025.md) (codeunit runs on it)
- [Codeunit 8026 "Process Usage Data Billing"](../codeunit/8026.md) (codeunit runs on it)
- [Codeunit 8027 "Process Usage Data Import"](../codeunit/8027.md) (codeunit runs on it)

## Recent changes

- 2026-09-25 [#9293 [Bug][SubscriptionBilling] Process Usage Data Billing uses lines marked Processing Status = Error (currency mismatch)](../../changes/bcapps/9293.md) (main, BC30, fix)

## Across versions

- Present in: BC29-30
- Changed (declaration) in: none

## Deprecations

- field No. of Imported Line Errors: Pending 29.0 (#if not CLEANSCHEMA32), "Replaced by GetImportedLineCount in the Usage Data Processing interface."
- field No. of Imported Lines: Pending 29.0 (#if not CLEANSCHEMA32), "Replaced by GetImportedLineCount in the Usage Data Processing interface."

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 Import")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
