svthalia / concrexit

Thalia Website built on Django.
https://thalia.nu
Other
22 stars 12 forks source link

Bookkeeping verification page #3455

Open JobDoesburg opened 12 months ago

JobDoesburg commented 12 months ago

What?

There are some important things that are important to check for bookkeeping purposes:

It would be nice to create a simple page that displays this.

Why?

Audits

How?

DeD1rk commented 12 months ago

list of unpaid payables

I think we create invoices for all payables that we expect to be paid some time (everything except unpaid sales orders and unpaid registrations). Unpaid registrations are not processed, and in sales there is the assumption that something is also only 'sold' once it's been paid: unpaid orders are deleted once the shift is closed. So if I understand correctly the only 'unpaid but is actually revenue' payables are eventregistrations, for which invoices are created anyway. So then they already appear as 'still has to be paid' on moneybird.

list of unsynced payments or payables

From the admin, it's now (or tomorrow) easy to filter on invoices that need to be resynchronised. Of course that doesn't cover thing for which no invoice exists yet. But if we increase the sync frequency, or even schedule pushed in the background on post_save signals, I reckon there's probably no need to make an overview for those things that will be pushed really soon?

So do we really need something in concrexit for this? I have a feeling that everything you need should be in moneybird already.

JobDoesburg commented 12 months ago

I agree that if everything goes alright, all should be fine. This page is mainly here to detect what's going wrong. But indeed, if the moneybird sync is stable, we should be fine.

Maybe an integrity check (check if all moneybird id's actually exist in mb, etc) could be nice

DeD1rk commented 12 months ago

Yeah if moneybird sync is buggy, having a page with pretty much the same queries copied from the synchronzation is unlikely to be any more correct.

check if all moneybird id's actually exist in mb

That would be nice yes. And isn't too hard with the synchronization endpoints. We could mark any incorrect/missing invoices and payments with a flag and just filter on them in the admin.

JobDoesburg commented 12 months ago

Basically, a management command would suffice, only it would be nice if the output were to be web accessible