---
id: object/table/19
type: object
title: Table 19 "Cust. Invoice Disc."
summary: Table 19 "Cust. Invoice Disc." in Base Application (Microsoft.Sales.Pricing). 5 fields, 2 public procedures, 1 events. Present since at least BC23, still in BC30, changed in BC24, BC27-28.
tier: official
language: en
tags:
  - table
  - 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: 5580a12c7385b6e898d7409051c1681afcdab55d6a0785c19b2b45928e9f768b
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Sales/Pricing/CustInvoiceDisc.Table.al
    title: src/Layers/W1/BaseApp/Sales/Pricing/CustInvoiceDisc.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations:
    - localization/es
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 19
name: Cust. Invoice Disc.
namespace: Microsoft.Sales.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"
  - "27"
  - "28"
source_major: "29"
obsolete: null
countries:
  - es
ms_search_form_ids: []
counts:
  fields: 5
  procedures: 3
  events: 1
  subscribers: 0
relations:
  out: 2
  referenced_by: 0
  pages: 1
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Table 19 "Cust. Invoice Disc."

> Table 19 "Cust. Invoice Disc." in Base Application (Microsoft.Sales.Pricing). 5 fields, 2 public procedures, 1 events. Present since at least BC23, still in BC30, changed in BC24, BC27-28.

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

## Properties

| Property | Value |
|---|---|
| Caption | Cust. Invoice Disc. |
| 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 | Code | Code[20] | Specifies the contents of the Invoice Disc. Code field on the customer card. | NotBlank |
| 2 | Minimum Amount | Decimal | Specifies the minimum amount that the invoice must total for the discount to be granted or the service charge levied. For discounts, only sales lines where the Allow Invoice Disc. field is selected are included in the calculation. |  |
| 3 | Discount % | Decimal | Specifies the discount percentage that the customer can receive by buying for at least the minimum amount. |  |
| 4 | Service Charge | Decimal | Specifies the amount of the service charge that the customer will have to pay on a purchase of at least the amount in the Minimum Amount field. |  |
| 5 | Currency Code | Code[10] | Specifies the currency code for invoice discount terms. | TableRelation [Table 4 "Currency"](../table/4.md) |

## Keys

- Key1: Code, Currency Code, Minimum Amount (clustered)

## Events published

- `OnBeforeGetRec(var CustInvoiceDisc: Record "Cust. Invoice Disc."; var NewCode: Code[20]; var CurrencyCode: Code[10]; var CurrencyDate: Date; var BaseAmount: Decimal)` (integration)

## Procedures

- `GetRec(NewCode: Code[20]; CurrencyCode: Code[10]; CurrencyDate: Date; BaseAmount: Decimal)` (obsolete 27.0: Replaced by W1 procedure GetRecord()): Gets the customer invoice discount record based on the specified criteria.
- `GetRecord(NewCode: Code[20]; CurrencyCode: Code[10]; CurrencyDate: Date; BaseAmount: Decimal): Boolean`: Gets the customer invoice discount record based on the specified criteria, handling currency conversion if needed.

## Relations

- lookup page [Page 23 "Cust. Invoice Discounts"](../page/23.md)
- Currency Code: TableRelation [Table 4 "Currency"](../table/4.md)

## Pages and codeunits on this table

- [Page 23 "Cust. Invoice Discounts"](../page/23.md) (source table)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24, BC27-28

## Countries that replace it

[ES](../../localizations/es.md)

## Deprecations

- procedure GetRec: Pending 27.0 (#if not CLEAN27), "Replaced by W1 procedure GetRecord()"

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: "Cust. Invoice Disc.")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
