tableSales & Receivablesofficial - Microsoftderived - from the source, no model text

Table 18 "Customer"

Base Application · Microsoft.Sales.Customer

Across versions

  1. BC23present
  2. BC244 fields changed, 1 procedures changed
  3. BC2524 fields changed, 6 fields removed
  4. BC2684 fields changed, 5 procedures added
  5. BC279 fields changed, 1 fields added
  6. BC2845 fields changed, 2 procedures changed
  7. BC294 fields changed
  8. BC30unchanged

Neighbourhood 311 connected objects and pages

Table 379 "Detailed Cust. Ledg. Entry" (relates to, 27 links)Detailed Cust. Ledg. EntryTable 36 "Sales Header" (relates to, 12 links)Sales HeaderTable 37 "Sales Line" (relates to, 6 links)Table 21 "Cust. Ledger Entry" (relates to, 4 links)Table 349 "Dimension Value" (relates to, 4 links)Dimension ValueTable 3 "Payment Terms" (relates to, 3 links)Payment TermsTable 10 "Shipment Method" (relates to, 2 links)Table 110 "Sales Shipment Header" (relates to, 2 links)Page 22 "Customer List" (pages and codeunits on it, 2 links)Page 33 "Customer Lookup" (pages and codeunits on it, 2 links)Table extension 4814 "Intrastat Report Customer" (extended by)Table extension 6450 "Serv. Customer" (extended by)Codeunit 6450 "Serv. Integration Mgt." (event subscribers, 4 links)Serv. Integration Mgt.Codeunit 1173 "Document Attachment Mgmt" (event subscribers, 2 links)Codeunit 1520 "Workflow Event Handling" (event subscribers, 2 links)Codeunit 5152 "API - Update Referenced Fields" (event subscribers, 2 links)Codeunit 7006 "Price Helper - V16" (event subscribers, 2 links)Codeunit 5056 "CustCont-Update" (calls, 6 links)CustCont-UpdateCodeunit 408 "DimensionManagement" (calls, 5 links)DimensionManagementCodeunit 249 "VAT Registration Log Mgt." (calls, 3 links)VAT Registration Log Mgt.Page 456 "No. Series" (calls, 3 links)No. SeriesCodeunit 1535 "Approvals Mgmt." (calls, 2 links)Codeunit 27 "Confirm Management" (calls, 2 links)Codeunit 419 "File Management" (calls, 2 links)Codeunit 426 "Payment Tolerance Management" (calls, 2 links)Codeunit 7600 "Calendar Management" (calls, 2 links)Table 5965 "Service Contract Header" (referenced by, 10 links)Service Contract HeaderTable 5940 "Service Item" (referenced by, 6 links)Service ItemTable 181 "Posted Gen. Journal Line" (referenced by, 5 links)Table 751 "Standard General Journal Line" (referenced by, 5 links)Standard General Journal LineTable 81 "Gen. Journal Line" (referenced by, 5 links)Gen. Journal LineTable 113 "Sales Invoice Line" (referenced by, 3 links)Sales Invoice LineTable 115 "Sales Cr.Memo Line" (referenced by, 3 links)Table 21 "Cust. Ledger Entry" (referenced by, 3 links)Table 37 "Sales Line" (referenced by, 3 links)Table 382 "CV Ledger Entry Buffer" (referenced by, 3 links)Table 6661 "Return Receipt Line" (referenced by, 3 links)Table 1001 "Job Task" (referenced by, 2 links)(v1.0) Create customer defaultDimensions (Learn pages)(v1.0) customers resource type (Learn pages)

Open in the neighbourhood explorer

One hop out, from the extracted relations and call graph. Up to 40 shown; the sections below list them all.

Base Application · Microsoft.Sales.Customer · BC23-30 · source at ea08af5e · facts from BC29

Learn documents this table through its pages: Page 21 “Customer Card” (9 Learn pages), Page 30009 “APIV2 - Customers” (9), Page 20009 “APIV1 - Customers” (8), Page 22 “Customer List” (5), Page 30048 “APIV2 - Cust Financial Details” (2), Page 33 “Customer Lookup” (1), Page 785 “Customer Picture” (1), Page 7177 “Available Credit” (1), Page 9080 “Sales Hist. Sell-to FactBox” (1), Page 9081 “Sales Hist. Bill-to FactBox” (1), Page 9084 “Customer Details FactBox” (1).

Properties

Property Value
Caption Customer
DataClassification CustomerContent
Permissions TableData “Cust. Ledger Entry” = r, TableData Job = r, tabledata “VAT Business Posting Group” = R, TableData “VAT Registration Log” = rd, tabledata “Payment Terms” = R, TableData “Price List Header” = rd, TableData “Price List Line” = rd, TableData “Sales Price” = rd, TableData “Sales Line Discount”…

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. Δ BC25 Δ BC26 Code[20] Specifies the number of the customer. The field is either filled automatically from a defined number series, or you enter the number manually because you have enabled manual number entry in the number-series setup.
2 Name Δ BC25 Δ BC26 Text[100] Specifies the customer’s name that appears on all related documents. For companies, specify the company’s name here, and then add the relevant people as contacts that you link to this customer.
3 Search Name Δ BC26 Δ BC27 Code[100] Specifies an alternate name that you can use to search for a customer.
4 Name 2 Δ BC25 Δ BC26 Text[50] Specifies an additional part of the name.
5 Address Δ BC25 Δ BC26 Text[100] Specifies the customer’s address. This address will appear on all sales documents for the customer.
6 Address 2 Δ BC25 Δ BC26 Text[50] Specifies additional address information.
7 City Δ BC25 Δ BC26 Text[30] Specifies the customer’s city. TableRelation Table 225 “Post Code” (if (“Country/Region Code” = const(‘’)) “Post Code”.City else if (“Country/Region Code” = filter(<> ‘’)) “Post Code”.City where(“Country/Region Code” = field(“Country/Region Code”)))
8 Contact Δ BC25 Δ BC26 Text[100] Specifies the name of the person you regularly contact when you do business with this customer.
9 Phone No. Δ BC25 Δ BC26 Text[30] Specifies the customer’s telephone number.
10 Telex No. Δ BC25 Text[20] —
11 Document Sending Profile Δ BC26 Code[20] Specifies the preferred method of sending documents to this customer, so that you do not have to select a sending option every time that you post and send a document to the customer. Sales documents to this customer will be sent using the specified sending profile and will override the default docum… TableRelation Table 60 “Document Sending Profile” (“Document Sending Profile”.Code)
12 Ship-to Code Δ BC26 Code[10] Specifies the code for another shipment address than the customer’s own address, which is entered by default. TableRelation Table 222 “Ship-to Address” (“Ship-to Address”.Code where(“Customer No.” = field(“No.”)))
14 Our Account No. Δ BC25 Δ BC29 Text[20] —
15 Territory Code Code[10] — TableRelation Table 286 “Territory”
16 Global Dimension 1 Code Code[20] — TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(1), Blocked = const(false)))
17 Global Dimension 2 Code Code[20] — TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(2), Blocked = const(false)))
18 Chain Name Code[10] —
19 Budgeted Amount Decimal —
20 Credit Limit (LCY) Δ BC26 Δ BC28 Decimal Specifies the maximum amount of credit that you extend to the customer for their purchases before you issue warnings. The value 0 represents unlimited credit.
21 Customer Posting Group Δ BC26 Code[20] Specifies the customer’s market type to link business transactions to. TableRelation Table 92 “Customer Posting Group” (Customer Posting Group)
22 Currency Code Δ BC26 Code[10] Specifies the default currency for the customer. TableRelation Table 4 “Currency”
23 Customer Price Group Δ BC26 Code[10] Specifies the customer price group code, which you can use to set up special sales prices in the Sales Prices window. TableRelation Table 6 “Customer Price Group” (Customer Price Group)
24 Language Code Δ BC26 Code[10] Specifies the language that is used when translating specified text on documents to foreign business partner, such as an item description on an order confirmation. TableRelation Table 8 “Language”
25 Registration Number Δ BC25 Δ BC26 Text[50] Specifies the registration number of the customer. You can enter a maximum of 20 characters, both numbers and letters.
26 Statistics Group Δ BC27 Integer Specifies the statistics group.
27 Payment Terms Code Δ BC26 Code[10] Specifies a code that indicates the payment terms that you require of the customer. TableRelation Table 3 “Payment Terms” (Payment Terms)
28 Fin. Charge Terms Code Δ BC26 Code[10] Specifies the code for the involved finance charges in case of late payment. TableRelation Table 5 “Finance Charge Terms” (Finance Charge Terms)
29 Salesperson Code Δ BC26 Code[20] Specifies a code for the salesperson who normally handles this customer’s account. TableRelation Table 13 “Salesperson/Purchaser” (“Salesperson/Purchaser” where(Blocked = const(false)))
30 Shipment Method Code Δ BC26 Code[10] Specifies which shipment method to use when you ship items to the customer. TableRelation Table 10 “Shipment Method” (Shipment Method)
31 Shipping Agent Code Δ BC26 Code[10] Specifies which shipping company is used when you ship items to the customer. TableRelation Table 291 “Shipping Agent” (Shipping Agent)
32 Place of Export Code[20] —
33 Invoice Disc. Code Δ BC26 Code[20] Specifies a code for the invoice discount terms that you have defined for the customer. TableRelation Table 18 “Customer”
34 Customer Disc. Group Δ BC26 Code[20] Specifies the customer discount group code, which you can use as a criterion to set up special discounts in the Sales Line Discounts window. TableRelation Table 340 “Customer Discount Group” (Customer Discount Group)
35 Country/Region Code Δ BC26 Code[10] Specifies the country/region of the address. TableRelation Table 9 “Country/Region” (Country/Region)
36 Collection Method Code[20] —
37 Amount Decimal —
38 Comment Boolean — FlowField: exist(“Comment Line” where(“Table Name” = const(Customer), “No.” = field(“No.”))); not editable
39 Blocked Δ BC26 Enum “Customer Blocked” Specifies which transactions with the customer that cannot be processed, for example, because the customer is insolvent. enum Enum 139 “Customer Blocked”
40 Invoice Copies Δ BC27 Integer — obsolete Pending 27.0; #if not CLEANSCHEMA30
41 Last Statement No. Δ BC26 Integer Specifies the number of the last statement that was printed for this customer.
42 Print Statements Δ BC26 Boolean Specifies whether to include this customer when you print the Statement report.
45 Bill-to Customer No. Δ BC26 Δ BC27 Code[20] Specifies a different customer who will be invoiced for products that you sell to the customer in the Name field on the customer card. TableRelation Table 18 “Customer”
46 Priority Δ BC26 Integer Specifies a number that corresponds to the priority you give the customer. The higher the number, the higher the priority.
47 Payment Method Code Δ BC26 Code[10] Specifies how the customer usually submits payment, such as bank transfer or check. TableRelation Table 289 “Payment Method” (Payment Method)
48 Format Region Δ BC25 Δ BC26 Text[80] Specifies the Format Region to be used on printouts for this customer. TableRelation “Language Selection”.“Language Tag”
52 First Transaction Date + BC27 Date Specifies the date of the first transaction with the customer. FlowField: min(“Cust. Ledger Entry”.“Posting Date” where(“Customer No.” = field(“No.”)))
53 Last Modified Date Time DateTime — not editable
54 Last Date Modified Δ BC26 Date Specifies when the customer card was last modified. not editable
55 Date Filter Date — FlowFilter
56 Global Dimension 1 Filter Code[20] — TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(1))); FlowFilter
57 Global Dimension 2 Filter Code[20] — TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(2))); FlowFilter
58 Balance Δ BC29 Decimal — FlowField: sum(“Detailed Cust. Ledg. Entry”.Amount where(“Customer No.” = field(“No.”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”), “Currency Code” = field(“Currency Filter”), “Excluded from calculation” = const(false))…; not editable
59 Balance (LCY) Δ BC26 Δ BC27 Δ BC28 Δ BC29 Decimal Specifies the total amount the customer owes you, or you owe them, based on all sales and credits for the customer. A positive amount means they owe you, and a negative amount means you owe them. The amount isn’t necessarily due today though. The customer’s payment terms determine due dates. Select … FlowField: sum(“Detailed Cust. Ledg. Entry”.“Amount (LCY)” where(“Customer No.” = field(“No.”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”), “Currency Code” = field(“Currency Filter”), “Excluded from calculation” = const…; not editable
60 Net Change Δ BC29 Decimal — FlowField: sum(“Detailed Cust. Ledg. Entry”.Amount where(“Customer No.” = field(“No.”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”), “Posting Date” = field(“Date Filter”), “Currency Code” = field(“Currency Filter”), “Exc…; not editable
61 Net Change (LCY) Δ BC28 Decimal — FlowField: sum(“Detailed Cust. Ledg. Entry”.“Amount (LCY)” where(“Customer No.” = field(“No.”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”), “Posting Date” = field(“Date Filter”), “Currency Code” = field(“Currency Filter…; not editable
62 Sales (LCY) Δ BC26 Δ BC28 Decimal Specifies the total net amount of sales to the customer in LCY. FlowField: sum(“Cust. Ledger Entry”.“Sales (LCY)” where(“Customer No.” = field(“No.”), “Global Dimension 1 Code” = field(“Global Dimension 1 Filter”), “Global Dimension 2 Code” = field(“Global Dimension 2 Filter”), “Posting Date” = field(“Date Filter”), “Currency Code” = field(“Currency Filter”))); not editable
63 Profit (LCY) Δ BC28 Decimal — FlowField: sum(“Cust. Ledger Entry”.“Profit (LCY)” where(“Customer No.” = field(“No.”), “Global Dimension 1 Code” = field(“Global Dimension 1 Filter”), “Global Dimension 2 Code” = field(“Global Dimension 2 Filter”), “Posting Date” = field(“Date Filter”), “Currency Code” = field(“Currency Filter”))); not editable
64 Inv. Discounts (LCY) Δ BC28 Decimal — FlowField: sum(“Cust. Ledger Entry”.“Inv. Discount (LCY)” where(“Customer No.” = field(“No.”), “Global Dimension 1 Code” = field(“Global Dimension 1 Filter”), “Global Dimension 2 Code” = field(“Global Dimension 2 Filter”), “Posting Date” = field(“Date Filter”), “Currency Code” = field(“Currency Filter”))); not editable
65 Pmt. Discounts (LCY) Δ BC28 Decimal — FlowField: - sum(“Detailed Cust. Ledg. Entry”.“Amount (LCY)” where(“Customer No.” = field(“No.”), “Entry Type” = filter(“Payment Discount” .. “Payment Discount (VAT Adjustment)”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filte…; not editable
66 Balance Due Δ BC24 Decimal — FlowField: sum(“Detailed Cust. Ledg. Entry”.Amount where(“Customer No.” = field(“No.”), “Initial Entry Due Date” = field(upperlimit(“Date Filter”)), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”), “Currency Code” = field(“C…; not editable
67 Balance Due (LCY) Δ BC24 Δ BC26 Δ BC27 Δ BC28 Decimal Specifies the total amount that’s due from the customer as of today. Consider using reminders to minimize late payments and optimize cashflow. FlowField: sum(“Detailed Cust. Ledg. Entry”.“Amount (LCY)” where(“Customer No.” = field(“No.”), “Initial Entry Due Date” = field(upperlimit(“Date Filter”)), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”), “Currency Code” = …; not editable
69 Payments Decimal — FlowField: - sum(“Detailed Cust. Ledg. Entry”.Amount where(“Initial Document Type” = const(Payment), “Entry Type” = const(“Initial Entry”), “Customer No.” = field(“No.”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”), “Pos…; not editable
70 Invoice Amounts Decimal — FlowField: sum(“Detailed Cust. Ledg. Entry”.Amount where(“Initial Document Type” = const(Invoice), “Entry Type” = const(“Initial Entry”), “Customer No.” = field(“No.”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”), “Posti…; not editable
71 Cr. Memo Amounts Decimal — FlowField: - sum(“Detailed Cust. Ledg. Entry”.Amount where(“Initial Document Type” = const(“Credit Memo”), “Entry Type” = const(“Initial Entry”), “Customer No.” = field(“No.”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”)…; not editable
72 Finance Charge Memo Amounts Decimal — FlowField: sum(“Detailed Cust. Ledg. Entry”.Amount where(“Initial Document Type” = const(“Finance Charge Memo”), “Entry Type” = const(“Initial Entry”), “Customer No.” = field(“No.”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Fi…; not editable
74 Payments (LCY) Δ BC26 Δ BC28 Decimal Specifies the sum of payments received from the customer. FlowField: - sum(“Detailed Cust. Ledg. Entry”.“Amount (LCY)” where(“Initial Document Type” = const(Payment), “Entry Type” = const(“Initial Entry”), “Customer No.” = field(“No.”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter…; not editable
75 Inv. Amounts (LCY) Δ BC28 Decimal — FlowField: sum(“Detailed Cust. Ledg. Entry”.“Amount (LCY)” where(“Initial Document Type” = const(Invoice), “Entry Type” = const(“Initial Entry”), “Customer No.” = field(“No.”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”)…; not editable
76 Cr. Memo Amounts (LCY) Δ BC28 Decimal — FlowField: - sum(“Detailed Cust. Ledg. Entry”.“Amount (LCY)” where(“Initial Document Type” = const(“Credit Memo”), “Entry Type” = const(“Initial Entry”), “Customer No.” = field(“No.”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 …; not editable
77 Fin. Charge Memo Amounts (LCY) Δ BC28 Decimal — FlowField: sum(“Detailed Cust. Ledg. Entry”.“Amount (LCY)” where(“Initial Document Type” = const(“Finance Charge Memo”), “Entry Type” = const(“Initial Entry”), “Customer No.” = field(“No.”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimens…; not editable
78 Outstanding Orders Decimal — FlowField: sum(“Sales Line”.“Outstanding Amount” where(“Document Type” = const(Order), “Bill-to Customer No.” = field(“No.”), “Shortcut Dimension 1 Code” = field(“Global Dimension 1 Filter”), “Shortcut Dimension 2 Code” = field(“Global Dimension 2 Filter”), “Currency Code” = field(“Currency Filter”))); not editable
79 Shipped Not Invoiced Decimal — FlowField: sum(“Sales Line”.“Shipped Not Invoiced” where(“Document Type” = const(Order), “Bill-to Customer No.” = field(“No.”), “Shortcut Dimension 1 Code” = field(“Global Dimension 1 Filter”), “Shortcut Dimension 2 Code” = field(“Global Dimension 2 Filter”), “Currency Code” = field(“Currency Filter”))); not editable
80 Application Method Δ BC26 Enum “Application Method” Specifies how to apply payments to entries for this customer. enum Enum 1381 “Application Method”
82 Prices Including VAT Δ BC26 Boolean Specifies if the Unit Price and Line Amount fields on document lines should be shown with or without VAT.
83 Location Code Δ BC26 Code[10] Specifies from which location sales to this customer will be processed by default. TableRelation Table 14 “Location” (Location where(“Use As In-Transit” = const(false)))
84 Fax No. Δ BC25 Δ BC26 Text[30] Specifies the customer’s fax number.
85 Telex Answer Back Δ BC25 Text[20] —
86 VAT Registration No. Δ BC25 Δ BC26 Text[20] Specifies the customer’s VAT registration number for customers in EU countries/regions.
87 Combine Shipments Δ BC26 Boolean Specifies if several orders delivered to the customer can appear on the same sales invoice.
88 Gen. Bus. Posting Group Δ BC26 Code[20] Specifies the customer’s trade type to link transactions made for this customer with the appropriate general ledger account according to the general posting setup. TableRelation Table 250 “Gen. Business Posting Group” (Gen. Business Posting Group)
90 GLN Δ BC26 Code[13] Specifies the customer in connection with electronic document sending.
91 Post Code Δ BC26 Code[20] Specifies the post code. TableRelation Table 225 “Post Code” (if (“Country/Region Code” = const(‘’)) “Post Code” else if (“Country/Region Code” = filter(<> ‘’)) “Post Code” where(“Country/Region Code” = field(“Country/Region Code”)))
92 County Δ BC25 Δ BC26 Text[30] Specifies the state, province or county as a part of the address.
93 EORI Number Δ BC25 Δ BC26 Text[40] Specifies the Economic Operators Registration and Identification number that is used when you exchange information with the customs authorities due to trade into or out of the European Union.
95 Use GLN in Electronic Document Δ BC26 Boolean Specifies whether the GLN is used in electronic documents as a party identification number.
97 Debit Amount Decimal — FlowField: sum(“Detailed Cust. Ledg. Entry”.“Debit Amount” where(“Customer No.” = field(“No.”), “Entry Type” = filter(<> Application), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”), “Posting Date” = field(“Date Filter”), “…; not editable
98 Credit Amount Decimal — FlowField: sum(“Detailed Cust. Ledg. Entry”.“Credit Amount” where(“Customer No.” = field(“No.”), “Entry Type” = filter(<> Application), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”), “Posting Date” = field(“Date Filter”), …; not editable
99 Debit Amount (LCY) Δ BC28 Decimal — FlowField: sum(“Detailed Cust. Ledg. Entry”.“Debit Amount (LCY)” where(“Customer No.” = field(“No.”), “Entry Type” = filter(<> Application), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”), “Posting Date” = field(“Date Filte…; not editable
100 Credit Amount (LCY) Δ BC28 Decimal — FlowField: sum(“Detailed Cust. Ledg. Entry”.“Credit Amount (LCY)” where(“Customer No.” = field(“No.”), “Entry Type” = filter(<> Application), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”), “Posting Date” = field(“Date Filt…; not editable
102 E-Mail Δ BC25 Δ BC26 Text[80] Specifies the customer’s email address.
103 Home Page Δ BC24 Δ BC25 Δ BC26 Δ BC27 Text[255] Specifies the customer’s home page address.
104 Reminder Terms Code Δ BC26 Code[10] Specifies how reminders about late payments are handled for this customer. TableRelation Table 292 “Reminder Terms” (Reminder Terms)
105 Reminder Amounts Decimal — FlowField: sum(“Detailed Cust. Ledg. Entry”.Amount where(“Initial Document Type” = const(Reminder), “Entry Type” = const(“Initial Entry”), “Customer No.” = field(“No.”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”), “Post…; not editable
106 Reminder Amounts (LCY) Δ BC28 Decimal — FlowField: sum(“Detailed Cust. Ledg. Entry”.“Amount (LCY)” where(“Initial Document Type” = const(Reminder), “Entry Type” = const(“Initial Entry”), “Customer No.” = field(“No.”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”…; not editable
107 No. Series Code[20] — TableRelation Table 308 “No. Series” (No. Series); not editable
108 Tax Area Code Δ BC26 Code[20] Specifies the tax area that is used to calculate and post sales tax. TableRelation Table 318 “Tax Area” (Tax Area)
109 Tax Liable Δ BC26 Boolean Specifies if the customer or vendor is liable for sales tax.
110 VAT Bus. Posting Group Δ BC26 Code[20] Specifies the customer’s VAT specification to link transactions made for this customer to. TableRelation Table 323 “VAT Business Posting Group” (VAT Business Posting Group)
111 Currency Filter Code[10] — TableRelation Table 4 “Currency”; FlowFilter
113 Outstanding Orders (LCY) Δ BC26 Δ BC28 Decimal Specifies your expected sales income from the customer in LCY based on ongoing sales orders. FlowField: sum(“Sales Line”.“Outstanding Amount (LCY)” where(“Document Type” = const(Order), “Bill-to Customer No.” = field(“No.”), “Shortcut Dimension 1 Code” = field(“Global Dimension 1 Filter”), “Shortcut Dimension 2 Code” = field(“Global Dimension 2 Filter”), “Currency Code” = field(“Currency Filter”))); not editable
114 Shipped Not Invoiced (LCY) Δ BC26 Δ BC28 Decimal Specifies your expected sales income from the customer in LCY based on ongoing sales orders where items have been shipped. FlowField: sum(“Sales Line”.“Shipped Not Invoiced (LCY)” where(“Document Type” = const(Order), “Bill-to Customer No.” = field(“No.”), “Shortcut Dimension 1 Code” = field(“Global Dimension 1 Filter”), “Shortcut Dimension 2 Code” = field(“Global Dimension 2 Filter”), “Currency Code” = field(“Currency Filter”))); not editable
115 Reserve Δ BC26 Enum “Reserve Method” Specifies whether items will never, automatically (Always), or optionally be reserved for this customer. Optional means that you must manually reserve items for this customer. enum Enum 100 “Reserve Method”
116 Block Payment Tolerance Δ BC26 Boolean Specifies that the customer is not allowed a payment tolerance.
117 Pmt. Disc. Tolerance (LCY) Δ BC28 Decimal — FlowField: - sum(“Detailed Cust. Ledg. Entry”.“Amount (LCY)” where(“Customer No.” = field(“No.”), “Entry Type” = filter(“Payment Discount Tolerance” | “Payment Discount Tolerance (VAT Adjustment)” | “Payment Discount Tolerance (VAT Excl.)”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “…; not editable
118 Pmt. Tolerance (LCY) Δ BC28 Decimal — FlowField: - sum(“Detailed Cust. Ledg. Entry”.“Amount (LCY)” where(“Customer No.” = field(“No.”), “Entry Type” = filter(“Payment Tolerance” | “Payment Tolerance (VAT Adjustment)” | “Payment Tolerance (VAT Excl.)”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2…; not editable
119 IC Partner Code Δ BC26 Code[20] Specifies the customer’s intercompany partner code. TableRelation Table 413 “IC Partner” (IC Partner)
120 Refunds Δ BC28 Decimal — FlowField: sum(“Detailed Cust. Ledg. Entry”.Amount where(“Initial Document Type” = const(Refund), “Entry Type” = const(“Initial Entry”), “Customer No.” = field(“No.”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”), “Postin…
121 Refunds (LCY) Δ BC26 Δ BC27 Δ BC28 Decimal Specifies the sum of refunds received from the customer. FlowField: sum(“Detailed Cust. Ledg. Entry”.“Amount (LCY)” where(“Initial Document Type” = const(Refund), “Entry Type” = const(“Initial Entry”), “Customer No.” = field(“No.”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”),…
122 Other Amounts Δ BC28 Decimal — FlowField: sum(“Detailed Cust. Ledg. Entry”.Amount where(“Initial Document Type” = const(” “), “Entry Type” = const(“Initial Entry”), “Customer No.” = field(“No.”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”), “Posting D…
123 Other Amounts (LCY) Δ BC27 Δ BC28 Decimal — FlowField: sum(“Detailed Cust. Ledg. Entry”.“Amount (LCY)” where(“Initial Document Type” = const(” “), “Entry Type” = const(“Initial Entry”), “Customer No.” = field(“No.”), “Initial Entry Global Dim. 1” = field(“Global Dimension 1 Filter”), “Initial Entry Global Dim. 2” = field(“Global Dimension 2 Filter”), “P…
124 Prepayment % Δ BC26 Δ BC28 Decimal Specifies a prepayment percentage that applies to all orders for this customer, regardless of the items or services on the order lines.
125 Outstanding Invoices (LCY) Δ BC26 Δ BC28 Decimal Specifies your expected sales income from the customer in LCY based on unpaid sales invoices. FlowField: sum(“Sales Line”.“Outstanding Amount (LCY)” where(“Document Type” = const(Invoice), “Bill-to Customer No.” = field(“No.”), “Shortcut Dimension 1 Code” = field(“Global Dimension 1 Filter”), “Shortcut Dimension 2 Code” = field(“Global Dimension 2 Filter”), “Currency Code” = field(“Currency Filter”))); not editable
126 Outstanding Invoices Decimal — FlowField: sum(“Sales Line”.“Outstanding Amount” where(“Document Type” = const(Invoice), “Bill-to Customer No.” = field(“No.”), “Shortcut Dimension 1 Code” = field(“Global Dimension 1 Filter”), “Shortcut Dimension 2 Code” = field(“Global Dimension 2 Filter”), “Currency Code” = field(“Currency Filter”))); not editable
130 Bill-to No. Of Archived Doc. Δ BC25 Integer Bill-to No. Of Sales Archived Doc. caption FlowField: count(“Sales Header Archive” where(“Document Type” = const(Order), “Bill-to Customer No.” = field(“No.”)))
131 Sell-to No. Of Archived Doc. Δ BC25 Integer Sell-to No. Of Sales Archived Doc. caption FlowField: count(“Sales Header Archive” where(“Document Type” = const(Order), “Sell-to Customer No.” = field(“No.”)))
132 Partner Type Δ BC26 Enum “Partner Type” Specifies for direct debit collections if the customer that the payment is collected from is a person or a company. enum Enum 134 “Partner Type”
133 Intrastat Partner Type Δ BC26 Enum “Partner Type” Specifies for Intrastat reporting if the customer is a person or a company. enum Enum 134 “Partner Type”
134 Exclude from Pmt. Practices Δ BC26 Boolean Specifies that the customer must be excluded from Payment Practices calculations.
140 Image Δ BC26 Media Specifies the picture of the customer, for example, a logo.
150 Privacy Blocked Δ BC26 Boolean Specifies whether to limit access to data for the data subject during daily operations. This is useful, for example, when protecting data from changes while it is under privacy review.
160 Disable Search by Name Δ BC26 Boolean Specifies that you can change the customer name on open sales documents. The change applies only to the documents. DataClassification SystemMetadata
175 Allow Multiple Posting Groups Δ BC26 Boolean Specifies if multiple posting groups can be used for posting business transactions for this customer. DataClassification SystemMetadata
288 Preferred Bank Account Code Δ BC26 Code[20] Specifies the customer’s bank account that will be used by default when you process refunds to the customer and direct debit collections. TableRelation Table 287 “Customer Bank Account” (“Customer Bank Account”.Code where(“Customer No.” = field(“No.”)))
720 Coupled to CRM Δ BC26 Boolean Coupled to Dataverse caption obsolete Removed 26.0; #if not CLEANSCHEMA26; not editable
721 Coupled to Dataverse Δ BC26 Boolean Specifies that the customer is coupled to an account in Dataverse. FlowField: exist(“CRM Integration Record” where(“Integration ID” = field(SystemId), “Table ID” = const(Database::Customer))); not editable
840 Cash Flow Payment Terms Code Δ BC26 Code[10] Specifies a payment term that will be used to calculate cash flow for the customer. TableRelation Table 3 “Payment Terms” (Payment Terms)
5049 Primary Contact No. Δ BC26 Code[20] Specifies the contact number for the customer. TableRelation Table 5050 “Contact”
5050 Contact Type Enum “Contact Type” — enum Enum 5050 “Contact Type”
5061 Mobile Phone No. Δ BC25 Δ BC26 Text[30] Specifies the customer’s mobile telephone number.
5700 Responsibility Center Δ BC26 Code[10] Specifies the code for the responsibility center that will administer this customer by default. TableRelation Table 5714 “Responsibility Center” (Responsibility Center)
5750 Shipping Advice Δ BC26 Enum “Sales Header Shipping Advice” Specifies if the customer accepts partial shipment of orders. enum Enum 3657 “Sales Header Shipping Advice”
5790 Shipping Time Δ BC26 DateFormula Specifies how long it takes from when the items are shipped from the warehouse to when they are delivered.
5792 Shipping Agent Service Code Δ BC26 Code[10] Specifies the code for the shipping agent service to use for this customer. TableRelation Table 5790 “Shipping Agent Services” (“Shipping Agent Services”.Code where(“Shipping Agent Code” = field(“Shipping Agent Code”)))
7000 Price Calculation Method Δ BC26 Enum “Price Calculation Method” Specifies the default price calculation method. enum Enum 7000 “Price Calculation Method”
7001 Allow Line Disc. Δ BC26 Boolean Specifies if a sales line discount is calculated when a special sales price is offered according to setup in the Sales Prices window.
7171 No. of Quotes Δ BC28 Integer Specifies the number of sales quotes that have been registered for the customer. FlowField: count(“Sales Header” where(“Document Type” = const(Quote), “Sell-to Customer No.” = field(“No.”))); not editable
7172 No. of Blanket Orders Δ BC28 Integer Specifies the number of sales blanket orders that have been registered for the customer. FlowField: count(“Sales Header” where(“Document Type” = const(“Blanket Order”), “Sell-to Customer No.” = field(“No.”))); not editable
7173 No. of Orders Δ BC28 Integer Specifies the number of sales orders that have been registered for the customer. FlowField: count(“Sales Header” where(“Document Type” = const(Order), “Sell-to Customer No.” = field(“No.”))); not editable
7174 No. of Invoices Δ BC28 Integer Specifies the number of unposted sales invoices that have been registered for the customer. FlowField: count(“Sales Header” where(“Document Type” = const(Invoice), “Sell-to Customer No.” = field(“No.”))); not editable
7175 No. of Return Orders Δ BC28 Integer Specifies the number of sales return orders that have been registered for the customer. FlowField: count(“Sales Header” where(“Document Type” = const(“Return Order”), “Sell-to Customer No.” = field(“No.”))); not editable
7176 No. of Credit Memos Δ BC28 Integer Specifies the number of unposted sales credit memos that have been registered for the customer. FlowField: count(“Sales Header” where(“Document Type” = const(“Credit Memo”), “Sell-to Customer No.” = field(“No.”))); not editable
7177 No. of Pstd. Shipments Δ BC28 Integer Specifies the number of posted sales shipments that have been registered for the customer. FlowField: count(“Sales Shipment Header” where(“Sell-to Customer No.” = field(“No.”))); not editable
7178 No. of Pstd. Invoices Δ BC28 Integer Specifies the number of posted sales invoices that have been registered for the customer. FlowField: count(“Sales Invoice Header” where(“Sell-to Customer No.” = field(“No.”))); not editable
7179 No. of Pstd. Return Receipts Δ BC28 Integer Specifies the number of posted sales return receipts that have been registered for the customer. FlowField: count(“Return Receipt Header” where(“Sell-to Customer No.” = field(“No.”))); not editable
7180 No. of Pstd. Credit Memos Δ BC28 Integer Specifies the number of posted sales credit memos that have been registered for the customer. FlowField: count(“Sales Cr.Memo Header” where(“Sell-to Customer No.” = field(“No.”))); not editable
7181 No. of Ship-to Addresses Integer — FlowField: count(“Ship-to Address” where(“Customer No.” = field(“No.”))); not editable
7182 Bill-To No. of Quotes Δ BC28 Integer Specifies how many quotes have been registered for the customer when the customer acts as the bill-to customer. FlowField: count(“Sales Header” where(“Document Type” = const(Quote), “Bill-to Customer No.” = field(“No.”))); not editable
7183 Bill-To No. of Blanket Orders Δ BC28 Integer Specifies how many blanket orders have been registered for the customer when the customer acts as the bill-to customer. FlowField: count(“Sales Header” where(“Document Type” = const(“Blanket Order”), “Bill-to Customer No.” = field(“No.”))); not editable
7184 Bill-To No. of Orders Δ BC28 Integer Specifies how many sales orders have been registered for the customer when the customer acts as the bill-to customer. FlowField: count(“Sales Header” where(“Document Type” = const(Order), “Bill-to Customer No.” = field(“No.”))); not editable
7185 Bill-To No. of Invoices Δ BC28 Integer Specifies how many invoices have been registered for the customer when the customer acts as the bill-to customer. FlowField: count(“Sales Header” where(“Document Type” = const(Invoice), “Bill-to Customer No.” = field(“No.”))); not editable
7186 Bill-To No. of Return Orders Δ BC28 Integer Specifies how many return orders have been registered for the customer when the customer acts as the bill-to customer. FlowField: count(“Sales Header” where(“Document Type” = const(“Return Order”), “Bill-to Customer No.” = field(“No.”))); not editable
7187 Bill-To No. of Credit Memos Δ BC28 Integer Specifies how many credit memos have been registered for the customer when the customer acts as the bill-to customer. FlowField: count(“Sales Header” where(“Document Type” = const(“Credit Memo”), “Bill-to Customer No.” = field(“No.”))); not editable
7188 Bill-To No. of Pstd. Shipments Δ BC28 Integer Specifies how many posted shipments have been registered for the customer when the customer acts as the bill-to customer. FlowField: count(“Sales Shipment Header” where(“Bill-to Customer No.” = field(“No.”))); not editable
7189 Bill-To No. of Pstd. Invoices Δ BC28 Integer Specifies how many posted invoices have been registered for the customer when the customer acts as the bill-to customer. FlowField: count(“Sales Invoice Header” where(“Bill-to Customer No.” = field(“No.”))); not editable
7190 Bill-To No. of Pstd. Return R. Δ BC28 Integer Specifies how many posted return receipts have been registered for the customer when the customer acts as the bill-to customer. FlowField: count(“Return Receipt Header” where(“Bill-to Customer No.” = field(“No.”))); not editable
7191 Bill-To No. of Pstd. Cr. Memos Δ BC28 Integer Specifies how many posted credit memos have been registered for the customer when the customer acts as the bill-to customer. FlowField: count(“Sales Cr.Memo Header” where(“Bill-to Customer No.” = field(“No.”))); not editable
7600 Base Calendar Code Δ BC26 Code[10] Specifies a customizable calendar for shipment planning that holds the customer’s working days and holidays. TableRelation Table 7600 “Base Calendar” (Base Calendar)
7601 Copy Sell-to Addr. to Qte From Δ BC26 Enum “Contact Type” Specifies which customer address is inserted on sales quotes that you create for the customer. enum Enum 5050 “Contact Type”
7602 Validate EU Vat Reg. No. Boolean Validate EU VAT Reg. No. caption
8001 Currency Id Guid — TableRelation Currency.SystemId
8002 Payment Terms Id Guid — TableRelation Table 3 “Payment Terms” (“Payment Terms”.SystemId)
8003 Shipment Method Id Guid — TableRelation Table 10 “Shipment Method” (“Shipment Method”.SystemId)
8004 Payment Method Id Guid — TableRelation Table 289 “Payment Method” (“Payment Method”.SystemId)
9003 Tax Area ID Guid —
9005 Contact ID Guid —
9006 Contact Graph Id Δ BC25 Text[250] —

Keys

  • Key1: No. (clustered)
  • Key2: Search Name
  • Key3: Customer Posting Group
  • Key4: Currency Code
  • Key5: Country/Region Code
  • Key6: Gen. Bus. Posting Group
  • Key7: Name, Address, City
  • Key8: VAT Registration No.
  • Key9: Name
  • Key10: City
  • Key11: Post Code
  • Key12: Phone No.
  • Key13: Contact
  • Key14: Blocked
  • Key15: Primary Contact No.
  • Key16: Salesperson Code
  • Key17: SystemModifiedAt
  • Key20: Partner Type, Country/Region Code
  • Key22: IC Partner Code

Events published

  • OnBeforeIsContactUpdateNeeded(Customer: Record Customer; xCustomer: Record Customer; var UpdateNeeded: Boolean; ForceUpdateContact: Boolean) (integration): Raised before determining if the associated contact needs to be updated.
  • OnAfterCopyFromNewCustomerTemplate(var Customer: Record Customer; CustomerTemplate: Record "Customer Templ.") (integration): Raised after copying field values from a customer template to the customer record.
  • OnAfterDeleteRelatedData(Customer: Record Customer) + BC25 (integration): Raised after deleting all related data for the customer.
  • OnAfterGetTopCustomerHeadlineQueryDocumentTypeFilter(var DocumentTypeFilter: Text) (integration): Raised after getting the document type filter for the top customer headline query.
  • OnAfterHasAnyOpenOrPostedDocuments(var Customer: Record Customer; var HasAnyDocs: Boolean) (integration): Raised after checking if the customer has any open or posted documents.
  • OnAfterHasAddressIgnoreCountryCode(Customer: Record Customer; var Result: Boolean) (integration): Raised after checking if the customer has address fields populated (excluding country/region).
  • OnAfterHasDifferentAddress(Customer: Record Customer; OtherCustomer: Record Customer; var Result: Boolean) (integration): Raised after comparing the customer’s address with another customer.
  • OnAfterLookupCity(var Customer: Record Customer; var PostCodeRec: Record "Post Code") (integration): Raised after looking up the city from the post code table.
  • OnAfterLookupPostCode(var Customer: Record Customer; xCustomer: Record Customer; var PostCodeRec: Record "Post Code") (integration): Raised after looking up the post code.
  • OnAfterOnInsert(var Customer: Record Customer; xCustomer: Record Customer) (integration): Raised after inserting a new customer record.
  • OnAfterSetLastModifiedDateTime(var Customer: Record Customer) (integration): Raised after setting the last modified date and time on the customer record.
  • OnAfterValidateCity(var Customer: Record Customer; xCustomer: Record Customer) (integration): Raised after validating the city field on the customer record.
  • OnAfterValidatePostCode(var Customer: Record Customer; xCustomer: Record Customer) (integration): Raised after validating the post code field on the customer record.
  • OnAfterValidateShortcutDimCode(var Customer: Record Customer; var xCustomer: Record Customer; FieldNumber: Integer; var ShortcutDimCode: Code[20]) (integration): Raised after validating and saving a shortcut dimension code.
  • OnAssistEditOnBeforeExit(var Customer: Record Customer) (integration): Raised before exiting the AssistEdit procedure after selecting a number series.
  • OnBeforeCheckBlockedCust(Customer: Record Customer; Source: Option Journal,Document; DocType: Option; Shipment: Boolean; Transaction: Boolean; var IsHandled: Boolean) (integration): Raised before checking if a customer is blocked for documents or journals.
  • OnBeforeCheckBlockedCustOnJnls(Customer: Record Customer; var GenJnlLine: Record "Gen. Journal Line"; Transaction: Boolean; var IsHandled: Boolean) (integration): Raised before checking if a customer is blocked for journal lines.
  • OnBeforeCheckIfOrderSalesLinesExist(var Customer: Record Customer; var IsHandled: Boolean) (integration): Raised before checking if sales order lines exist for the customer.
  • OnBeforeCreateNewCustomer(CustomerName: Text[100]; ShowCustomerCard: Boolean; var NewCustomerCode: Code[20]; var IsHandled: Boolean) (integration): Raised before creating a new customer record.
  • OnBeforeGetCustNoOpenCard(CustomerText: Text; ShowCustomerCard: Boolean; var ShowCreateCustomerOption: Boolean; var CustomerNo: Code[20]; var IsHandled: Boolean) (integration): Raised before getting the customer number with card display options.
  • OnBeforeCalcOverdueBalance(var Customer: Record Customer; var OverdueBalance: Decimal; var IsHandled: Boolean) (integration): Raised before calculating the overdue balance.
  • OnBeforeGetInvoicedPrepmtAmountLCY(var Customer: Record Customer; var InvoicedPrepmtAmountLCY: Decimal; var IsHandled: Boolean) (integration): Raised before getting the invoiced prepayment amount in local currency.
  • OnBeforeGetTotalAmountLCY(var Customer: Record Customer; var TotalAmountLCY: Decimal; var IsHandled: Boolean) (integration): Raised before getting the total amount in local currency.
  • OnBeforeGetTotalAmountLCYUI(var Customer: Record Customer) (integration): Raised before getting the total amount in local currency for UI display.
  • OnBeforeGetTotalAmountLCYCommon(var Customer: Record Customer; var AdditionalAmountLCY: Decimal; var IsHandled: Boolean) (integration): Raised before getting the common total amount in local currency calculation.
  • OnBeforeGetSalesLCY(var Customer: Record Customer; var CustomerSalesYTD: Record Customer; var SalesLCY: Decimal; var IsHandled: Boolean) (integration): Raised before getting the sales in local currency for the fiscal year.
  • OnBeforeInsert(var Customer: Record Customer; var IsHandled: Boolean) (integration): Raised before inserting a new customer record.
  • OnBeforeLookupCity(var Customer: Record Customer; var PostCodeRec: Record "Post Code") (integration): Raised before looking up the city from the post code table.
  • OnBeforeLookupContactList(var Customer: Record Customer; var IsHandled: Boolean; FieldNumber: Integer) (integration): Raised before looking up the contact list for the customer.
  • OnBeforeLookupPostCode(var Customer: Record Customer; var PostCodeRec: Record "Post Code") (integration): Raised before looking up the post code.
  • OnBeforeOpenCustomerLedgerEntries(var Customer: Record Customer; var DetailedCustLedgEntry: Record "Detailed Cust. Ledg. Entry"; FilterOnDueEntries: Boolean; var IsHandled: Boolean) (integration): Raised before opening customer ledger entries.
  • OnBeforeOnDelete(var Customer: Record Customer; var IsHandled: Boolean) (integration): Raised before deleting a customer record.
  • OnBeforeOnRename(var Customer: Record Customer; xCustomer: Record Customer; var IsHandled: Boolean) (integration): Raised before renaming a customer record.
  • OnBeforeSetDefaultSalesperson(var Customer: Record Customer; var IsHandled: Boolean) (integration): Raised before setting the default salesperson for a new customer.
  • OnBeforeTestNoSeries(var Customer: Record Customer; xCustomer: Record Customer; var IsHandled: Boolean) (integration): Raised before testing the number series configuration.
  • OnBeforeUpdateDirectDebitPmtTermsCode(var Customer: Record Customer; var IsHandled: Boolean) (integration): Raised before updating the payment terms code for direct debit.
  • OnBeforeValidateCity(var Customer: Record Customer; var PostCodeRec: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before validating the city field.
  • OnBeforeValidateVATRegistrationNo(var Customer: Record "Customer"; xCustomer: Record "Customer"; FieldNumber: Integer; var IsHandled: Boolean) (integration): Raised before validating the VAT registration number.
  • OnBeforeValidatePostCode(var Customer: Record Customer; var PostCodeRec: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before validating the post code field.
  • OnBeforeValidateShortcutDimCode(var Customer: Record Customer; var xCustomer: Record Customer; FieldNumber: Integer; var ShortcutDimCode: Code[20]; var IsHandled: Boolean) (integration): Raised before validating a shortcut dimension code.
  • OnBeforeVATRegistrationValidation(var Customer: Record Customer; var IsHandled: Boolean) (integration): Raised before validating the VAT registration number format and VIES service.
  • OnGetCustNoOpenCardOnBeforeCustomerFindSet(var Customer: Record Customer) (integration): Raised before the customer find set operation in GetCustNoOpenCard.
  • OnGetCustNoOpenCardOnBeforeFilterCustomer(var Customer: Record Customer) (integration): Raised before filtering the customer in GetCustNoOpenCard.
  • OnGetCustNoOpenCardOnAfterSetCustomerFilters(var Customer: Record Customer; var CustomerFilterContains: Text) (integration): Raised after setting customer filters in GetCustNoOpenCard.
  • OnMarkCustomersWithSimilarNameOnBeforeCustomerFindSet(var Customer: Record Customer) (integration): Raised before searching for customers with similar names.
  • OnBeforeCheckCustomerContactRelation(Cont: Record Contact; ContBusRel: Record "Contact Business Relation"; var IsHandled: Boolean) (integration): Raised before checking the customer-contact business relation.
  • OnBeforeValidateContact(var IsHandled: Boolean; var Customer: Record Customer) (integration): Raised before validating the Contact field.
  • OnBeforeValidateEmail(var Customer: Record Customer; var IsHandled: Boolean; xCustomer: Record Customer) (integration): Raised before validating the email address field.
  • OnBeforeShowContact(var Customer: Record Customer; var ContactBusinessRelation: Record "Contact Business Relation") + BC28 (integration): Raised before executing the ShowContact procedure.
  • OnShowContactOnBeforeOpenContactCard(var Contact: Record Contact; var ContactPageID: Integer) (integration): Raised before opening the contact card from ShowContact.
  • OnShowContactOnBeforeOpenContactList(var Contact: Record Contact; var ContactPageID: Integer) (integration): Raised before opening the contact list from ShowContact.
  • OnGetCustNoOpenCardOnAfterOnAfterCustomerFilterFromStart(var Customer: Record Customer) (integration): Raised after applying the initial customer filter from start in GetCustNoOpenCard.
  • OnGetCustNoOpenCardOnBeforeCustomerFindFirst(var Customer: Record Customer; var IsHandled: Boolean) + BC28 (integration): Raised before the Customer.FindFirst() operation after setting the name filter in GetCustNoOpenCard.
  • OnBeforeCustBlockedErrorMessage(Cust2: Record Customer; Transaction: Boolean; var IsHandled: Boolean) (integration): Raised before displaying the customer blocked error message.
  • OnBeforeCalcAvailableCreditCommon(var Rec: Record Customer; CalledFromUI: Boolean; var CreditLimitLCY: Decimal; var Result: Decimal; var IsHandled: Boolean) (integration): Raised before calculating available credit.
  • OnGetBalanceAsVendorOnBeforeCalcBalance(var Vendor: Record Vendor) (integration): Raised before calculating the balance from the linked vendor.
  • OnBeforeValidateRegistrationNumber(var Customer: Record Customer; var IsHandled: Boolean) (integration): Raised before validating the registration number.
  • OnBeforeCheckAllowMultiplePostingGroups(var IsHandled: Boolean) (integration): Raised before checking if multiple posting groups are allowed.
  • OnGetCustNoOpenCardOnAfterMarkCustomersWithSimilarName(var Customer: Record Customer) (integration): Raised after marking customers with similar names in GetCustNoOpenCard.
  • OnGetTotalAmountLCYOnAfterCalcFields(var Customer: Record Customer) + BC25 (integration): Raised after calculating fields in GetTotalAmountLCY.
  • OnGetTotalAmountLCYUIOnAfterSetAutoCalcFields(var Customer: Record Customer) + BC25 (integration): Raised after setting auto-calculated fields in GetTotalAmountLCYUI.
  • OnAfterGetTotalAmountLCYCommon(var Customer: Record Customer; var TotalAmountLCY: Decimal) + BC25 (integration): Raised after calculating the common total amount in local currency.
  • OnAfterGetVATRegistrationNo(var Customer: Record Customer; var VATRegNo: Text[20]) + BC26 (integration): Raised after getting the VAT registration number.

Trigger event subscribers

Procedures

  • AssistEdit(OldCust: Record Customer): Boolean: Assists the user in selecting or generating a new customer number from the configured number series.
  • ValidateShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20]): Validates and saves the specified shortcut dimension code for the customer.
  • ShowContact(): Opens the contact card or contact list for the customer’s associated contact.
  • LookupContactList() Δ BC26: Opens a lookup page for selecting a contact associated with the customer.
  • SetInsertFromContact(FromContact: Boolean): Sets whether the customer is being inserted from a contact record.
  • CheckBlockedCustOnDocs(Cust2: Record Customer; DocType: Enum "Sales Document Type"; Shipment: Boolean; Transaction: Boolean): Checks if the customer is blocked for the specified document type and raises an error if blocked.
  • CheckBlockedCustOnJnls(Cust2: Record Customer; DocType: Enum "Gen. Journal Document Type"; Transaction: Boolean): Checks if the customer is blocked for the specified journal document type and raises an error if blocked.
  • CheckBlockedCustOnJnls(Cust2: Record Customer; var GenJnlLine: Record "Gen. Journal Line"; Transaction: Boolean): Checks if the customer is blocked for the specified general journal line and raises an error if blocked.
  • CustBlockedErrorMessage(Cust2: Record Customer; Transaction: Boolean): Raises an error message indicating that the customer is blocked.
  • CustPrivacyBlockedErrorMessage(Cust2: Record Customer; Transaction: Boolean): Raises an error message indicating that the customer is blocked for privacy reasons.
  • GetPrivacyBlockedGenericErrorText(Cust2: Record Customer): Text[250]: Gets a generic error text for a privacy-blocked customer.
  • DisplayMap(): Displays the customer’s address on an online map service.
  • GetPriceCalculationMethod(): Enum "Price Calculation Method": Gets the price calculation method for the customer, considering customer price group and sales setup defaults.
  • GetPrimaryContact(CustomerNo: Code[20]; var PrimaryContact: Record Contact): Gets the primary contact for the specified customer.
  • GetTotalAmountLCY(): Decimal: Calculates the total amount in local currency including balance, outstanding orders, shipped not invoiced, and outstanding invoices.
  • GetTotalAmountLCYUI(): Decimal: Calculates the total amount in local currency for UI display purposes using auto-calculated fields.
  • GetSalesLCY(): Decimal: Gets the total sales in local currency for the current fiscal year.
  • GetTopCustomerHeadlineQueryDocumentTypeFilter(): Text: Gets the document type filter for the top customer headline query.
  • CalcAvailableCredit(): Decimal: Calculates the available credit for the customer based on their credit limit and total outstanding amount.
  • CalcAvailableCreditUI(): Decimal: Calculates the available credit for UI display using auto-calculated fields.
  • CalcOverdueBalance(): Decimal: Calculates the total overdue balance in local currency for the customer.
  • GetLegalEntityType(): Text: Gets the legal entity type as text from the Partner Type field.
  • GetLegalEntityTypeLbl(): Text: Gets the label for the legal entity type field.
  • SetStyle(): Text: Determines the display style for the customer based on available credit.
  • HasValidDDMandate(Date: Date): Boolean: Checks if the customer has a valid SEPA direct debit mandate for the specified date.
  • GetReturnRcdNotInvAmountLCY(): Decimal: Gets the total return received not invoiced amount in local currency for the customer.
  • GetInvoicedPrepmtAmountLCY(): Decimal: Gets the total invoiced prepayment amount in local currency for the customer.
  • CalcCreditLimitLCYExpendedPct(): Decimal: Calculates the percentage of the credit limit that has been used.
  • CreateAndShowNewInvoice(): Creates a new sales invoice for the customer and opens the Sales Invoice page.
  • CreateAndShowNewOrder(): Creates a new sales order for the customer and opens the Sales Order page.
  • CreateAndShowNewCreditMemo(): Creates a new sales credit memo for the customer and opens the Sales Credit Memo page.
  • CreateAndShowNewQuote(): Creates a new sales quote for the customer and opens the Sales Quote page.
  • GetBillToCustomerNo(): Code[20]: Gets the bill-to customer number, returning the current customer number if no bill-to is specified.
  • HasAddressIgnoreCountryCode(): Boolean: Checks if the customer has address fields populated, excluding the country/region code.
  • HasAddress(): Boolean: Checks if the customer has any address fields populated, including country/region code.
  • HasDifferentAddress(OtherCustomer: Record Customer): Boolean: Compares the customer’s address with another customer’s address.
  • GetBalanceAsVendor(var LinkedVendorNo: Code[20]): Decimal: Gets the balance in local currency from the linked vendor account.
  • GetLinkedVendor(): Code[20]: Gets the vendor number linked to this customer through the contact business relation.
  • GetCustNo(CustomerText: Text): Text: Finds a customer number by text, showing card options if no exact match is found.
  • GetCustNoOpenCard(CustomerText: Text; ShowCustomerCard: Boolean; ShowCreateCustomerOption: Boolean): Code[20]: Finds a customer number by text with options for displaying customer card and creation options.
  • CreateNewCustomer(CustomerName: Text[100]; ShowCustomerCard: Boolean): Code[20]: Creates a new customer with the specified name, optionally from a template, and displays the customer card.
  • SelectCustomer(var Customer: Record Customer): Boolean: Opens a customer lookup page for the user to select a customer.
  • ToPriceSource(var PriceSource: Record "Price Source"): Initializes a price source record for this customer.
  • OpenCustomerLedgerEntries(FilterOnDueEntries: Boolean): Opens the customer ledger entries page with optional filtering on due entries.
  • SetInsertFromTemplate(FromTemplate: Boolean): Sets whether the customer is being inserted from a template.
  • IsLookupRequested(): Boolean: Checks if a lookup was requested during the last customer number search operation.
  • IsContactUpdateNeeded(): Boolean: Checks if the associated contact record needs to be updated based on changed customer fields.
  • IsBlocked(): Boolean: Checks if the customer is blocked or privacy-blocked.
  • HasAnyOpenOrPostedDocuments(): Boolean: Checks if the customer has any open sales documents or posted ledger entries.
  • CopyFromNewCustomerTemplate(CustomerTemplate: Record "Customer Templ."): Copies field values from the specified customer template to this customer record.
  • GetInsertFromContact(): Boolean: Gets whether the customer is being inserted from a contact record.
  • GetInsertFromTemplate(): Boolean: Gets whether the customer is being inserted from a template.
  • SetDefaultSalesperson() (protected)
  • SetLastModifiedDateTime() (protected)
  • VATRegistrationValidation(): Validates the VAT registration number format and optionally verifies it against the VIES service.
  • SetAddress(CustomerAddress: Text[100]; CustomerAddress2: Text[50]; CustomerPostCode: Code[20]; CustomerCity: Text[30]; CustomerCounty: Text[30]; CustomerCountryCode: Code[10]; CustomerContact: Text[100]): Sets the customer’s address fields and updates the associated contact.
  • FindByEmail(var Customer: Record Customer; Email: Text): Boolean: Finds a customer by email address, searching both the customer and contact records.
  • UpdateReferencedIds(): Updates all API-related reference IDs for currency, payment terms, shipment method, payment method, and tax area.
  • GetReferencedIds(var TempField: Record "Field" temporary): Gets the list of fields that contain referenced IDs for API integration.
  • SetForceUpdateContact(NewForceUpdateContact: Boolean): Sets whether to force an update of the associated contact record regardless of field changes.
  • UpdateCurrencyId(): Updates the Currency Id field based on the current Currency Code.
  • UpdatePaymentTermsId(): Updates the Payment Terms Id field based on the current Payment Terms Code.
  • UpdateShipmentMethodId(): Updates the Shipment Method Id field based on the current Shipment Method Code.
  • UpdatePaymentMethodId(): Updates the Payment Method Id field based on the current Payment Method Code.
  • UpdateTaxAreaId(): Updates the Tax Area ID based on the VAT Business Posting Group or Tax Area Code depending on tax type.
  • CheckAllowMultiplePostingGroups(): Checks if multiple posting groups are allowed and validates that the customer has the required setting enabled.
  • GetVATRegistrationNo(): Text[20] + BC26: Gets the customer’s VAT registration number.
  • GetShippedOutstandingInvoicesAmountLCY(): Decimal + BC26 Δ BC28 (obsolete 28.0: It is no longer used in GetTotalAmountLCYCommon procedure.): Gets the outstanding amount in LCY for shipped sales invoice lines.
  • GetShippedFromOrderLCYAmountLCY(): Decimal + BC26 Δ BC28 (obsolete 28.0: It is no longer used in GetTotalAmountLCYCommon procedure.): Gets the shipped but not invoiced amount in LCY from sales orders.
  • GetDefaultLocation(): Code[10] + BC27: Gets the default location code based on ship-to address, customer location, and user setup.
  • FormatVATRegistrationNo(VATRegistrationNo: Text; CountryCode: Code[10]): Text + BC28

Plus 26 local procedures.

Triggers

OnDelete, OnInsert, OnModify, OnRename

Relations

Referenced by

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

Pages and codeunits on this table

Extended by

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.

Recent changes

Countries that replace it

AU, BE, CA, CH, ES, FR, IT, MX, NL, NO, NZ, RU, US

Deprecations

  • field Coupled to CRM: Removed 26.0 (#if not CLEANSCHEMA26), “Replaced by flow field Coupled to Dataverse”
  • field Invoice Copies: Pending 27.0 (#if not CLEANSCHEMA30), “This field is not used consequently and hence does not work as expected. It should be retired.”
  • procedure GetShippedFromOrderLCYAmountLCY: Pending 28.0 (#if not CLEAN28), “It is no longer used in GetTotalAmountLCYCommon procedure.”
  • procedure GetShippedOutstandingInvoicesAmountLCY: Pending 28.0 (#if not CLEAN28), “It is no longer used in GetTotalAmountLCYCommon procedure.”

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: "table", object_name: "Customer"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources