I think there is a bug in the account_tax_cash module.
From my understanding, the module should ensure that VAT is reported in the accounting period in which the tax is paid (cash basis).
To do this, the module adds the field reporting_period on the tax_line. This field should set the correct period when the payment happened.
That means: reporting_period must always be the period of the payment date, no matter when the payment is posted/booked in the system.
Current behavior:
The system sets reporting_period to the currently active accounting period, not to the period of the payment date.
This works only if the payment is booked in the same period as the payment date.
But if the payment is booked in the next period (for example, payments on the last day of the month are often booked on the first day of the next month), then the VAT is reported in the wrong period.
I marked my assumption incorrectly as solved here, because I assumed that happens only for a different fiscal year, but actually my whole database has wrong reporting throughout the year.
That is true, but in the case the period should trigger a warning and abort the process. Why? because at least in Germany you have the legal obligation to report that way (in certain cases). If you report too late, you commit tax fraud.
In case the period is closed, the user has to reopen it or, on purpose, choose a “open period” of his choice.
I do not really understand what you mean with “customized”. Do you mean that dialog?
If so, the problem here is, that this is exactly the date I set to the “old” period, but the reporting is still set to the current period.
That what I meant to be the Bug
§ 13 UStG - Einzelnorm? § 13 Abs. 1 Nr. 1 Buchst. b UStG i.V.m. § 20 UStG .
It basically says, that the tax has to be reported with ending of the period (defined in §20 UStG) they are “vereinnahmt” (received on your bank account). There are 2 common types, monthly and quarterly.
In “monthly” practice: the tax received on the 31st of month X has to be reported in that month X, not in the next month (if monthly period). I have now till X+10d to fill the report and pay the tax debt.
That means that on every 1st (or realistically the 8th :)) of the new period, one has to book all the payments received last month and report it.
If one closed the period, before all the payments are booked, the reporting was wrong. If you have for some reason something you forgot in an older period, you have to send a correction-report (berichtigte UST-Anmeldung).
Ok, that’s fine for me, but in this case, I would recommend to adjust the core module. Since tax_cash is the intended module for the use case, users will probably expect, that payments from 31st of period are reported in that period.
For me it is strict interpretation of the rule which is not practical in real life condition. Especially for bank transfer as the confirmation from the bank can be received many days later. But for cash it should be always be booked the actual day it was received.
Fill free to make a proposal but it is not going to be easy because it is not about line date but payment ratio.
To be honest, I am not sure if we are not talking about different things. Because the way it is implemented right now, is al lot more strict, than what I propose.
I suggest, that the reporting period is set to the date in red,
Example of account move:
The payment was on 31.12.2025
I did the booking on 06.01.2026
The period of the account move is correct: 2025-12
the period of the reporting for tax cash is 2026-01 even though the payment date is 12/31/2025
The period of the reporting should bei 2025-12
Currently the user setting is ignored and the reporting period set to the current period, “2026-01”
instead to “2025-12”
Please be so kind to confirm that we are talking about the same thing. If so, I am fine with implementing something, but I think everything is the same, only the reporting period for that tax line is different.