View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001197 | Fakturama | Allgemein (General) | public | 2025-05-21 19:35 | 2026-11-08 13:39 |
| Reporter | so | Assigned To | rheydenr | ||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | assigned | Resolution | open | ||
| Platform | PC | OS | Windows | OS Version | 11 |
| Product Version | 2.1.3 | ||||
| Summary | 0001197: Falsche Rechnungs-Gesamtsumme nach Umschaltung auf Steuerfrei | ||||
| Description | Hallo, vielleicht habe ich ja auch etwas falsch konfiguriert. Aber ich kämpfe schon seit Tagen an einem Fehler mit der Steuer bei der Rechnungserstellung. | ||||
| Steps To Reproduce |
| ||||
| Tags | No tags attached. | ||||
| Attached Files | |||||
|
|
Durch Code-Analyse in Version 2.2.0 mit Hilfe von KI habe ich folgende Fehlererklärung und folgenden Korrekturvorschlag erhalten, die für mich ziemlich schlüssig klingen: Fehlerbeschreibung: Falsche Berechnung der Gesamtsumme nach Umstellung auf „Keine Steuer“ Reproduzierbares Verhalten:
Hier tritt der Fehler auf: Die neu hinzugefügten Positionen werden intern weiterhin mit dem ursprünglichen MwSt.-Satz berechnet. Dadurch enthält die Gesamtsumme weiterhin Mehrwertsteuer, obwohl das Dokument auf „Keine Steuer“ eingestellt ist. Der Wert der gesamten MwSt. in der Summenübersicht bleibt dabei auf 0. Als Workaround muss man den Steuersatz zunächst wieder auf „Mit MwSt.“ und anschließend erneut auf „Keine Steuer“ umstellen. Dadurch werden auch die nachträglich hinzugefügten Positionen korrekt umgestellt. Vermutete Ursache im Quellcode: In DocumentItemListTable.java wird beim Aufruf von setItemsNoVat() der Wert noVat für alle bereits vorhandenen Positionen gesetzt. Gleichzeitig wird der aktuelle Steuersatz in noVatReference gespeichert. Beim Hinzufügen einer neuen Position über addNewItem() wird dieser Steuerzustand jedoch nicht auf die neue Position übertragen. Die neue Position erhält deshalb zunächst noVat = false (Standardwert), obwohl das Dokument bereits auf „Keine Steuer“ eingestellt ist. Die MwSt.-Spalte in der Positionsliste zeigt aufgrund von noVatReference trotzdem weiterhin 0 % an. Die eigentliche Berechnung verwendet jedoch den Wert noVat der jeweiligen Position. Da dieser bei den neu hinzugefügten Positionen weiterhin false ist, wird bei der Berechnung der reguläre MwSt.-Satz berücksichtigt. Dadurch entsteht die Abweichung zwischen der angezeigten MwSt. von 0 und der tatsächlich in der Gesamtsumme enthaltenen Mehrwertsteuer. Lösungsvorschlag: In DocumentItemListTable.java innerhalb von addNewItem() direkt vor dem Einfügen der neuen Position den aktuellen Steuerzustand übernehmen: newItem.getDocumentItem().setNoVat(noVatReference != null); Damit erhält jede neu hinzugefügte Position denselben Steuerstatus wie die bereits vorhandenen Positionen. Die Änderung sollte zentral in addNewItem() erfolgen, damit sie unabhängig davon greift, auf welchem Weg eine Position hinzugefügt wird. Der Lösungsvorschlag wurde anhand des Quellcodes hergeleitet, ist aber noch nicht durch einen Programmlauf getestet. |
|
|
Hast Du schon die neue 2.2.1 ausprobiert? |
|
|
Laut KI ist es zumindest nicht behoben. |
|
|
Ich hab's mir nochmal angesehen. Deine Beobachtung kann ich nur teilweise nachvollziehen. Wenn ich die Combobox auf "keine Steuer" setze, dann wird die Rechnung mit 0€ MwSt. ausgewiesen. Die Gesamtsumme ist gleich der Nettosumme (plus Versand). In den einzelnen Rechnungspositionen bleibt die MwSt. rein informatorisch drin (sonst hätte man da auch gleich 0% MwSt. nehmen können). Ich finde das eigentlich halbwegs stimmig. |
|
|
|
|
|
Ich habe eine neue Rechnung angelegt. als erstes auf "keine Steuer" umgeschaltet. Einen Artikel für 25€ netto hinzugefügt. |
|
|
Ich bin heute endlich dazu gekommen mir das Problem noch einmal anzusehen. Ich bin ursprünglich zwar SW-Entwickler, hatte aber mit Java bisher noch keine Berührung und habe das deshalb mit KI-Hilfe analysiert. Auch erschlägt einen als außenstehender die Größe des Projekts. 1.) Erzeugt man eine neue Rechnung, so steht das Feld "MwSt." initial auf 19%. Beginnt man Positionen einzufügen, sind diese alle steuerbehaftet. Beim Wechsel des Feldes "MwSt." auf „Keine Steuer“ behalten die bis dahin eingegebenen Positionen intern ihren normalen MwSt.-Status. Sie werden nicht mehr auf 0% aktualisiert. Einzig die bei den Summen angezeigte MwSt. springt auf 0, die Gesamtsumme bleibt aber mit Steuer, da der interne Status noVat der einzelnen Positionen nicht aktualisiert wird. Hier der Lösungsvorschlag der KI: modelObservable.addValueChangeListener(event -> {
}); Das Binding setzt document.noVatReference bereits automatisch. Ein zusätzlicher Aufruf von document.setNoVatReference(...) ist daher nicht erforderlich. 2.) Werden nach dem Umschalten auf "keine Steuer" weitere Positionen hinzugefügt, werden diese in der 2.2.0 zwar mit 0 % angezeigt, in der 2.2.1 mit 19%, intern werden sie aber weiterhin mit 19 % berechnet. Dadurch ist der Gesamtpreis zu hoch. Hier auch die KI-Lösung: newItem.getDocumentItem().setNoVat(noVatReference != null); Es wäre super wenn Du das mal auprobieren könntest. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2025-05-21 19:35 | so | New Issue | |
| 2025-05-21 19:35 | so | File Added: 20250521_Falsche_Summe.jpg | |
| 2025-06-03 20:47 | rheydenr | Assigned To | => rheydenr |
| 2025-06-03 20:47 | rheydenr | Status | new => assigned |
| 2026-11-02 20:58 | so | Note Added: 0001680 | |
| 2026-11-03 00:24 | rheydenr | Status | assigned => feedback |
| 2026-11-03 00:24 | rheydenr | Note Added: 0001681 | |
| 2026-11-03 19:27 | so | Note Added: 0001682 | |
| 2026-11-03 19:27 | so | Status | feedback => assigned |
| 2026-11-03 23:05 | rheydenr | Note Added: 0001683 | |
| 2026-11-03 23:12 | rheydenr | Note Edited: 0001683 | |
| 2026-11-03 23:14 | rheydenr | Note Added: 0001684 | |
| 2026-11-03 23:14 | rheydenr | File Added: Screenshot 2026-11-03 231208.png | |
| 2026-11-03 23:14 | rheydenr | File Added: Screenshot 2026-11-03 231349.png | |
| 2026-11-04 23:02 | so | Note Added: 0001686 | |
| 2026-11-04 23:02 | so | File Added: Screenshot 2026-11-04 224504.png | |
| 2026-11-04 23:02 | so | File Added: Screenshot 2026-11-04 224959.png | |
| 2026-11-04 23:02 | so | File Added: Screenshot 2026-11-04 225331.png | |
| 2026-11-04 23:02 | so | File Added: Screenshot 2026-11-04 225601.png | |
| 2026-11-08 13:39 | so | Note Added: 0001687 |