---
title: "Table 18 Customer"
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/table/18-customer/
type: table
id: 18
name: "Customer"
app: "Base Application"
namespace: Microsoft.Sales.Customer
versions: "17-28"
build: 28.5.54151.54365
source: "https://jonas-paprotka.de/ref/table/18-customer/source/29/"
checked: 2026-09-20
subject: "Microsoft Dynamics 365 Business Central"
license: "Content © 2026 Jonas Paprotka. Quote freely with attribution and a link."
---

# Table 18 Customer

Jonas Paprotka, https://jonas-paprotka.de/ref/table/18-customer/

| | |
| --- | --- |
| App | Base Application |
| Namespace | Microsoft.Sales.Customer |
| Versions | 17-28 |
| Source file | Sales/Customer/Customer.Table.al |

## Fields

| Id | Name | Type | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| 1 | No. | Code[20] | 17-28 | - | - |
| 2 | Name | Text[100] | 17-28 | - | - |
| 3 | Search Name | Code[100] | 17-28 | - | - |
| 4 | Name 2 | Text[50] | 17-28 | - | - |
| 5 | Address | Text[100] | 17-28 | - | - |
| 6 | Address 2 | Text[50] | 17-28 | - | - |
| 7 | City | Text[30] | 17-28 | - | - |
| 8 | Contact | Text[100] | 17-28 | - | - |
| 9 | Phone No. | Text[30] | 17-28 | - | - |
| 10 | Telex No. | Text[20] | 17-28 | - | - |
| 11 | Document Sending Profile | Code[20] | 17-28 | - | - |
| 12 | Ship-to Code | Code[10] | 17-28 | - | - |
| 14 | Our Account No. | Text[20] | 17-28 | - | - |
| 15 | Territory Code | Code[10] | 17-28 | - | - |
| 16 | Global Dimension 1 Code | Code[20] | 17-28 | - | - |
| 17 | Global Dimension 2 Code | Code[20] | 17-28 | - | - |
| 18 | Chain Name | Code[10] | 17-28 | - | - |
| 19 | Budgeted Amount | Decimal | 17-28 | - | - |
| 20 | Credit Limit (LCY) | Decimal | 17-28 | - | - |
| 21 | Customer Posting Group | Code[20] | 17-28 | - | - |
| 22 | Currency Code | Code[10] | 17-28 | - | - |
| 23 | Customer Price Group | Code[10] | 17-28 | - | - |
| 24 | Language Code | Code[10] | 17-28 | - | - |
| 25 | Registration Number | Text[50] | 21-28 | - | - |
| 26 | Statistics Group | Integer | 17-28 | - | - |
| 27 | Payment Terms Code | Code[10] | 17-28 | - | - |
| 28 | Fin. Charge Terms Code | Code[10] | 17-28 | - | - |
| 29 | Salesperson Code | Code[20] | 17-28 | - | - |
| 30 | Shipment Method Code | Code[10] | 17-28 | - | - |
| 31 | Shipping Agent Code | Code[10] | 17-28 | - | - |
| 32 | Place of Export | Code[20] | 17-28 | - | - |
| 33 | Invoice Disc. Code | Code[20] | 17-28 | - | - |
| 34 | Customer Disc. Group | Code[20] | 17-28 | - | - |
| 35 | Country/Region Code | Code[10] | 17-28 | - | - |
| 36 | Collection Method | Code[20] | 17-28 | - | - |
| 37 | Amount | Decimal | 17-28 | - | - |
| 38 | Comment | Boolean | 17-28 | - | - |
| 39 | Blocked | Enum Customer Blocked | 17-28 | - | - |
| 40 | Invoice Copies | Integer | 17-28 | Pending 27.0 | This field is not used consequently and hence does not work as expected. It should be retired. |
| 41 | Last Statement No. | Integer | 17-28 | - | - |
| 42 | Print Statements | Boolean | 17-28 | - | - |
| 45 | Bill-to Customer No. | Code[20] | 17-28 | - | - |
| 46 | Priority | Integer | 17-28 | - | - |
| 47 | Payment Method Code | Code[10] | 17-28 | - | - |
| 48 | Format Region | Text[80] | 23-28 | - | - |
| 52 | First Transaction Date | Date | 27-28 | - | - |
| 53 | Last Modified Date Time | DateTime | 17-28 | - | - |
| 54 | Last Date Modified | Date | 17-28 | - | - |
| 55 | Date Filter | Date | 17-28 | - | - |
| 56 | Global Dimension 1 Filter | Code[20] | 17-28 | - | - |
| 57 | Global Dimension 2 Filter | Code[20] | 17-28 | - | - |
| 58 | Balance | Decimal | 17-28 | - | - |
| 59 | Balance (LCY) | Decimal | 17-28 | - | - |
| 60 | Net Change | Decimal | 17-28 | - | - |
| 61 | Net Change (LCY) | Decimal | 17-28 | - | - |
| 62 | Sales (LCY) | Decimal | 17-28 | - | - |
| 63 | Profit (LCY) | Decimal | 17-28 | - | - |
| 64 | Inv. Discounts (LCY) | Decimal | 17-28 | - | - |
| 65 | Pmt. Discounts (LCY) | Decimal | 17-28 | - | - |
| 66 | Balance Due | Decimal | 17-28 | - | - |
| 67 | Balance Due (LCY) | Decimal | 17-28 | - | - |
| 69 | Payments | Decimal | 17-28 | - | - |
| 70 | Invoice Amounts | Decimal | 17-28 | - | - |
| 71 | Cr. Memo Amounts | Decimal | 17-28 | - | - |
| 72 | Finance Charge Memo Amounts | Decimal | 17-28 | - | - |
| 74 | Payments (LCY) | Decimal | 17-28 | - | - |
| 75 | Inv. Amounts (LCY) | Decimal | 17-28 | - | - |
| 76 | Cr. Memo Amounts (LCY) | Decimal | 17-28 | - | - |
| 77 | Fin. Charge Memo Amounts (LCY) | Decimal | 17-28 | - | - |
| 78 | Outstanding Orders | Decimal | 17-28 | - | - |
| 79 | Shipped Not Invoiced | Decimal | 17-28 | - | - |
| 80 | Application Method | Enum Application Method | 17-28 | - | - |
| 82 | Prices Including VAT | Boolean | 17-28 | - | - |
| 83 | Location Code | Code[10] | 17-28 | - | - |
| 84 | Fax No. | Text[30] | 17-28 | - | - |
| 85 | Telex Answer Back | Text[20] | 17-28 | - | - |
| 86 | VAT Registration No. | Text[20] | 17-28 | - | - |
| 87 | Combine Shipments | Boolean | 17-28 | - | - |
| 88 | Gen. Bus. Posting Group | Code[20] | 17-28 | - | - |
| 89 | Picture | Blob | 17-25 | Removed 19.0 | Replaced by Image field |
| 90 | GLN | Code[13] | 17-28 | - | - |
| 91 | Post Code | Code[20] | 17-28 | - | - |
| 92 | County | Text[30] | 17-28 | - | - |
| 93 | EORI Number | Text[40] | 17-28 | - | - |
| 95 | Use GLN in Electronic Document | Boolean | 17-28 | - | - |
| 97 | Debit Amount | Decimal | 17-28 | - | - |
| 98 | Credit Amount | Decimal | 17-28 | - | - |
| 99 | Debit Amount (LCY) | Decimal | 17-28 | - | - |
| 100 | Credit Amount (LCY) | Decimal | 17-28 | - | - |
| 102 | E-Mail | Text[80] | 17-28 | - | - |
| 103 | Home Page | Text[255] | 17-28 | - | - |
| 104 | Reminder Terms Code | Code[10] | 17-28 | - | - |
| 105 | Reminder Amounts | Decimal | 17-28 | - | - |
| 106 | Reminder Amounts (LCY) | Decimal | 17-28 | - | - |
| 107 | No. Series | Code[20] | 17-28 | - | - |
| 108 | Tax Area Code | Code[20] | 17-28 | - | - |
| 109 | Tax Liable | Boolean | 17-28 | - | - |
| 110 | VAT Bus. Posting Group | Code[20] | 17-28 | - | - |
| 111 | Currency Filter | Code[10] | 17-28 | - | - |
| 113 | Outstanding Orders (LCY) | Decimal | 17-28 | - | - |
| 114 | Shipped Not Invoiced (LCY) | Decimal | 17-28 | - | - |
| 115 | Reserve | Enum Reserve Method | 17-28 | - | - |
| 116 | Block Payment Tolerance | Boolean | 17-28 | - | - |
| 117 | Pmt. Disc. Tolerance (LCY) | Decimal | 17-28 | - | - |
| 118 | Pmt. Tolerance (LCY) | Decimal | 17-28 | - | - |
| 119 | IC Partner Code | Code[20] | 17-28 | - | - |
| 120 | Refunds | Decimal | 17-28 | - | - |
| 121 | Refunds (LCY) | Decimal | 17-28 | - | - |
| 122 | Other Amounts | Decimal | 17-28 | - | - |
| 123 | Other Amounts (LCY) | Decimal | 17-28 | - | - |
| 124 | Prepayment % | Decimal | 17-28 | - | - |
| 125 | Outstanding Invoices (LCY) | Decimal | 17-28 | - | - |
| 126 | Outstanding Invoices | Decimal | 17-28 | - | - |
| 130 | Bill-to No. Of Archived Doc. | Integer | 17-28 | - | - |
| 131 | Sell-to No. Of Archived Doc. | Integer | 17-28 | - | - |
| 132 | Partner Type | Enum Partner Type | 17-28 | - | - |
| 133 | Intrastat Partner Type | Enum Partner Type | 20-28 | - | - |
| 134 | Exclude from Pmt. Practices | Boolean | 22-28 | - | - |
| 140 | Image | Media | 17-28 | - | - |
| 150 | Privacy Blocked | Boolean | 17-28 | - | - |
| 160 | Disable Search by Name | Boolean | 17-28 | - | - |
| 175 | Allow Multiple Posting Groups | Boolean | 22-28 | - | - |
| 288 | Preferred Bank Account Code | Code[20] | 17-28 | - | - |
| 720 | Coupled to CRM | Boolean | 19-28 | Removed 26.0 | Replaced by flow field Coupled to Dataverse |
| 721 | Coupled to Dataverse | Boolean | 22-28 | - | - |
| 840 | Cash Flow Payment Terms Code | Code[10] | 17-28 | - | - |
| 5049 | Primary Contact No. | Code[20] | 17-28 | - | - |
| 5050 | Contact Type | Enum Contact Type | 17-28 | - | - |
| 5061 | Mobile Phone No. | Text[30] | 17-28 | - | - |
| 5700 | Responsibility Center | Code[10] | 17-28 | - | - |
| 5750 | Shipping Advice | Enum Sales Header Shipping Advice | 17-28 | - | - |
| 5790 | Shipping Time | DateFormula | 17-28 | - | - |
| 5792 | Shipping Agent Service Code | Code[10] | 17-28 | - | - |
| 5900 | Service Zone Code | Code[10] | 17-24 | - | - |
| 5902 | Contract Gain/Loss Amount | Decimal | 17-24 | - | - |
| 5903 | Ship-to Filter | Code[10] | 17-24 | - | - |
| 5910 | Outstanding Serv. Orders (LCY) | Decimal | 17-24 | - | - |
| 5911 | Serv Shipped Not Invoiced(LCY) | Decimal | 17-24 | - | - |
| 5912 | Outstanding Serv.Invoices(LCY) | Decimal | 17-24 | - | - |
| 7000 | Price Calculation Method | Enum Price Calculation Method | 17-28 | - | - |
| 7001 | Allow Line Disc. | Boolean | 17-28 | - | - |
| 7171 | No. of Quotes | Integer | 17-28 | - | - |
| 7172 | No. of Blanket Orders | Integer | 17-28 | - | - |
| 7173 | No. of Orders | Integer | 17-28 | - | - |
| 7174 | No. of Invoices | Integer | 17-28 | - | - |
| 7175 | No. of Return Orders | Integer | 17-28 | - | - |
| 7176 | No. of Credit Memos | Integer | 17-28 | - | - |
| 7177 | No. of Pstd. Shipments | Integer | 17-28 | - | - |
| 7178 | No. of Pstd. Invoices | Integer | 17-28 | - | - |
| 7179 | No. of Pstd. Return Receipts | Integer | 17-28 | - | - |
| 7180 | No. of Pstd. Credit Memos | Integer | 17-28 | - | - |
| 7181 | No. of Ship-to Addresses | Integer | 17-28 | - | - |
| 7182 | Bill-To No. of Quotes | Integer | 17-28 | - | - |
| 7183 | Bill-To No. of Blanket Orders | Integer | 17-28 | - | - |
| 7184 | Bill-To No. of Orders | Integer | 17-28 | - | - |
| 7185 | Bill-To No. of Invoices | Integer | 17-28 | - | - |
| 7186 | Bill-To No. of Return Orders | Integer | 17-28 | - | - |
| 7187 | Bill-To No. of Credit Memos | Integer | 17-28 | - | - |
| 7188 | Bill-To No. of Pstd. Shipments | Integer | 17-28 | - | - |
| 7189 | Bill-To No. of Pstd. Invoices | Integer | 17-28 | - | - |
| 7190 | Bill-To No. of Pstd. Return R. | Integer | 17-28 | - | - |
| 7191 | Bill-To No. of Pstd. Cr. Memos | Integer | 17-28 | - | - |
| 7600 | Base Calendar Code | Code[10] | 17-28 | - | - |
| 7601 | Copy Sell-to Addr. to Qte From | Enum Contact Type | 17-28 | - | - |
| 7602 | Validate EU Vat Reg. No. | Boolean | 17-28 | - | - |
| 8000 | Id | Guid | 17-25 | Removed 22.0 | This functionality will be replaced by the systemID field |
| 8001 | Currency Id | Guid | 17-28 | - | - |
| 8002 | Payment Terms Id | Guid | 17-28 | - | - |
| 8003 | Shipment Method Id | Guid | 17-28 | - | - |
| 8004 | Payment Method Id | Guid | 17-28 | - | - |
| 9003 | Tax Area ID | Guid | 17-28 | - | - |
| 9004 | Tax Area Display Name | Text[100] | 17-25 | Removed 15.0 | This field is not needed and it should not be used. |
| 9005 | Contact ID | Guid | 17-28 | - | - |
| 9006 | Contact Graph Id | Text[250] | 17-28 | - | - |

## Keys

| Name | Fields | Versions |
| --- | --- | --- |
| Key1, clustered | No. | 17-28 |
| Key2 | Search Name | 17-28 |
| Key3 | Customer Posting Group | 17-28 |
| Key4 | Currency Code | 17-28 |
| Key5 | Country/Region Code | 17-28 |
| Key6 | Gen. Bus. Posting Group | 17-28 |
| Key7 | Name, Address, City | 17-28 |
| Key8 | VAT Registration No. | 17-28 |
| Key9 | Name | 17-28 |
| Key10 | City | 17-28 |
| Key11 | Post Code | 17-28 |
| Key12 | Phone No. | 17-28 |
| Key13 | Contact | 17-28 |
| Key14 | Blocked | 17-28 |
| Key15 | Primary Contact No. | 17-28 |
| Key16 | Salesperson Code | 17-28 |
| Key17 | SystemModifiedAt | 17-28 |
| Key20 | Partner Type, Country/Region Code | 17-28 |
| Key21 | Coupled to CRM | 19-25 |
| Key22 | IC Partner Code | 19-28 |

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| AssistEdit | (Record Customer) | Boolean | public | 17-28 | - | - |
| ValidateShortcutDimCode | (Integer, var Code[20]) | - | public | 17-28 | - | - |
| ShowContact | () | - | public | 17-28 | - | - |
| SetInsertFromContact | (Boolean) | - | public | 17-28 | - | - |
| CheckBlockedCustOnDocs | (Record Customer, Enum Sales Document Type, Boolean, Boolean) | - | public | 17-28 | - | - |
| CheckBlockedCustOnJnls | (Record Customer, Enum Gen. Journal Document Type, Boolean) | - | public | 17-28 | - | - |
| CustBlockedErrorMessage | (Record Customer, Boolean) | - | public | 17-28 | - | - |
| CustPrivacyBlockedErrorMessage | (Record Customer, Boolean) | - | public | 17-28 | - | - |
| GetPrivacyBlockedGenericErrorText | (Record Customer) | Text[250] | public | 17-28 | - | - |
| DisplayMap | () | - | public | 17-28 | - | - |
| GetPriceCalculationMethod | () | Enum Price Calculation Method | public | 17-28 | - | - |
| GetTotalAmountLCY | () | Decimal | public | 17-28 | - | - |
| GetTotalAmountLCYUI | () | Decimal | public | 17-28 | - | - |
| GetSalesLCY | () | Decimal | public | 17-28 | - | - |
| CalcAvailableCredit | () | Decimal | public | 17-28 | - | - |
| CalcAvailableCreditUI | () | Decimal | public | 17-28 | - | - |
| CalcOverdueBalance | () | Decimal | public | 17-28 | - | - |
| GetLegalEntityType | () | Text | public | 17-28 | - | - |
| GetLegalEntityTypeLbl | () | Text | public | 17-28 | - | - |
| SetStyle | () | Text | public | 17-28 | - | - |
| HasValidDDMandate | (Date) | Boolean | public | 17-28 | - | - |
| GetReturnRcdNotInvAmountLCY | () | Decimal | public | 17-28 | - | - |
| GetInvoicedPrepmtAmountLCY | () | Decimal | public | 17-28 | - | - |
| CalcCreditLimitLCYExpendedPct | () | Decimal | public | 17-28 | - | - |
| CreateAndShowNewInvoice | () | - | public | 17-28 | - | - |
| CreateAndShowNewOrder | () | - | public | 17-28 | - | - |
| CreateAndShowNewCreditMemo | () | - | public | 17-28 | - | - |
| CreateAndShowNewQuote | () | - | public | 17-28 | - | - |
| GetBillToCustomerNo | () | Code[20] | public | 17-28 | - | - |
| HasAddressIgnoreCountryCode | () | Boolean | public | 17-28 | - | - |
| HasAddress | () | Boolean | public | 17-28 | - | - |
| HasDifferentAddress | (Record Customer) | Boolean | public | 17-28 | - | - |
| GetCustNo | (Text) | Text | public | 17-28 | - | - |
| GetCustNoOpenCard | (Text, Boolean, Boolean) | Code[20] | public | 17-28 | - | - |
| CreateNewCustomer | (Text[100], Boolean) | Code[20] | public | 17-28 | - | - |
| SelectCustomer | (var Record Customer) | Boolean | public | 17-28 | - | - |
| LookupCustomer | (var Record Customer) | Boolean | public | 17-26 | Pending 24.0 | Use SelectCustomer(var Customer: Record Customer): Boolean instead. |
| OpenCustomerLedgerEntries | (Boolean) | - | public | 17-28 | - | - |
| SetInsertFromTemplate | (Boolean) | - | public | 17-28 | - | - |
| IsLookupRequested | () | Boolean | public | 17-28 | - | - |
| IsBlocked | () | Boolean | public | 17-28 | - | - |
| HasAnyOpenOrPostedDocuments | () | Boolean | public | 17-28 | - | - |
| CopyFromCustomerTemplate | (Record Customer Template) | - | public | 17-20 | Pending 18.0 | Will be removed with other functionality related to "old" templates. Replaced by CopyFromNewCustomerTemplate(CustomerTemplate: Record "Customer Templ.") |
| GetInsertFromContact | () | Boolean | public | 17-28 | - | - |
| GetInsertFromTemplate | () | Boolean | public | 17-28 | - | - |
| SetAddress | (Text[100], Text[50], Code[20], Text[30], Text[30], Code[10], Text[100]) | - | public | 17-28 | - | - |
| FindByEmail | (var Record Customer, Text) | Boolean | public | 17-28 | - | - |
| UpdateReferencedIds | () | - | public | 17-28 | - | - |
| GetReferencedIds | (var Record Field) | - | public | 17-28 | - | - |
| SetForceUpdateContact | (Boolean) | - | public | 17-28 | - | - |
| UpdateCurrencyId | () | - | public | 17-28 | - | - |
| UpdatePaymentTermsId | () | - | public | 17-28 | - | - |
| UpdateShipmentMethodId | () | - | public | 17-28 | - | - |
| UpdatePaymentMethodId | () | - | public | 17-28 | - | - |
| UpdateTaxAreaId | () | - | public | 17-28 | - | - |
| CheckBlockedCustOnJnls | (Record Customer, var Record Gen. Journal Line, Boolean) | - | public | 18-28 | - | - |
| GetPrimaryContact | (Code[20], var Record Contact) | - | public | 18-28 | - | - |
| ToPriceSource | (var Record Price Source) | - | public | 18-28 | - | - |
| CopyFromNewCustomerTemplate | (Record Customer Templ.) | - | public | 18-28 | - | - |
| IsContactUpdateNeeded | () | Boolean | public | 19-28 | - | - |
| SetDefaultSalesperson | () | - | protected | 19-28 | - | - |
| VATRegistrationValidation | () | - | public | 19-28 | - | - |
| GetTopCustomerHeadlineQueryDocumentTypeFilter | () | Text | public | 20-28 | - | - |
| GetBalanceAsVendor | (var Code[20]) | Decimal | public | 20-28 | - | - |
| GetLinkedVendor | () | Code[20] | public | 20-28 | - | - |
| SetLastModifiedDateTime | () | - | protected | 20-28 | - | - |
| CheckAllowMultiplePostingGroups | () | - | public | 22-28 | - | - |
| LookupContactList | () | - | public | 26-28 | - | - |
| GetVATRegistrationNo | () | Text[20] | public | 26-28 | - | - |
| GetShippedOutstandingInvoicesAmountLCY | () | Decimal | public | 26-28 | Pending 28.0 | It is no longer used in GetTotalAmountLCYCommon procedure. |
| GetShippedFromOrderLCYAmountLCY | () | Decimal | public | 26-28 | Pending 28.0 | It is no longer used in GetTotalAmountLCYCommon procedure. |
| GetDefaultLocation | () | Code[10] | public | 27-28 | - | - |
| FormatVATRegistrationNo | (Text, Code[10]) | Text | public | 28 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnBeforeIsContactUpdateNeeded | (Record Customer, Record Customer, var Boolean) | 17 | - | - |
| Integration event | OnAfterCopyFromCustomerTemplate | (var Record Customer, Record Customer Template) | 17-20 | Pending 18.0 | Will be removed with other functionality related to "old" templates. Replaced by OnAfterCopyFromNewCustomerTemplate() |
| Integration event | OnAfterHasAnyOpenOrPostedDocuments | (var Record Customer, var Boolean) | 17-28 | - | - |
| Integration event | OnAfterLookupCity | (var Record Customer, var Record Post Code) | 17-28 | - | - |
| Integration event | OnAfterLookupPostCode | (var Record Customer, var Record Post Code) | 17-20 | - | - |
| Integration event | OnAfterSetLastModifiedDateTime | (var Record Customer) | 17-28 | - | - |
| Integration event | OnAfterValidateCity | (var Record Customer, Record Customer) | 17-28 | - | - |
| Integration event | OnAfterValidatePostCode | (var Record Customer, Record Customer) | 17-28 | - | - |
| Integration event | OnAfterValidateShortcutDimCode | (var Record Customer, var Record Customer, Integer, var Code[20]) | 17-28 | - | - |
| Integration event | OnAssistEditOnBeforeExit | (var Record Customer) | 17-28 | - | - |
| Integration event | OnBeforeCheckBlockedCust | (Record Customer, Option, Option, Boolean, Boolean, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeCreateNewCustomer | (Text[100], Boolean, var Code[20], var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeGetCustNoOpenCard | (Text, Boolean, Boolean, var Code[20], var Boolean) | 17-18 | - | - |
| Integration event | OnBeforeCalcOverdueBalance | (var Record Customer, var Decimal, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeGetInvoicedPrepmtAmountLCY | (var Record Customer, var Decimal, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeGetTotalAmountLCY | (var Record Customer, var Decimal, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeGetTotalAmountLCYUI | (var Record Customer) | 17-28 | - | - |
| Integration event | OnBeforeGetTotalAmountLCYCommon | (var Record Customer, var Decimal, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeGetSalesLCY | (var Record Customer, var Record Customer, var Decimal, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeInsert | (var Record Customer, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeLookupCity | (var Record Customer, var Record Post Code) | 17-28 | - | - |
| Integration event | OnBeforeLookupPostCode | (var Record Customer, var Record Post Code) | 17-28 | - | - |
| Integration event | OnBeforeOpenCustomerLedgerEntries | (var Record Customer, var Record Detailed Cust. Ledg. Entry, Boolean, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeSetDefaultSalesperson | (var Record Customer, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeValidateCity | (var Record Customer, var Record Post Code) | 17-20 | - | - |
| Integration event | OnBeforeValidatePostCode | (var Record Customer, var Record Post Code) | 17-20 | - | - |
| Integration event | OnBeforeValidateShortcutDimCode | (var Record Customer, var Record Customer, Integer, var Code[20], var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeVATRegistrationValidation | (var Record Customer, var Boolean) | 17-28 | - | - |
| Integration event | OnGetCustNoOpenCardOnBeforeCustomerFindSet | (var Record Customer) | 17-28 | - | - |
| Integration event | OnGetCustNoOpenCardOnBeforeFilterCustomer | (var Record Customer) | 17-28 | - | - |
| Integration event | OnGetCustNoOpenCardOnAfterSetCustomerFilters | (var Record Customer, var Text) | 17-28 | - | - |
| Integration event | OnMarkCustomersWithSimilarNameOnBeforeCustomerFindSet | (var Record Customer) | 17-28 | - | - |
| Integration event | OnBeforeCheckCustomerContactRelation | (Record Contact, Record Contact Business Relation, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeValidateContact | (var Boolean) | 17-18 | - | - |
| Integration event | OnBeforeValidateEmail | (var Record Customer, var Boolean, Record Customer) | 17-28 | - | - |
| Integration event | OnShowContactOnBeforeOpenContactCard | (var Record Contact, var Integer) | 17-28 | - | - |
| Integration event | OnShowContactOnBeforeOpenContactList | (var Record Contact, var Integer) | 17-28 | - | - |
| Integration event | OnBeforeIsContactUpdateNeeded | (Record Customer, Record Customer, var Boolean, Boolean) | 18-28 | - | - |
| Integration event | OnAfterCopyFromNewCustomerTemplate | (var Record Customer, Record Customer Templ.) | 18-28 | - | - |
| Integration event | OnAfterOnInsert | (var Record Customer, Record Customer) | 18-28 | - | - |
| Integration event | OnBeforeCheckBlockedCustOnJnls | (Record Customer, var Record Gen. Journal Line, Boolean, var Boolean) | 18-28 | - | - |
| Integration event | OnBeforeOnDelete | (var Record Customer, var Boolean) | 18-28 | - | - |
| Integration event | OnBeforeValidateVATRegistrationNo | (var Record Customer, Record Customer, Integer, var Boolean) | 18-28 | - | - |
| Integration event | OnGetCustNoOpenCardOnAfterOnAfterCustomerFilterFromStart | (var Record Customer) | 18-28 | - | - |
| Integration event | OnBeforeCustBlockedErrorMessage | (Record Customer, Boolean, var Boolean) | 18-28 | - | - |
| Integration event | OnBeforeGetCustNoOpenCard | (Text, Boolean, var Boolean, var Code[20], var Boolean) | 19-28 | - | - |
| Integration event | OnBeforeLookupContactList | (var Record Customer, var Boolean) | 19-21 | - | - |
| Integration event | OnBeforeTestNoSeries | (var Record Customer, Record Customer, var Boolean) | 19-28 | - | - |
| Integration event | OnBeforeUpdateDirectDebitPmtTermsCode | (var Record Customer, var Boolean) | 19-28 | - | - |
| Integration event | OnBeforeValidateContact | (var Boolean, var Record Customer) | 19-28 | - | - |
| Integration event | OnBeforeCalcAvailableCreditCommon | (var Record Customer, Boolean, var Decimal) | 19-22 | - | - |
| Integration event | OnAfterGetTopCustomerHeadlineQueryDocumentTypeFilter | (var Text) | 20-28 | - | - |
| Integration event | OnAfterHasAddressIgnoreCountryCode | (Record Customer, var Boolean) | 20-28 | - | - |
| Integration event | OnAfterHasDifferentAddress | (Record Customer, Record Customer, var Boolean) | 20-28 | - | - |
| Integration event | OnBeforeCheckIfOrderSalesLinesExist | (var Record Customer, var Boolean) | 20-28 | - | - |
| Integration event | OnBeforeOnRename | (var Record Customer, Record Customer, var Boolean) | 20-28 | - | - |
| Integration event | OnGetBalanceAsVendorOnBeforeCalcBalance | (var Record Vendor) | 20-28 | - | - |
| Integration event | OnAfterLookupPostCode | (var Record Customer, Record Customer, var Record Post Code) | 21-28 | - | - |
| Integration event | OnBeforeValidateCity | (var Record Customer, var Record Post Code, Integer, var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeValidatePostCode | (var Record Customer, var Record Post Code, Integer, var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeValidateRegistrationNumber | (var Record Customer, var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeLookupContactList | (var Record Customer, var Boolean, Integer) | 22-28 | - | - |
| Integration event | OnBeforeCheckAllowMultiplePostingGroups | (var Boolean) | 22-28 | - | - |
| Integration event | OnGetCustNoOpenCardOnAfterMarkCustomersWithSimilarName | (var Record Customer) | 22-28 | - | - |
| Integration event | OnBeforeCalcAvailableCreditCommon | (var Record Customer, Boolean, var Decimal, var Decimal, var Boolean) | 23-28 | - | - |
| Integration event | OnAfterDeleteRelatedData | (Record Customer) | 25-28 | - | - |
| Integration event | OnGetTotalAmountLCYOnAfterCalcFields | (var Record Customer) | 25-28 | - | - |
| Integration event | OnGetTotalAmountLCYUIOnAfterSetAutoCalcFields | (var Record Customer) | 25-28 | - | - |
| Integration event | OnAfterGetTotalAmountLCYCommon | (var Record Customer, var Decimal) | 25-28 | - | - |
| Integration event | OnAfterGetVATRegistrationNo | (var Record Customer, var Text[20]) | 26-28 | - | - |
| Integration event | OnBeforeShowContact | (var Record Customer, var Record Contact Business Relation) | 28 | - | - |
| Integration event | OnGetCustNoOpenCardOnBeforeCustomerFindFirst | (var Record Customer, var Boolean) | 28 | - | - |

## Source

Symbols: Microsoft.BaseApplication.symbols.437dbf0e-84ff-417a-965d-ed2bb9650972, https://dynamicssmb2.pkgs.visualstudio.com/DynamicsBCPublicFeeds/_packaging/MSSymbols/nuget/v3/index.json, highest build per major on 2026-09-20.
AL source 29: https://github.com/microsoft/BCApps, MIT, releases/29.x at a66254c3b8b5bb1cea290dc8f9d097aec4381153.

Jonas Paprotka, 2026-09-20.
