The above error occurs at Classes\LedgerCurrencyConversionProvider_FIM\balanceSubLedgerJournalAcctEntDist() and the error is due to the imbalanced accounting currency amount and reporting currency amount in the SubledgerJournalAccountEntryDistribution table for the single Voucher.
For the below Voucher’s SubLedgerJournalEntries , the Vendor balance Reporting Currency Amount was additionally created as 0.01 as there is a difference between the Acc Currency & Rep Currency.
Currency Exchange Rate - PEN to ZAR - 4.015333725787
So , here my problem is that for the 0.01 vendor balance record there are records inserted in SubLedgerJournalAccountEntryDistribution which causes the voucher to imbalance in respect of the SubLedgerJournalAccountEntryDistribution table.
So , when i run the GeneralLedger → Reporting Currency Conversion , the method in LedgerCurrencyConversionProvider_FIM — > balanceSubledgerJournalAccountEntryDist() , tries to balance the Voucher , and in my case it picks the Posting Type - Penny Difference in reporting Currency as First OffSet and it joins the table SubLedgerJournalAccountEntry with SubLedgerJournalAccountEntryDistribution , but it has no record in the SubLedgerJournalAccountEntryDistribution and finally i am getting the above error.