---
title: "Table 290 VAT Amount Line"
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/table/290-vat-amount-line/
type: table
id: 290
name: "VAT Amount Line"
app: "Base Application"
namespace: Microsoft.Finance.VAT.Calculation
versions: "17-28"
build: 28.5.54151.54365
source: "https://jonas-paprotka.de/ref/table/290-vat-amount-line/source/29/"
checked: 2026-09-20
subject: "Microsoft Dynamics 365 Business Central"
license: "Content © 2026 Jonas Paprotka. Quote freely with attribution and a link."
---

# Table 290 VAT Amount Line

Jonas Paprotka, https://jonas-paprotka.de/ref/table/290-vat-amount-line/

| | |
| --- | --- |
| App | Base Application |
| Namespace | Microsoft.Finance.VAT.Calculation |
| Versions | 17-28 |
| Source file | Finance/VAT/Calculation/VATAmountLine.Table.al |

## Fields

| Id | Name | Type | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| 1 | VAT % | Decimal | 17-28 | - | - |
| 2 | VAT Base | Decimal | 17-28 | - | - |
| 3 | VAT Amount | Decimal | 17-28 | - | - |
| 4 | Amount Including VAT | Decimal | 17-28 | - | - |
| 5 | VAT Identifier | Code[20] | 17-28 | - | - |
| 6 | Line Amount | Decimal | 17-28 | - | - |
| 7 | Inv. Disc. Base Amount | Decimal | 17-28 | - | - |
| 8 | Invoice Discount Amount | Decimal | 17-28 | - | - |
| 9 | VAT Calculation Type | Enum Tax Calculation Type | 17-28 | - | - |
| 10 | Tax Group Code | Code[20] | 17-28 | - | - |
| 11 | Quantity | Decimal | 17-28 | - | - |
| 12 | Modified | Boolean | 17-28 | - | - |
| 13 | Use Tax | Boolean | 17-28 | - | - |
| 14 | Calculated VAT Amount | Decimal | 17-28 | - | - |
| 15 | VAT Difference | Decimal | 17-28 | - | - |
| 16 | Positive | Boolean | 17-28 | - | - |
| 17 | Includes Prepayment | Boolean | 17-28 | - | - |
| 18 | VAT Clause Code | Code[20] | 17-28 | - | - |
| 19 | Tax Category | Code[10] | 17-28 | - | - |
| 20 | Pmt. Discount Amount | Decimal | 17-28 | - | - |
| 6200 | Non-Deductible VAT % | Decimal | 22-28 | - | - |
| 6201 | Non-Deductible VAT Base | Decimal | 22-28 | - | - |
| 6202 | Non-Deductible VAT Amount | Decimal | 22-28 | - | - |
| 6203 | Calc. Non-Ded. VAT Amount | Decimal | 22-28 | - | - |
| 6204 | Deductible VAT Base | Decimal | 22-28 | - | - |
| 6205 | Deductible VAT Amount | Decimal | 22-28 | - | - |
| 6206 | Non-Deductible VAT Diff. | Decimal | 22-28 | - | - |

## Keys

| Name | Fields | Versions |
| --- | --- | --- |
| Key1, clustered | VAT Identifier, VAT Calculation Type, Tax Group Code, Use Tax, Positive | 17-28 |

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| CheckVATDifference | (Code[10], Boolean) | - | public | 17-28 | - | - |
| InsertLine | () | Boolean | public | 17-28 | - | - |
| InsertNewLine | (Code[20], Enum Tax Calculation Type, Code[20], Boolean, Decimal, Boolean, Boolean) | - | public | 17-25 | Pending 23.0 | Replaced with InsertNewLine with NonDeductibleVATPct parameter |
| GetLine | (Integer) | - | public | 17-28 | - | - |
| VATAmountText | () | Text[30] | public | 17-28 | - | - |
| GetTotalLineAmount | (Boolean, Code[10]) | Decimal | public | 17-28 | - | - |
| GetTotalVATAmount | () | Decimal | public | 17-28 | - | - |
| GetTotalInvDiscAmount | () | Decimal | public | 17-28 | - | - |
| GetTotalInvDiscBaseAmount | (Boolean, Code[10]) | Decimal | public | 17-28 | - | - |
| GetTotalVATBase | () | Decimal | public | 17-28 | - | - |
| GetTotalAmountInclVAT | () | Decimal | public | 17-28 | - | - |
| GetTotalVATDiscount | (Code[10], Boolean) | Decimal | public | 17-28 | - | - |
| GetAnyLineModified | () | Boolean | public | 17-28 | - | - |
| SetInvoiceDiscountAmount | (Decimal, Code[10], Boolean, Decimal) | - | public | 17-28 | - | - |
| SetInvoiceDiscountPercent | (Decimal, Code[10], Boolean, Boolean, Decimal) | - | public | 17-28 | - | - |
| CalcLineAmount | () | Decimal | public | 17-28 | - | - |
| CalcVATFields | (Code[10], Boolean, Decimal) | - | public | 17-28 | - | - |
| GetBaseLCY | (Date, Code[10], Decimal) | Decimal | public | 17-28 | - | - |
| GetAmountLCY | (Date, Code[10], Decimal) | Decimal | public | 17-28 | - | - |
| DeductVATAmountLine | (var Record VAT Amount Line) | - | public | 17-28 | - | - |
| SumLine | (Decimal, Decimal, Decimal, Boolean, Boolean) | - | public | 17-27 | Pending 25.0 | Replaced by procedures using Source Record. |
| UpdateLines | (var Decimal, Record Currency, Decimal, Boolean, Decimal, Code[20], Boolean, Date) | - | public | 17-28 | - | - |
| CopyFromPurchInvLine | (Record Purch. Inv. Line) | - | public | 17-28 | - | - |
| CopyFromPurchCrMemoLine | (Record Purch. Cr. Memo Line) | - | public | 17-28 | - | - |
| CopyFromSalesInvLine | (Record Sales Invoice Line) | - | public | 17-28 | - | - |
| CopyFromSalesCrMemoLine | (Record Sales Cr.Memo Line) | - | public | 17-28 | - | - |
| CopyFromServInvLine | (Record Service Invoice Line) | - | public | 17-27 | Pending 25.0 | Replaced by procedure CopyToVATAmountLine in table Service Invoice Line |
| CopyFromServCrMemoLine | (Record Service Cr.Memo Line) | - | public | 17-27 | Pending 25.0 | Replaced by procedure CopyToVATAmountLine in table Service Cr.Memo Line |
| InsertNewLine | (Code[20], Enum Tax Calculation Type, Code[20], Boolean, Decimal, Boolean, Boolean, Decimal) | - | public | 22-28 | Pending 26.0 | Replaced by procedures using Source Record. |
| RunOnAfterCopyFromServInvLine | (var Record VAT Amount Line, Record Service Invoice Line) | - | internal | 25-27 | - | - |
| RunOnAfterCopyFromServCrMemoLine | (var Record VAT Amount Line, Record Service Cr.Memo Line) | - | internal | 25-27 | - | - |
| ApplyNonDeductibleVAT | (Decimal) | - | internal | 26-28 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnAfterCalcLineAmount | (var Record VAT Amount Line, var Decimal) | 17-28 | - | - |
| Integration event | OnAfterCopyFromPurchInvLine | (var Record VAT Amount Line, Record Purch. Inv. Line) | 17-28 | - | - |
| Integration event | OnAfterCopyFromPurchCrMemoLine | (var Record VAT Amount Line, Record Purch. Cr. Memo Line) | 17-28 | - | - |
| Integration event | OnAfterCopyFromSalesInvLine | (var Record VAT Amount Line, Record Sales Invoice Line) | 17-28 | - | - |
| Integration event | OnAfterCopyFromSalesCrMemoLine | (var Record VAT Amount Line, Record Sales Cr.Memo Line) | 17-28 | - | - |
| Integration event | OnAfterCopyFromServInvLine | (var Record VAT Amount Line, Record Service Invoice Line) | 17-27 | Pending 25.0 | Replaced by event OnAfterCopyToVATAmountLine in table Service Invoice Line |
| Integration event | OnAfterCopyFromServCrMemoLine | (var Record VAT Amount Line, Record Service Cr.Memo Line) | 17-27 | Pending 25.0 | Replaced by event OnAfterCopyToVATAmountLine in table Service Cr.Memo Line |
| Integration event | OnAfterSalesTaxCalculateCalculateTax | (var Record VAT Amount Line, Record Currency, Code[20], Boolean, Date, Decimal) | 17-28 | - | - |
| Integration event | OnAfterSalesTaxCalculateReverseCalculateTax | (var Record VAT Amount Line, Record Currency, Code[20], Boolean, Date, Decimal) | 17-28 | - | - |
| Integration event | OnAfterVATAmountText | (Decimal, Integer, var Text[30]) | 17-28 | - | - |
| Integration event | OnInsertLineOnBeforeInsert | (var Record VAT Amount Line, var Record VAT Amount Line) | 17-28 | - | - |
| Integration event | OnInsertLineOnBeforeModify | (var Record VAT Amount Line, Record VAT Amount Line) | 17-28 | - | - |
| Integration event | OnInsertLine | (var Record VAT Amount Line, var Boolean) | 17-18 | - | - |
| Integration event | OnUpdateLinesOnAfterCalcVATAmount | (var Record VAT Amount Line, Record VAT Amount Line, var Record Currency, Decimal, Boolean) | 17-28 | - | - |
| Integration event | OnUpdateLinesOnBeforeCalcSalesTaxVatBase | (var Record VAT Amount Line) | 17-28 | - | - |
| Integration event | OnAfterCalcVATFields | (var Record VAT Amount Line, Boolean, Decimal) | 17-18 | - | - |
| Integration event | OnBeforeGetTotalVATAmount | (var Record VAT Amount Line, var Decimal, var Boolean) | 18-28 | - | - |
| Integration event | OnAfterCheckVATDifference | (Record VAT Amount Line, Code[10], Boolean) | 19-28 | - | - |
| Integration event | OnInsertLineOnAfterValidatePositive | (var Record VAT Amount Line) | 19-28 | - | - |
| Integration event | OnInsertLine | (var Record VAT Amount Line, var Boolean, var Boolean) | 19-26 | - | - |
| Integration event | OnUpdateLinesOnAfterCalcVATBase | (var Record VAT Amount Line, Record Currency, Boolean) | 19-28 | - | - |
| Integration event | OnUpdateLinesOnAfterCalcVATBaseSalesTax | (var Record VAT Amount Line, Record Currency, Boolean) | 19-28 | - | - |
| Integration event | OnAfterCalcVATFields | (var Record VAT Amount Line, Boolean, Decimal, Record Currency) | 19-28 | - | - |
| Integration event | OnUpdateLinesOnAfterCalcAmountIncludingVATNormalVAT | (var Record VAT Amount Line, Record VAT Amount Line, var Record Currency, Decimal, Boolean) | 20-28 | - | - |
| Integration event | OnBeforeCalcVATFields | (var Record VAT Amount Line, var Decimal) | 21-28 | - | - |
| Integration event | OnDeductVATAmountLineOnBeforeModify | (var Record VAT Amount Line, Record VAT Amount Line) | 21-28 | - | - |
| Integration event | OnBeforeGetVATBaseDiscountPerc | (var Record VAT Amount Line, Decimal, var Decimal, var Boolean) | 22-28 | - | - |
| Integration event | OnUpdateLinesOnAfterInitPrevVATAmountLine | (var Record VAT Amount Line) | 23-24 | - | - |
| Integration event | OnUpdateLinesOnAfterInitPrevVATAmountLine | (var Record VAT Amount Line, Record Currency, Boolean, var Decimal, var Record VAT Amount Line) | 25-28 | - | - |
| Integration event | OnBeforeUpdateLines | (var Record VAT Amount Line, var Decimal, Record Currency, Decimal, Boolean, Decimal, Code[20], Boolean, Date, var Boolean) | 25-28 | - | - |
| Integration event | OnApplyNonDeductibleVATOnBeforeModify | (var Record VAT Amount Line, Decimal) | 26-28 | - | - |
| Integration event | OnCopyFromPurchInvLineOnAfterSetLineAmount | (var Record VAT Amount Line, var Record Purch. Inv. Line) | 26-28 | - | - |
| Integration event | OnCopyFromPurchCrMemoLineOnAfterSetLineAmount | (var Record VAT Amount Line, var Record Purch. Cr. Memo Line) | 26-28 | - | - |
| Integration event | OnInsertLine | (var Record VAT Amount Line, var Boolean, var Boolean, var Boolean) | 27-28 | - | - |
| Integration event | OnUpdateLinesOnAfterCalcPreVATAmountline | (var Record VAT Amount Line, var Record VAT Amount Line, var Record Currency, Decimal) | 27-28 | - | - |

## Source

Symbols: Microsoft.BaseApplication.symbols.437dbf0e-84ff-417a-965d-ed2bb9650972, https://dynamicssmb2.pkgs.visualstudio.com/DynamicsBCPublicFeeds/_packaging/MSSymbols/nuget/v3/index.json, highest build per major on 2026-09-20.
AL source 29: https://github.com/microsoft/BCApps, MIT, releases/29.x at a66254c3b8b5bb1cea290dc8f9d097aec4381153.

Jonas Paprotka, 2026-09-20.
