Table "VAT Entry"
Central ledger table for recording VAT transactions with comprehensive support for multiple VAT calculation methods. Stores detailed VAT information including unrealized VAT, non-deductible VAT, and multi-currency processing for audit and reporting.
Remarks
Primary transaction table for VAT ledger functionality with integration to G/L entries and support for VAT settlements. Extensibility: VAT entry creation, G/L account adjustment, and unrealized VAT processing events available.
Properties
| Name | Value |
|---|---|
| Caption | VAT Entry |
| LookupPageID | Page Microsoft.Finance.VAT.Ledger."VAT Entries" |
| Permissions | TableData "Sales Invoice Header" = rm, TableData "Sales Cr.Memo Header" = rm, #if not CLEAN28 TableData Microsoft.Service.History."Service Invoice Header" = rm, TableData Microsoft.Service.History."Service Cr.Memo Header" = rm, #endif TableData "Issued Reminder Header" = rm, TableData "Issued Fin. Charge Memo Header" = rm, TableData "Purch. Inv. Header" = rm, TableData "Purch. Cr. Memo Hdr." = rm, TableData "G/L Entry" = rm, TableData "VAT Entry" = m |
| DataClassification | CustomerContent |
Fields
| Name | Type | Description |
|---|---|---|
| "Entry No." | Integer | Unique sequential identifier for the VAT entry used for referencing and linking with other records. |
| "Gen. Bus. Posting Group" | Code[20] | General business posting group for linking transactions to appropriate general ledger accounts. |
| "Gen. Prod. Posting Group" | Code[20] | General product posting group for linking item or service transactions to appropriate general ledger accounts. |
| "Posting Date" | Date | Date when the VAT entry was posted to the ledger for financial reporting and audit trail purposes. |
| "Document No." | Code[20] | Document number from the source transaction that generated this VAT entry. |
| "Document Type" | Enum Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Document Type" | Type of document that generated this VAT entry, such as invoice, credit memo, or payment. |
| Type | Enum Microsoft.Foundation.Enums."General Posting Type" | Posting type indicating whether this is a purchase, sale, or settlement VAT entry. |
| Base | Decimal | Base amount on which the VAT calculation is performed, excluding the VAT amount itself. |
| Amount | Decimal | VAT amount calculated from the base amount using the applicable VAT rate and calculation method. |
| "VAT Calculation Type" | Enum Microsoft.Foundation.Enums."Tax Calculation Type" | Method used for calculating VAT, such as normal VAT, reverse charge, or sales tax. |
| "Bill-to/Pay-to No." | Code[20] | Customer or vendor number associated with this VAT entry for bill-to or pay-to identification. |
| "EU 3-Party Trade" | Boolean | Indicates whether this transaction involves three-party trade within the European Union. |
| "User ID" | Code[50] | User ID of the person who created this VAT entry for audit trail and responsibility tracking. |
| "Source Code" | Code[10] | Source code indicating the journal or process that generated this VAT entry. |
| "Reason Code" | Code[10] | Reason code providing additional context for why this VAT entry was created. |
| "Closed by Entry No." | Integer | Entry number of the VAT settlement entry that closed this VAT entry during VAT return processing. |
| Closed | Boolean | Indicates whether this VAT entry has been closed through VAT settlement processing. |
| "Country/Region Code" | Code[10] | Country or region code of the customer or vendor associated with this VAT entry. |
| "Internal Ref. No." | Text[30] | Internal reference number used for cross-referencing with other systems or processes. |
| "Transaction No." | Integer | Transaction number linking this VAT entry with related general ledger and other ledger entries. |
| "Unrealized Amount" | Decimal | Unrealized VAT amount when using unrealized VAT functionality for payment-based VAT recognition. |
| "Unrealized Base" | Decimal | Unrealized base amount when using unrealized VAT functionality for payment-based recognition. |
| "Remaining Unrealized Amount" | Decimal | Remaining unrealized VAT amount that has not yet been realized through payment processing. |
| "Remaining Unrealized Base" | Decimal | Remaining unrealized base amount that has not yet been realized through payment processing. |
| "External Document No." | Code[35] | External document number from the source document that generated this VAT entry. |
| "No. Series" | Code[20] | Number series code used for generating the document number of this VAT entry. |
| "Tax Area Code" | Code[20] | Tax area code for sales tax calculations in jurisdictions using sales tax instead of VAT. |
| "Tax Liable" | Boolean | Indicates whether the customer or vendor is liable for tax calculations. |
| "Tax Group Code" | Code[20] | Tax group code for categorizing items or services for sales tax calculations. |
| "Use Tax" | Boolean | Indicates whether this transaction involves use tax calculations for cross-border sales. |
| "Tax Jurisdiction Code" | Code[10] | Tax jurisdiction code specifying which tax authority has jurisdiction over this transaction. |
| "Tax Group Used" | Code[20] | Tax group code that was actually used for calculating tax on this specific transaction. |
| "Tax Type" | Option | Type of tax applied to this transaction, such as sales tax or excise tax. |
| "Tax on Tax" | Boolean | Indicates whether this transaction involves tax calculated on top of existing tax amounts. |
| "Sales Tax Connection No." | Integer | Connection number linking this VAT entry to related sales tax calculation entries. |
| "Unrealized VAT Entry No." | Integer | Reference to the related unrealized VAT entry when using unrealized VAT functionality. |
| "VAT Bus. Posting Group" | Code[20] | VAT business posting group specifying the VAT treatment for the customer or vendor type. |
| "VAT Prod. Posting Group" | Code[20] | VAT product posting group specifying the VAT treatment for the item or service type. |
| "Additional-Currency Amount" | Decimal | VAT amount in the additional reporting currency for multi-currency reporting requirements. |
| "Additional-Currency Base" | Decimal | Base amount in the additional reporting currency for multi-currency reporting requirements. |
| "Add.-Currency Unrealized Amt." | Decimal | Unrealized VAT amount in the additional reporting currency for unrealized VAT functionality. |
| "Add.-Currency Unrealized Base" | Decimal | Unrealized base amount in the additional reporting currency for unrealized VAT functionality. |
| "VAT Base Discount %" | Decimal | VAT base discount percentage applied to the base amount before VAT calculation. |
| "Add.-Curr. Rem. Unreal. Amount" | Decimal | Remaining unrealized amount in the additional reporting currency that has not yet been realized. |
| "Add.-Curr. Rem. Unreal. Base" | Decimal | Remaining unrealized base amount in the additional reporting currency that has not yet been realized. |
| "VAT Difference" | Decimal | Difference between calculated and manually entered VAT amounts for VAT correction purposes. |
| "Add.-Curr. VAT Difference" | Decimal | VAT difference amount in the additional reporting currency for multi-currency VAT corrections. |
| "Ship-to/Order Address Code" | Code[10] | Ship-to or order address code for identifying delivery or order address variations. |
| "Document Date" | Date | Date of the original document that generated this VAT entry for audit trail purposes. |
| "VAT Registration No." | Text[20] | VAT registration number of the customer or vendor for VAT reporting and compliance. |
| Reversed | Boolean | Indicates whether this VAT entry has been reversed as part of a correction transaction. |
| "Reversed by Entry No." | Integer | Entry number of the VAT entry that reversed this entry for audit trail and correction tracking. |
| "Reversed Entry No." | Integer | Entry number of the original VAT entry that was reversed by this correction entry. |
| "EU Service" | Boolean | Indicates whether this VAT entry represents an EU service transaction for VAT reporting purposes. |
| "Base Before Pmt. Disc." | Decimal | Base amount before payment discount application for accurate VAT calculation tracking. |
| "Source Currency VAT Amount" | Decimal | VAT amount in the source currency of the original transaction for multi-currency processing. |
| "Source Currency VAT Base" | Decimal | Base amount in the source currency of the original transaction for multi-currency processing. |
| "Source Currency Code" | Code[10] | Currency code of the source transaction when different from the local currency. |
| "Source Currency Factor" | Decimal | Exchange rate factor used for converting from source currency to local currency. |
| "Journal Templ. Name" | Code[10] | Journal template name used for creating this VAT entry through journal posting. |
| "Journal Batch Name" | Code[10] | Journal batch name used for creating this VAT entry through journal posting. |
| "Realized Amount" | Decimal | Realized VAT amount when unrealized VAT is converted to realized through payment processing. |
| "Realized Base" | Decimal | Realized base amount when unrealized VAT is converted to realized through payment processing. |
| "Add.-Curr. Realized Amount" | Decimal | Realized VAT amount in additional currency when unrealized VAT is converted through payment processing. |
| "Add.-Curr. Realized Base" | Decimal | Realized base amount in additional currency when unrealized VAT is converted through payment processing. |
| "G/L Acc. No." | Code[20] | General ledger account number associated with this VAT entry for financial reporting integration. |
| "VAT Reporting Date" | Date | VAT reporting date used for VAT return preparation and regulatory compliance reporting. |
| "G/L Register No." | Integer | Specifies the G/L register number that groups related G/L entries from the same posting. |
| "Non-Deductible VAT %" | Decimal | Percentage of VAT that is non-deductible based on business use or regulatory restrictions. |
| "Non-Deductible VAT Base" | Decimal | Base amount for non-deductible VAT calculation when VAT cannot be fully reclaimed. |
| "Non-Deductible VAT Amount" | Decimal | Non-deductible VAT amount that cannot be reclaimed and must be treated as cost. |
| "Non-Deductible VAT Base ACY" | Decimal | Non-deductible VAT base amount in the additional currency for multi-currency reporting. |
| "Non-Deductible VAT Amount ACY" | Decimal | Non-deductible VAT amount in the additional currency for multi-currency reporting. |
| "Non-Deductible VAT Diff." | Decimal | Difference between calculated and manually entered non-deductible VAT amounts for correction purposes. |
| "Non-Deductible VAT Diff. ACY" | Decimal | Non-deductible VAT difference amount in the additional currency for multi-currency corrections. |
| SystemId | Guid | |
| SystemCreatedAt | DateTime | |
| SystemCreatedBy | Guid | |
| SystemModifiedAt | DateTime | |
| SystemModifiedBy | Guid | |
| SystemCreatedByUserName | Text[50] | |
| SystemCreatedByFullName | Text[80] | |
| SystemModifiedByUserName | Text[50] | |
| SystemModifiedByFullName | Text[80] | |
| SystemRowVersion | BigInteger |
Methods
GetLastEntryNo
[InherentPermissions(TableData,254,r)]
procedure GetLastEntryNo(): Integer
Returns
| Type | Description |
|---|---|
| Integer |
GetUnrealizedVATPart
Calculates the unrealized VAT portion based on payment settlement and unrealized VAT configuration.
procedure GetUnrealizedVATPart(SettledAmount: Decimal; Paid: Decimal; Full: Decimal; TotalUnrealVATAmountFirst: Decimal; TotalUnrealVATAmountLast: Decimal): Decimal
Parameters
| Name | Type | Description |
|---|---|---|
| SettledAmount | Decimal |
Amount being settled in the current payment |
| Paid | Decimal |
Total amount paid so far |
| Full | Decimal |
Full invoice amount |
| TotalUnrealVATAmountFirst | Decimal |
Total unrealized VAT amount for first payment method |
| TotalUnrealVATAmountLast | Decimal |
Total unrealized VAT amount for last payment method |
Returns
| Type | Description |
|---|---|
| Decimal |
Calculated unrealized VAT amount to be realized |
GetUnrealizedVATType
Retrieves the unrealized VAT type configuration for this VAT entry.
procedure GetUnrealizedVATType(): Integer
Returns
| Type | Description |
|---|---|
| Integer |
Unrealized VAT type setting from VAT posting setup or tax jurisdiction |
CopyFromGenJnlLine
Copies VAT-related data from a General Journal Line to populate this VAT entry.
procedure CopyFromGenJnlLine(GenJnlLine: Record "Gen. Journal Line")
Parameters
| Name | Type | Description |
|---|---|---|
| GenJnlLine | Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line" |
General journal line containing source data for VAT entry creation |
CopyPostingDataFromGenJnlLine
Copies posting-related data from a General Journal Line to this VAT entry.
procedure CopyPostingDataFromGenJnlLine(GenJnlLine: Record "Gen. Journal Line")
Parameters
| Name | Type | Description |
|---|---|---|
| GenJnlLine | Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line" |
General journal line containing posting data |
SetGLAccountNo
Sets the G/L Account No. field for this VAT entry by creating missing VAT Entry - G/L Entry links.
procedure SetGLAccountNo(WithUI: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| WithUI | Boolean |
Whether to show user interface elements during processing |
SetGLAccountNoWithResponse
Sets the G/L Account No. field for this VAT entry with user response handling.
procedure SetGLAccountNoWithResponse(WithUI: Boolean; ShowConfirm: Boolean; var Response: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| WithUI | Boolean |
Whether to show user interface elements during processing |
| ShowConfirm | Boolean |
Whether to show confirmation dialogs to user |
| Response | Boolean |
User response from any confirmation dialogs |
CheckGLAccountNoFilled
Validates that all VAT entries in the current filter have their G/L Account No. field populated.
procedure CheckGLAccountNoFilled()
CopyAmountsFromVATEntry
Copies amount fields from another VAT entry, optionally with opposite sign for reversals.
procedure CopyAmountsFromVATEntry(VATEntry: Record "VAT Entry"; WithOppositeSign: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| VATEntry | Table Microsoft.Finance.VAT.Ledger."VAT Entry" |
Source VAT entry to copy amounts from |
| WithOppositeSign | Boolean |
Whether to reverse the sign of copied amounts |
SetUnrealAmountsToZero
Resets all unrealized VAT amount fields to zero for this VAT entry.
procedure SetUnrealAmountsToZero()
Events
OnAfterCopyFromGenJnlLine
Integration event raised after copying data from General Journal Line to VAT Entry.
[IntegrationEvent(False,False)]
procedure OnAfterCopyFromGenJnlLine(var VATEntry: Record "VAT Entry"; GenJournalLine: Record "Gen. Journal Line")
Parameters
| Name | Type | Description |
|---|---|---|
| VATEntry | Table Microsoft.Finance.VAT.Ledger."VAT Entry" |
VAT entry record that was populated from journal line |
| GenJournalLine | Table Microsoft.Finance.GeneralLedger.Journal."Gen. Journal Line" |
Source general journal line |
OnAfterOnCopyAmountsFromVATEntry
Integration event raised after copying amounts from another VAT entry.
[IntegrationEvent(False,False)]
local procedure OnAfterOnCopyAmountsFromVATEntry(var VATEntry: Record "VAT Entry"; WithOppositeSign: Boolean; var RecVATEntry: Record "VAT Entry")
Parameters
| Name | Type | Description |
|---|---|---|
| VATEntry | Table Microsoft.Finance.VAT.Ledger."VAT Entry" |
Source VAT entry providing the amounts |
| WithOppositeSign | Boolean |
Whether amounts were copied with opposite sign |
| RecVATEntry | Table Microsoft.Finance.VAT.Ledger."VAT Entry" |
Target VAT entry that received the copied amounts |
OnBeforeSetGLAccountNo
Integration event raised before setting G/L Account No. on VAT entry.
[IntegrationEvent(False,False)]
local procedure OnBeforeSetGLAccountNo(var VATEntry: Record "VAT Entry"; var IsHandled: Boolean; var Response: Boolean; WithUI: Boolean; ShowConfirm: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| VATEntry | Table Microsoft.Finance.VAT.Ledger."VAT Entry" |
VAT entry being processed |
| IsHandled | Boolean |
Set to true to skip standard processing |
| Response | Boolean |
User response from confirmation dialogs |
| WithUI | Boolean |
Whether UI elements should be shown |
| ShowConfirm | Boolean |
Whether confirmation dialogs should be displayed |
OnAfterSetGLAccountNo
Integration event raised after setting G/L Account No. on VAT entry.
[IntegrationEvent(False,False)]
local procedure OnAfterSetGLAccountNo(var VATEntry: Record "VAT Entry"; var IsHandled: Boolean; WithUI: Boolean)
Parameters
| Name | Type | Description |
|---|---|---|
| VATEntry | Table Microsoft.Finance.VAT.Ledger."VAT Entry" |
VAT entry that was processed |
| IsHandled | Boolean |
Whether the operation was handled by subscriber |
| WithUI | Boolean |
Whether UI elements were shown during processing |