---
id: object/table/123
type: object
title: Table 123 "Purch. Inv. Line"
summary: Table 123 "Purch. Inv. Line" in Base Application (Microsoft.Purchases.History). 121 fields, 22 public procedures, 10 events. Present since at least BC23, still in BC30, changed in BC24, BC26-29.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "29"
  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: 91fae4be62e151953a995de458cf30edcf63f9ae11ce8a18f4a66faaf9af9648
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Purchases/History/PurchInvLine.Table.al
    title: src/Layers/W1/BaseApp/Purchases/History/PurchInvLine.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations:
    - localization/au
    - localization/be
    - localization/ca
    - localization/es
    - localization/fi
    - localization/gb
    - localization/it
    - localization/mx
    - localization/no
    - localization/nz
    - localization/ru
    - localization/se
    - localization/us
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/9947
    - change/bcapps/8959
object_type: table
object_id: 123
name: Purch. Inv. Line
namespace: Microsoft.Purchases.History
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "26"
  - "27"
  - "28"
  - "29"
source_major: "29"
obsolete: null
countries:
  - au
  - be
  - ca
  - es
  - fi
  - gb
  - it
  - mx
  - "no"
  - nz
  - ru
  - se
  - us
ms_search_form_ids: []
counts:
  fields: 121
  procedures: 34
  events: 10
  subscribers: 0
relations:
  out: 51
  referenced_by: 6
  pages: 4
  extended_by: 7
  event_subscribers: 5
  calls: 7
  called_by: 0
  implements: 0
---

# Table 123 "Purch. Inv. Line"

> Table 123 "Purch. Inv. Line" in Base Application (Microsoft.Purchases.History). 121 fields, 22 public procedures, 10 events. Present since at least BC23, still in BC30, changed in BC24, BC26-29.

Base Application · Microsoft.Purchases.History · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Purchases/History/PurchInvLine.Table.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Purch. Inv. Line |
| DataClassification | CustomerContent |
| Permissions | TableData "Item Ledger Entry" = r, TableData "Value Entry" = r |

## 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 |
|---|---|---|---|---|
| 2 | Buy-from Vendor No. | Code[20] | Specifies the name of the vendor who delivered the items. | TableRelation [Table 23 "Vendor"](../table/23.md); not editable |
| 3 | Document No. | Code[20] | Specifies the document number. | TableRelation [Table 122 "Purch. Inv. Header"](../table/122.md) (Purch. Inv. Header) |
| 4 | Line No. | Integer | — |  |
| 5 | Type | Enum "Purchase Line Type" | Specifies the line type. | enum [Enum 39 "Purchase Line Type"](../enum/39.md) |
| 6 | No. | Code[20] | Specifies the number of the involved entry or record, according to the specified number series. | TableRelation [Table 15 "G/L Account"](../table/15.md), [Table 156 "Resource"](../table/156.md), [Table 27 "Item"](../table/27.md) (if (Type = const("G/L Account")) "G/L Account" else if (Type = const(Item)) Item else if (Type = const("Fixed Asset")) "Fixed Asset" else if (Type = const("Charge (Item)")) "Item Charge" else if (Type = const(Resource)) Resource) |
| 7 | Location Code | Code[10] | Specifies the code for the location where the invoice line is registered. | TableRelation [Table 14 "Location"](../table/14.md) (Location where("Use As In-Transit" = const(false))) |
| 8 | Posting Group | Code[20] | — | TableRelation [Table 5606 "FA Posting Group"](../table/5606.md), [Table 94 "Inventory Posting Group"](../table/94.md) (if (Type = const(Item)) "Inventory Posting Group" else if (Type = const("Fixed Asset")) "FA Posting Group"); not editable |
| 10 | Expected Receipt Date | Date | Specifies the date when the items were expected. |  |
| 11 | Description | Text[100] | Specifies either the name of, or a description of, the item or general ledger account. |  |
| 12 | Description 2 | Text[50] | Specifies information in addition to the description. |  |
| 13 | Unit of Measure | Text[50] | Specifies the name of the item or resource's unit of measure, such as piece or hour. |  |
| 15 | Quantity | Decimal | Specifies the quantity posted from the line. |  |
| 22 | Direct Unit Cost | Decimal | Specifies the cost of one unit of the selected item or resource. |  |
| 23 | Unit Cost (LCY) | Decimal | Specifies the cost, in LCY, of one unit of the item or resource on the line. <small>via [Page 529 "Posted Purchase Invoice Lines"](../page/529.md)</small> |  |
| 25 | VAT % | Decimal | Specifies the VAT %. | not editable |
| 27 | Line Discount % | Decimal | Specifies the discount percentage that is granted for the item on the line. |  |
| 28 | Line Discount Amount | Decimal | Specifies the discount amount that is granted for the item on the line. |  |
| 29 | Amount | Decimal | Specifies the line's net amount. |  |
| 30 | Amount Including VAT | Decimal | Specifies the net amount, including VAT, for this line. |  |
| 31 | Unit Price (LCY) | Decimal | Specifies the price, in LCY, of one unit of the item or resource. You can enter a price manually or have it entered according to the Price/Profit Calculation field on the related card. <small>via [Page 529 "Posted Purchase Invoice Lines"](../page/529.md)</small> |  |
| 32 | Allow Invoice Disc. | Boolean | Specifies if the invoice line is included when the invoice discount is calculated. |  |
| 34 | Gross Weight | Decimal | Specifies the gross weight of one unit of the item. In the purchase statistics window, the gross weight on the line is included in the total gross weight of all the lines for the particular purchase document. |  |
| 35 | Net Weight | Decimal | Specifies the net weight of one unit of the item. In the purchase statistics window, the net weight on the line is included in the total net weight of all the lines for the particular purchase document. |  |
| 36 | Units per Parcel | Decimal | Specifies the number of units per parcel of the item. In the purchase statistics window, the number of units per parcel on the line helps to determine the total number of units for all the lines for the particular purchase document. |  |
| 37 | Unit Volume | Decimal | Specifies the volume of one unit of the item. In the purchase statistics window, the volume of one unit of the item on the line is included in the total volume of all the lines for the particular purchase document. |  |
| 38 | Appl.-to Item Entry | Integer | Specifies the number of the item ledger entry that the document or journal line is applied to. |  |
| 40 | 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))) |
| 41 | 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))) |
| 45 | Job No. | Code[20] | Specifies the number of the related project. | TableRelation [Table 167 "Job"](../table/167.md) |
| 54 | Indirect Cost % | Decimal | Specifies the percentage of the item's last purchase cost that includes indirect costs, such as freight that is associated with the purchase of the item. |  |
| 63 | Receipt No. | Code[20] | — | not editable |
| 64 | Receipt Line No. | Integer | — | not editable |
| 65 | Order No. | Code[20] | Specifies the order number this line is associated with. |  |
| 66 | Order Line No. | Integer | — |  |
| 68 | Pay-to Vendor No. | Code[20] | — | TableRelation [Table 23 "Vendor"](../table/23.md); not editable |
| 69 | Inv. Discount Amount | Decimal | Specifies the total calculated invoice discount amount for the line. |  |
| 70 | Vendor Item No. | Text[50] | — |  |
| 74 | Gen. Bus. Posting Group | Code[20] | Specifies the vendor's or customer's trade type to link transactions made for this business partner with the appropriate general ledger account according to the general posting setup. | TableRelation [Table 250 "Gen. Business Posting Group"](../table/250.md) (Gen. Business Posting Group) |
| 75 | Gen. Prod. Posting Group | Code[20] | Specifies the item's product type to link transactions made for this item with the appropriate general ledger account according to the general posting setup. | TableRelation [Table 251 "Gen. Product Posting Group"](../table/251.md) (Gen. Product Posting Group) |
| 77 | VAT Calculation Type | Enum "Tax Calculation Type" | — | enum [Enum 254 "Tax Calculation Type"](../enum/254.md) |
| 78 | Transaction Type | Code[10] | — | TableRelation [Table 258 "Transaction Type"](../table/258.md) (Transaction Type) |
| 79 | Transport Method | Code[10] | — | TableRelation [Table 259 "Transport Method"](../table/259.md) (Transport Method) |
| 80 | Attached to Line No. | Integer | — | TableRelation [Table 123 "Purch. Inv. Line"](../table/123.md) ("Purch. Inv. Line"."Line No." where("Document No." = field("Document No."))) |
| 81 | Entry Point | Code[10] | — | TableRelation [Table 282 "Entry/Exit Point"](../table/282.md) (Entry/Exit Point) |
| 82 | Area | Code[10] | — | TableRelation [Table 284 "Area"](../table/284.md) |
| 83 | Transaction Specification | Code[10] | — | TableRelation [Table 285 "Transaction Specification"](../table/285.md) (Transaction Specification) |
| 85 | Tax Area Code | Code[20] | Specifies the tax area that is used to calculate and post sales tax. | TableRelation [Table 318 "Tax Area"](../table/318.md) (Tax Area) |
| 86 | Tax Liable | Boolean | Specifies if the customer or vendor is liable for sales tax. |  |
| 87 | Tax Group Code | Code[20] | Specifies the tax group that is used to calculate and post sales tax. | TableRelation [Table 321 "Tax Group"](../table/321.md) (Tax Group) |
| 88 | Use Tax | Boolean | Specifies that the purchase is subject to use tax. Use tax is a sales tax that is paid on items that are purchased by a company and are used by that company instead of being sold to a customer. |  |
| 89 | VAT Bus. Posting Group | Code[20] | Specifies the VAT specification of the involved customer or vendor to link transactions made for this record with the appropriate general ledger account according to the VAT posting setup. | TableRelation [Table 323 "VAT Business Posting Group"](../table/323.md) (VAT Business Posting Group) |
| 90 | VAT Prod. Posting Group | Code[20] | Specifies the VAT specification of the involved item or resource to link transactions made for this record with the appropriate general ledger account according to the VAT posting setup. | TableRelation [Table 324 "VAT Product Posting Group"](../table/324.md) (VAT Product Posting Group) |
| 97 | Blanket Order No. | Code[20] | Specifies the number of the blanket order that the record originates from. | TableRelation [Table 38 "Purchase Header"](../table/38.md) ("Purchase Header"."No." where("Document Type" = const("Blanket Order"))) |
| 98 | Blanket Order Line No. | Integer | Specifies the number of the blanket order line that the record originates from. | TableRelation [Table 39 "Purchase Line"](../table/39.md) ("Purchase Line"."Line No." where("Document Type" = const("Blanket Order"), "Document No." = field("Blanket Order No."))) |
| 99 | VAT Base Amount | Decimal | — | not editable |
| 100 | Unit Cost | Decimal | — | not editable |
| 101 | System-Created Entry | Boolean | — | not editable |
| 103 | Line Amount | Decimal | Specifies the net amount, excluding any invoice discount amount, that must be paid for products on the line. |  |
| 104 | VAT Difference | Decimal | — |  |
| 106 | VAT Identifier | Code[20] | — | not editable |
| 107 | IC Partner Ref. Type | Enum "IC Partner Reference Type" | — | enum [Enum 107 "IC Partner Reference Type"](../enum/107.md) |
| 108 | IC Partner Reference | Code[20] | — |  |
| 123 | Prepayment Line | Boolean | — | not editable |
| 130 | IC Partner Code | Code[20] | Specifies the code of the intercompany partner that the transaction is related to if the entry was created from an intercompany transaction. | TableRelation [Table 413 "IC Partner"](../table/413.md) (IC Partner) |
| 131 | Posting Date | Date | Specifies the posting date of the historical purchase invoice. <small>via [Page 6186 "E-Doc. Historical Lines List"](../page/6186.md)</small> |  |
| 138 | IC Cross-Reference No. | Code[50] | IC Item Reference No. <small>caption</small> |  |
| 145 | Pmt. Discount Amount | Decimal | — |  |
| 480 | Dimension Set ID | Integer | — | TableRelation [Table 480 "Dimension Set Entry"](../table/480.md) (Dimension Set Entry); not editable |
| 1001 | Job Task No. | Code[20] | Specifies the number of the related project task. | TableRelation [Table 1001 "Job Task"](../table/1001.md) ("Job Task"."Job Task No." where("Job No." = field("Job No."))) |
| 1002 | Job Line Type | Enum "Job Line Type" | Project Line Type <small>caption</small> | enum [Enum 1002 "Job Line Type"](../enum/1002.md) |
| 1003 | Job Unit Price | Decimal | Project Unit Price <small>caption</small> |  |
| 1004 | Job Total Price | Decimal | Project Total Price <small>caption</small> |  |
| 1005 | Job Line Amount | Decimal | Project Line Amount <small>caption</small> |  |
| 1006 | Job Line Discount Amount | Decimal | Project Line Discount Amount <small>caption</small> |  |
| 1007 | Job Line Discount % | Decimal | Project Line Discount % <small>caption</small> |  |
| 1008 | Job Unit Price (LCY) | Decimal | Project Unit Price (LCY) <small>caption</small> |  |
| 1009 | Job Total Price (LCY) | Decimal | Project Total Price (LCY) <small>caption</small> |  |
| 1010 | Job Line Amount (LCY) | Decimal | Project Line Amount (LCY) <small>caption</small> |  |
| 1011 | Job Line Disc. Amount (LCY) | Decimal | Project Line Disc. Amount (LCY) <small>caption</small> |  |
| 1012 | Job Currency Factor | Decimal | Project Currency Factor <small>caption</small> |  |
| 1013 | Job Currency Code | Code[20] | Project Currency Code <small>caption</small> |  |
| 1019 | Job Planning Line No. | Integer | Project Planning Line No. <small>caption</small> |  |
| 1700 | Deferral Code | Code[10] | Specifies the deferral template that governs how expenses paid with this purchase document are deferred to the different accounting periods when the expenses were incurred. | TableRelation [Table 1700 "Deferral Template"](../table/1700.md) ("Deferral Template"."Deferral Code") |
| 2678 | Allocation Account No. | Code[20] | Specifies the allocation account number used for distributing the cost. <small>via [Page 6186 "E-Doc. Historical Lines List"](../page/6186.md)</small> |  |
| 2679 | Alloc. Purch. Line SystemId | Guid | Allocation Purchase Line SystemId <small>caption</small> | DataClassification SystemMetadata |
| 2701 | Matched Order Lines | Integer | Specifies the number of purchase order lines to which this posted purchase invoice line is matched. <small>via [Page 139 "Posted Purch. Invoice Subform"](../page/139.md)</small> | FlowField: count("Posted Matched Order Line" where("Document Line SystemId" = field(SystemId), "Matched Rcpt./Shpt. Line SysId" = const('00000000-0000-0000-0000-000000000000'))); not editable |
| 5402 | Variant Code | Code[10] | Specifies the variant of the item on the line. | TableRelation [Table 5401 "Item Variant"](../table/5401.md) (if (Type = const(Item)) "Item Variant".Code where("Item No." = field("No."))) |
| 5403 | Bin Code | Code[20] | Specifies the bin where the items are picked or put away. | TableRelation [Table 7354 "Bin"](../table/7354.md) (Bin.Code where("Location Code" = field("Location Code"), "Item Filter" = field("No."), "Variant Filter" = field("Variant Code"))) |
| 5404 | Qty. per Unit of Measure | Decimal | — | not editable |
| 5407 | Unit of Measure Code | Code[10] | Specifies how each unit of the item or resource is measured, such as in pieces or hours. By default, the value in the Base Unit of Measure field on the item or resource card is inserted. | TableRelation [Table 204 "Unit of Measure"](../table/204.md), [Table 5404 "Item Unit of Measure"](../table/5404.md) (if (Type = const(Item)) "Item Unit of Measure".Code where("Item No." = field("No.")) else "Unit of Measure") |
| 5415 | Quantity (Base) | Decimal | — |  |
| 5600 | FA Posting Date | Date | — |  |
| 5601 | FA Posting Type | Enum "Purchase FA Posting Type" | Specifies the posting type, if Account Type field contains Fixed Asset. | enum [Enum 5607 "Purchase FA Posting Type"](../enum/5607.md) |
| 5602 | Depreciation Book Code | Code[10] | Specifies the code for the depreciation book to which the line will be posted if you have selected Fixed Asset in the Type field for this line. | TableRelation [Table 5611 "Depreciation Book"](../table/5611.md) (Depreciation Book) |
| 5603 | Salvage Value | Decimal | — |  |
| 5605 | Depr. until FA Posting Date | Boolean | Specifies if depreciation was calculated until the FA posting date of the line. |  |
| 5606 | Depr. Acquisition Cost | Boolean | Specifies if, when this line was posted, the additional acquisition cost posted on the line was depreciated in proportion to the amount by which the fixed asset had already been depreciated. |  |
| 5609 | Maintenance Code | Code[10] | — | TableRelation [Table 5626 "Maintenance"](../table/5626.md) |
| 5610 | Insurance No. | Code[20] | Specifies the insurance number on the purchase invoice line. | TableRelation [Table 5628 "Insurance"](../table/5628.md) |
| 5611 | Budgeted FA No. | Code[20] | Specifies the number of a fixed asset with the Budgeted Asset check box selected. When you post the journal or document line, an additional entry is created for the budgeted fixed asset where the amount has the opposite sign. | TableRelation [Table 5600 "Fixed Asset"](../table/5600.md) (Fixed Asset) |
| 5612 | Duplicate in Depreciation Book | Code[10] | — | TableRelation [Table 5611 "Depreciation Book"](../table/5611.md) (Depreciation Book) |
| 5613 | Use Duplication List | Boolean | — |  |
| 5700 | Responsibility Center | Code[10] | — | TableRelation [Table 5714 "Responsibility Center"](../table/5714.md) (Responsibility Center) |
| 5709 | Item Category Code | Code[20] | — | TableRelation [Table 5722 "Item Category"](../table/5722.md) (if (Type = const(Item)) "Item Category") |
| 5710 | Nonstock | Boolean | Specifies that this item is a catalog item. |  |
| 5711 | Purchasing Code | Code[10] | — | TableRelation [Table 5721 "Purchasing"](../table/5721.md) |
| 5725 | Item Reference No. | Code[50] | Specifies the referenced item number. |  |
| 5726 | Item Reference Unit of Measure | Code[10] | Unit of Measure (Item Ref.) <small>caption</small> | TableRelation [Table 5404 "Item Unit of Measure"](../table/5404.md) (if (Type = const(Item)) "Item Unit of Measure".Code where("Item No." = field("No."))) |
| 5727 | Item Reference Type | Enum "Item Reference Type" | — | enum [Enum 5726 "Item Reference Type"](../enum/5726.md) |
| 5728 | Item Reference Type No. | Code[30] | — |  |
| 6200 | Non-Deductible VAT % | Decimal | — |  |
| 6201 | Non-Deductible VAT Base | Decimal | Specifies the amount of VAT that is not deducted due to the type of goods or services purchased. |  |
| 6202 | Non-Deductible VAT Amount | Decimal | Specifies the amount of the transaction for which VAT is not applied, due to the type of goods or services purchased. |  |
| 6203 | Non-Deductible VAT Diff. | Decimal | Non-Deductible VAT Difference <small>caption</small> | not editable |
| 6608 | Return Reason Code | Code[10] | Specifies the code explaining why the item was returned. | TableRelation [Table 6635 "Return Reason"](../table/6635.md) (Return Reason) |
| 7000 | Price Calculation Method | Enum "Price Calculation Method" | — | enum [Enum 7000 "Price Calculation Method"](../enum/7000.md) |
| 8512 | Buy-from Vendor Name | Text[100] | Specifies the name of the vendor who delivered the items. | FlowField: lookup(Vendor.Name where("No." = field("Buy-from Vendor No."))); not editable |
| 12100 | No. of Fixed Asset Cards | Integer | Specifies the number of fixed assets that is being purchased. |  |
| 99000755 | Overhead Rate | Decimal | — |  |
| 147 | Spend Request No. | Code[20] | Specifies the spend request that this purchase document relates to. | TableRelation [Table 6840 "Spend Request"](../table/6840.md) (Spend Request) |
| 148 | Spend Request Close | Boolean | Specifies that the spend request will be closed when the purchase document is posted. |  |

## Keys

- Key1: Document No., Line No. (clustered)
- Key2: Blanket Order No., Blanket Order Line No.
- Key3: Type, No., Variant Code
- Key4: Buy-from Vendor No.
- Key5: Order No., Order Line No., Posting Date
- Key6: Document No., Location Code

## Events published

- `OnAfterCalcQty(var PurchInvLine: Record "Purch. Inv. Line"; QtyBase: Decimal; var Result: Decimal)` (integration)
- `OnAfterInitFromPurchLine(PurchInvHeader: Record "Purch. Inv. Header"; PurchLine: Record "Purchase Line"; var PurchInvLine: Record "Purch. Inv. Line")` (integration)
  - subscribers: [Codeunit 8066 "Purchase Documents"](../codeunit/8066.md) PurchInvLineCopyContractNoOnAfterInitFromPurchLine
- `OnBeforeShowDeferrals(var PurchInvLine: Record "Purch. Inv. Line"; var IsHandled: Boolean)` (integration)
- `OnGetItemLedgEntriesOnBeforeTempItemLedgEntryInsert(var TempItemLedgerEntry: Record "Item Ledger Entry" temporary; ValueEntry: Record "Value Entry"; SetQuantity: Boolean)` (integration)
- `OnBeforeSetSecurityFilterOnRespCenter(var PurchInvLine: Record "Purch. Inv. Line"; var IsHandled: Boolean)` (integration)
- `OnGetItemLedgEntryOnShouldExit(var PurchInvLine: Record "Purch. Inv. Line"; var ShouldExit: Boolean)` (integration)
  - subscribers: [Codeunit 99000789 "Mfg. Purchase Document Mgt."](../codeunit/99000789.md) OnGetItemLedgEntryOnShouldExit
- `OnAfterGetVATPct(var PurchInvLine: Record "Purch. Inv. Line"; var VATPct: Decimal)` (integration)
- `OnAfterCalcReceivedPurchNotReturned(var PurchInvLine: Record "Purch. Inv. Line"; var RemainingQty: Decimal; var RevUnitCostLCY: Decimal; ExactCostReverse: Boolean)` (integration)
- `OnIsProdOrder(var PurchInvLine: Record "Purch. Inv. Line"; var Result: Boolean)` (integration)
  - subscribers: [Codeunit 99000789 "Mfg. Purchase Document Mgt."](../codeunit/99000789.md) PurchInvLineOnIsProdOrder
- `OnAfterIsCancellationSupported(PurchInvLine: Record "Purch. Inv. Line"; var Result: Boolean)` (integration)

## Trigger event subscribers

- OnAfterDeleteEvent: [Codeunit 1173 "Document Attachment Mgmt"](../codeunit/1173.md) DeleteAttachedDocumentsOnAfterDeletePurchInvLine, [Codeunit 8059 "Sub. Contracts General Mgt."](../codeunit/8059.md) PurchaseInvoiceLineDeleteArchivedBillingLines

## Procedures

- `GetCurrencyCode(): Code[10]`
- `ShowDimensions()`
- `ShowItemTrackingLines()`
- `CalcVATAmountLines(PurchInvHeader: Record "Purch. Inv. Header"; var TempVATAmountLine: Record "VAT Amount Line" temporary)`
- `GetCaptionClass(FieldNumber: Integer): Text[80]`
- `RowID1(): Text[250]`
- `GetPurchRcptLines(var TempPurchRcptLine: Record "Purch. Rcpt. Line" temporary)`
- `CalcReceivedPurchNotReturned(var RemainingQty: Decimal; var RevUnitCostLCY: Decimal; ExactCostReverse: Boolean)`
- `GetItemLedgEntries(var TempItemLedgEntry: Record "Item Ledger Entry" temporary; SetQuantity: Boolean)`
- `FilterPstdDocLineValueEntries(var ValueEntry: Record "Value Entry")`
- `ShowItemReceiptLines()`
- `ShowLineComments()`
- `ShowShortcutDimCode(var ShortcutDimCode: array[8] of Code[20])`
- `InitFromPurchLine(PurchInvHeader: Record "Purch. Inv. Header"; PurchLine: Record "Purchase Line")`
- `ShowDeferrals()`
- `GetDocumentType(): Integer`
- `HasTypeToFillMandatoryFields(): Boolean`
- `FormatType(): Text`
- `IsCancellationSupported(): Boolean`
- `SetSecurityFilterOnRespCenter()`
- `GetVATPct(): Decimal` (internal)
- `IsProdOrder(): Boolean`

Plus 2 local procedures.

## Triggers

OnDelete

## Relations

- drill-down page [Page 529 "Posted Purchase Invoice Lines"](../page/529.md)
- lookup page [Page 529 "Posted Purchase Invoice Lines"](../page/529.md)
- Job Task No.: TableRelation [Table 1001 "Job Task"](../table/1001.md)
- Document No.: TableRelation [Table 122 "Purch. Inv. Header"](../table/122.md)
- Attached to Line No.: TableRelation [Table 123 "Purch. Inv. Line"](../table/123.md)
- Location Code: TableRelation [Table 14 "Location"](../table/14.md)
- No.: TableRelation [Table 15 "G/L Account"](../table/15.md) (conditional)
- No.: TableRelation [Table 156 "Resource"](../table/156.md) (conditional)
- Job No.: TableRelation [Table 167 "Job"](../table/167.md)
- Deferral Code: TableRelation [Table 1700 "Deferral Template"](../table/1700.md)
- Unit of Measure Code: TableRelation [Table 204 "Unit of Measure"](../table/204.md) (conditional)
- Buy-from Vendor Name: CalcFormula [Table 23 "Vendor"](../table/23.md)
- Buy-from Vendor No.: TableRelation [Table 23 "Vendor"](../table/23.md)
- Pay-to Vendor No.: TableRelation [Table 23 "Vendor"](../table/23.md)
- Gen. Bus. Posting Group: TableRelation [Table 250 "Gen. Business Posting Group"](../table/250.md)
- Gen. Prod. Posting Group: TableRelation [Table 251 "Gen. Product Posting Group"](../table/251.md)
- Transaction Type: TableRelation [Table 258 "Transaction Type"](../table/258.md)
- Transport Method: TableRelation [Table 259 "Transport Method"](../table/259.md)
- No.: TableRelation [Table 27 "Item"](../table/27.md) (conditional)
- Entry Point: TableRelation [Table 282 "Entry/Exit Point"](../table/282.md)
- Area: TableRelation [Table 284 "Area"](../table/284.md)
- Transaction Specification: TableRelation [Table 285 "Transaction Specification"](../table/285.md)
- Tax Area Code: TableRelation [Table 318 "Tax Area"](../table/318.md)
- Tax Group Code: TableRelation [Table 321 "Tax Group"](../table/321.md)
- VAT Bus. Posting Group: TableRelation [Table 323 "VAT Business Posting Group"](../table/323.md)
- VAT Prod. Posting Group: TableRelation [Table 324 "VAT Product Posting Group"](../table/324.md)
- Shortcut Dimension 1 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Shortcut Dimension 2 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Blanket Order No.: TableRelation [Table 38 "Purchase Header"](../table/38.md)
- Blanket Order Line No.: TableRelation [Table 39 "Purchase Line"](../table/39.md)
- IC Partner Code: TableRelation [Table 413 "IC Partner"](../table/413.md)
- Dimension Set ID: TableRelation [Table 480 "Dimension Set Entry"](../table/480.md)
- Variant Code: TableRelation [Table 5401 "Item Variant"](../table/5401.md)
- Item Reference Unit of Measure: TableRelation [Table 5404 "Item Unit of Measure"](../table/5404.md)
- Unit of Measure Code: TableRelation [Table 5404 "Item Unit of Measure"](../table/5404.md) (conditional)
- Budgeted FA No.: TableRelation [Table 5600 "Fixed Asset"](../table/5600.md)
- No.: TableRelation [Table 5600 "Fixed Asset"](../table/5600.md) (conditional)
- Posting Group: TableRelation [Table 5606 "FA Posting Group"](../table/5606.md) (conditional)
- Depreciation Book Code: TableRelation [Table 5611 "Depreciation Book"](../table/5611.md)
- Duplicate in Depreciation Book: TableRelation [Table 5611 "Depreciation Book"](../table/5611.md)
- Maintenance Code: TableRelation [Table 5626 "Maintenance"](../table/5626.md)
- Insurance No.: TableRelation [Table 5628 "Insurance"](../table/5628.md)
- Responsibility Center: TableRelation [Table 5714 "Responsibility Center"](../table/5714.md)
- Purchasing Code: TableRelation [Table 5721 "Purchasing"](../table/5721.md)
- Item Category Code: TableRelation [Table 5722 "Item Category"](../table/5722.md)
- No.: TableRelation [Table 5800 "Item Charge"](../table/5800.md) (conditional)
- Matched Order Lines: CalcFormula [Table 5819 "Posted Matched Order Line"](../table/5819.md)
- Return Reason Code: TableRelation [Table 6635 "Return Reason"](../table/6635.md)
- Spend Request No.: TableRelation [Table 6840 "Spend Request"](../table/6840.md)
- Bin Code: TableRelation [Table 7354 "Bin"](../table/7354.md)
- Posting Group: TableRelation [Table 94 "Inventory Posting Group"](../table/94.md) (conditional)

## Referenced by

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

- [Table 122 "Purch. Inv. Header"](../table/122.md): Amount, Amount Including VAT, Invoice Discount Amount
- [Table 123 "Purch. Inv. Line"](../table/123.md): Attached to Line No.
- [Table 6140 "E-Doc. Purchase Line History"](../table/6140.md): Purch. Inv. Line SystemId
- [Table extension 6217 "Sust. Purch. Inv. Header"](../tableextension/6217.md): Sustainability Lines Exist

## Pages and codeunits on this table

- [Page 139 "Posted Purch. Invoice Subform"](../page/139.md) (source table)
- [Page 529 "Posted Purchase Invoice Lines"](../page/529.md) (source table)
- [Page 5857 "Get Post.Doc - P.InvLn Subform"](../page/5857.md) (source table)
- [Page 6186 "E-Doc. Historical Lines List"](../page/6186.md) (source table)

## Extended by

- [Table extension 20514 "Subc. Purch. Inv. Line"](../tableextension/20514.md)
- [Table extension 4858 "AutoAcc Purch. Inv. Line"](../tableextension/4858.md)
- [Table extension 5024 "SD Purch. Inv. Line"](../tableextension/5024.md)
- [Table extension 6214 "Sust. Purch. Inv. Line"](../tableextension/6214.md)
- [Table extension 6791 "Withholding Purch Inv Line Ext"](../tableextension/6791.md)
- [Table extension 8060 "Purch. Inv. Line"](../tableextension/8060.md)
- [Table extension 99000754 "Mfg. Purch. Invoice Line"](../tableextension/99000754.md)

## Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an `Object::"Name"` argument. Interface dispatch and calls through events are not counted, so the list is not complete.

- [Codeunit 408 "DimensionManagement"](../codeunit/408.md) (2 calls: `ShowDimensions → ShowDimensionSet`, `ShowShortcutDimCode → GetShortcutDimensions`)
- [Codeunit 1720 "Deferral Utilities"](../codeunit/1720.md) (1 call: `ShowDeferrals → OpenLineScheduleView`)
- [Codeunit 5402 "Unit of Measure Management"](../codeunit/5402.md) (1 call: `CalcQty → QtyRndPrecision`)
- [Codeunit 5700 "User Setup Management"](../codeunit/5700.md) (1 call: `SetSecurityFilterOnRespCenter → GetPurchasesFilter`)
- [Codeunit 5826 "Matched Order Line Mgmt."](../codeunit/5826.md) (1 call: `OnDelete → DeleteMatchedLinesFromPostedPurchaseInvoice`)
- [Codeunit 6500 "Item Tracking Management"](../codeunit/6500.md) (1 call: `RowID1 → ComposeRowID`)
- [Codeunit 6503 "Item Tracking Doc. Management"](../codeunit/6503.md) (1 call: `ShowItemTrackingLines → ShowItemTrackingForInvoiceLine`)

## Recent changes

- 2026-08-13 [#9947 Allow long localized sales and purchase line type captions](../../changes/bcapps/9947.md) (main, BC30, fix)
- 2026-07-31 [#8959 Deliverable 638799: Spend Requests in Base App](../../changes/bcapps/8959.md) (main, BC30, feature)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24, BC26-29

## Countries that replace it

[AU](../../localizations/au.md), [BE](../../localizations/be.md), [CA](../../localizations/ca.md), [ES](../../localizations/es.md), [FI](../../localizations/fi.md), [GB](../../localizations/gb.md), [IT](../../localizations/it.md), [MX](../../localizations/mx.md), [NO](../../localizations/no.md), [NZ](../../localizations/nz.md), [RU](../../localizations/ru.md), [SE](../../localizations/se.md), [US](../../localizations/us.md)

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). The call sections above are our own, per object, from the BC29 call graph. 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: "Purch. Inv. Line")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
