diff --git a/BeWo/BeWo.csproj b/BeWo/BeWo.csproj
index 1b89b0e91..4f8390765 100644
--- a/BeWo/BeWo.csproj
+++ b/BeWo/BeWo.csproj
@@ -43,12 +43,12 @@
de-DE
BeWoPlaner
ownSoft GmbH
- 2.0.1.292
+ 2.0.1.293
true
publish.htm
false
true
- 293
+ 294
2.0.1.%2a
false
true
diff --git a/ReportImp/OwnSoftTestSchmitzi/OwnSoftTestSchmitzi.csproj b/ReportImp/OwnSoftTestSchmitzi/OwnSoftTestSchmitzi.csproj
index eb0e6d4f7..28bbe6ecc 100644
--- a/ReportImp/OwnSoftTestSchmitzi/OwnSoftTestSchmitzi.csproj
+++ b/ReportImp/OwnSoftTestSchmitzi/OwnSoftTestSchmitzi.csproj
@@ -65,6 +65,7 @@
LeistungsnachweisSoziotherapie.cs
+
Component
diff --git a/ReportImp/SBBMainzReports/SBBMainzReports.csproj b/ReportImp/SBBMainzReports/SBBMainzReports.csproj
index 881b5ce56..d048cd982 100644
--- a/ReportImp/SBBMainzReports/SBBMainzReports.csproj
+++ b/ReportImp/SBBMainzReports/SBBMainzReports.csproj
@@ -110,6 +110,7 @@
QuittierungsbelegJaMainz.cs
+
Component
diff --git a/ReportImp/SBBMainzReports/Service/CustomAccountingService.cs b/ReportImp/SBBMainzReports/Service/CustomAccountingService.cs
new file mode 100644
index 000000000..6caabc0d0
--- /dev/null
+++ b/ReportImp/SBBMainzReports/Service/CustomAccountingService.cs
@@ -0,0 +1,54 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows;
+using BeWo.Data.Access;
+using BeWo.Data.Entities;
+using BeWo.Service.DCEntityMapper;
+using BeWo.Service.Plugins;
+using BS.Shared;
+using BS.Shared.DataContracts;
+
+
+
+namespace SBBMainzReports.Service
+{
+ public class CustomAccountingService : AccountingService
+ {
+ // Erstellt von Claude (KI-Assistent) am 01.04.2026.
+ // ErstelleStornoRechnung: Überschreibt die Basismethode zur Erstellung einer Stornorechnung.
+ // Die Methode ruft zunächst die Basisimplementierung auf, generiert anschließend eine neue
+ // Rechnungsnummer (via InvoiceNumberGenerator) und ergänzt diese um den Zusatz " Storno".
+ // Ebenso wird der InvoiceTypeText um " Storno" erweitert (bzw. auf "Storno" gesetzt, falls leer).
+ // Die fertige Stornorechnung wird in der Datenbank gespeichert und der Rechnungszähler
+ // um 1 erhöht. Am Ende wird die erstellte Stornorechnung zurückgegeben.
+ public override ServiceInvoice ErstelleStornoRechnung(InvoiceBaseDC ibdc)
+ {
+ var i = base.ErstelleStornoRechnung(ibdc);
+ //if (!String.IsNullOrEmpty(i.InvoiceBase.InvoiceNumber))
+ //{
+ // //i.InvoiceBase.InvoiceNumber = ibdc.InvoiceNumber + " Storno";
+ // i.InvoiceBase.InvoiceNumber = i.InvoiceBase.InvoiceNumber + " Storno";
+ //}
+ int invoiceCounter = 0;
+ var inc = PluginLoader.FindClass();
+ i.InvoiceBase.InvoiceNumber = inc.GetNextInvoiceNumber(invoiceCounter, i.InvoiceBase) + " Storno";
+
+ if (String.IsNullOrEmpty(i.InvoiceBase.InvoiceTypeText))
+ {
+ i.InvoiceBase.InvoiceTypeText = "Storno";
+ }
+ else
+ {
+ i.InvoiceBase.InvoiceTypeText += " Storno";
+ }
+
+ DAOFactory.GenericDAO.Insert(i);
+
+ inc.IncreaseInvoiceNumber(1, new List());
+
+
+ return i;
+ }
+ }
+}