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.
Before applying the change, please import all SEPA updates.
To resolve this problem, change the code in the Properties in the Sales-Post Codeunit (80) as follows:
...
Window.UPDATE(5,1);
IF NOT IsOnlinePayment(SalesHeader) THEN
PostBalancing(TempJnlLineDim,0);
// Delete the following lines.
CustLedgEntry.FINDLAST;
GenJnlLine.INIT;
GenJnlLine."Posting Date" := "Posting Date";
GenJnlLine."Document Date" := "Document Date";
GenJnlLine.Description := "Posting Description";
GenJnlLine."Shortcut Dimension 1 Code" := "Shortcut Dimension 1 Code";
GenJnlLine."Shortcut Dimension 2 Code" := "Shortcut Dimension 2 Code";
GenJnlLine."Reason Code" := "Reason Code";
GenJnlLine."Account Type" := GenJnlLine."Account Type"::Customer;
//--PT----
IF SalesHeader."Currency Code" = '' THEN
GenJnlLine."Currency Factor" := 1
ELSE
GenJnlLine."Currency Factor" := SalesHeader."Currency Factor";
//--------
GenJnlLine."Account No." := "Bill-to Customer No.";
IF "Document Type" = "Document Type"::"Credit Memo" THEN
GenJnlLine."Document Type" := GenJnlLine."Document Type"::Refund
ELSE
GenJnlLine."Document Type" := GenJnlLine."Document Type"::Payment;
GenJnlLine."Document No." := GenJnlLineDocNo;
GenJnlLine."External Document No." := GenJnlLineExtDocNo;
IF "Bal. Account Type" = "Bal. Account Type"::"Bank Account" THEN
GenJnlLine."Bal. Account Type" := GenJnlLine."Bal. Account Type"::"Bank Account";
GenJnlLine."Bal. Account No." := "Bal. Account No.";
//--PT----
GenJnlLine."Bal: cash-flow code" := "Cash-flow code";
//--------
GenJnlLine."Currency Code" := "Currency Code";
GenJnlLine.Amount :=
TotalSalesLine."Amount Including VAT" + CustLedgEntry."Remaining Pmt. Disc. Possible";
GenJnlLine."Source Currency Code" := "Currency Code";
GenJnlLine."Source Currency Amount" := GenJnlLine.Amount;
GenJnlLine.Correction := Correction;
CustLedgEntry.CALCFIELDS(Amount);
IF CustLedgEntry.Amount = 0 THEN
GenJnlLine."Amount (LCY)" := TotalSalesLineLCY."Amount Including VAT"
ELSE
GenJnlLine."Amount (LCY)" :=
TotalSalesLineLCY."Amount Including VAT" +
ROUND(
CustLedgEntry."Remaining Pmt. Disc. Possible" /
CustLedgEntry."Adjusted Currency Factor");
IF SalesHeader."Currency Code" = '' THEN
GenJnlLine."Currency Factor" := 1
ELSE
GenJnlLine."Currency Factor" := SalesHeader."Currency Factor";
GenJnlLine."Applies-to Doc. Type" := GenJnlLineDocType;
GenJnlLine."Applies-to Doc. No." := GenJnlLineDocNo;
GenJnlLine."Source Type" := GenJnlLine."Source Type"::Customer;
GenJnlLine."Source No." := "Bill-to Customer No.";
GenJnlLine."Source Code" := SrcCode;
GenJnlLine."Posting No. Series" := "Posting No. Series";
GenJnlLine."IC Partner Code" := "Sell-to IC Partner Code";
GenJnlLine."Allow Zero-Amount Posting" := TRUE;
GenJnlLine."EU 3-Party Trade" := "EU 3-Party Trade";
GenJnlPostLine.RunWithCheck(GenJnlLine,TempJnlLineDim);
// End of the deleted lines.
END;
UpdateSignature(SalesHeader,SalesInvHeader,SalesCrMemoHeader);
END;
...
...
Window.UPDATE(5,1);
IF NOT IsOnlinePayment(SalesHeader) THEN
PostBalancing(TempJnlLineDim,0);
END;
UpdateSignature(SalesHeader,SalesInvHeader,SalesCrMemoHeader);
END;
...
installed.