tableFinanceofficial - Microsoftderived - from the source, no model text

Table 290 "VAT Amount Line"

Base Application · Microsoft.Finance.VAT.Calculation

Across versions

  1. BC23present
  2. BC24declaration changed
  3. BC254 procedures added, 4 events added
  4. BC263 events added, 1 procedures changed
  5. BC272 events added, 1 events removed
  6. BC2818 fields changed, 5 procedures removed
  7. BC2916 fields changed, 1 procedures removed
  8. BC30unchanged

Neighbourhood 9 connected objects and pages

Table 321 "Tax Group" (relates to)Tax GroupTable 560 "VAT Clause" (relates to)VAT ClausePage 576 "VAT Specification Subform" (pages and codeunits on it)VAT Specification SubformPage 9401 "VAT Amount Lines" (pages and codeunits on it)VAT Amount LinesTable extension 6808 "WHT VAT Amount Line Ext" (extended by)WHT VAT Amount Line ExtCodeunit 6200 "Non-Deductible VAT" (calls, 6 links)Non-Deductible VATCodeunit 398 "Sales Tax Calculate" (calls, 2 links)Sales Tax CalculateSubmit VAT reports to tax authorities (Learn pages)Submit VAT reports to tax au…Use non-deductible VAT (Learn pages)Use non-deductible VAT

Open in the neighbourhood explorer

One hop out, from the extracted relations and call graph. Up to 40 shown; the sections below list them all.

Base Application · Microsoft.Finance.VAT.Calculation · BC23-30 · source at ea08af5e · facts from BC29

Learn documents this table through its pages: Page 9401 “VAT Amount Lines” (2 Learn pages).

Properties

Property Value
Caption VAT Amount Line
TableType Temporary
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 % Δ BC28 Δ BC29 Decimal Specifies the VAT % that was used on the sales or purchase lines with this VAT Identifier. not editable
2 VAT Base Δ BC28 Δ BC29 Decimal Specifies the total net amount (amount excluding VAT) for sales or purchase lines with a specific VAT Identifier. not editable
3 VAT Amount Δ BC28 Δ BC29 Decimal Specifies the amount of VAT that is included in the total amount.
4 Amount Including VAT Δ BC28 Δ BC29 Decimal Specifies the net amount, including VAT, for this line. not editable
5 VAT Identifier Δ BC29 Code[20] Specifies the VAT Identifier value. not editable
6 Line Amount Δ BC28 Δ BC29 Decimal Specifies the total amount for sales or purchase lines with a specific VAT identifier. not editable
7 Inv. Disc. Base Amount Δ BC28 Δ BC29 Decimal Specifies the invoice discount base amount. not editable
8 Invoice Discount Amount Δ BC28 Δ BC29 Decimal Specifies the invoice discount amount for a specific VAT identifier.
9 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”; not editable
10 Tax Group Code Code[20] — TableRelation Table 321 “Tax Group” (Tax Group); not editable
11 Quantity Δ BC28 Decimal — not editable
12 Modified Boolean —
13 Use Tax Boolean —
14 Calculated VAT Amount Δ BC28 Δ BC29 Decimal Specifies the calculated VAT amount and is only used for reference when the user changes the VAT Amount manually. not editable
15 VAT Difference Δ BC28 Δ BC29 Decimal Specifies the difference between the calculated VAT amount and a VAT amount that you have entered manually. not editable
16 Positive Boolean —
17 Includes Prepayment Boolean —
18 VAT Clause Code Code[20] — TableRelation Table 560 “VAT Clause” (VAT Clause)
19 Tax Category Code[10] —
20 Pmt. Discount Amount Δ BC28 Decimal — not editable
6200 Non-Deductible VAT % Δ BC28 Decimal — not editable
6201 Non-Deductible VAT Base Δ BC28 Δ BC29 Decimal Specifies the amount of the transaction for which VAT is not applied due to the type of goods or services purchased. not editable
6202 Non-Deductible VAT Amount Δ BC28 Δ BC29 Decimal Specifies the amount of VAT that is not deducted due to the type of goods or services purchased.
6203 Calc. Non-Ded. VAT Amount Δ BC28 Δ BC29 Decimal Specifies the calculated Non-Deductible VAT amount and is only used for reference when the user changes the Non-Deductible VAT Amount manually. not editable
6204 Deductible VAT Base Δ BC28 Δ BC29 Decimal Specifies the amount of the transaction for which VAT is applied due to the type of goods or services purchased. not editable
6205 Deductible VAT Amount Δ BC28 Δ BC29 Decimal Specifies the amount of VAT that is deducted due to the type of goods or services purchased. not editable
6206 Non-Deductible VAT Diff. Δ BC28 Decimal Non-Deductible VAT Difference caption not editable

Keys

  • Key1: VAT Identifier, VAT Calculation Type, Tax Group Code, Use Tax, Positive (clustered)

Events published

  • OnAfterCalcLineAmount(var VATAmountLine: Record "VAT Amount Line"; var LineAmount: Decimal) (integration)
  • OnAfterCheckVATDifference(VATAmountLine: Record "VAT Amount Line"; NewCurrencyCode: Code[10]; NewAllowVATDifference: Boolean) (integration)
  • OnAfterCopyFromPurchInvLine(var VATAmountLine: Record "VAT Amount Line"; PurchInvLine: Record "Purch. Inv. Line") (integration)
  • OnAfterCopyFromPurchCrMemoLine(var VATAmountLine: Record "VAT Amount Line"; PurchCrMemoLine: Record "Purch. Cr. Memo Line") (integration)
  • OnAfterCopyFromSalesInvLine(var VATAmountLine: Record "VAT Amount Line"; SalesInvoiceLine: Record "Sales Invoice Line") (integration)
  • OnAfterCopyFromSalesCrMemoLine(var VATAmountLine: Record "VAT Amount Line"; SalesCrMemoLine: Record "Sales Cr.Memo Line") (integration)
  • OnAfterSalesTaxCalculateCalculateTax(var VATAmountLine: Record "VAT Amount Line"; Currency: Record Currency; TaxAreaCode: Code[20]; TaxLiable: Boolean; PostingDate: Date; CurrencyFactor: Decimal) (integration)
  • OnAfterSalesTaxCalculateReverseCalculateTax(var VATAmountLine: Record "VAT Amount Line"; Currency: Record Currency; TaxAreaCode: Code[20]; TaxLiable: Boolean; PostingDate: Date; CurrencyFactor: Decimal) (integration)
  • OnAfterVATAmountText(VATPercentage: Decimal; FullCount: Integer; var Result: Text[30]) (integration)
  • OnBeforeGetTotalVATAmount(var VATAmountLine: Record "VAT Amount Line"; var VATAmount: Decimal; var IsHandled: Boolean) (integration)
  • OnInsertLineOnAfterValidatePositive(var VATAmountLine: Record "VAT Amount Line") (integration)
  • OnInsertLineOnBeforeInsert(var VATAmountLine: Record "VAT Amount Line"; var FromVATAmountLine: Record "VAT Amount Line") (integration)
  • OnInsertLineOnBeforeModify(var VATAmountLine: Record "VAT Amount Line"; FromVATAmountLine: Record "VAT Amount Line") (integration)
  • OnInsertLine(var VATAmountLine: Record "VAT Amount Line"; var IsHandled: Boolean; var Result: Boolean; var SkipZeroVatAmounts: Boolean) + BC27 − BC27 (integration)
  • OnUpdateLinesOnAfterCalcVATAmount(var VATAmountLine: Record "VAT Amount Line"; PrevVATAmountLine: Record "VAT Amount Line"; var Currency: Record Currency; VATBaseDiscountPerc: Decimal; PricesIncludingVAT: Boolean) (integration)
  • OnUpdateLinesOnAfterCalcAmountIncludingVATNormalVAT(var VATAmountLine: Record "VAT Amount Line"; PrevVATAmountLine: Record "VAT Amount Line"; var Currency: Record Currency; VATBaseDiscountPerc: Decimal; PricesIncludingVAT: Boolean) (integration)
  • OnUpdateLinesOnBeforeCalcSalesTaxVatBase(var VATAmountLine: Record "VAT Amount Line") (integration)
  • OnUpdateLinesOnAfterCalcVATBase(var VATAmountLine: Record "VAT Amount Line"; Currency: Record Currency; PricesIncludingVAT: Boolean) (integration)
  • OnUpdateLinesOnAfterCalcVATBaseSalesTax(var VATAmountLine: Record "VAT Amount Line"; Currency: Record Currency; PricesIncludingVAT: Boolean) (integration)
  • OnAfterCalcVATFields(var VATAmountLine: Record "VAT Amount Line"; NewPricesIncludingVAT: Boolean; NewVATBaseDiscPct: Decimal; Currency: Record Currency) (integration)
  • OnBeforeCalcVATFields(var VATAmountLine: Record "VAT Amount Line"; var NewVATBaseDiscPct: Decimal) (integration)
  • OnDeductVATAmountLineOnBeforeModify(var VATAmountLine: Record "VAT Amount Line"; VATAmountLineDeduct: Record "VAT Amount Line") (integration)
  • OnBeforeGetVATBaseDiscountPerc(var VATAmountLine: Record "VAT Amount Line"; VATBaseDiscountPerc: Decimal; var NewVATBaseDiscountPerc: decimal; var IsHandled: Boolean) (integration)
  • OnUpdateLinesOnAfterInitPrevVATAmountLine(var PrevVATAmountLine: Record "VAT Amount Line"; Currency: Record Currency; PricesIncludingVAT: Boolean; var VATBaseDiscountPerc: Decimal; var VATAmountLine: Record "VAT Amount Line") + BC25 − BC25 (integration)
  • OnApplyNonDeductibleVATOnBeforeModify(var VATAmountLine: Record "VAT Amount Line"; NonDeductibleVAT: Decimal) + BC26 (integration)
  • OnCopyFromPurchInvLineOnAfterSetLineAmount(var VATAmountLine: Record "VAT Amount Line"; var PurchInvLine: Record "Purch. Inv. Line") + BC26 (integration)
  • OnCopyFromPurchCrMemoLineOnAfterSetLineAmount(var VATAmountLine: Record "VAT Amount Line"; var PurchCrMemoLine: Record "Purch. Cr. Memo Line") + BC26 (integration)
  • OnBeforeUpdateLines(var VATAmountLine: Record "VAT Amount Line"; var TotalVATAmount: Decimal; Currency: Record Currency; CurrencyFactor: Decimal; PricesIncludingVAT: Boolean; VATBaseDiscountPercHeader: Decimal; TaxAreaCode: Code[20]; TaxLiable: Boolean; PostingDate: Date; var IsHandled: Boolean) + BC25 (integration)
  • OnUpdateLinesOnAfterCalcPreVATAmountline(var VATAmountLine: Record "VAT Amount Line"; var PreVATAmountLine: Record "VAT Amount Line"; var Currency: Record Currency; VATBaseDiscountPerc: Decimal) + BC27 (integration)

Procedures

  • CheckVATDifference(NewCurrencyCode: Code[10]; NewAllowVATDifference: Boolean): Validates VAT difference against maximum allowed VAT difference limits.
  • InsertLine(): Boolean: Inserts or updates VAT amount line with calculated amounts, combining with existing line if found.
  • GetLine(Number: Integer): Retrieves VAT amount line by sequential number from the recordset.
  • VATAmountText(): Text[30]: Generates descriptive text for VAT amount display based on VAT percentage.
  • GetTotalLineAmount(SubtractVAT: Boolean; CurrencyCode: Code[10]): Decimal: Calculates total line amount across all VAT amount lines with optional VAT subtraction.
  • GetTotalVATAmount(): Decimal: Calculates total VAT amount across all VAT amount lines in the recordset.
  • GetTotalInvDiscAmount(): Decimal: Calculates total invoice discount amount across all VAT amount lines.
  • GetTotalInvDiscBaseAmount(SubtractVAT: Boolean; CurrencyCode: Code[10]): Decimal: Calculates total invoice discount base amount with optional VAT subtraction.
  • GetTotalVATBase(): Decimal: Calculates total VAT base amount across all VAT amount lines.
  • GetTotalAmountInclVAT(): Decimal: Calculates total amount including VAT across all VAT amount lines.
  • GetTotalVATDiscount(CurrencyCode: Code[10]; NewPricesIncludingVAT: Boolean): Decimal: Calculates total VAT discount amount based on rounding differences.
  • GetAnyLineModified(): Boolean: Checks whether any VAT amount line has been manually modified.
  • SetInvoiceDiscountAmount(NewInvoiceDiscount: Decimal; NewCurrencyCode: Code[10]; NewPricesIncludingVAT: Boolean; NewVATBaseDiscPct: Decimal): Distributes invoice discount amount proportionally across VAT amount lines.
  • SetInvoiceDiscountPercent(NewInvoiceDiscountPct: Decimal; NewCurrencyCode: Code[10]; NewPricesIncludingVAT: Boolean; CalcInvDiscPerVATID: Boolean; NewVATBaseDiscPct: Decimal): Applies invoice discount percentage to VAT amount lines with proportional distribution.
  • CalcLineAmount(): Decimal: Calculates line amount after subtracting invoice discount from original line amount.
  • CalcVATFields(NewCurrencyCode: Code[10]; NewPricesIncludingVAT: Boolean; NewVATBaseDiscPct: Decimal): Recalculates VAT amounts and VAT base based on current line amount and VAT parameters.
  • GetBaseLCY(PostingDate: Date; CurrencyCode: Code[10]; CurrencyFactor: Decimal): Decimal: Converts VAT base amount from foreign currency to local currency using exchange rate.
  • GetAmountLCY(PostingDate: Date; CurrencyCode: Code[10]; CurrencyFactor: Decimal): Decimal: Calculates VAT amount in local currency by converting from foreign currency.
  • DeductVATAmountLine(var VATAmountLineDeduct: Record "VAT Amount Line"): Deducts amounts from current VAT amount lines using corresponding lines from another recordset.
  • ApplyNonDeductibleVAT(NonDeductibleVAT: Decimal) + BC26 (internal)
  • UpdateLines(var TotalVATAmount: Decimal; Currency: Record Currency; CurrencyFactor: Decimal; PricesIncludingVAT: Boolean; VATBaseDiscountPercHeader: Decimal; TaxAreaCode: Code[20]; TaxLiable: Boolean; PostingDate: Date): Updates VAT amount lines with calculated VAT amounts and totals based on currency, pricing settings, and tax configuration. Performs comprehensive VAT calculations including sales tax processing and currency conversions.
  • CopyFromPurchInvLine(PurchInvLine: Record "Purch. Inv. Line"): Copies VAT-related fields from posted purchase invoice line to create VAT amount line for analysis or reporting.
  • CopyFromPurchCrMemoLine(PurchCrMemoLine: Record "Purch. Cr. Memo Line"): Copies VAT-related fields from posted purchase credit memo line to create VAT amount line for analysis or reporting.
  • CopyFromSalesInvLine(SalesInvoiceLine: Record "Sales Invoice Line"): Copies VAT-related fields from posted sales invoice line to create VAT amount line for analysis or reporting.
  • CopyFromSalesCrMemoLine(SalesCrMemoLine: Record "Sales Cr.Memo Line"): Copies VAT-related fields from posted sales credit memo line to create VAT amount line for analysis or reporting.

Plus 5 local procedures.

Relations

Pages and codeunits on this 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.

Recent changes

Countries that replace it

AU, BE, CA, ES, GB, IT, MX, NZ, 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 Amount Line"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources