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.
To resolve this problem, change the code in the Properties in the OIOUBL Export Sales Cr. Memo codeunit (13610) as follows:
...
TotalInvDiscountAmount@1060001 : Decimal;
BEGIN
...
...
TotalInvDiscountAmount@1060001 : Decimal;
// Add the following line.
LineExtensionAmount@1060012 : Decimal;
BEGIN
...
...
SalesCrMemoLine2."Line Discount Amount";
UNTIL SalesCrMemoLine2.NEXT = 0;
...
...
SalesCrMemoLine2."Line Discount Amount";
// Add the following lines.
IF SalesCrMemoLine2."Line Discount %" = 100 THEN
TotalInvDiscountAmount := TotalInvDiscountAmount + SalesCrMemoLine2.Quantity * SalesCrMemoLine2."Unit Price";
// End of the lines.
UNTIL SalesCrMemoLine2.NEXT = 0;
...
...
SalesCrMemoLine2."Line Discount Amount";
TotalAmount := TotalAmount + SalesCrMemoLine2."Amount Including VAT";
...
...
SalesCrMemoLine2."Line Discount Amount";
// Add the following lines.
IF SalesCrMemoLine2."Line Discount %" = 100 THEN
TaxableAmount := TaxableAmount + SalesCrMemoLine2.Quantity * SalesCrMemoLine2."Unit Price";
// End of the lines.
TotalAmount := TotalAmount + SalesCrMemoLine2."Amount Including VAT";
...
...
// Delete the following lines.
AddElement(XMLCurrNode,'LineExtensionAmount',
OIOUBLDocumentEncode.DecimalToText(SalesCrMemoLine.Amount + SalesCrMemoLine."Inv. Discount Amount" +
SalesCrMemoLine."Line Discount Amount"),DocNameSpace,XMLNewChild,Prefix);
// End of the lines.
XMLCurrNode := XMLNewChild;
...
...
// Add the following lines.
IF SalesCrMemoLine."Line Discount %" = 100 THEN
LineExtensionAmount := SalesCrMemoLine.Quantity * SalesCrMemoLine."Unit Price"
ELSE
LineExtensionAmount := SalesCrMemoLine.Amount + SalesCrMemoLine."Inv. Discount Amount" +
SalesCrMemoLine."Line Discount Amount";
AddElement(XMLCurrNode,'LineExtensionAmount',
OIOUBLDocumentEncode.DecimalToText(LineExtensionAmount),DocNameSpace,XMLNewChild,Prefix);
// End of the lines.
XMLCurrNode := XMLNewChild;
...