To implement this hotfix, you must have a developer license.
You do not have to have rights to the data stores unless you have to perform data repair.
...
"Outstanding Amount (LCY)" := 0;
"Shipped Not Invoiced" := 0;
"Shipped Not Invoiced (LCY)" := 0;
END ELSE BEGIN
GetServHeader;
// Delete the following line.
AmountInclVAT := "Amount Including VAT";
VALIDATE(
"Outstanding Amount",
ROUND(
AmountInclVAT * "Outstanding Quantity" / Quantity,
Currency."Amount Rounding Precision"));
...
...
"Outstanding Amount (LCY)" := 0;
"Shipped Not Invoiced" := 0;
"Shipped Not Invoiced (LCY)" := 0;
END ELSE BEGIN
GetServHeader;
// Add the following lines.
IF ServHeader."Prices Including VAT" THEN
AmountInclVAT := "Line Amount" - "Inv. Discount Amount"
ELSE
IF "VAT Calculation Type" = "VAT Calculation Type"::"Sales Tax" THEN
AmountInclVAT :=
"Line Amount" - "Inv. Discount Amount" +
ROUND(
SalesTaxCalculate.CalculateTax(
"Tax Area Code","Tax Group Code","Tax Liable",ServHeader."Posting Date",
"Line Amount" - "Inv. Discount Amount","Quantity (Base)",ServHeader."Currency Factor"),
Currency."Amount Rounding Precision")
ELSE
AmountInclVAT :=
ROUND(
("Line Amount" - "Inv. Discount Amount") *
(1 + "VAT %" / 100 * (1 - ServHeader."VAT Base Discount %" / 100)),
Currency."Amount Rounding Precision");
// End of the added lines.
VALIDATE(
"Outstanding Amount",
ROUND(
AmountInclVAT * "Outstanding Quantity" / Quantity,
Currency."Amount Rounding Precision"));
...