[GNC] Rounding discrepancy in payment processing

Alaa Zeineldine alaa at expertwell.com
Mon Dec 19 09:29:33 EST 2022


Hello,

 

This problem has been keeping me from upgrading from V 4.6 for some time,
but I would like to move on to newer versions.

 

When I receive payment for an invoice amount that is not a whole number,
(say $140.16), the Process Payment window rounds the fraction part of the
amount. In this case the invoice value will show as $140.00. But the payment
I receive is the exact amount. 

 

Until GC V4.6, I used to enter the correct amount in the payment field
(140.16 here). GC seemed to handle this internally somehow and my books
would appear balanced. Also, the A/R Aging report would show no outstanding
balance for that customer. 

 

When I decided to upgrade to V4.8, the A/R Aging report showed many
prepayments that did not actually exist in reality. These seemed to
correspond to the fractional difference between the actual entered payment
and the invoice amount after rounding for all previously settled invoices
whose amounts were not whole numbers.

For example:

 

Invoice amount (rounded)           | Entered payment amount         |
Prepayment

140.16 (140.00)                                 | 140.16
| 0.16

450.78 (451.00)                                 | 450.78
| (0.12)                 

 

Consequently, there was a cumulative prepayment for each customer equal to
the net sum of these individual prepayments. Unless all of that customer's
invoice amounts were whole numbers.

 

I reverted to V4.6, which did not exhibit this discrepancy in reporting,
thinking that there will eventually be a release where this issue is
resolved, but the releases I tried until now still had this issue.

 

Now, I upgraded to V4.12 and thought maybe I should do things differently.
In the Process Payment window, instead of forcing the exact payment amount,
I accepted the amount GC displays in the payment field by default, which
matches the displayed (rounded) value of the invoice. I was hoping that
since it keeps the correct value of the invoice internally, it may also do
that for the default payment amount it computes. The result of this approach
was OK for A/R reporting, but it led to an imbalance in the bank accounts
where the payments are deposited, resulting from the difference between the
real payment and the rounded value I accepted in the Process Payment window.

 

I prefer not to revert back to V4.6. So, is there something I am missing or
perhaps doing wrong here. Any ideas?

 

Thanks.

 

Alaa Zeineldine

 

 

 

 



More information about the gnucash-user mailing list