Charge on bank transfer doesn't make sense. It should not be required or even there.
The charge should be removed from the AD also, but I'll leave that to the experts to include a database script.
My suggestion to changed code here:
Ignore the change in MANIFEST.MF... I accidently committed that too (however I need the export so).
The charge is intentional to move the bank through an account different than "unallocated payment" and "unallocated receipt".
Maybe if those accounts work for you it can be made non-mandatory.
I see. Perhaps we could write a helpful hint on the parameter? Note also that the error message on when p_C_Charge_ID == 0 throws an exception that says "Business Partner required" which is misleading.
Tested the accounting consequences of not using a charge and the result is wrong - in accounting the transit accounts 21300 and 11130 are left with balance (GW accounts).
It would need an additional allocation between the payment and the receipt to match both accounts, it seems easy to do the match simply using the charge.
We can leave it as it is. However I don't get the same result. Have run with my "tweaked" bank transfer for over a year now and in different clients without the side effect you describe.
Do you perhaps mean that the balance is open because you haven't reconciled the bank statement(s)?
Don't spend time on it now. I can do some more work on my part and present a suggestion. I have some processes for direct transfers directly in the bank statment that's much appreciated by accountants because it saves a lot of time and clicking.