Codeunit 799 "VAT Reporting Date Mgt"
Base Application · Microsoft.Finance.VAT.Calculation
Across versions
- BC23present
- BC241 procedures changed
- BC253 procedures removed, 2 events added
- BC261 events removed
- BC271 procedures changed
- BC284 procedures added
- BC29-30unchanged
Neighbourhood 41 connected objects and pages
Base Application · Microsoft.Finance.VAT.Calculation · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| SingleInstance | true |
| Permissions | TableData “Issued Reminder Header” = rm, TableData “Issued Fin. Charge Memo Header” = rm, TableData “Purch. Inv. Header” = rm, TableData “Purch. Cr. Memo Hdr.” = rm, tabledata “Sales Invoice Header” = rm, tabledata “Sales Cr.Memo Header” = rm, TableData “G/L Entry” = rm, TableData “VAT Entry” = rm, … |
Events published
OnBeforeIsVATDateModifiable(var IsModifiable: Boolean; var IsHandled: Boolean)(integration): Integration event raised before determining if VAT reporting dates are modifiable. Enables custom logic to control VAT date modification permissions.OnBeforeIsVATDateEnabledForUse(var IsEnabled: Boolean; var IsHandled: Boolean)(integration): Integration event raised before determining if VAT reporting date feature is enabled. Enables custom logic to control VAT date feature availability.OnBeforeUpdateLinkedEntries(VATEntry: Record "VAT Entry"; var IsHandled: Boolean)(integration): Integration event raised before updating linked entries for VAT date changes. Enables custom processing or replacement of standard linked entry updates.OnAfterUpdateLinkedEntries(VATEntry: Record "VAT Entry")(integration): Integration event raised after updating linked entries for VAT date changes. Enables custom post-processing after standard linked entry updates are completed.OnUpdatePostedDocumentsOnAfterUpdateSalesInvoice(VATEntry: Record "VAT Entry"; var Updated: Boolean)+ BC25 (integration): Integration event raised after updating sales invoice header during linked entry processing. Enables custom actions after VAT date updates in posted sales invoices.- subscribers: Codeunit 6470 “Serv. VAT Reporting Mgt.” OnUpdatePostedDocumentsOnAfterUpdateSalesInvoice
OnUpdatePostedDocumentsOnAfterUpdateSalesCreditMemo(VATEntry: Record "VAT Entry"; var Updated: Boolean)+ BC25 (integration): Integration event raised after updating sales credit memo header during linked entry processing. Enables custom actions after VAT date updates in posted sales credit memos.- subscribers: Codeunit 6470 “Serv. VAT Reporting Mgt.” OnUpdatePostedDocumentsOnAfterUpdateSalesCreditMemo
Event subscriptions
- ResetVATReturnPeriodWarningOnBeforeGenJnlPostLineCode subscribes to Codeunit “Gen. Jnl.-Post Line” OnBeforeCode
- ResetVATReturnPeriodWarningOnAfterFinishPosting subscribes to Codeunit “Gen. Jnl.-Post Line” OnAfterFinishPosting
- OnAfterModifyEventCheckVATReportingDate subscribes to Table “General Ledger Setup” OnAfterModifyEvent
Procedures
UpdateLinkedEntries(VATEntry: Record "VAT Entry"): Updates linked entries when VAT entry VAT reporting date is modified. Synchronizes VAT date changes across related general ledger and document entries.IsVATDateModifiable(): Boolean: Determines whether VAT reporting dates can be modified based on system configuration and permissions.IsVATDateUsageSetToPostingDate(): Boolean: Checks whether VAT reporting date usage is configured to use posting date as default.IsVATDateUsageSetToDocumentDate(): Boolean: Checks whether VAT reporting date usage is configured to use document date as default.IsVATDateEnabled(): Boolean: Determines whether VAT reporting date functionality is enabled in the system.IsValidDate(Variant: Variant; VATDateFieldNo: Integer): BooleanΔ BC27 (internal)IsValidDate(Variant: Variant; VATDateFieldNo: Integer; ThrowError: Boolean): BooleanΔ BC27: Validates VAT reporting date against configured VAT periods and date restrictions.IsValidVATDate(VATEntry: Record "VAT Entry"): Boolean: Validates VAT reporting date in the specified VAT entry against period restrictions.IsValidDate(VATDate: Date): BooleanΔ BC27: Validates specified VAT date against configured VAT period restrictions and date ranges.CheckDateAllowed(VATDate: Date; ContextFieldNo: Integer)Δ BC24: Validates and enforces VAT date restrictions, throwing errors for invalid dates.CheckDateAllowed(VATDate: Date; ContextFieldNo: Integer; ExistingEntry: Boolean)Δ BC24 (internal)CheckDateAllowed(VATDate: Date; ContextFieldNo: Integer; ExistingEntry: Boolean; CheckInAllowPeriod: Boolean)Δ BC24 (internal)CheckVATDateValidInVATReturnPeriod(VATDate: Date; ContextFieldNo: Integer; ExistingEntry: Boolean)(internal)ResetVATReturnPeriodWarning()+ BC28
Plus 11 local procedures.
Triggers
OnRun
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 1431 “Forward Link Mgt.” (1 call:
CheckVATDateValidInVATReturnPeriod → GetHelpCodeForAllowedVATDate) - Codeunit 27 “Confirm Management” (1 call:
GetVATReturnPeriodWarningResponse → GetResponseOrDefault) - Codeunit 28 “Error Message Management” (1 call:
CheckVATDateValidInVATReturnPeriod → LogContextFieldError) - Codeunit 8703 “Feature Telemetry” (1 call:
UpdateLinkedEntries → LogUsage)
Called by
- Page 315 “VAT Entries” (2 calls:
OnOpenPage → IsVATDateEnabled,OnOpenPage → IsVATDateModifiable) - Codeunit 11 “Gen. Jnl.-Check Line” (1 call:
CheckVATDate → IsValidDate) - Codeunit 5700 “User Setup Management” (1 call:
IsVATDateInAllowedPeriod → IsVATDateEnabled) - Page 119 “User Setup” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 132 “Posted Sales Invoice” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 134 “Posted Sales Credit Memo” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 138 “Posted Purchase Invoice” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 140 “Posted Purchase Credit Memo” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 187 “VAT Setup” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 20 “General Ledger Entries” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 253 “Sales Journal” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 254 “Purchase Journal” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 283 “Recurring General Journal” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 39 “General Journal” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 42 “Sales Order” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 43 “Sales Invoice” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 434 “Reminder” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 438 “Issued Reminder” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 44 “Sales Credit Memo” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 446 “Finance Charge Memo” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 450 “Issued Finance Charge Memo” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 50 “Purchase Order” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 51 “Purchase Invoice” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 5159 “Sales Order Archive” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 5167 “Purchase Order Archive” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 52 “Purchase Credit Memo” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 5900 “Service Order” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 5933 “Service Invoice” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 5935 “Service Credit Memo” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 5972 “Posted Service Credit Memo” (1 call:
ActivateFields → IsVATDateEnabled) - Page 5978 “Posted Service Invoice” (1 call:
ActivateFields → IsVATDateEnabled) - Page 6271 “Service Order Archive” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 6630 “Sales Return Order” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 6640 “Purchase Return Order” (1 call:
OnOpenPage → IsVATDateEnabled) - Page 6761 “Issue Reminders Setup” (1 call:
OnOpenPage → IsVATDateEnabled) - Report 20 “Calc. and Post VAT Settlement” (1 call:
OnInitReport → IsVATDateEnabled)
Recent changes
- 2026-07-17 #9485 [main]-Multiple error messages when posting to period with VAT Return already in status Released (main, BC30, fix)
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: "codeunit", object_name: "VAT Reporting Date Mgt"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.