[GNC] rounding of Invoice vs Accounts Receivable

Stan Brown the_stan_brown at fastmail.fm
Mon Oct 17 12:23:38 EDT 2022


On 2022-10-17 08:03, gnucash at boeziek.nl wrote:
> I created a Sales Tax Table entry of 20%.
> When I create an Invoice of EUR 109,95 with tax included and select my Tax table, GNUCash calculates EUR 18,33 tax and EUR 91,63 in net revenue.
> My Accounts Receivable however will not increase by EUR 109,95 but by 109,96. So 1 cent difference. (the precise amounts are: sales is EUR 91,625 and tax EUR 18,325 and thus both are rounded up)
> 
> Is there a way to have the tax rounded down (by 0,5cent) so that the total stays EUR 109,95?
> I really prefer to have accounts being 0 at the end of a period, instead of all these loose cents adding up (makes reconciliation harder).

You may be able to force it; I can't speak to that because I've never
used reconciliation _or_ tax tables in GC. But as a matter of
mathematics, the process of starting from price including tax, then
computing tax and net, will inevitably yield cases like this one where
it is impossible to get a self-consistent result. Let me explain...

Given: Gross amount 109,95 including 20% tax on the net.
Tax = 109,95 * 0,20/1,20 = 18,325 --> 18,33
Net = 109,95 * 1,00/1,20 = 91,625 --> 91,63 or 109,95 - 18,325 --> 91,63
(I don't know which one GnuCash did, but it was almost certainly one of
those two.)
As you said, tax + net =/= gross: 18,33 + 91,63 = 109,96 =/= 109,95

The "obvious" solution is to subtract _after_ rounding:
net = gross - tax = 109,95 - 18,33 = 91,62. However, the obvious
solution is wrong (which is why I used sneer quotes). 20% of 91,62 is
18,324 --> 18,32 not 18,33, which means the total should be 109,94!

And whether you allocate the odd cent to tax or to net, you still have
an inconsistency. (If you make the net 91,63, then tax is 18,326 -->
18,33 and the gross sale amount is 109,96.)

Is it necessary, as a mater of regulation or of business practice, to
start with an amount including tax and work backward in this fashion? If
you do, such anomalies are going to arise from time to time, depending
on the numbers involved.

This problem vanishes if you start with the net amount, compute the tax,
and add the two to come up with the amount billed. That is the practice
here in the US, but I don't have any idea of whether the EU requires the
practice you described. If that is indeed required in the EU, there must
be a standard way of handling these one-cent differences, because you
are surely not the first vendor to run up against them. Hopefully one of
our European colleagues on the list will shed some light.

Stan Brown
Tehachapi, CA, USA
https://BrownMath.com


More information about the gnucash-user mailing list