X Rechnung
Anleitung für die Konfiguration der X-Rechnung Export Funktionalität
Vorab Klärung
Die X-Rechnung, welche mit 01.01.2025 verpflichten ist, wird von mx.ERP ab der Version 5.27.x.x unterstützt. Somit ist ein Upgrade auf die mx.ERP Version >= 5.27.x.x verpflichtend
Bei Neukunden oder Bestandskunden die noch keine X Rechnung aktiviert haben müssen folgende folgende Fragen beantworten.
Sollen die Rechnungen per Mail versendet werden, oder im Filesystem abgelegt werden?
Wenn die Rechnungen per Mail versandt werden, wie lautet die Absender-E-Mail-Adresse?
In welchem Format sollen die Rechnungen zur Verfügung gestellt werden? Folgende Möglichkeiten gibt es:
PDF-Rechnung mit inkludiertem XML (dies ist eine PDF-Rechnung wie sie es bisher gewohnt waren und wo die XML-Datei integriert ist)
Rechnung im XML-Format (dies ist eine maschinenlesbare Datei im XML-Format welche für Endkunden nicht lesbar ist)
Wie oft sollen die Rechnungen erstellt/versendet werden?
Haben Sie Kunden im behördlichen oder öffentlichen Bereich? Wenn JA dann muss, hier eine Leitweg-ID von den Kunden angefordert werden
Welches Paket wird benötigt. Hier bieten wir 3 unterschiedliche Pakte an mit 50, 500 und 5000 Rechnungen pro Monat
(Kunden deren Standort nicht in Deutschland ist benötigen derzeit nur den Export)

Nachdem diese Fragen geklärt sind bitte von der Projekleitung das Angebot erstellen lassen. Sobald der Auftrag da ist kann die Lizenz von ZugFerd beim Kunden eingespielt und die Konfiguration kann umgesetzt werden.
Konfiguration
1. Absenderadresse
Die Absenderadresse wird aus den SMTP-Einstellungen, sofern welche bei den Grundlagenmanager eingestellt sind, verwendet.

Sollte hier keine konfiguriert sein muss eine bei der Funktion „Dynamische Werteübersetzer“ eingestellt werden
Achtung: Die E-Mail-Adresse muss unter doppelte Hochkomma gestellt werde, z.B.: “andre.supper@iptor.com“

2. X Rechnung Format EU
Nachdem das Format X-Rechnung in der EU gültig ist, es aber 2 unterschiedlichen Spezifikationen gibt, einmal X-Rechnung 2.0 und einmal Factura X, muss hier für Kunden und Firmen die einmalige Konfiguration im „Dynamischen Werteübersetzer“ gemacht werden damit die in Deutschland gängige Version verwendet wird.

Folgende Werte müssen hier konfiguriert werden.
Aktiv: JA
Import/Export: EXPORT
Dokumententyp: Zugferd
Sektion: CrossIndustryInvoice.ExchangedDocumentContext.GuidelineSpecifiedDocumentContextParameter[0].ID
Key: Value
Wert: urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0
3. Verkäuferdaten
Die Verkäuferdaten werden aus den OE-Einstellungen gelesen. Sollte bei der OE eine Kundennummern hinterlegt sein, werden die Daten des Kundenstammeintrages von der Kundennummer welcher in der OE hinterlegt ist, verwendet.
Sollte keiner dieser Daten als Verkäuferdaten verwendet werden, ist es ebenfalls mittels Dynamischen Werteübersetzer hier Verkäuferdaten zu konfigurieren.
Aktiv: JA
Import/Export: EXPORT
Dokumententyp: Zugferd
<SEKTION>CrossIndustryInvoice.SupplyChainTradeTransaction.ApplicableHeaderTradeAgreement.SellerTradeParty.PostalTradeAddress.PostcodeCode</SEKTION>
<NAME>Value</NAME>
<WERT>@ExecuteScalar("select plz from kunden where nummer=208805")</WERT>
DIe Nummer vom Kunden ist vom Kunden welcher extrag angelegt werden muss.
4. Mengeneinheiten
Bei den Mengeneinheiten ist ein zusätzliches Feld, welches nun konfiguriert werden muss. Dies muss bei jeder neuen Mengeneinheit auch gemacht werden.

Die Werte für die Konfiguration sind in der inkludierten Excel Datei zu finden.
Die Suche in der Datei erfolgt im Tab „Annex II & Annex III“ in der Spalte „C. Bitte beachten sie, dass hier die die Mengeneinheiten in englischer Sprache angeführt sind.
5. Einstellungen bei den Kunden
Die Konfiguration erfolgt im Kundenstamm unter "Sonderfunktionen → Edifact Einstellungen → Rechnungen".
Wichtig: Falls bei dem Kunden eine eInvoice Adresse hinterlegt wird, wird ebenso eine mail an die eInvoice Adresse geschickt, zusätzlich zu dem konfigurierten Ziel.

Elektronischer Export muss aktiviert sein.
Die Schnittstelle "Zugferd" muss ausgewählt sein.
Format:
"Zugferd-XML" → es wird nur ein XML erstellt. Dies ist eine maschinenlesbare Datei, welche ein Endkunde nicht lesen kann.
"Zugferd-PDF" → es wird ein Rechnungs PDF erstellt und das XML als Anhang dem PDF-Dokument hinzugefügt. Dies wird das gängigste Format sein.
Übertragungsart:
E-Mail: Das gewählte Format wird an die Eingetragene Adresse verschickt.
File: Das File wird in dem entsprechenden Ordner erstellt.
Export-Warteschlange verwenden muss aktiviert sein, da ansonsten die Rechnungen direkt versendet werden (wenn "Systemeinstellung oder vererbt", wird die Grundlageneinstellung verwendet).
6. Leitweg ID
Wenn der Rechnungsempfänger eine deutsche Behörde ist oder eine öffentliche Verwaltung, dann muss eine Leitweg-ID konfiguriert werden.
Die Leitweg ID ist die eindeutige Identifikation des Rechnungsempfängers und muss beim Kundenstamm hinzugefügt werden.
Bitte öffnen sie im Kundenstamm unter Sonderfunktionen die Option „Kundenprofilierung“

In der Toolbar auf das Symbol "Profilierungskriterien" klicken

Bitte legen sie im Fenster "Profilierungskriterien" das Kriterium "LEITWEG_ID" vom Typ "Text" an und "Speichern" sie die Neuanlage mit den „Speicher“ Button

Danach konfigurieren sie für das jeweilige Amt oder Behörde die Leitweg ID welche sie vom Amt und/oder Behörde bekommen

Der Aufbau der Leitweg ID ist auf Basis folgenden Richtlinien vorgegeben.
7. Export Warteschlange
Sollte dieser Geschäftsprozess noch nicht erstellt sein, dann muss dieser Geschäftsprozess erstellt und die Benutzerzuordnungen konfiguriert werden.

8. Erstellung einer X Rechnung
Wenn sie den Kunden entsprechend konfiguriert, haben dann wird bei der Erstellung folgendes Druckprofil verwenden.
Sie bekommen beim Druck folgende Meldung.

Im Geschäftsprozess „Warteschlange“ können sie dann mittels den „Refresh“ Button die X-Rechnungen reinladen und prüfen.
Hier besteht die Möglichkeit die Rechnung zu prüfen, zu ändern und neu zu erstellen und für den Export freizugeben.
Mit einem Doppelklick auf die Rechnungsnummer können sie die Rechnung im ihren möglichen Geschäftsprozessen öffnen und bearbeiten
Nun können sie die Rechnung exportieren, indem sie mittels der rechten Maustaste „Exportieren“ auswählen.

Ebenso sind “Vorschau, Freigabe“ und weitere Standardoptionen möglich.
Wenn sie auf „Exportieren“ klicken, kommt noch folgende Sicherheitsabfrage.

Sollte die Rechnung noch nicht freigegeben worden sein, kommt folgende Meldung.

Bei Bestätigung wird der Export durchgeführt und es wird eine Logdatei angezeigt, welche die Informationen enthält, wie viele Rechnungen in diesen Lauf waren, wie viele Erfolgreich waren, wie viele Rechnungen fehlgeschlagen sind und die Rechnungsnummern die erfolgreich exportiert wurden.

Abhängig von den Einstellungen bei der Übertragungsart wird entweder die X Rechung per E-Mail versendet oder im konfigurierten Verzeichnis abgelegt.
Beispiel bei Fileablage:

9. Beispiel einer Rechnung in PDF Format welches die XML inkludiert hat.

Auf der Rechnung findet sich im oberen linken Eck ein blauer Pin.
Wird hier auf diesen Pin doppelt geklickt, öffnet sich die maschinenlesbare Datei.

10. Fehlerfall bei Upload in ein Portal oder zu einem Kunden
Sollte ein Fehler beim Upload oder beim Importieren bei einem Kunden ein Fehler auftreten, muss der Portalbetreiber oder Kunde eine genaue Fehlerbeschreibung zur Verfügung stellen.
Es könnten zusätzliche Informationen in der maschinenlesbaren Datei benötigt werden, die nicht den Standard entsprechen. Sollte dies der Fall sein prüfen wir ob es wir die Daten mit den „Dynamischen Werteübersetzer“ hinzufügen können oder ob es sich hier um einen Zusatzwunsch handelt welcher erst angeboten werden muss.
11. Konfigurations-SQL
Mit diesem Statement werden alle Edifact Einstellungen gemacht für Kunden. Die Selects sind immer Prüfungsstatements.
select nummer from kunden k where not exists (select '' from kunden_edifact where kundennummer = k.nummer ) and land in ('D','DE') and aktiv=1;
insert into kunden_edifact (kundennummer,invoice,desadv,insdes,umr_faktor_re,crednote,gln_hauptkunde,einvoice_mit_lsanhang,desadv_trackingurl,einvoice_mit_abanhang,pdf_version,deliverynote_pdf,deliverynote_approval,edifact_schema,noemailaviso,notelephonicalaviso,buyer_auftrag,imp_ab_artikel_bestimmung,adhoc_anf_mit_preise,adhoc_ab_mit_preise)
select k.nummer,0,0,0,0,0,0,0,0,0,'PDF11',0,0,'Default',0,0,0,0,0,0 from kunden
k where not exists (select '' from kunden_edifact where kundennummer = k.nummer ) and land in ('D','DE') and aktiv=1;
select nummer from kunden where land in ('D','DE') and EINVOICE_EMAIL is not null and aktiv=1;
update kunden_edifact set exp_re_aktiv = 1, pdf_version = 'PDF11', exp_re_warteschlange = 1, exp_re_interface_typ = 'Zugferd', exp_re_dok_format ='Zugferd-PDF',exp_re_transferart = 'EMail', exp_re_zielordner =
(select EINVOICE_EMAIL from kunden where land in ('D','DE') and nummer = kunden_edifact.kundennummer and EINVOICE_EMAIL is not null and aktiv=1)
where kundennummer in (select nummer from kunden where land in ('D','DE') and EINVOICE_EMAIL is not null and aktiv=1);
update kunden_edifact set exp_re_aktiv = 0, pdf_version = 'PDF11', exp_re_warteschlange = 1, exp_re_interface_typ = 'Zugferd', exp_re_dok_format ='Zugferd-PDF',exp_re_transferart = 'EMail'
where kundennummer in (select nummer from kunden where land in ('D','DE') and aktiv=1 and EINVOICE_EMAIL is null);
select nummer from kunden where land in ('D','DE') and aktiv=1;
Mit diesen Statement wird die EINVOICE_EMAIL auf null gesetzt, ansonsten würde die Rechnung doppelt versendet werden.
update kunden set EINVOICE_EMAIL=null where land in ('D','DE') and aktiv=1;