Posting retail statement you might have an error like below (amounts are only an example). This might happen when you have different currencies, but not only.

“While processing the state Payments posted, generic exception encountered in retail statement XXX in the controller :

Posting results for journal batch number XXX       Voucher XXX         Voucher XXX    

The transactions on voucher XXX do not balance as per [DATE]. (accounting currency: -14.60 - reporting currency: -38.93)

Posting results for journal batch number XXX      Voucher XXX         Voucher XXX               

Voucher transactions     Voucher XXX, date [DATE], account XXX [General Ledger account number]--, transaction currency amount -14.60, accounting currency amount -14.60, reporting currency amount -38.93, currency USD, text

Posting results for journal batch number XXX      Posting has been canceled.”

 

As a resolution please check (setting is taken from standard Contoso USRT company):

1. Payment journal CustPay (which is set in Commerce parameters/Tab Posting/subtab Invoice/Payments/Journal name) the value of ‘New voucher’ recommended to have as ‘One voucher number only’ instead of ‘In connection with balance’:

2. The value of ‘Maximum penny difference’ keep as possible lower amount, e.g. we suggest to keep it 0,01. The value of ‘Maximum penny-rounding in the reporting currency’ – we suggest to keep also as possible lower amount, e.g. 0,10:

There is some more information about such fields in standard MS Docs:

Journal posting failure because of imbalance - Finance | Dynamics 365 | Microsoft Docs