Error in General Ledger - USD & IDR multicurrency case


I have an issue for general ledger report

Looking at the records of the previous transactions, the Closing amount (for both debit and credit column) is correct (pic attached)

But the Closing Balance is shown with the correct amount, but on the wrong side (in credit instead of debit)

I’m still using ERPNext: v10.0.6 (master)

ok, I have updated to
ERPNext: v11.1.14 (master)
Frappe Framework: v11.1.14 (master)

with the hope of resolving the error.

But now, it is all going haywire for multi currency transaction.

So the balance sheet value ending value is correct, but when i do general ledger, it is all messed up. It is mixing up the USD and the IDR values into the USD values.

ok I figured out what is wrong

let’s say base currency is IDR and I have a bank account in USD

so when Journal Entry is done, using the multi currency checked,

for transactions that has IDR in Debit and USD in Credit, or IDR in Credit and USD in Debit, they are fine (aka there are only 2 line items in the journal entry)

Once I have multiple lines in the journal entry

Line 1: Debit USD 5 @ exchange rate 100
Line 2: Credit IDR 500
Line 3: Credit IDR 2300
Line 4: Debit USD 23 @ exchange rate 100

Then it is messed up.

Even though the total debit and credit in Journal Entry transaction is correct (total debit IDR 2800 and total credit 2800), when it is displayed in General Ledger summary, it is shown as debit USD 5 + USD 2300 = 2305 and credit USD 23 and IDR 500 = 523