---
id: object/table/6101
type: object
title: Table 6101 "E-Document Purchase Line"
summary: Table 6101 "E-Document Purchase Line" in EDocument (Microsoft.eServices.EDocument.Processing.Import.Purchase). 23 fields, 10 public procedures, 1 events. Introduced in BC29, still in BC30.
tier: official
language: en
tags:
  - table
  - edocument
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: 8e9ae89bb9046518af13941104aa960dde2ad972d22dd149b6d1f4be0efea157
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/EDocument/app/src/Processing/Import/Purchase/EDocumentPurchaseLine.Table.al
    title: src/Apps/W1/EDocument/app/src/Processing/Import/Purchase/EDocumentPurchaseLine.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/9124
object_type: table
object_id: 6101
name: E-Document Purchase Line
namespace: Microsoft.eServices.EDocument.Processing.Import.Purchase
app: EDocument
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: 23
  procedures: 13
  events: 1
  subscribers: 0
relations:
  out: 13
  referenced_by: 2
  pages: 3
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Table 6101 "E-Document Purchase Line"

> Table 6101 "E-Document Purchase Line" in EDocument (Microsoft.eServices.EDocument.Processing.Import.Purchase). 23 fields, 10 public procedures, 1 events. Introduced in BC29, still in BC30.

EDocument · Microsoft.eServices.EDocument.Processing.Import.Purchase · BC29-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/EDocument/app/src/Processing/Import/Purchase/EDocumentPurchaseLine.Table.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| 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 | E-Document Entry No. | Integer | — | TableRelation [Table 6121 "E-Document"](../table/6121.md) ("E-Document"."Entry No"); not editable; DataClassification SystemMetadata |
| 2 | Line No. | Integer | — | not editable; DataClassification SystemMetadata |
| 3 | Date | Date | Specifies the date of this line. <small>via [Page 6184 "E-Doc. Read. Purch. Lines"](../page/6184.md)</small> | not editable |
| 4 | Product Code | Text[100] | Specifies the product code of this line. <small>via [Page 6184 "E-Doc. Read. Purch. Lines"](../page/6184.md)</small> | not editable |
| 5 | Description | Text[100] | Specifies the description. | not editable |
| 6 | Quantity | Decimal | Specifies the quantity. | not editable |
| 7 | Unit of Measure | Text[50] | Specifies the unit of measure of this line. <small>via [Page 6184 "E-Doc. Read. Purch. Lines"](../page/6184.md)</small> | not editable |
| 8 | Unit Price | Decimal | Specifies the direct unit cost. | not editable |
| 9 | Sub Total | Decimal | Specifies the line subtotal. |  |
| 10 | Total Discount | Decimal | Specifies the line discount. |  |
| 11 | VAT Rate | Decimal | Specifies the VAT rate of this line. <small>via [Page 6184 "E-Doc. Read. Purch. Lines"](../page/6184.md)</small> | not editable |
| 12 | Currency Code | Code[10] | Specifies the currency code of this line. <small>via [Page 6184 "E-Doc. Read. Purch. Lines"](../page/6184.md)</small> | not editable |
| 101 | [BC] Purchase Line Type | Enum "Purchase Line Type" | Specifies the type of entity that will be posted for this purchase line, such as Item, Resource, or G/L Account. | enum [Enum 39 "Purchase Line Type"](../enum/39.md) |
| 102 | [BC] Purchase Type No. | Code[20] | Specifies what you're selling. The options vary, depending on what you choose in the Type field. | TableRelation [Table 15 "G/L Account"](../table/15.md), [Table 5600 "Fixed Asset"](../table/5600.md), [Table 7 "Standard Text"](../table/7.md) (if ("[BC] Purchase Line Type" = const(" ")) "Standard Text" else if ("[BC] Purchase Line Type" = const("G/L Account")) "G/L Account" where("Direct Posting" = const(true)) else if ("[BC] Purchase Line Type" = const("Fixed Asset")) "Fixed Asset" else if ("[BC] Purchase Line Type" = const("Charge (Item...) |
| 103 | [BC] Unit of Measure | Code[20] | Specifies the unit of measure code. | TableRelation [Table 204 "Unit of Measure"](../table/204.md) (Unit of Measure) |
| 104 | [BC] Deferral Code | Code[10] | Specifies the deferral code. | TableRelation [Table 1700 "Deferral Template"](../table/1700.md) (Deferral Template) |
| 105 | [BC] Shortcut Dimension 1 Code | Code[20] | Specifies the code for Shortcut Dimension 1, which is one of two global dimension codes that you set up in the General Ledger Setup window. | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(1), Blocked = const(false))) |
| 106 | [BC] Shortcut Dimension 2 Code | Code[20] | Specifies the code for Shortcut Dimension 2, which is one of two global dimension codes that you set up in the General Ledger Setup window. | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(2), Blocked = const(false))) |
| 107 | [BC] Item Reference No. | Code[50] | Specifies the item reference number. | TableRelation [Table 5777 "Item Reference"](../table/5777.md) ("Item Reference"."Reference No." where("Unit of Measure" = field("[BC] Unit of Measure"), "Variant Code" = field("[BC] Variant Code"))) |
| 108 | [BC] Variant Code | Code[10] | Specifies the variant code. | TableRelation [Table 5401 "Item Variant"](../table/5401.md) ("Item Variant".Code where("Item No." = field("[BC] Purchase Type No."))) |
| 109 | [BC] Dimension Set ID | Integer | Dimension Set ID <small>caption</small> | TableRelation [Table 480 "Dimension Set Entry"](../table/480.md) (Dimension Set Entry); not editable |
| 110 | [BC] VAT Prod. Posting Group | Code[20] | Specifies the VAT product posting group resolved from the extracted VAT rate. | TableRelation [Table 324 "VAT Product Posting Group"](../table/324.md) (VAT Product Posting Group) |
| 201 | E-Doc. Purch. Line History Id | Integer | Specifies the ID of the e-document purchase line history. | TableRelation [Table 6140 "E-Doc. Purchase Line History"](../table/6140.md) ("E-Doc. Purchase Line History"."Entry No."); DataClassification SystemMetadata |

## Keys

- PK: E-Document Entry No., Line No. (clustered)
- Key1: [BC] Purchase Type No.

## Events published

- `OnAfterGetMatchedEntityName(EDocumentPurchaseLine: Record "E-Document Purchase Line"; var EntityName: Text[100])` (integration)

## Procedures

- `GetMatchedEntityName(): Text[100]` (internal): Returns the name of the entity (Item, G/L Account, Resource, etc.) that this line is matched to, resolved from the "[BC] Purchase Line Type" and "[BC] Purchase Type No." fields
- `GetNextLineNo(EDocumentEntryNo: Integer): Integer`
- `AdditionalColumnsDisplayText(): Text` (internal): Returns any additional columns defined for this line in a human-readable format.
- `LookupDimensions(): Boolean` (internal)
- `GetFromLinkedPurchaseLine(PurchaseLine: Record "Purchase Line"): Boolean` (internal)
- `GetLinkedPurchaseLine(): Record "Purchase Line"` (internal)
- `GetEDocumentPurchaseHeader(): Record "E-Document Purchase Header"`
- `GetBCVendor(): Record Vendor`
- `LogVATRateMismatch(VendVATBusPostingGroupCode: Code[20]; VATRate: Decimal)` (internal)
- `LogVATRateResolved(VendVATBusPostingGroupCode: Code[20]; VATRate: Decimal)` (internal)

Plus 2 local procedures.

## Triggers

OnDelete

## Relations

- [BC] Purchase Type No.: TableRelation [Table 15 "G/L Account"](../table/15.md) (conditional)
- [BC] Deferral Code: TableRelation [Table 1700 "Deferral Template"](../table/1700.md)
- [BC] Unit of Measure: TableRelation [Table 204 "Unit of Measure"](../table/204.md)
- [BC] VAT Prod. Posting Group: TableRelation [Table 324 "VAT Product Posting Group"](../table/324.md)
- [BC] Shortcut Dimension 1 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- [BC] Shortcut Dimension 2 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- [BC] Dimension Set ID: TableRelation [Table 480 "Dimension Set Entry"](../table/480.md)
- [BC] Variant Code: TableRelation [Table 5401 "Item Variant"](../table/5401.md)
- [BC] Purchase Type No.: TableRelation [Table 5600 "Fixed Asset"](../table/5600.md) (conditional)
- [BC] Item Reference No.: TableRelation [Table 5777 "Item Reference"](../table/5777.md)
- E-Document Entry No.: TableRelation [Table 6121 "E-Document"](../table/6121.md)
- E-Doc. Purch. Line History Id: TableRelation [Table 6140 "E-Doc. Purchase Line History"](../table/6140.md)
- [BC] Purchase Type No.: TableRelation [Table 7 "Standard Text"](../table/7.md) (conditional)

## Referenced by

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

- [Table 6114 "E-Doc. Purchase Line PO Match"](../table/6114.md): E-Doc. Purchase Line SystemId
- [Table 6117 "E-Doc. Finalized PO Match"](../table/6117.md): E-Doc. Purchase Line SystemId

## Pages and codeunits on this table

- [Page 6102 "E-Doc Line Values."](../page/6102.md) (source table)
- [Page 6183 "E-Doc. Purchase Draft Subform"](../page/6183.md) (source table)
- [Page 6184 "E-Doc. Read. Purch. Lines"](../page/6184.md) (source table)
- [Codeunit 6105 "E-Doc. Similar Descriptions"](../codeunit/6105.md) (codeunit runs on it)
- [Codeunit 6126 "E-Doc. GL Account Matching"](../codeunit/6126.md) (codeunit runs on it)
- [Codeunit 6129 "E-Doc. Deferral Matching"](../codeunit/6129.md) (codeunit runs on it)
- [Codeunit 6177 "E-Doc. Historical Matching"](../codeunit/6177.md) (codeunit runs on it)

## Recent changes

- 2026-07-08 [#9124 [E-Document] [Payables Agent] Users can personalize-in the Name column on the draft page](../../changes/bcapps/9124.md) (main, BC30, feature)

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