Report 12 "VAT Statement"
Base Application · Microsoft.Finance.VAT.Reporting
Across versions
- BC23present
- BC242 procedures added, 2 events added
- BC251 procedures added, 1 procedures removed
- BC261 events added
- BC27-28unchanged
- BC29declaration changed
- BC30unchanged
Neighbourhood 5 connected objects and pages
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.- subscribers: Codeunit 4885 “EU3 VAT Stat. Subscribers” OnCalcLineTotalOnVATEntryTotalingOnAfterVATEntrySetFilters
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
Documented on Microsoft Learn
- Value Added Tax management overview
- Built-in finance reports in Business Central
- Built-in VAT reports in Business Central
- VAT Statement (report)
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.