[GNC] Rounding discrepancy in payment processing

Adrien Monteleone adrien.monteleone at lusfiber.net
Mon Dec 19 13:13:46 EST 2022


Strange, I've been using the Payment feature since *way* before 4.6 and 
still using it on 4.12 (4.13 is now out too) and I've never encountered 
this. All payments are always exactly as entered.

What operating system? (I'm on MacOS at the moment, but I've used 
GnuCash on Linux and can still test it there)

Also I'm a bit confused.

Are you saying GnuCash is rounding your payments to whole currency 
units, or the invoices, or both? (it shouldn't round any invoice totals, 
and certainly not payments)

Regards,
Adrien

On 12/19/22 8:29 AM, Alaa Zeineldine wrote:
> 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?



More information about the gnucash-user mailing list