---
id: object/page/7014
type: object
title: Page 7014 "Purchase Line Discounts"
summary: Page 7014 "Purchase Line Discounts" in Base Application (Microsoft.Purchases.Pricing). 1 public procedures. Present since at least BC23, still in BC30, changed in BC24-25, BC28.
tier: official
language: en
tags:
  - page
  - base application
versions:
  introduced: null
  last_changed: "28"
  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: a465970eebe364a5b37832e585efa1a0a852f6ac2be59829afa2dfcb7daeb0bc
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Purchases/Pricing/PurchaseLineDiscounts.Page.al
    title: src/Layers/W1/BaseApp/Purchases/Pricing/PurchaseLineDiscounts.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/purchasing-how-record-purchase-price-discount-payment-agreements
    title: Record special purchase prices and discounts
    date: null
    commit: null
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/purchasing-how-record-purchase-price-discount-payment-agreements
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/set-up-business-central/set-up-purchase
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: page
object_id: 7014
name: Purchase Line Discounts
namespace: Microsoft.Purchases.Pricing
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "25"
  - "28"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids:
  - docs/learn-smb-docs/business-central/purchasing-how-record-purchase-price-discount-payment-agreements.md
counts:
  fields: 0
  procedures: 6
  events: 0
  subscribers: 0
  controls: 12
  actions: 0
relations:
  out: 1
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 1
  called_by: 0
  implements: 0
---

# Page 7014 "Purchase Line Discounts"

> Page 7014 "Purchase Line Discounts" in Base Application (Microsoft.Purchases.Pricing). 1 public procedures. Present since at least BC23, still in BC30, changed in BC24-25, BC28.

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

## Properties

| Property | Value |
|---|---|
| Caption | Purchase Line Discounts |
| SourceTable | Purchase Line Discount |
| PageType | Worksheet |

## 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 |
|---|---|---|---|
| General | Vendor No. Filter | `VendNoFilter` | Specifies a filter for which purchase line discounts display. |
|  | Item No. Filter | `ItemNoFilter` | Specifies a filter for which purchase line discounts to display. |
|  | Starting Date Filter | `StartingDateFilter` | Specifies a filter for which purchase line discounts to display. |
| Control1 | Vendor No. | [Vendor No.](../table/7014.md#fields) | Specifies the number of the vendor who offers the line discount on the item. <small>from the table field</small> |
|  | Currency Code | [Currency Code](../table/7014.md#fields) | Specifies the currency code of the purchase line discount price. <small>from the table field</small> |
|  | Item No. | [Item No.](../table/7014.md#fields) | Specifies the number of the item that the purchase line discount applies to. <small>from the table field</small> |
|  | Variant Code | [Variant Code](../table/7014.md#fields) | Specifies the variant of the item on the line. <small>from the table field</small> |
|  | Unit of Measure Code | [Unit of Measure Code](../table/7014.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> |
|  | Minimum Quantity | [Minimum Quantity](../table/7014.md#fields) | Specifies the minimum quantity of the item that you must buy from the vendor in order to receive the purchase line discount. <small>from the table field</small> |
|  | Line Discount % | [Line Discount %](../table/7014.md#fields) | Specifies the discount percentage that is granted for the item on the line. <small>from the table field</small> |
|  | Starting Date | [Starting Date](../table/7014.md#fields) | Specifies the date from which the purchase line discount is valid. <small>from the table field</small> |
|  | Ending Date | [Ending Date](../table/7014.md#fields) | Specifies the date to which the purchase line discount is valid. <small>from the table field</small> |

## Procedures

- `SetRecFilters()`

Plus 5 local procedures.

## Triggers

OnInit

## Relations

- source table [Table 7014 "Purchase Line Discount"](../table/7014.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 7049 "Feature - Price Calculation"](../codeunit/7049.md) (1 call: `OnInit → FailIfFeatureEnabled`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24-25, BC28

## Documented on Microsoft Learn

- [Record special purchase prices and discounts](https://learn.microsoft.com/dynamics365/business-central/purchasing-how-record-purchase-price-discount-payment-agreements)

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