---
id: object/table/687
type: object
title: Table 687 "Payment Practice Header"
summary: Table 687 "Payment Practice Header" in PaymentPractices (Microsoft.Finance.Analysis). 25 fields, 2 public procedures. Introduced in BC29, still in BC30.
tier: official
language: en
tags:
  - table
  - paymentpractices
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: 51b3401cf08270e027fa614e82a477e8f2cd2ed3cd746a5e05ba1581a10d846a
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/PaymentPractices/app/src/Tables/PaymentPracticeHeader.Table.al
    title: src/Apps/W1/PaymentPractices/app/src/Tables/PaymentPracticeHeader.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/ui-payment-practices
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/finance/financial-analytics/built-in-finance-analysis-tools
    - topic/business-central/business-functionality/purchasing
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 687
name: Payment Practice Header
namespace: Microsoft.Finance.Analysis
app: PaymentPractices
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: 25
  procedures: 6
  events: 0
  subscribers: 0
relations:
  out: 1
  referenced_by: 1
  pages: 2
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Table 687 "Payment Practice Header"

> Table 687 "Payment Practice Header" in PaymentPractices (Microsoft.Finance.Analysis). 25 fields, 2 public procedures. Introduced in BC29, still in BC30.

PaymentPractices · Microsoft.Finance.Analysis · BC29-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/PaymentPractices/app/src/Tables/PaymentPracticeHeader.Table.al) · facts from BC29

Learn documents this table through its pages: [Page 687 "Payment Practice Card"](../page/687.md) (1 Learn page), [Page 689 "Payment Practice List"](../page/689.md) (1).

## 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 | No. | Integer | Specifies the number of the payment practice header. <small>via [Page 687 "Payment Practice Card"](../page/687.md)</small> | AutoIncrement |
| 2 | Starting Date | Date | Specifies the starting date of the payment practice. <small>via [Page 687 "Payment Practice Card"](../page/687.md)</small> |  |
| 3 | Ending Date | Date | Specifies the ending date of the payment practice. <small>via [Page 687 "Payment Practice Card"](../page/687.md)</small> |  |
| 4 | Aggregation Type | Enum "Paym. Prac. Aggregation Type" | Specifies the aggregation type of the payment practice. <small>via [Page 687 "Payment Practice Card"](../page/687.md)</small> | enum [Enum 685 "Paym. Prac. Aggregation Type"](../enum/685.md) |
| 5 | Header Type | Enum "Paym. Prac. Header Type" | Specifies the source for entries in the payment practice. <small>via [Page 687 "Payment Practice Card"](../page/687.md)</small> | enum [Enum 686 "Paym. Prac. Header Type"](../enum/686.md) |
| 6 | Average Agreed Payment Period | Integer | Specifies the average agreed payment period. <small>via [Page 687 "Payment Practice Card"](../page/687.md)</small> |  |
| 7 | Average Actual Payment Period | Integer | Specifies the average actual payment period. <small>via [Page 687 "Payment Practice Card"](../page/687.md)</small> |  |
| 8 | Pct Paid on Time | Decimal | Specifies the percentage paid on time. <small>via [Page 687 "Payment Practice Card"](../page/687.md)</small> |  |
| 9 | Generated On | DateTime | Specifies the date and time when the payment practice was generated. <small>via [Page 687 "Payment Practice Card"](../page/687.md)</small> |  |
| 10 | Generated By | Code[20] | Specifies the user who generated the payment practice. <small>via [Page 687 "Payment Practice Card"](../page/687.md)</small> |  |
| 11 | Lines Exist | Boolean | Specifies whether the payment practice has lines. <small>via [Page 687 "Payment Practice Card"](../page/687.md)</small> | FlowField: exist("Payment Practice Line" where("Header No." = field("No."))) |
| 12 | Modified Manually | Boolean | Specifies whether the payment practice was modified manually. <small>via [Page 687 "Payment Practice Card"](../page/687.md)</small> |  |
| 15 | Reporting Scheme | Enum "Paym. Prac. Reporting Scheme" | Specifies which reporting scheme is used, such as Standard, Dispute & Retention, or Small Business. Controls which fields and calculations apply. | enum [Enum 680 "Paym. Prac. Reporting Scheme"](../enum/680.md); not editable |
| 20 | Total Number of Payments | Integer | Specifies the total number of payments made during the reporting period. | not editable |
| 21 | Total Amount of Payments | Decimal | Specifies the total value of payments made during the reporting period. | not editable |
| 22 | Total Amt. of Overdue Payments | Decimal | Specifies the total value of payments not made within the agreed payment terms. | not editable |
| 23 | Pct Overdue Due to Dispute | Decimal | Specifies the percentage of payments not made within agreed terms that are due to disputes. | not editable |
| 24 | Mode Payment Time | Integer | Specifies the most frequently occurring number of days taken to pay invoices during the reporting period. |  |
| 25 | Mode Payment Time Min. | Integer | Specifies the lowest mode payment time, in days, found across all vendors in the reporting period. The value is calculated by determining the mode payment time for each vendor, which is the most frequently occurring number of days taken to pay invoices for that vendor during the reporting period, an... |  |
| 26 | Mode Payment Time Max. | Integer | Specifies the highest mode payment time, in days, found across all vendors in the reporting period. The value is calculated by determining the mode payment time for each vendor, which is the most frequently occurring number of days taken to pay invoices for that vendor during the reporting period, a... |  |
| 27 | Median Payment Time | Decimal | Specifies the median number of days taken to pay invoices during the reporting period. |  |
| 28 | 80th Percentile Payment Time | Integer | Specifies the number of days within which 80 percent of invoices were paid during the reporting period. |  |
| 29 | 95th Percentile Payment Time | Integer | Specifies the number of days within which 95 percent of invoices were paid during the reporting period. |  |
| 30 | Pct Peppol Enabled | Decimal | Specifies the percentage of invoices that were PEPPOL enabled. An invoice is considered PEPPOL enabled if the vendor has a GLN. |  |
| 31 | Pct Small Business Payments | Decimal | Specifies the value of payments made to small business vendors as a percentage of total payments in the reporting period, including partial payments. A vendor is classified as a small business based on the company size code on the vendor record. |  |

## Keys

- Key1: No. (clustered)

## Procedures

- `UpdateNo(): Integer`
- `ClearHeader()`

Plus 4 local procedures.

## Triggers

OnInsert, OnDelete

## Relations

- Lines Exist: CalcFormula [Table 688 "Payment Practice Line"](../table/688.md)

## Referenced by

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

- [Table 688 "Payment Practice Line"](../table/688.md): Header No.

## Pages and codeunits on this table

- [Page 687 "Payment Practice Card"](../page/687.md) (source table)
- [Page 689 "Payment Practice List"](../page/689.md) (source table)

## 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: "Payment Practice Header")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
