---
id: object/table/31004-cz
type: object
title: Table 31004 "Sales Adv. Letter Header CZZ" (CZ)
summary: Table 31004 "Sales Adv. Letter Header CZZ" (CZ) in the CZ country layer (Microsoft.Finance.AdvancePayments). 66 fields, 28 public procedures, 51 events. Introduced in BC29, still in BC30.
tier: official
language: en
tags:
  - table
  - cz layer
versions:
  introduced: "29"
  last_changed: null
  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: 5df247f316a7f1f13afe9eb2bb71de6ef093282fd15ae22c94123ddfbcedc218
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterHeaderCZZ.Table.al
    title: src/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterHeaderCZZ.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations:
    - localization/cz
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/9719
object_type: table
object_id: 31004
name: Sales Adv. Letter Header CZZ
caption: Sales Advance Letter Header
namespace: Microsoft.Finance.AdvancePayments
app: AdvancePaymentsLocalization
extends: null
first_version: "29"
last_version: "30"
present_in:
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
country: CZ
counts:
  fields: 66
  procedures: 107
  events: 51
  subscribers: 0
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
---

# Table 31004 "Sales Adv. Letter Header CZZ" (CZ)

> Table 31004 "Sales Adv. Letter Header CZZ" (CZ) in the CZ country layer (Microsoft.Finance.AdvancePayments). 66 fields, 28 public procedures, 51 events. Introduced in BC29, still in BC30.

CZ country layer · Microsoft.Finance.AdvancePayments · captioned "Sales Advance Letter Header" · BC29-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/CZ/AdvancePaymentsLocalization/app/Src/Tables/SalesAdvLetterHeaderCZZ.Table.al) · facts from BC29

An object of the [CZ localization](../../localizations/cz.md), not part of W1.

## Properties

| Property | Value |
|---|---|
| Caption | Sales Advance Letter Header |
| DataClassification | CustomerContent |
| LookupPageId | Sales Advance Letters CZZ |

## 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. | Code[20] | — |  |
| 5 | Advance Letter Code | Code[20] | — | TableRelation "Advance Letter Template CZZ" where("Sales/Purchase" = const(Sales)); not editable; NotBlank |
| 10 | Bill-to Customer No. | Code[20] | — | TableRelation Customer; NotBlank |
| 11 | Bill-to Name | Text[100] | — | TableRelation Customer.Name |
| 12 | Bill-to Name 2 | Text[50] | — |  |
| 13 | Bill-to Address | Text[100] | — |  |
| 14 | Bill-to Address 2 | Text[50] | — |  |
| 15 | Bill-to City | Text[30] | — | TableRelation if ("Bill-to Country/Region Code" = const('')) "Post Code".City else if ("Bill-to Country/Region Code" = filter(<> '')) "Post Code".City where("Country/Region Code" = field("Bill-to Country/Region Code")) |
| 16 | Bill-to Post Code | Code[20] | — | TableRelation Post Code |
| 17 | Bill-to County | Text[30] | — |  |
| 18 | Bill-to Country/Region Code | Code[10] | — | TableRelation Country/Region |
| 19 | Language Code | Code[10] | — | TableRelation Language |
| 20 | Bill-to Contact | Text[100] | — |  |
| 21 | Bill-to Contact No. | Code[20] | — | TableRelation Contact |
| 22 | Your Reference | Text[35] | Specifies the customer's reference. The contents will be printed on the Sales Advance Invoice report. |  |
| 23 | Salesperson Code | Code[20] | — | TableRelation Salesperson/Purchaser |
| 25 | Shortcut Dimension 1 Code | Code[20] | — | TableRelation "Dimension Value".Code where("Global Dimension No." = const(1), Blocked = const(false)) |
| 26 | Shortcut Dimension 2 Code | Code[20] | — | TableRelation "Dimension Value".Code where("Global Dimension No." = const(2), Blocked = const(false)) |
| 30 | VAT Bus. Posting Group | Code[20] | — | TableRelation VAT Business Posting Group |
| 33 | Posting Date | Date | — |  |
| 34 | Advance Due Date | Date | — |  |
| 35 | Document Date | Date | — |  |
| 36 | VAT Date | Date | — |  |
| 38 | Posting Description | Text[100] | — |  |
| 39 | Payment Method Code | Code[10] | — | TableRelation Payment Method |
| 40 | Payment Terms Code | Code[10] | — | TableRelation Payment Terms |
| 43 | Registration No. | Text[20] | — |  |
| 44 | Tax Registration No. | Text[20] | — |  |
| 45 | VAT Registration No. | Text[20] | — |  |
| 48 | No. Printed | Integer | — | not editable |
| 50 | Order No. | Code[20] | — | TableRelation "Sales Header"."No." where("Document Type" = const(Order)) |
| 51 | Job No. | Code[20] | Specifies the project number for the sales advance document. | TableRelation Job."No."; not editable |
| 52 | Job Task No. | Code[20] | Specifies the project task number of the sales advance document. | TableRelation "Job Task"."Job Task No." where("Job No." = field("Job No.")); not editable |
| 53 | No. Series | Code[20] | — | TableRelation No. Series; not editable |
| 55 | Bank Account Code | Code[20] | — | TableRelation Bank Account |
| 56 | Bank Account No. | Text[30] | — | not editable |
| 57 | Bank Branch No. | Text[20] | — | not editable |
| 58 | Specific Symbol | Code[10] | — |  |
| 59 | Variable Symbol | Code[10] | — |  |
| 60 | Constant Symbol | Code[10] | — | TableRelation Constant Symbol CZL |
| 61 | IBAN | Code[50] | — | not editable |
| 62 | SWIFT Code | Code[20] | — | not editable |
| 63 | Bank Name | Text[100] | — | not editable |
| 64 | Transit No. | Text[20] | — | not editable |
| 68 | Responsibility Center | Code[10] | — | TableRelation Responsibility Center |
| 70 | Currency Code | Code[10] | — | TableRelation Currency |
| 71 | Currency Factor | Decimal | — | not editable |
| 75 | VAT Country/Region Code | Code[10] | — | TableRelation Country/Region |
| 80 | Status | Enum "Advance Letter Doc. Status CZZ" | — | enum Advance Letter Doc. Status CZZ; not editable |
| 85 | Automatic Post VAT Document | Boolean | — |  |
| 96 | Format Region | Text[80] | — | TableRelation "Language Selection"."Language Tag" |
| 100 | Alt. VAT Registration No. | Boolean | Alternative VAT Registration No. <small>caption</small> | not editable |
| 101 | Alt. VAT Bus Posting Group | Boolean | Alternative VAT Bus. Posting Group <small>caption</small> | not editable |
| 110 | Date Filter | Date | — | FlowFilter |
| 111 | VAT Date Filter | Date | — | FlowFilter |
| 120 | External Document No. | Code[35] | Specifies a document number that refers to the customer's numbering system. |  |
| 200 | Amount Including VAT | Decimal | — | FlowField: sum("Sales Adv. Letter Line CZZ"."Amount Including VAT" where("Document No." = field("No."))); not editable |
| 201 | Amount Including VAT (LCY) | Decimal | — | FlowField: sum("Sales Adv. Letter Line CZZ"."Amount Including VAT (LCY)" where("Document No." = field("No."))); not editable |
| 205 | To Pay | Decimal | To Pay Amount <small>caption</small> | FlowField: sum("Sales Adv. Letter Entry CZZ".Amount where("Sales Adv. Letter No." = field("No."), "Entry Type" = filter("Initial Entry" \| Payment \| Close), "VAT Date" = field("VAT Date Filter"), "Posting Date" = field("Date Filter"))); not editable |
| 206 | To Pay (LCY) | Decimal | To Pay Amount (LCY) <small>caption</small> | FlowField: sum("Sales Adv. Letter Entry CZZ"."Amount (LCY)" where("Sales Adv. Letter No." = field("No."), "Entry Type" = filter("Initial Entry" \| Payment \| Close), "VAT Date" = field("VAT Date Filter"), "Posting Date" = field("Date Filter"))); not editable |
| 210 | To Use | Decimal | To Use Amount <small>caption</small> | FlowField: - sum("Sales Adv. Letter Entry CZZ".Amount where("Sales Adv. Letter No." = field("No."), "Entry Type" = filter(Payment \| Usage \| Close), "VAT Date" = field("VAT Date Filter"), "Posting Date" = field("Date Filter"))); not editable |
| 211 | To Use (LCY) | Decimal | To Use Amount (LCY) <small>caption</small> | FlowField: - sum("Sales Adv. Letter Entry CZZ"."Amount (LCY)" where("Sales Adv. Letter No." = field("No."), "Entry Type" = filter(Payment \| Usage \| Close \| "VAT Adjustment"), "VAT Date" = field("VAT Date Filter"), "Posting Date" = field("Date Filter"))); not editable |
| 215 | VAT Amount | Decimal | — | FlowField: sum("Sales Adv. Letter Entry CZZ"."VAT Amount" where("Sales Adv. Letter No." = field("No."), "Entry Type" = filter("VAT Payment" \| "VAT Usage" \| "VAT Close"), "VAT Date" = field("VAT Date Filter"), "Posting Date" = field("Date Filter"))); not editable |
| 216 | VAT Amount (LCY) | Decimal | — | FlowField: sum("Sales Adv. Letter Entry CZZ"."VAT Amount (LCY)" where("Sales Adv. Letter No." = field("No."), "Entry Type" = filter("VAT Payment" \| "VAT Usage" \| "VAT Close" \| "VAT Adjustment" \| "VAT Rate"), "VAT Date" = field("VAT Date Filter"), "Posting Date" = field("Date Filter"))); not editable |
| 480 | Dimension Set ID | Integer | — | TableRelation Dimension Set Entry; not editable |
| 500 | Incoming Document Entry No. | Integer | — | TableRelation Incoming Document |

## Keys

- PK: No. (clustered)
- SK1: Bill-to Customer No., Status
- SK2: Order No.
- SK3: Job No.

## Events published

- `OnBeforeValidateBillToPostCode(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var PostCodeRec: Record "Post Code")` (integration)
- `OnBeforeLookupBillToPostCode(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var PostCodeRec: Record "Post Code")` (integration)
- `OnBeforeConfirmBillToContactNoChange(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var xSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; CurrentFieldNo: Integer; var Confirmed: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckContactRelatedToCustomerCompany(SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; CurrFieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeUpdateBillToCust(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; ContactNo: Code[20]; var IsHandled: Boolean)` (integration)
- `OnUpdateBillToCustOnBeforeFindContactBusinessRelation(Contact: Record Contact; var ContactBusinessRelation: Record "Contact Business Relation"; var ContactBusinessRelationFound: Boolean; var IsHandled: Boolean)` (integration)
- `OnUpdateBillToCustOnBeforeContactIsNotRelatedToAnyCostomerErr(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; Contact: Record Contact; var ContactBusinessRelation: Record "Contact Business Relation"; var IsHandled: Boolean)` (integration)
- `OnAfterUpdateBillToCust(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; Contact: Record Contact)` (integration)
- `OnAfterInitRecord(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ")` (integration)
- `OnValidateBillToCustomerNoOnAfterConfirmed(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ")` (integration)
- `OnAfterSetFieldsBilltoCustomer(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; Customer: Record Customer)` (integration)
- `OnBeforeUpdateCurrencyFactor(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var Updated: Boolean)` (integration)
- `OnAfterUpdateCurrencyFactor(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; HideValidationDialog: Boolean)` (integration)
- `OnBeforeConfirmUpdateCurrencyFactor(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var HideValidationDialog: Boolean)` (integration)
- `OnAfterUpdateBillToCont(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; Customer: Record Customer; Contact: Record Contact)` (integration)
- `OnBeforeValidateBillToCustomerName(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var Customer: Record Customer)` (integration)
- `OnValidatePaymentTermsCodeOnBeforeCalcDueDate(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var xSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; CalledByFieldNo: Integer; CallingFieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnValidatePaymentTermsCodeOnBeforeValidateDueDateWhenBlank(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; xSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; CurrentFieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateVATRegistrationNo(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var IsHandled: Boolean)` (integration)
- `OnBeforeShowDocDim(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; xSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateShortcutDimCode(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; xSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; FieldNumber: Integer; var ShortcutDimCode: Code[20])` (integration)
- `OnAfterValidateShortcutDimCode(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; xSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; FieldNumber: Integer; var ShortcutDimCode: Code[20])` (integration)
- `OnInitFromContactOnBeforeInitRecord(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var xSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ")` (integration)
- `OnInitFromContactOnAfterInitNoSeries(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var xSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ")` (integration)
- `OnBeforeRecreateLinesHandler(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; xSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; ChangedFieldName: Text; var IsHandled: Boolean)` (integration)
- `OnBeforeCreateDim(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var IsHandled: Boolean)` (integration)
- `OnAfterCreateDim(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; xSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; CurrentFieldNo: Integer; OldDimSetID: Integer)` (integration)
- `OnBeforeTestStatusOpen(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ")` (integration)
- `OnAfterTestStatusOpen(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ")` (integration)
- `OnBeforeInitInsert(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; xSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var IsHandled: Boolean)` (integration)
- `OnInitInsertOnBeforeInitRecord(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; xSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ")` (integration)
- `OnAfterUpdateBankInfo(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ")` (integration)
- `OnCheckSalesAdvanceLetterReleaseRestrictions()` (integration)
- `OnCheckSalesAdvanceLetterPostRestrictions()` (integration)
- `OnBeforeDeleteRecordInApprovalRequest(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var IsHandled: Boolean)` (integration)
- `OnBeforePrintRecords(var ReportSelections: Record "Report Selections"; var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; ShowRequestPage: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeEmailRecords(var ReportSelections: Record "Report Selections"; var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; DocTxt: Text; ShowDialog: Boolean; var IsHandled: Boolean)` (integration)
- `OnAfterInitDefaultDimensionSources(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])` (integration)
- `OnBeforeUpdateLinesByFieldNo(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; ChangedFieldNo: Integer; xSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var IsHandled: Boolean)` (integration)
- `OnBeforeLineByChangedFieldNo(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; ChangedFieldNo: Integer; xSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var IsHandled: Boolean)` (integration)
- `OnUpdateLineByChangedFieldName(SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; ChangedFieldName: Text[100]; ChangedFieldNo: Integer)` (integration)
- `OnUpdateLinesByFieldNoOnBeforeLineModify(var SalesAdvLetterLineCZZ: Record "Sales Adv. Letter Line CZZ"; ChangedFieldNo: Integer; CurrentFieldNo: Integer)` (integration)
- `OnAfterUpdateLinesByFieldNo(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; xSalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; ChangedFieldNo: Integer)` (integration)
- `OnBeforeDoPrintToDocumentAttachment(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var IsHandled: Boolean)` (integration)
- `OnBeforeSetSecurityFilterOnRespCenter(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateDocumentDateWithPostingDate(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; CurrFieldNo: Integer; var IsHandled: Boolean; xSalesAdvLetterHeader: Record "Sales Adv. Letter Header CZZ")` (integration)
- `OnBeforeExitSalesAdvInvoicePaymentQRCodeString(SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var QRCode: Text)` (integration)
- `OnBeforeConfirmProcess(ConfirmQuestion: Text; var IsHandled: Boolean)` (integration)
- `OnIsConfirmDialogAllowed(var IsAllowed: Boolean)` (integration)
- `OnBeforeCopyDocument(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; var IsHandled: Boolean)` (integration)
- `OnBeforeUpdateVATRegNoInCust(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ"; Customer: Record Customer; var ShouldUpdate: Boolean; var IsHandled: Boolean)` (integration)

## Procedures

- `AssistEdit(): Boolean`
- `InitInsert()`
- `SetHideValidationDialog(NewHideValidationDialog: Boolean)`
- `GetHideValidationDialog(): Boolean`
- `UpdateBillToCont(CustomerNo: Code[20])`
- `ShouldSearchForCustomerByName(CustomerNo: Code[20]): Boolean`
- `ShowDocDim()`
- `ValidateShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20])`
- `LinesExist(): Boolean`
- `RecreateLines(ChangedFieldName: Text)`
- `UpdateLinesByFieldNo(ChangedFieldNo: Integer)`
- `CreateDimFromDefaultDim(FieldNo: Integer)`
- `CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])`
- `SetSecurityFilterOnRespCenter()`
- `TestStatusOpen()`
- `GetVATAmounts(var VATBaseAmount: Decimal; var VATAmount: Decimal; var VATBaseAmountLCY: Decimal; var VATAmountLCY: Decimal)`
- `PrintRecords(ShowRequestPage: Boolean)`
- `PrintToDocumentAttachment()`
- `EmailRecords(ShowDialog: Boolean)`
- `CheckSalesAdvanceLetterReleaseRestrictions()`
- `CheckSalesAdvanceLetterPostRestrictions()`
- `PerformManualRelease(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ")` (internal)
- `PerformManualReopen(var SalesAdvLetterHeaderCZZ: Record "Sales Adv. Letter Header CZZ")` (internal)
- `CreateSalesAdvInvoicePaymentQRCodeString(): Text`
- `CheckPaymentQRCodePrintIBAN()`
- `UpdateStatus(AdvanceLetterDocStatus: Enum "Advance Letter Doc. Status CZZ")`
- `CopyDocument()`
- `UpdateVATRegNoInCust(Customer: Record Customer): Boolean`

Plus 28 local procedures.

## Triggers

OnInsert, OnDelete

## Recent changes

- 2026-07-28 [#9719 [main] bug 643971 - Implement checks for blocked customers and vendors in advance letters](../../changes/bcapps/9719.md) (main, BC30, fix)

## Across versions

- Present in: BC29-30
- Changed (declaration) in: none

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). 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: "Sales Adv. Letter Header CZZ")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.

A CZ country object, not part of W1: the default corpus does not have it; `bcatlas_list_countries` shows which countries the atlas has.
