---
id: object/page/151
type: object
title: Page 151 "Customer Statistics"
summary: Page 151 "Customer Statistics" in Base Application (Microsoft.Sales.Customer). 1 events. Present since at least BC23, still in BC30, changed in BC27.
tier: official
language: en
tags:
  - page
  - base application
versions:
  introduced: null
  last_changed: "27"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 5f4893bfbdb35912df04f3f7a55a605cd0ad19500ce81adc37a47ebd714aeeab
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Sales/Customer/CustomerStatistics.Page.al
    title: src/Layers/W1/BaseApp/Sales/Customer/CustomerStatistics.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations:
    - localization/es
  videos: []
  posts: []
  guidelines: []
object_type: page
object_id: 151
name: Customer Statistics
namespace: Microsoft.Sales.Customer
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "27"
source_major: "29"
obsolete: null
countries:
  - es
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 6
  events: 1
  subscribers: 0
  controls: 99
  actions: 0
relations:
  out: 1
  referenced_by: 0
  pages: 0
  extended_by: 1
  event_subscribers: 0
  calls: 2
  called_by: 0
  implements: 0
---

# Page 151 "Customer Statistics"

> Page 151 "Customer Statistics" in Base Application (Microsoft.Sales.Customer). 1 events. Present since at least BC23, still in BC30, changed in BC27.

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

## Properties

| Property | Value |
|---|---|
| Caption | Customer Statistics |
| SourceTable | Customer |
| PageType | Card |

## Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control's own, else the bound field's (marked).

| Group | Control | Shows | ToolTip |
|---|---|---|---|
| General | CustomerSince | [First Transaction Date](../table/18.md#fields) | Specifies the date of the first transaction with the customer. <small>from the table field</small> |
|  | Balance (LCY) | [Balance (LCY)](../table/18.md#fields) | 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 ... <small>from the table field</small> |
| Sales | Outstanding Orders (LCY) | [Outstanding Orders (LCY)](../table/18.md#fields) | Specifies your expected sales income from the customer in LCY based on ongoing sales orders. <small>from the table field</small> |
|  | Shipped Not Invoiced (LCY) | [Shipped Not Invoiced (LCY)](../table/18.md#fields) | Specifies your expected sales income from the customer in LCY based on ongoing sales orders where items have been shipped. <small>from the table field</small> |
|  | Outstanding Invoices (LCY) | [Outstanding Invoices (LCY)](../table/18.md#fields) | Specifies your expected sales income from the customer in LCY based on unpaid sales invoices. <small>from the table field</small> |
|  | Days Since Last Sale | `CalcDaysSinceLastSale()` | Specifies the number of days since the last sale was made to the customer. |
| General | Total (LCY) | `Rec.GetTotalAmountLCY()` | Specifies the payment amount that the customer owes for completed sales plus sales that are still ongoing. |
|  | Credit Limit (LCY) | [Credit Limit (LCY)](../table/18.md#fields) | 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. <small>from the table field</small> |
|  | Balance Due (LCY) | `Rec.CalcOverdueBalance()` | — |
|  | Invoiced Prepayment Amount (LCY) | `Rec.GetInvoicedPrepmtAmountLCY()` | Specifies your sales income from the customer based on invoiced prepayments. |
| This Fiscal Period | CustDateName[1] | `CustDateName[1]` | — |
|  | Sales (LCY) | `CustSalesLCY[1]` | Specifies your total sales turnover in the fiscal year. |
|  | Original Costs (LCY) | `CustSalesLCY[1] - CustProfit[1]` | Specifies the original costs that were associated with the sales when they were originally posted. |
|  | Original Profit (LCY) | `CustProfit[1]` | Specifies the original profit that was associated with the sales when they were originally posted. |
|  | Original Profit % | `ProfitPct[1]` | Specifies the original percentage of profit that was associated with the sales when they were originally posted. |
|  | Adjusted Costs (LCY) | `CustSalesLCY[1] - CustProfit[1] - AdjmtCostLCY[1]` | Specifies the costs that have been adjusted for changes in the purchase prices of the goods. |
|  | Adjusted Profit (LCY) | `AdjCustProfit[1]` | Specifies the profit, taking into consideration changes in the purchase prices of the goods. |
|  | Adjusted Profit % | `AdjProfitPct[1]` | Specifies the percentage of profit for all sales, including changes that occurred in the purchase prices of the goods. |
|  | Cost Adjmt. Amounts (LCY) | `-AdjmtCostLCY[1]` | Specifies the sum of the differences between original costs of the goods and the adjusted costs. |
|  | Inv. Discounts (LCY) | `CustInvDiscAmountLCY[1]` | Specifies the sum of invoice discount amounts granted the customer. |
|  | Inv. Amounts (LCY) | `InvAmountsLCY[1]` | Specifies the sum of amounts that have been invoiced to the customer. |
|  | Reminder Amounts (LCY) | `CustReminderChargeAmtLCY[1]` | Specifies the sum of amounts that the customer has been reminded to pay. |
|  | Fin. Charges (LCY) | `CustFinChargeAmtLCY[1]` | Specifies the sum of amounts that the customer has been charged on finance charge memos. |
|  | Cr. Memo Amounts (LCY) | `CustCrMemoAmountsLCY[1]` | Specifies the sum of amounts that have been refunded to the customer. |
|  | Payments (LCY) | `CustPaymentsLCY[1]` | Specifies the sum of payments received from the customer in the current fiscal year. |
|  | Refunds (LCY) | `CustRefundsLCY[1]` | Specifies the sum of refunds paid to the customer. |
|  | Other Amounts (LCY) | `CustOtherAmountsLCY[1]` | Specifies the sum of other amounts for the customer. |
|  | Pmt. Discounts (LCY) | `CustPaymentDiscLCY[1]` | Specifies the sum of payment discounts granted to the customer. |
|  | Pmt. Disc. Tol. (LCY) | `CustPaymentDiscTolLCY[1]` | Specifies the sum of payment discount tolerance for the customer. |
|  | Pmt. Tolerances (LCY) | `CustPaymentTolLCY[1]` | Specifies the sum of payment tolerance for the customer. |
|  | No. of Sales Docs. | `NumberOfSalesDocs[1]` | Specifies the number of sales documents for the customer. |
|  | No. of Distinct Items Sold | `NumberOfDistinctItemsSold[1]` | Specifies the number of distinct items sold to the customer. |
| This Fiscal Year | Text001 | `Text001` | — |
|  | Sales (LCY) | `CustSalesLCY[2]` | Specifies your total sales turnover in the fiscal year. |
|  | Original Costs (LCY) | `CustSalesLCY[2] - CustProfit[2]` | Specifies the original costs that were associated with the sales when they were originally posted. |
|  | Original Profit (LCY) | `CustProfit[2]` | Specifies the original profit that was associated with the sales when they were originally posted. |
|  | Original Profit % | `ProfitPct[2]` | Specifies the original percentage of profit that was associated with the sales when they were originally posted. |
|  | Adjusted Costs (LCY) | `CustSalesLCY[2] - CustProfit[2] - AdjmtCostLCY[2]` | Specifies the costs that have been adjusted for changes in the purchase prices of the goods. |
|  | Adjusted Profit (LCY) | `AdjCustProfit[2]` | Specifies the profit, taking into consideration changes in the purchase prices of the goods. |
|  | Adjusted Profit % | `AdjProfitPct[2]` | Specifies the percentage of profit for all sales, including changes that occurred in the purchase prices of the goods. |
|  | Adjustment Costs (LCY) | `-AdjmtCostLCY[2]` | Specifies the sum of adjustment amounts. |
|  | Inv. Discounts (LCY) | `CustInvDiscAmountLCY[2]` | Specifies the sum of invoice discount amounts granted the customer. |
|  | Inv. Amounts (LCY) | `InvAmountsLCY[2]` | Specifies the sum of amounts that have been invoiced to the customer. |
|  | Reminder Amounts (LCY) | `CustReminderChargeAmtLCY[2]` | Specifies the sum of amounts that the customer has been reminded to pay. |
|  | Fin. Charges (LCY) | `CustFinChargeAmtLCY[2]` | Specifies the sum of amounts that the customer has been charged on finance charge memos. |
|  | Cr. Memo Amounts (LCY) | `CustCrMemoAmountsLCY[2]` | Specifies the sum of amounts that have been refunded to the customer. |
|  | Payments (LCY) | `CustPaymentsLCY[2]` | Specifies the sum of payments received from the customer in the current fiscal year. |
|  | Refunds (LCY) | `CustRefundsLCY[2]` | Specifies the sum of refunds paid to the customer. |
|  | Other Amounts (LCY) | `CustOtherAmountsLCY[2]` | Specifies the sum of other amounts for the customer. |
|  | Pmt. Discounts (LCY) | `CustPaymentDiscLCY[2]` | Specifies the sum of payment discounts granted to the customer. |
|  | Pmt. Disc. Tolerance (LCY) | `CustPaymentDiscTolLCY[2]` | Specifies the sum of payment discount tolerance for the customer. |
|  | Payment Tolerances (LCY) | `CustPaymentTolLCY[2]` | Specifies the sum of payment tolerance for the customer. |
|  | No. of Sales Docs. | `NumberOfSalesDocs[2]` | Specifies the number of sales documents for the customer. |
|  | No. of Distinct Items Sold | `NumberOfDistinctItemsSold[2]` | Specifies the number of distinct items sold to the customer. |
| Last Fiscal Year | Placeholder1 | `Text001` | — |
|  | Sales (LCY) | `CustSalesLCY[3]` | Specifies your total sales turnover in the fiscal year. |
|  | Original Costs (LCY) | `CustSalesLCY[3] - CustProfit[3]` | Specifies the original costs that were associated with the sales when they were originally posted. |
|  | Original Profit (LCY) | `CustProfit[3]` | Specifies the original profit that was associated with the sales when they were originally posted. |
|  | Original Profit % | `ProfitPct[3]` | Specifies the original percentage of profit that was associated with the sales when they were originally posted. |
|  | Adjusted Costs (LCY) | `CustSalesLCY[3] - CustProfit[3] - AdjmtCostLCY[3]` | Specifies the costs that have been adjusted for changes in the purchase prices of the goods. |
|  | Adjusted Profit (LCY) | `AdjCustProfit[3]` | Specifies the profit, taking into consideration changes in the purchase prices of the goods. |
|  | Adjusted Profit % | `AdjProfitPct[3]` | Specifies the percentage of profit for all sales, including changes that occurred in the purchase prices of the goods. |
|  | Adjustment Costs (LCY) | `-AdjmtCostLCY[3]` | Specifies the sum of adjustment amounts. |
|  | Inv. Discounts (LCY) | `CustInvDiscAmountLCY[3]` | Specifies the sum of invoice discount amounts granted the customer. |
|  | Inv. Amounts (LCY) | `InvAmountsLCY[3]` | Specifies the sum of amounts that have been invoiced to the customer. |
|  | Reminder Amounts (LCY) | `CustReminderChargeAmtLCY[3]` | Specifies the sum of amounts that the customer has been reminded to pay. |
|  | Fin. Charges (LCY) | `CustFinChargeAmtLCY[3]` | Specifies the sum of amounts that the customer has been charged on finance charge memos. |
|  | Cr. Memo Amounts (LCY) | `CustCrMemoAmountsLCY[3]` | Specifies the sum of amounts that have been refunded to the customer. |
|  | Payments (LCY) | `CustPaymentsLCY[3]` | Specifies the sum of payments received from the customer in the current fiscal year. |
|  | Refunds (LCY) | `CustRefundsLCY[3]` | Specifies the sum of refunds paid to the customer. |
|  | Other Amounts (LCY) | `CustOtherAmountsLCY[3]` | Specifies the sum of other amounts for the customer. |
|  | Pmt. Discounts (LCY) | `CustPaymentDiscLCY[3]` | Specifies the sum of payment discounts granted to the customer. |
|  | Pmt. Disc. Tolerance (LCY) | `CustPaymentDiscTolLCY[3]` | Specifies the sum of payment discount tolerance for the customer. |
|  | Payment Tolerances (LCY) | `CustPaymentTolLCY[3]` | Specifies the sum of payment tolerance for the customer. |
|  | No. of Sales Docs. | `NumberOfSalesDocs[3]` | Specifies the number of sales documents for the customer. |
|  | No. of Distinct Items Sold | `NumberOfDistinctItemsSold[3]` | Specifies the number of distinct items sold to the customer. |
| Lifetime (since) | CustSinceDate | [First Transaction Date](../table/18.md#fields) | Specifies the date of the first transaction with the customer. <small>from the table field</small> |
|  | Sales (LCY) | `CustSalesLCY[4]` | Specifies your total sales turnover in the fiscal year. |
|  | Original Costs (LCY) | `CustSalesLCY[4] - CustProfit[4]` | Specifies the original costs that were associated with the sales when they were originally posted. |
|  | Original Profit (LCY) | `CustProfit[4]` | Specifies the original profit that was associated with the sales when they were originally posted. |
|  | Original Profit % | `ProfitPct[4]` | Specifies the original percentage of profit that was associated with the sales when they were originally posted. |
|  | Adjusted Costs (LCY) | `CustSalesLCY[4] - CustProfit[4] - AdjmtCostLCY[4]` | Specifies the costs that have been adjusted for changes in the purchase prices of the goods. |
|  | Adjusted Profit (LCY) | `AdjCustProfit[4]` | Specifies the profit, taking into consideration changes in the purchase prices of the goods. |
|  | Adjusted Profit % | `AdjProfitPct[4]` | Specifies the percentage of profit for all sales, including changes that occurred in the purchase prices of the goods. |
|  | Adjustment Costs (LCY) | `-AdjmtCostLCY[4]` | Specifies the sum of adjustment amounts. |
|  | Inv. Discounts (LCY) | `CustInvDiscAmountLCY[4]` | Specifies the sum of invoice discount amounts granted the customer. |
|  | Inv. Amounts (LCY) | `InvAmountsLCY[4]` | Specifies the sum of amounts that have been invoiced to the customer. |
|  | Reminder Amounts (LCY) | `CustReminderChargeAmtLCY[4]` | Specifies the sum of amounts that the customer has been reminded to pay. |
|  | Fin. Charges (LCY) | `CustFinChargeAmtLCY[4]` | Specifies the sum of amounts that the customer has been charged on finance charge memos. |
|  | Cr. Memo Amounts (LCY) | `CustCrMemoAmountsLCY[4]` | Specifies the sum of amounts that have been refunded to the customer. |
|  | Payments (LCY) | `CustPaymentsLCY[4]` | Specifies the sum of payments received from the customer in the current fiscal year. |
|  | Refunds (LCY) | `CustRefundsLCY[4]` | Specifies the sum of refunds paid to the customer. |
|  | Other Amounts (LCY) | `CustOtherAmountsLCY[4]` | Specifies the sum of other amounts for the customer. |
|  | Pmt. Discounts (LCY) | `CustPaymentDiscLCY[4]` | Specifies the sum of payment discounts granted to the customer. |
|  | Pmt. Disc. Tolerance (LCY) | `CustPaymentDiscTolLCY[4]` | Specifies the sum of payment discount tolerance for the customer. |
|  | Payment Tolerances (LCY) | `CustPaymentTolLCY[4]` | Specifies the sum of payment tolerance for the customer. |
|  | No. of Sales Docs. | `NumberOfSalesDocs[4]` | Specifies the number of sales documents for the customer. |
|  | No. of Distinct Items Sold | `NumberOfDistinctItemsSold[4]` | Specifies the number of distinct items sold to the customer. |
| Control1904230801 | Placeholder2 <small>obsolete Pending 27.0; #if not CLEAN27</small> | `Text001` | — |

## Events published

- `OnAfterSetDateFilter(var Customer: Record Customer)` (integration): Raises an event after setting the date filter on the customer record for statistics calculation.

## Procedures

5 local procedures, no public ones.

## Triggers

OnAfterGetRecord

## Relations

- source table [Table 18 "Customer"](../table/18.md)

## Extended by

- [Page extension 6489 "Serv. Customer Statistics"](../pageextension/6489.md)

## 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.

- [Codeunit 358 "DateFilter-Calc"](../codeunit/358.md) (2 calls: `OnAfterGetRecord → CreateAccountingPeriodFilter`, `OnAfterGetRecord → CreateFiscalYearFilter`)
- [Codeunit 5836 "Cost Calculation Management"](../codeunit/5836.md) (2 calls: `OnAfterGetRecord → CalcCustActualCostLCY`, `OnAfterGetRecord → NonInvtblCostAmt`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC27

## Countries that replace it

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

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