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

# Codeunit 1302 Customer Mgt.

Jonas Paprotka, https://jonas-paprotka.de/ref/codeunit/1302-customer-mgt/

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

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| AvgDaysToPay | (Code[20]) | Decimal | public | 17-28 | Pending 27.0 | Use procedure CalculatePaymentStats(CustomerNo: Code[20]; var Stats: Dictionary of [Text, Text]) instead. |
| CalculateStatistic | (Record Customer, var Decimal, var Decimal, var Decimal, var Decimal, var Decimal, var Decimal, var Decimal) | - | public | 17-28 | - | - |
| CalcAmountsOnPostedInvoices | (Code[20], var Integer) | Decimal | public | 17-28 | - | - |
| CalcAmountsOnPostedCrMemos | (Code[20], var Integer) | Decimal | public | 17-28 | - | - |
| CalcAmountsOnOrders | (Code[20], var Integer) | Decimal | public | 17-28 | - | - |
| CalcAmountsOnQuotes | (Code[20], var Integer) | Decimal | public | 17-28 | - | - |
| CalculateAmountsWithVATOnUnpostedDocuments | (Code[20]) | Decimal | public | 17-28 | - | - |
| CalculateAmountsOnUnpostedInvoices | (Code[20], var Integer) | Decimal | public | 17-28 | - | - |
| CalculateAmountsOnUnpostedCrMemos | (Code[20], var Integer) | Decimal | public | 17-28 | - | - |
| DrillDownOnPostedInvoices | (Code[20]) | - | public | 17-28 | - | - |
| DrillDownOnPostedCrMemo | (Code[20]) | - | public | 17-28 | - | - |
| DrillDownOnOrders | (Code[20]) | - | public | 17-28 | - | - |
| DrillDownOnQuotes | (Code[20]) | - | public | 17-28 | - | - |
| DrillDownMoneyOwedExpected | (Code[20]) | - | public | 17-28 | - | - |
| DrillDownOnUnpostedInvoices | (Code[20]) | - | public | 17-28 | - | - |
| DrillDownOnUnpostedCrMemos | (Code[20]) | - | public | 17-28 | - | - |
| GetCurrentYearFilter | () | Text[30] | public | 17-28 | - | - |
| GetTotalSales | (Code[20]) | Decimal | public | 17-28 | - | - |
| GetYTDSales | (Code[20]) | Decimal | public | 17-28 | - | - |
| CalculateShipToBillToOptions | (var Option, var Option, var Record Sales Header) | - | public | 17-26 | Pending 24.0 | Replaced by procedure CalculateShipBillToOptions() |
| CalculateStatisticsWithCurrentCustomerValues | (var Record Customer, var Decimal, var Decimal, var Decimal, var Decimal, var Decimal, var Decimal, var Decimal) | - | public | 20-28 | - | - |
| CalculateShipBillToOptions | (var Enum Sales Ship-to Options, var Enum Sales Bill-to Options, var Record Sales Header) | - | public | 24-28 | - | - |
| SearchForExternalDocNo | (var Record Sales Header) | Boolean | public | 25-28 | - | - |
| CalculatePaymentStats | (Code[20], var Dictionary) | - | public | 27-28 | - | - |
| CalcLastPaymentInfo | (Code[20], var Dictionary) | - | public | 27-28 | - | - |
| CalcNumberOfDistinctItemsSold | (Code[20], var Dictionary) | - | public | 27-28 | - | - |
| CalculateInteractionStats | (Code[20], var Dictionary) | - | public | 27-28 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | SkipSettingFilter | (var Boolean) | 17-28 | - | - |
| Integration event | OnAfterCalculateShipToBillToOptions | (var Option, var Option, Record Sales Header) | 17-26 | Pending 24.0 | Replaced by event OnAfterCalculateShipBillToOptions() |
| Integration event | OnAfterSetFilterForPostedDocs | (var Record Cust. Ledger Entry) | 18-28 | - | - |
| Integration event | OnAfterSetFilterForUnpostedLines | (var Record Sales Line) | 18-28 | - | - |
| Integration event | OnBeforeGetTotalSales | (Code[20], var Decimal, var Boolean) | 18-28 | - | - |
| Integration event | OnAfterCalculateShipBillToOptions | (var Enum Sales Ship-to Options, var Enum Sales Bill-to Options, Record Sales Header) | 24-28 | - | - |
| Integration event | OnBeforeCalculateStatisticsWithCurrentCustomerValues | (var Record Customer, var Decimal, var Decimal, var Decimal, var Decimal, var Decimal, var Decimal, var Decimal, var Boolean) | 24-28 | - | - |
| Integration event | OnBeforeSearchForExternalDocNo | (var Record Sales Header, var Boolean, var Boolean) | 25-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.
