Table 325 "VAT Posting Setup"
Base Application · Microsoft.Finance.VAT.Setup
Across versions
- BC23present
- BC241 procedures added, 1 procedures removed
- BC25-27unchanged
- BC282 fields changed
- BC2922 fields changed
- BC30unchanged
Neighbourhood 17 connected objects and pages
Base Application · Microsoft.Finance.VAT.Setup · BC23-30 · source at ea08af5e · facts from BC29
Learn documents this table through its pages: Page 472 “VAT Posting Setup” (7 Learn pages), Page 473 “VAT Posting Setup Card” (4).
Properties
| Property | Value |
|---|---|
| Caption | VAT Posting Setup |
| DataClassification | CustomerContent |
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 | VAT Bus. Posting Group Δ BC29 | Code[20] | Specifies the VAT specification of the involved customer or vendor to link transactions made for this record with the appropriate general ledger account according to the VAT posting setup. | TableRelation Table 323 “VAT Business Posting Group” (VAT Business Posting Group) |
| 2 | VAT Prod. Posting Group Δ BC29 | Code[20] | Specifies the VAT specification of the involved item or resource to link transactions made for this record with the appropriate general ledger account according to the VAT posting setup. | TableRelation Table 324 “VAT Product Posting Group” (VAT Product Posting Group) |
| 3 | VAT Calculation Type Δ BC29 | Enum “Tax Calculation Type” | Specifies how VAT will be calculated for purchases or sales of items with this particular combination of VAT business posting group and VAT product posting group. | enum Enum 254 “Tax Calculation Type” |
| 4 | VAT % Δ BC28 Δ BC29 | Decimal | Specifies the relevant VAT rate for the particular combination of VAT business posting group and VAT product posting group. Do not enter the percent sign, only the number. For example, if the VAT rate is 25 %, enter 25 in this field. | |
| 5 | Unrealized VAT Type Δ BC29 | Option | Specifies how to handle unrealized VAT, which is VAT that is calculated but not due until the invoice is paid. | OptionCaption: ,Percentage,First,Last,First (Fully Paid),Last (Fully Paid) |
| 6 | Adjust for Payment Discount Δ BC29 | Boolean | Specifies whether to recalculate VAT amounts when you post payments that trigger payment discounts. | |
| 7 | Sales VAT Account Δ BC29 | Code[20] | Specifies the general ledger account number to which to post sales VAT for the particular combination of VAT business posting group and VAT product posting group. | TableRelation Table 15 “G/L Account” (G/L Account) |
| 8 | Sales VAT Unreal. Account Δ BC29 | Code[20] | Specifies the general ledger account number to which to post unrealized sales VAT (as calculated when you post sales invoices) using this particular combination of VAT business posting group and VAT product posting group. | TableRelation Table 15 “G/L Account” (G/L Account) |
| 9 | Purchase VAT Account Δ BC29 | Code[20] | Specifies the general ledger account number to which to post purchase VAT for the particular combination of business group and product group. | TableRelation Table 15 “G/L Account” (G/L Account) |
| 10 | Purch. VAT Unreal. Account Δ BC29 | Code[20] | Specifies the general ledger account number to which to post unrealized purchase VAT (as calculated when you post purchase invoices) using this particular combination of VAT business posting group and VAT product posting group. | TableRelation Table 15 “G/L Account” (G/L Account) |
| 11 | Reverse Chrg. VAT Acc. Δ BC29 | Code[20] | Specifies the general ledger account number to which you want to post reverse charge VAT (purchase VAT) for this combination of VAT business posting group and VAT product posting group, if you have selected the Reverse Charge VAT option in the VAT Calculation Type field. | TableRelation Table 15 “G/L Account” (G/L Account) |
| 12 | Reverse Chrg. VAT Unreal. Acc. Δ BC29 | Code[20] | Specifies the number of the general ledger account to post amounts for unrealized reverse charge VAT to. | TableRelation Table 15 “G/L Account” (G/L Account) |
| 13 | VAT Identifier Δ BC29 | Code[20] | Specifies a code to group various VAT posting setups with similar attributes, for example VAT percentage. | |
| 14 | EU Service Δ BC29 | Boolean | Specifies if this combination of VAT business posting group and VAT product posting group are to be reported as services in the periodic VAT reports. | |
| 15 | VAT Clause Code Δ BC29 | Code[20] | Specifies the VAT Clause Code that is associated with the VAT Posting Setup. | TableRelation Table 560 “VAT Clause” (VAT Clause) |
| 16 | Certificate of Supply Required Δ BC29 | Boolean | Specifies if documents that use this combination of VAT business posting group and VAT product posting group require a certificate of supply. | |
| 17 | Tax Category Δ BC29 | Code[10] | Specifies the VAT category in connection with electronic document sending. For example, when you send sales documents through the PEPPOL service, the value in this field is used to populate the TaxApplied element in the Supplier group. The number is based on the UNCL5305 standard. | |
| 20 | Description Δ BC29 | Text[100] | Specifies a description of the VAT posting setup | |
| 21 | Blocked Δ BC29 | Boolean | Specifies if this particular combination of VAT business posting group and VAT product posting group is blocked. | |
| 25 | Sale VAT Reporting Code | Code[20] | Specifies the code of the VAT posting setup that will be used for the StandardTaxCode XML node in the SAF-T file for the sales VAT entries. via Page 5283 “VAT Posting Setup SAF-T” | TableRelation Table 344 “VAT Reporting Code” (VAT Reporting Code) |
| 26 | Purch. VAT Reporting Code | Code[20] | Specifies the code of the VAT posting setup that will be used for the StandardTaxCode XML node in the SAF-T file for the purchase VAT entries. via Page 5283 “VAT Posting Setup SAF-T” | TableRelation Table 344 “VAT Reporting Code” (VAT Reporting Code) |
| 6200 | Non-Deductible VAT % Δ BC28 Δ BC29 | Decimal | Specifies the percentage of the transaction amount to which VAT is not applied. | |
| 6202 | Non-Ded. Purchase VAT Account Δ BC29 | Code[20] | Specifies the account associated with the VAT amount that is not deducted due to the type of goods or services purchased. | TableRelation Table 15 “G/L Account” (G/L Account) |
| 6203 | Allow Non-Deductible VAT Δ BC29 | Enum “Allow Non-Deductible VAT Type” | Specifies whether the Non-Deductible VAT is considered for this particular combination of VAT business posting group and VAT product posting group. | enum Enum 6200 “Allow Non-Deductible VAT Type” |
Keys
- Key1: VAT Bus. Posting Group, VAT Prod. Posting Group (clustered)
- Key2: VAT Prod. Posting Group, VAT Bus. Posting Group
Events published
OnBeforeGetPurchAccount(var VATPostingSetup: Record "VAT Posting Setup"; Unrealized: Boolean; var PurchVATAccountNo: Code[20]; var IsHandled: Boolean)(integration): Integration event raised before retrieving purchase VAT account to allow custom account selection logic. Enables extensions to override standard purchase VAT account determination based on custom business rules.OnBeforeGetSalesAccount(var VATPostingSetup: Record "VAT Posting Setup"; Unrealized: Boolean; var SalesVATAccountNo: Code[20]; var IsHandled: Boolean)(integration): Integration event raised before retrieving sales VAT account to allow custom account selection logic. Enables extensions to override standard sales VAT account determination based on custom business rules.OnBeforeCheckSetupUsage(var VATPostingSetup: Record "VAT Posting Setup"; var IsHandled: Boolean; VATBusPostingGroup: Code[20]; VATProdPostingGroup: Code[20])+ BC24 − BC24 (integration): Integration event raised before checking VAT posting setup usage to allow custom validation logic. Enables extensions to perform additional validation or override standard setup usage checks.
Procedures
CheckGLAcc(AccNo: Code[20]): Validates that the specified G/L account exists and is properly configured for VAT posting.TestNotSalesTax(FromFieldName: Text[100]): Validates that the specified field is not used when VAT Calculation Type is Sales Tax. Prevents configuration of VAT fields that are incompatible with Sales Tax calculation method.GetSalesAccount(Unrealized: Boolean): Code[20]: Returns the appropriate sales VAT G/L account based on whether unrealized VAT is being processed. Retrieves either realized or unrealized sales VAT account with validation for required account setup.GetPurchAccount(Unrealized: Boolean): Code[20]: Returns the appropriate purchase VAT G/L account based on whether unrealized VAT is being processed. Retrieves either realized or unrealized purchase VAT account with validation for required account setup.GetRevChargeAccount(Unrealized: Boolean): Code[20]: Returns the appropriate reverse charge VAT G/L account based on whether unrealized VAT is being processed. Retrieves either realized or unrealized reverse charge VAT account for EU and domestic reverse charge transactions.SetAccountsVisibility(var UnrealizedVATVisible: Boolean; var AdjustForPmtDiscVisible: Boolean): Sets visibility flags for unrealized VAT and payment discount adjustment based on General Ledger Setup configuration. Controls UI field visibility for VAT posting setup pages based on system-wide VAT settings.SuggestSetupAccounts(): Suggests G/L account assignments for VAT posting setup based on existing similar setups and account patterns. Provides automated account suggestion functionality to streamline VAT posting setup configuration.
Plus 6 local procedures.
Triggers
OnDelete, OnRename, OnInsert
Relations
- drill-down page Page 472 “VAT Posting Setup”
- lookup page Page 472 “VAT Posting Setup”
- Non-Ded. Purchase VAT Account: TableRelation Table 15 “G/L Account”
- Purch. VAT Unreal. Account: TableRelation Table 15 “G/L Account”
- Purchase VAT Account: TableRelation Table 15 “G/L Account”
- Reverse Chrg. VAT Acc.: TableRelation Table 15 “G/L Account”
- Reverse Chrg. VAT Unreal. Acc.: TableRelation Table 15 “G/L Account”
- Sales VAT Account: TableRelation Table 15 “G/L Account”
- Sales VAT Unreal. Account: TableRelation Table 15 “G/L Account”
- VAT Bus. Posting Group: TableRelation Table 323 “VAT Business Posting Group”
- VAT Prod. Posting Group: TableRelation Table 324 “VAT Product Posting Group”
- Purch. VAT Reporting Code: TableRelation Table 344 “VAT Reporting Code”
- Sale VAT Reporting Code: TableRelation Table 344 “VAT Reporting Code”
- VAT Clause Code: TableRelation Table 560 “VAT Clause”
Pages and codeunits on this table
- Page 472 “VAT Posting Setup” (source table)
- Page 473 “VAT Posting Setup Card” (source table)
- Page 5283 “VAT Posting Setup SAF-T” (source table)
Extended by
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 48 “PostingSetupManagement” (3 calls:
GetPurchAccount → LogVATPostingSetupFieldError,GetRevChargeAccount → LogVATPostingSetupFieldError,GetSalesAccount → LogVATPostingSetupFieldError)
Countries that replace it
AT, CA, CH, CZ, DE, ES, IT, MX, NO, RU, US
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: "table", object_name: "VAT Posting Setup"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.