reportFinanceofficial - Microsoftderived - from the source, no model text

Report 12 "VAT Statement"

Base Application · Microsoft.Finance.VAT.Reporting

Across versions

  1. BC23present
  2. BC242 procedures added, 2 events added
  3. BC251 procedures added, 1 procedures removed
  4. BC261 events added
  5. BC27-28unchanged
  6. BC29declaration changed
  7. BC30unchanged

Neighbourhood 5 connected objects and pages

Codeunit 4885 "EU3 VAT Stat. Subscribers" (event subscribers)EU3 VAT Stat. SubscribersBuilt-in finance reports in Business Central (Learn pages)Built-in finance reports in …Built-in VAT reports in Business Central (Learn pages)Built-in VAT reports in Busi…Value Added Tax management overview (Learn pages)Value Added Tax management o…VAT Statement (report) (Learn pages)VAT Statement (report)

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.Finance.VAT.Reporting · BC23-30 · source at ea08af5e · facts from BC29

Properties

Property Value
Caption VAT Statement
UsageCategory ReportsAndAnalysis
ApplicationArea Basic, Suite

Events published

  • OnCalcLineTotalOnBeforeCalcTotalAmountVATEntryTotaling(VATStmtLine: Record "VAT Statement Line"; var VATEntry: Record "VAT Entry"; var Amount: Decimal; UseAmtsInAddCurr: Boolean) (integration): Integration event raised before calculating total amounts for VAT entry totaling lines. Enables custom calculation logic and amount modifications before standard VAT entry processing.
  • OnCalcLineTotalOnBeforeCalcTotalAmountAccountTotaling(VATStmtLine: Record "VAT Statement Line"; var VATEntry: Record "VAT Entry"; var Amount: Decimal; UseAmtsInAddCurr: Boolean) (integration): Integration event raised before calculating total amounts for G/L account totaling lines. Enables custom calculation logic and amount modifications before standard G/L account processing.
  • OnCalcLineTotalOnVATEntryTotalingOnAfterVATEntrySetFilters(VATStmtLine: Record "VAT Statement Line"; var VATEntry: Record "VAT Entry"; Selection: Enum "VAT Statement Report Selection") (integration): Integration event raised after setting filters on VAT entries for VAT entry totaling calculations. Enables additional filter modifications or custom VAT entry selection logic.
  • OnCalcLineTotalWithBaseOnCaseElse(var VATStmtLine2: Record "VAT Statement Line"; var Amount: Decimal; var TotalAmount: Decimal; Level: Integer; PeriodSelection: Enum "VAT Statement Report Period Selection"; StartDate: Date; EndDate: Date; EndDateReq: Date; PrintInIntegers: Boolean; UseAmtsInAddCurr: Boolean; var TotalBase: Decimal) + BC24 − BC24 (integration): Integration event raised for custom VAT statement line types not handled by standard calculation logic. Enables implementation of custom totaling and calculation methods for extended line types.
  • OnCalcLineTotalWithBaseOnAfterGLAccSetFilters(var GLAccount: Record "G/L Account"; VATStatementLine2: Record "VAT Statement Line") (integration): Integration event raised after setting filters on G/L accounts for account totaling calculations. Enables additional filter modifications or custom G/L account selection logic.
  • OnAfterGetAmtRoundingDirection(var Direction: Text[1]) + BC24 (integration): Integration event raised after determining amount rounding direction for VAT statement calculations. Enables custom rounding direction logic based on specific business requirements.
  • OnBeforeCalcLineTotalWithBase(VATStmtLine2: Record "VAT Statement Line"; var TotalAmount: Decimal; var TotalBase: Decimal; Level: Integer; var RowNo: array[6] of Code[10]; var ErrorText: Text[80]; var Result: Boolean; var IsHandled: Boolean) + BC26 (integration): Integration event raised before calculating VAT statement line totals with base amounts. Enables complete override of line total calculation logic with custom implementations.

Procedures

  • CalcLineTotal(VATStmtLine2: Record "VAT Statement Line"; var TotalAmount: Decimal; Level: Integer): Boolean: Calculates the total amount for a VAT statement line based on configured calculation rules. Processes VAT entries and G/L accounts according to line type and formula settings.
  • CalcLineTotalWithBase(VATStmtLine2: Record "VAT Statement Line"; var TotalAmount: Decimal; var TotalBase: Decimal; Level: Integer): Boolean: Calculates both total amount and total base for a VAT statement line with detailed VAT calculations. Processes VAT entries and G/L accounts to determine both VAT amount and base amount components.
  • InitializeRequest(var NewVATStmtName: Record "VAT Statement Name"; var NewVATStatementLine: Record "VAT Statement Line"; NewSelection: Enum "VAT Statement Report Selection"; NewPeriodSelection: Enum "VAT Statement Report Period Selection"; NewPrintInIntegers: Boolean; NewUseAmtsInAddCurr: Boolean) + BC25 − BC25: Initializes VAT statement report parameters with standard configuration options. Sets up report context including VAT statement template, selection criteria, and formatting preferences.
  • InitializeRequest(var NewVATStmtName: Record "VAT Statement Name"; var NewVATStatementLine: Record "VAT Statement Line"; NewSelection: Enum "VAT Statement Report Selection"; NewPeriodSelection: Enum "VAT Statement Report Period Selection"; NewPrintInIntegers: Boolean; NewUseAmtsInAddCurr: Boolean; NewCountryRegionFilter: Text) + BC25 − BC25: Initializes VAT statement report parameters with country/region filtering capability. Extended version including geographic filtering for multi-country VAT reporting scenarios.
  • GetCurrency(): Code[10] (protected)
  • GetAmtRoundingDirection(): Text[1] + BC24 (protected)
  • RoundAmount(Amt: Decimal): Decimal + BC24 (protected)

Plus 4 local procedures.

Triggers

OnPreReport

Countries that replace it

AT, BE, DE, ES, IT, NL, NO

Documented on Microsoft Learn

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

Evidence 5 sources