Diese Dokumentation erläutert den Funktionsumfang sowie den Implementierungsprozess zum Thema „Elektronische Rechnungen für asc - web.care“. Dabei ist zu berücksichtigen, dass die individuelle Systemkonfiguration je nach Umgebung variieren kann. Es wird ein Standardansatz dargestellt, ohne Anspruch auf Vollständigkeit. Eine Haftung für die Konfiguration im Kundensystem übernehmen wir nicht. Darüber hinaus können neben der beschriebenen Systemkonfiguration weitere praktikable Lösungswege bestehen.
Für die Umsetzung der E-Rechnungslösung mit asc - web.care und InterFormNG2 werden folgende Systemvoraussetzungen benötigt:
Die Steuerung der E-Rechnung - insbesondere im Format XRechnung - erfolgt über definierte Zusatzfelder im Kundenstamm. Diese Felder müssen im DMS korrekt konfiguriert und pro Kunde gepflegt werden, um eine automatisierte und formatgerechte Verarbeitung zu gewährleisten:
Templates / Transformationen | CaretoIF | CaretoIF transformiert die care-XML in das interne InterForm-XML-Format. | |
IFtoZUGFeRD_EN16931_2.3.2 | Transformiert das InterForm-Format in das ZUGFeRD-XML-Format gemäß EN16931 Version 2.3.2. | ||
IFtoxRechnung_EN16931-CII_3.0.2 | Transformiert das InterForm-Format in das XRechnung-XML-Format. | ||
CrossIndustry | Die XRechnung wird als strukturierte XML-Datei erstellt, kann jedoch für den Anwender zusätzlich als PDF-Darstellung ausgegeben werden. Dieses PDF dient der lesbaren Ansicht der Rechnung und enthält die gleichen Rechnungsdaten wie die XML-Datei. So wird sichergestellt, dass sowohl maschinelle Verarbeitung als auch menschliche Prüfung möglich sind. | ||
Template Components | Workflow_Variablen | Die Variablen customerNo und docNo müssen vorhanden sein (z. B. bei Kostenvoranschlägen), da sonst die Einbettung der ZUGFeRD-XML fehlschlägt. | |
care_ZUGFeRD | Einbettung der ZUGFeRD-XML in die PDF | ||
Transforms | Werden zur Validierung der Formate verwendet. | ||
CaretoIF_merge_AdditionalReferencedDocument_resources_v1 und CaretoIF_merge_AdditionalReferencedDocument_v1 | Ergänzen weitere rechnungsbegründende Dateianhänge (PDF) als Base64-codierte Dateien in die E-Rechnung (im Zwischenformat). | ||
Validierungen | XSD-Validierungs-Schemata für XRechnung und ZUGFeRD | Für die formale Prüfung der E-Rechnungen werden XSD-Schemata verwendet, die die Struktur und Inhalte der XML-Dateien gemäß den Standards XRechnung und ZUGFeRD definieren. Diese Validierungen stellen sicher, dass die erzeugten Dateien den gesetzlichen und technischen Vorgaben entsprechen. | |
Validation Rules | Validierung der E-Rechnungen auf Inhalt, Format und Syntax gemäß aktuellem Standard. | ![]() Wichtig: Zur Prüfung der XRechnung auf EN16931-Konformität muss folgender Eintrag in der codedb.xml ergänzt werden: |
if (contains(/Data/Body/Salesdokument/Header/K20840T[1],'STORNO') or
contains(/Data/Body/Salesdokument/Header/K20850T[1],'STORNO') or
contains(/Data/Body/Salesdokument/Header/K20840T[1],'storno') or
contains(/Data/Body/Salesdokument/Header/K20850T[1],'storno')) then 'yes' else 'no'
if (contains(/Data/Body/Salesdokument/Header/K20820T[1],'DUPL') or
contains(/Data/Body/Salesdokument/Header/K20830T[1],'DUPL') or
contains(/Data/Body/Salesdokument/Header/K20820T[1],'dupl') or
contains(/Data/Body/Salesdokument/Header/K20830T[1],'dupl')) then 'yes' else 'no'
3 - Choice (Ergänzen / Anpassen)
Nur Rechnungen (ausgenommen Duplikate und Stornos) sollen durch den E-Rechnungs-Prozess laufen. Alles andere wird direkt über BB_Templates und BB_Output weiterverarbeitet.
/Data/Body/Salesdokument/Header/K20301W[1] !='' and $storno != 'yes' and $duplikat != 'yes'
4 - Add Multiple Workflow Variables - ZUGFeRD Metadaten
pdf.zugferd.enabled = true
pdf.zugferd.ConformanceLevel = COMFORT
pdf.zugferd.documentType = INVOICE
5 - To Sub-Workflow - e_invoice_1_WEBCARE
Damit startet der E-Rechnungs-Prozess für alle Rechnungen (XRechnung / ZUGFeRD)
6 - Named Property to Payload
Nach der Verarbeitung und Validierung der E-Rechnung wird die ursprüngliche Input-care-XML erneut als Payload definiert, um anschließend den regulären Ausgabeprozess fortzuführen. Hierzu werden die Sub-Workflows BB_Templates und BB_Output aufgerufen.
0 - Choice - Valide XRechnungen
Ausgabe bei erfolgreicher Validierung der XRechnung - Eine XRechnung wird nur dann erzeugt und versendet, wenn im definierten Verzeichnis (resources) eine gültige XML-Datei vorhanden ist. Hinweis: Falls die Validierung der XRechnung fehlschlägt, wird automatisch der Standardprozess fortgeführt und eine reguläre PDF-Rechnung an den Kunden versendet. Der zuständige Benutzer wird zusätzlich intern per E-Mail über den Validierungsfehler informiert.
$xmlFormat = 'xRechnung.CrossIndustryInvoice' and
ng:resourceExist('other','/e-invoice/OutputFormats/xRechnung/Valid/' ||
$customerNo || '_' || $docNo || '.xml')
concat('XRECHNUNG_',/Data/Body/Salesdokument/Header/K20301W[1],'_',
/Data/Body/Salesdokument/Header/K20010W[1],'_',/Data/Body/Salesdokument/Header/K20011W[1] || '.xml')
Die Ausgabesteuerung richtet sich nach der Konfiguration der bestehenden Workflows im Zusammenspiel mit den in care definierten Druckcodes und Kundeneinstellungen. Die Ausgabe erfolgt in folgender Prüf- und Reihenfolge:
Druckcode MAIL oder MAILINT
→ Es erfolgt der Versand einer PDF-Rechnung an die in care hinterlegte E-Mail-Adresse.
XRechnung in den Kundenzusatzfeldern aktiviert
→ Der Versand der XRechnung erfolgt an die definierte Empfängeradresse. Dieser erfolgt üblicherweise am Abend, um mögliche Stornos noch zu berücksichtigen.
Der User erhält sofort eine Information, dass der Versand am Abend erfolgt.
Validierung der XRechnung schlägt fehl
→ Statt der XRechnung wird eine normale PDF-Rechnung an die Adresse in MAILRG (bzw. dem Kundenstamm) gesendet.
Zusätzlich erhält der User sofort eine Benachrichtigung über den Validierungsfehler und kann ggf. rechtzeitig stornieren.
XRechnung nicht aktiviert, aber E-Mail-Adresse in MAILRG vorhanden
→ Versand einer PDF.
Falls die Validierung erfolgreich ist, enthält diese PDF ein eingebettetes ZUGFeRD-XML.
Validierung fehlschlägt bei ZUGFeRD
→ Der User wird per Mail informiert.
Es wird eine „normale“ PDF ohne XML-Anhang versendet.
Kein XRechnung und keine Mailadresse definiert
→ Die Rechnung wird physisch ausgedruckt oder über den Standard-Ausgabeprozess behandelt.
Stornos und Duplikate
→ Diese werden grundsätzlich nicht als E-Rechnung behandelt. Sie werden entweder als reguläre PDF oder in Papierform ausgegeben. Details können kundenspezifisch angepasst werden.
Archivierung
→ Erfolgt entsprechend dem Ausgabeweg:
Bei aktiver und valider XRechnung wird die XML archiviert
Andernfalls erfolgt die Ablage als ZUGFeRD-PDF oder klassische PDF.
Die Versendung von E-Rechnungen sowie die Benachrichtigung der Benutzer hängt von der konkreten Workflow-Konfiguration ab. In einem typischen Setup bei asc - web.care sind folgende Mechanismen vorgesehen:
E-Rechnungen (XRechnung oder ZUGFeRD) werden in der Regel nicht sofort, sondern zeitversetzt am Abend verschickt.
Hintergrund: So können mögliche Stornos noch vor dem Versand berücksichtigt werden.
Nach erfolgreichem oder fehlerhaftem Ablauf erhalten Benutzer automatisch Mails, z. B.:
Format | Ablageort | Beschreibung |
XRechnung | /e-invoice/OutputFormats/xRechnung/Valid/ | gültige (valide) XRechnungen |
/e-invoice/OutputFormats/xRechnung/NotValid/ | fehlerhafte (nicht valide) XRechnungen | |
ZUGFeRD | /e-invoice/OutputFormats/ZUGFeRD/Valid/ | gültige ZUGFeRD-Dateien |
/e-invoice/OutputFormats/ZUGFeRD/NotValid/ | fehlerhafte ZUGFeRD-Dateien | |
Fehlerberichte | /e-invoice/OutputFormats/Error/ | enthält XML-Dateien mit Validierungsfehlern sowie Fehlerberichte (z. B. aus Schematron-Prüfungen) |