.01 cent error due to Cash Basis Adjustment

My last screenshot shows everything of value when I click on that $10,450.01. All that is missing is the sidebar on the left and the business name up top. That isn’t the “Summary” screen. That is what is shown when I click on the blue number for “sales”, then click on the blue number for $10,450.01 for “cash basis adjustment”. “Summary” screen provides all my account balances.

OK, please show the Summary screen or at least the top of it with the Sales account and then the edit screen of the Summary screen

OK, I been able to reproduce this 0.01

I will post my transactions here and Tut and/or lubos can classify it as a bug

I set up a new company, set the base currency to USD and one bank account and one customer
I entered a sales invoice date 26th July 2021


I then entered the 5 receipts - 4 dated 2021 and 1 date 2022


The Summary screen on an accrual basis for the period Jan 1 - Dec 31 2021 shows


The Summary screen on an accrual basis for the period Jan 1 - Dec 31 2022 shows

When I change the Summary screen to display using cash basis , I get
The Summary screen on a cash balance basis for the period Jan 1 - Dec 31 2021 shows

The Summary screen on a cash balancel basis for the period Jan 1 - Dec 31 2022 shows

Drilling down on the -0.01 in the Account receivable gives



Thank you, I greatly appreciate it. Do you still need my “Summary”?

No, that fine now.

We will have to wait for Tut to have a look and verify himself that the bug is real

I am moving this to bugs. Thanks for the excellent work, @Joe91.

@mjgenay, this illustrates just how much information can be required to confirm a problem.

@Joe91, I ask a favor. Now that you have replicated all this, can you progressively combine the 2021 receipts without changing the totals? I am curious to see if there is a threshold when the problem occurs: 1 partial receipt, 2 receipts, etc. I am still wondering if the cause is cumulative floating point rounding or something similar. I think the results might help with troubleshooting.

I changed it to one payment in 2021 and I tried different dates but I can’t discern any pattern in the results

For example
a payment of 20,700 give a discrepency of +0.01
a payment of 40,700 gives -0.01
a payment of 41,700 givies 0.00
a payment of 43,700 gives -0.02

It is probably some variable somewhere defined as floating point that shouldn’t be

To be clear this one cent error popped up sometime during the new calendar year, probably at the beginning. Through 2021 the remaining balance showed as $10,450.00, it only changed during 2022. At least that is to the best of my knowledge.

@Joe91, just to clarify, were all these single receipts of differeing amounts? Or were they multiple receipts adjusted to produce different total received funds? I am now wondering whether it is the amount received or the number of receipts.

Sorry , but not able to post screen shots at the moment

I entered one single receipt with a different amount and noted the effect.

So in each case there were two receipts - one in 2021 and a second in Sept 2022

The date of the first receipt in 2021 didn’t seem to matter as tfe result was the same when I altered the date But I only tried a few dates not every one between sales invoice date and Dec 31 2021

Thanks, @Joe91. I hope that helps with diagnosis.

I don’t consider this to be a bug. Discrepancy is due to rounding. But it’s not an issue because once the invoice is paid fully, discrepancy will revert. So it’s not like it will be carried on cash-basis forever. Now let me explain how the discrepancy happens.

When invoice is partially paid, on cash-basis we need to make “cash-basis adjustment” for each line item.

Using @Joe91 example, I’ll demonstrate how Manager calculates cash-basis adjustment as at 31/12/2021.

Invoice total is $47,150, unpaid amount is $10,450.

Manager will use these two amounts to figure out unpaid portion of each line item on invoice. So:

10450 / 47150 * 36700 ~= 8,133.93
10450 / 47150 * 3375 ~= 748.01
10450 / 47150 * 300 ~= 66.49
10450 / 47150 * 800 ~= 177.31
10450 / 47150 * 2900 ~= 642.74
10450 / 47150 * 800 ~= 177.31
10450 / 47150 * 1475 ~= 326.91
10450 / 47150 * 800 ~= 177.31

Now add up all these unpaid portions:

8133.93 + 748.01 + 66.49 + 177.31 + 642.74 + 177.31 + 326.91 + 177.31 = 10,450.01

Because of the rounding the unpaid portions add up to 10,450.01 instead of 10,450.00. I know what you are thinking. Why Manager can’t add or remove rounding discrepancy from one of those line items to make sure unpaid portions add up exactly to unpaid total. I could… but then I have to decide which line item should be adjusted for discrepancy. The last one? The first one? And even if I do it. Then reordering line items within invoice could shift rounding discrepancy from one account to another on cash-basis. Maybe nobody would ever notice this. I don’t know. The issue is that I can’t really get rid of this rounding discrepancy. I can only “hide” it better.

Bottom line is. Does it really matter? Eventually all invoices will be paid or written-off. So this rounding discrepancy on cash-basis is temporary. If in one period your income on cash-basis is overstated by 2 cents. In the next period when invoice is paid in full, the income will be understated by 2 cents so in the end the total discrepancy will be zero over multiple periods as it should be. It’s not like it will be carried over forever. @Joe91 has demonstrated this on his screenshots where in one period the income was $36.699.99 (one cent less) and in the next it was $10,450.01 (one cent more). In other words, once invoice is paid in full or written-off, discrepancy on cash-basis will be gone. And every invoice will be paid or written-off in the end.

So to close this. Not a bug. This is by design. I suggest try @Joe91 example in other accounting systems and see how they handle this exact scenario. I’m curious to find out too. Maybe there is an elegant solution to this problem I didn’t consider before.

So when the invoice is paid in full both cash and accrual accounting show the exact total in reports and summary screen. If so I agree it is OK.

If not then Imo it is a bug. A solution would be to calculate remaining payments / based on the residual owing, which will always go to zero when fully paid

Accounting for rounding matters. Close enough is not good enough. Historically there was a big white collar theft based on accumulation of rounding to a separate account. Made millions of dollars until the perpetrator dobbed them selves in. Accounting standards changed after that.

Thanks for continuing to look into this guys. In my case, the invoice is paid in full, and the cash basis adjustment is still there.

Can you illustrate this with screenshots of account drill-downs?

Yes. That’s correct.

Could you show screenshot what you still see that you shouldn’t anymore? Just so we are on the same page.

All of my screen shots from earlier still apply. This invoice was paid in full before I started this topic.

Will have to post a screen shot with the .01 discrepancy later as I don’t have time at the moment.

That’s fine. But if you are looking at report dated before the invoice was paid in full, then for the purposes of the report, the invoice is partially paid.