---
id: object/page/518
type: object
title: Page 518 "Purchase Lines"
summary: Page 518 "Purchase Lines" in Base Application (Microsoft.Purchases.Document). 1 events. Present since at least BC23, still in BC30, changed in BC27.
tier: official
language: en
tags:
  - page
  - base application
versions:
  introduced: null
  last_changed: "27"
  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: e931ee5eb9eee3853d70578501f9a87a112f06375331c06471fe94a6af896372
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Purchases/Document/PurchaseLines.Page.al
    title: src/Layers/W1/BaseApp/Purchases/Document/PurchaseLines.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/ad-hoc-analysis-purchasing
    title: Ad-hoc analyses in purchasing
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/purchasing-analytics-overview
    title: Analytics in purchasing
    date: null
    commit: null
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/ad-hoc-analysis-purchasing
    - https://learn.microsoft.com/dynamics365/business-central/purchasing-analytics-overview
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/purchasing/purchasing-analytics
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: page
object_id: 518
name: Purchase Lines
namespace: Microsoft.Purchases.Document
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "27"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids:
  - docs/learn-smb-docs/business-central/ad-hoc-analysis-purchasing.md
  - docs/learn-smb-docs/business-central/purchasing-analytics-overview.md
counts:
  fields: 0
  procedures: 1
  events: 1
  subscribers: 0
  controls: 38
  actions: 6
relations:
  out: 1
  referenced_by: 0
  pages: 2
  extended_by: 0
  event_subscribers: 0
  calls: 1
  called_by: 4
  implements: 0
---

# Page 518 "Purchase Lines"

> Page 518 "Purchase Lines" in Base Application (Microsoft.Purchases.Document). 1 events. Present since at least BC23, still in BC30, changed in BC27.

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

## Properties

| Property | Value |
|---|---|
| Caption | Purchase Lines |
| SourceTable | Purchase Line |
| PageType | List |
| UsageCategory | Lists |
| ApplicationArea | Basic, Suite |

## Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control's own, else the bound field's (marked).

| Group | Control | Shows | ToolTip |
|---|---|---|---|
| Control1 | Document Type | [Document Type](../table/39.md#fields) | Specifies the type of document that you are about to create. <small>from the table field</small> |
|  | Document No. | [Document No.](../table/39.md#fields) | Specifies the document number. <small>from the table field</small> |
|  | Buy-from Vendor No. | [Buy-from Vendor No.](../table/39.md#fields) | Specifies the name of the vendor who delivered the items. <small>from the table field</small> |
|  | Buy-from Vendor Name | [Buy-from Vendor Name](../table/39.md#fields) | — |
|  | Line No. | [Line No.](../table/39.md#fields) | Specifies the line's number. <small>from the table field</small> |
|  | Type | [Type](../table/39.md#fields) | Specifies the line type. <small>from the table field</small> |
|  | No. | [No.](../table/39.md#fields) | Specifies the number of the involved entry or record, according to the specified number series. <small>from the table field</small> |
|  | Variant Code | [Variant Code](../table/39.md#fields) | Specifies the variant of the item on the line. <small>from the table field</small> |
|  | Description | [Description](../table/39.md#fields) | Specifies a description of the entry of the product to be purchased. To add a non-transactional text line, fill in the Description field only. <small>from the table field</small> |
|  | Description 2 | [Description 2](../table/39.md#fields) | Specifies information in addition to the description. <small>from the table field</small> |
|  | Location Code | [Location Code](../table/39.md#fields) | Specifies the code for the location where the items on the line will be located. <small>from the table field</small> |
|  | Quantity | [Quantity](../table/39.md#fields) | Specifies the number of units of the item specified on the line. <small>from the table field</small> |
|  | Reserved Qty. (Base) | [Reserved Qty. (Base)](../table/39.md#fields) | Specifies the value in the Reserved Quantity field, expressed in the base unit of measure. <small>from the table field</small> |
|  | Unit of Measure Code | [Unit of Measure Code](../table/39.md#fields) | 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. <small>from the table field</small> |
|  | Direct Unit Cost | [Direct Unit Cost](../table/39.md#fields) | Specifies the cost of one unit of the selected item or resource. <small>from the table field</small> |
|  | Indirect Cost % | [Indirect Cost %](../table/39.md#fields) | 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. <small>from the table field</small> |
|  | Unit Cost (LCY) | [Unit Cost (LCY)](../table/39.md#fields) | Specifies the cost, in LCY, of one unit of the item or resource on the line. <small>from the table field</small> |
|  | Unit Price (LCY) | [Unit Price (LCY)](../table/39.md#fields) | 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>from the table field</small> |
|  | Line Amount | [Line Amount](../table/39.md#fields) | Specifies the net amount, excluding any invoice discount amount, that must be paid for products on the line. <small>from the table field</small> |
|  | Order No. | [Order No.](../table/39.md#fields) | Specifies the order number this line is associated with. <small>from the table field</small> |
|  | Purchasing Code | [Purchasing Code](../table/39.md#fields) | Specifies the purchasing code associated with the purchase line. <small>from the table field</small> |
|  | Drop Shipment | [Drop Shipment](../table/39.md#fields) | Specifies if your vendor ships the items directly to your customer. <small>from the table field</small> |
|  | Allocation Account No. | [Selected Alloc. Account No.](../table/39.md#fields) | Specifies the allocation account number that will be used to distribute the amounts during the posting process. <small>from the table field</small> |
|  | Job No. | [Job No.](../table/39.md#fields) | Specifies the number of the related project. If you fill in this field and the Project Task No. field, then a project ledger entry will be posted together with the purchase line. <small>from the table field</small> |
|  | Job Task No. | [Job Task No.](../table/39.md#fields) | Specifies the number of the related project task. <small>from the table field</small> |
|  | Job Line Type | [Job Line Type](../table/39.md#fields) | Specifies a Project Planning Line together with the posting of a project ledger entry. <small>from the table field</small> |
|  | Shortcut Dimension 1 Code | [Shortcut Dimension 1 Code](../table/39.md#fields) | 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. <small>from the table field</small> |
|  | Shortcut Dimension 2 Code | [Shortcut Dimension 2 Code](../table/39.md#fields) | 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. <small>from the table field</small> |
|  | ShortcutDimCode[3] | `ShortcutDimCode[3]` | — |
|  | ShortcutDimCode[4] | `ShortcutDimCode[4]` | — |
|  | ShortcutDimCode[5] | `ShortcutDimCode[5]` | — |
|  | ShortcutDimCode[6] | `ShortcutDimCode[6]` | — |
|  | ShortcutDimCode[7] | `ShortcutDimCode[7]` | — |
|  | ShortcutDimCode[8] | `ShortcutDimCode[8]` | — |
|  | Expected Receipt Date | [Expected Receipt Date](../table/39.md#fields) | Specifies the date that you expect the items to be available in your warehouse. <small>from the table field</small> |
|  | Outstanding Quantity | [Outstanding Quantity](../table/39.md#fields) | Specifies how many units on the order line have not yet been received. <small>from the table field</small> |
|  | Outstanding Amount (LCY) | [Outstanding Amount (LCY)](../table/39.md#fields) | Specifies the amount for the items on the order that have not yet been received in LCY. <small>from the table field</small> |
|  | Amt. Rcd. Not Invoiced (LCY) | [Amt. Rcd. Not Invoiced (LCY)](../table/39.md#fields) | Specifies the sum, in LCY, for items that have been received but have not yet been invoiced. The value in the Amt. Rcd. Not Invoiced (LCY) field is used for entries in the Purchase Line table of document type Order to calculate and update the contents of this field. <small>from the table field</small> |

## Actions

| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Line | Show Document | Open the document that the selected line exists on. |  |
|  | Reservation Entries | View the entries for every reservation that is made, either manually or automatically. |  |
|  | Item Tracking Lines | View or edit serial, lot and package numbers that are assigned to the item on the document or journal line. |  |
|  | Detach Lines | Detach the selected non-inventory product lines from the inventory item line. |  |
|  | Redistribute Account Allocations | Use this action to redistribute the account allocations for this line. |  |
|  | Generate lines from Allocation Account Line | Use this action to replace the Allocation Account line with the actual lines that would be generated from the line itself. |  |

## Events published

- `OnShowDocumentOnAfterOnAction(var PurchHeader: Record "Purchase Header")` (integration)

## Triggers

OnAfterGetRecord, OnNewRecord, OnOpenPage

## Relations

- source table [Table 39 "Purchase Line"](../table/39.md)

## Pages and codeunits on this table

- [Table 39 "Purchase Line"](../table/39.md) (drill-down page)
- [Table 39 "Purchase Line"](../table/39.md) (lookup page)

## 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 2675 "Allocation Account Mgt."](../codeunit/2675.md) (1 call: `OnOpenPage → UseAllocationAccountNoField`)

## Called by

- [Table 39 "Purchase Line"](../table/39.md) (3 calls: `AttachToInventoryItemLine → (object)`, `BlanketOrderLookup → (object)`, `ShowBlanketOrderPurchaseLines → (object)`)
- [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) (2 calls: `OnLookupLine → (object)`, `ShowSourceLines → (object)`)
- [Codeunit 5992 "Purchases Warehouse Mgt."](../codeunit/5992.md) (1 call: `ShowPurchaseLines → (object)`)
- [Page 6560 "Document Line Tracking"](../page/6560.md) (1 call: `ShowRecords → (object)`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC27

## Documented on Microsoft Learn

- [Ad-hoc analyses in purchasing](https://learn.microsoft.com/dynamics365/business-central/ad-hoc-analysis-purchasing)
- [Analytics in purchasing](https://learn.microsoft.com/dynamics365/business-central/purchasing-analytics-overview)

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: "page", object_name: "Purchase Lines")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
