---
id: object/report/1316
type: object
title: Report 1316 "Standard Statement"
summary: Report 1316 "Standard Statement" in Base Application (Microsoft.Sales.Customer). 3 public procedures, 7 events. Present since at least BC23, still in BC30, changed in BC25, BC29.
tier: official
language: en
tags:
  - report
  - base application
versions:
  introduced: null
  last_changed: "29"
  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: b5a89c3b81da33a4bc5d88a07fe93101d1395029e7cf6cff264479486a2aecf4
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Sales/Customer/StandardStatement.Report.al
    title: src/Layers/W1/BaseApp/Sales/Customer/StandardStatement.Report.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/receivables-reports
    title: Accounts receivable analytics
    date: null
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/reports/report-1316
    title: Customer Statement (report)
    date: null
    commit: null
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/receivables-reports
    - https://learn.microsoft.com/dynamics365/business-central/reports/report-1316
  objects: []
  features: []
  topics:
    - topic/business-central/analytics-business-intelligence-and-repo/built-in-reports/finance
    - topic/business-central/business-functionality/finance/financial-analytics/built-in-finance-reports
    - topic/business-central/business-functionality/finance/manage-receivables
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/9089
object_type: report
object_id: 1316
name: Standard Statement
caption: Customer Statement
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:
  - "25"
  - "29"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids:
  - docs/learn-smb-docs/business-central/receivables-reports.md
  - docs/learn-smb-docs/business-central/reports/report-1316.md
counts:
  fields: 0
  procedures: 21
  events: 7
  subscribers: 0
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 2
  called_by: 0
  implements: 0
---

# Report 1316 "Standard Statement"

> Report 1316 "Standard Statement" in Base Application (Microsoft.Sales.Customer). 3 public procedures, 7 events. Present since at least BC23, still in BC30, changed in BC25, BC29.

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

## Properties

| Property | Value |
|---|---|
| Caption | Customer Statement |

## Events published

- `OnDtldCustLedgEntriesOnPreDataItemOnAfterSetFilters(var DetailedCustLedgEntry: Record "Detailed Cust. Ledg. Entry")` (integration): Raises an event after setting filters on the detailed customer ledger entries data item.
- `OnDtldCustLedgEntriesOnAfterGetRecordnAfterGetCustLedgerEntry(var DetailedCustLedgEntry: Record "Detailed Cust. Ledg. Entry"; CustLedgerEntry: Record "Cust. Ledger Entry"; var Skip: Boolean)` (integration): Raises an event after getting the customer ledger entry for a detailed entry during statement generation.
- `OnCurrencyLoopOnAfterGetRecordOnAfterCustLedgerEntryCheckIsEmpty(Customer: Record Customer; var CustLedgerEntry: Record "Cust. Ledger Entry"; var PrintLine: Boolean)` (integration): Raises an event after checking if customer ledger entries exist for printing.
- `OnCustLedgEntry2OnPreDataItemOnAfterSetFilters(var CustLedgEntry: Record "Cust. Ledger Entry")` (integration): Raises an event after setting filters on the overdue customer ledger entries data item.
- `OnInitReportForGlobalVariable(var IsHandled: Boolean; var LegalOfficeTxt: Text; var LegalOfficeLbl: Text)` (integration): Raises an event during report initialization to allow setting global variables for legal office information.
- `OnCurrencyLoopOnAfterGetRecordOnAfterCalculateStartBalanceStatementTypeOpenItems(Customer: Record Customer; var CustLedgerEntryBalance: Record "Cust. Ledger Entry"; StartDate: Date; EndDate: Date; CurrencyCode: Code[10]; var StartBalance: Decimal)` (integration): Raises an event after calculating the start balance for open item statement style.
- `OnCurrencyLoopOnAfterGetRecordOnAfterCalculateStartBalanceStatementTypeBalance(Customer: Record Customer; StartDate: Date; EndDate: Date; CurrencyCode: Code[10]; var StartBalance: Decimal)` (integration): Raises an event after calculating the start balance for balance statement style.

## Procedures

- `SkipReversedUnapplied(var DetailedCustLedgEntry: Record "Detailed Cust. Ledg. Entry"): Boolean`: Determines whether to skip a detailed customer ledger entry based on reversed and unapplied settings.
- `InitializeRequest(NewPrintEntriesDue: Boolean; NewPrintAllHavingEntry: Boolean; NewPrintAllHavingBal: Boolean; NewPrintReversedEntries: Boolean; NewPrintUnappliedEntries: Boolean; NewIncludeAgingBand: Boolean; NewPeriodLength: Text[30]; NewDateChoice: Option "Due Date","Posting Date"; NewLogInteraction: Boolean; NewStartDate: Date; NewEndDate: Date)`: Initializes the report request with the specified parameters.
- `InitRequestPageDataInternal()`: Initializes the request page data with default values if not already initialized.

Plus 11 local procedures.

## Triggers

OnInitReport, OnPostReport, OnPreReport

## 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 5051 "SegManagement"](../codeunit/5051.md) (2 calls: `InitInteractionLog → FindInteractionTemplateCode`, `OnPostReport → LogDocument`)
- [Codeunit 9520 "Mail Management"](../codeunit/9520.md) (1 call: `IsReportInPreviewMode → IsHandlingGetEmailBody`)

## Recent changes

- 2026-07-20 [#9089 Merge-ES-Excluded-from-Calculation-to-W1](../../changes/bcapps/9089.md) (main, BC30, feature)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC25, BC29

## Documented on Microsoft Learn

- [Accounts receivable analytics](https://learn.microsoft.com/dynamics365/business-central/receivables-reports)
- [Customer Statement (report)](https://learn.microsoft.com/dynamics365/business-central/reports/report-1316)

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: "report", object_name: "Standard Statement")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
