# Anwendung / Nutzung

# Arbeiten mit elektronischen Rechnungen

### Verkaufsdokumente

#### Verkaufsaufträge und Rechnungen

Verkaufsdokumente wie Aufträge und Rechnungen haben nun eine Factbox für die e-Rechnungskonformitätsprüfung erhalten. In dieser wird der User auf Folgendes hingewiesen:

- Erforderliche Pflichtfelder, die leer sind
- Validierungswarnungen
- Status der Konformität

[![image-1749194066171.png](https://docs.squeeze.one/uploads/images/gallery/2025-06/scaled-1680-/image-1749194066171.png)](https://docs.squeeze.one/uploads/images/gallery/2025-06/image-1749194066171.png)

[![image-1749194124342.png](https://docs.squeeze.one/uploads/images/gallery/2025-06/scaled-1680-/image-1749194124342.png)](https://docs.squeeze.one/uploads/images/gallery/2025-06/image-1749194124342.png)

**Häufig fehlende Felder:**

- fehlende Umsatzsteuer-Identifikationsnummern der Kunden
- Unvollständige Rechnungsadressen
- Ungültige E-Mail-Adressen
- Codes der Zahlungsarten

#### Gebuchte Verkaufsrechnungen

Sie finden in der **gebuchten Verkaufsrechnungen** Übersicht:

**Neue Felder:**

- **E-Rechnung gesendet**: Zeigt an, ob ein elektronisches Dokument gesendet wurde

**Neue Aktionen:**

{add screenshot of Gebuchte Verkaufsrechnung here}

- **DEXPRO eInvoice herunterladen**: Elektronisches Dokument herunterladen

#### Gebuchte Verkaufsgutschriften

Ähnliche Funktionalität verfügbar in den **gebuchten Verkaufsgutschriften**:

- Verfolgung des Dokumentenstatus
- Download-Aktion; der E-Mail-Versand läuft wie bei Rechnungen über die Standardaktion **E-Mail**

#### Service Rechnungen

Die elektronische Rechnungsstellung ist mit den gleichen Funktionalitäten ebenfalls auch für **Service Rechnungen** möglich.

### Dokumenttypen und -formate

Beim Herunterladen von Dokumenten können Sie wählen zwischen:

[![image-1749194324973.png](https://docs.squeeze.one/uploads/images/gallery/2025-06/scaled-1680-/image-1749194324973.png)](https://docs.squeeze.one/uploads/images/gallery/2025-06/image-1749194324973.png)

1. **XRechnung XML**: Reines XML-Format, das den deutschen Standards entspricht
2. **ZUGFeRD PDF**: Hybrid-PDF mit eingebetteten XML-Daten
3. **XRechnung XML und Standard PDF**: Beide Formate in einer ZIP-Datei

### Versenden von Dokumenten

#### Manuelles Senden

1. Öffnen Sie einen beliebigen gebuchten Verkaufsbeleg
2. Klicken Sie auf **E-Mail**, die Standardaktion von Business Central
3. Die App ergänzt die E-Mail automatisch: 
    - Hängt die E-Rechnung im Format des Sendeprofils an, wenn **eInvoice zu E-Mail-Anhängen hinzufügen** aktiviert ist
    - Verwendet die **Kontakt-E-Mail überschreiben** als Empfänger und die **CC-E-Mail-Adresse** als CC aus der Debitoreneinrichtung, sofern hinterlegt
    - Kennzeichnet den Beleg nach dem Versand als **E-Rechnung gesendet** und schließt seine Einträge in der **Belegwarteschlange**, die noch im Status Ausstehend, Fehler oder Fehlgeschlagen sind, als Gesendet ab, damit die Hintergrundverarbeitung den Beleg kein zweites Mal versendet

Welche Anhänge die App ersetzt und welche erhalten bleiben, beschreibt die Seite [eInvoice Sender Einrichtung](https://docs.squeeze.one/books/einvoice-sender-for-microsoft-dynamics-365-bc-de-de/page/einvoice-sender-einrichtung) im Abschnitt E-Rechnung im E-Mail-Versand.

#### Automatisches Verarbeiten

Das System kann Dokumente automatisch über die **Belegwarteschlange** verarbeiten:

- Belege werden bei der Buchung in eine Warteschlange gestellt
- Hintergrundverarbeitung erzeugt und versendet elektronische Dokumente
- Statusverfolgung zeigt den Bearbeitungsfortschritt

# Live-Konformitätsprüfung (Infobox)

Die Infobox **eInvoice Konformitätsprüfung** liefert Ihnen eine Live-Rückmeldung zur E-Rechnungs-Validierung, während Sie einen *nicht gebuchten* Beleg noch bearbeiten. Sie führt dieselben Konformitätsregeln aus, die auch die Versand-Pipeline verwendet, sodass Probleme bereits vor der Buchung erkannt werden statt danach - dann, wenn ihre Behebung deutlich günstiger ist.

{Screenshot von Live-Konformitätsprüfung (Infobox) hier einfügen}

## Wo sie erscheint

Die Infobox wird auf nicht gebuchten **Verkaufsbelegen** (Angebot, Auftrag, Rechnung, Gutschrift), **Servicebelegen** (Auftrag, Rechnung, Gutschrift) sowie der **Einkaufsgutschrift** angezeigt. Sie wertet neu aus, während Sie den Beleg ändern, und zeigt die aktuellen Feststellungen je Beleg an.

## Was sie anzeigt

- Ein grünes Häkchen mit "Beleg bereit für den DEXPRO eInvoice-Export!", wenn der Beleg derzeit alle Konformitätsregeln besteht.
- Eine Blockierungs-Anzeige mit einer **Liste von Feststellungen**, wenn dies nicht der Fall ist - jede Zeile zeigt den Feldnamen, den Schweregrad und die Regel-ID.

Zu jeder Feststellung kann per Drilldown direkt zum **genauen Feld** gesprungen werden, das Aufmerksamkeit erfordert, sodass Sie nicht nach dem beanstandeten Wert suchen müssen.

## Die Prüfung ein- oder ausschalten

Die Live-Prüfung wird durch den übergeordneten Schalter **Feldvalidierung aktivieren** in der eInvoice-Einrichtung aktiviert und dann je Belegbereich über drei Umschalter gesteuert:

- **Verkaufsbelege prüfen**
- **Servicebelege prüfen**
- **Einkaufsbelege prüfen**

Deaktivieren Sie einen Umschalter, wenn die Infobox Belege in diesem Bereich nicht auswerten soll.

## Buchungssperre bei Validierungsfehler

Wenn **Buchungssperre bei Validierungsfehler** aktiviert ist, werden die Konformitätsfeststellungen zum Buchungszeitpunkt erzwungen und nicht nur angezeigt. Jede Feststellung mit Schweregrad Fehler wird als **sammelbares ErrorInfo** ausgelöst, sodass der Benutzer alle blockierenden Probleme auf einmal sieht statt nacheinander. Jedes ErrorInfo trägt zwei Aktionen:

- **Zugehörigen Datensatz öffnen** - navigiert zum Datensatz/Feld, das die Feststellung verursacht hat (wird angezeigt, wenn für die Feststellung ein zugehöriger Datensatz erfasst wurde).
- **eInvoice-Einrichtung öffnen** - öffnet die eInvoice Sender Einrichtung, zum Beispiel um die Regelkonfiguration anzupassen.

<p class="callout warning">Bei aktivierter Option Buchungssperre bei Validierungsfehler kann ein Beleg mit einer Feststellung des Schweregrads Fehler erst gebucht werden, wenn die Feststellungen behoben sind. Feststellungen der Schweregrade Warnung und Information werden angezeigt, blockieren die Buchung jedoch nicht.</p>

### Prüfung des gebuchten Belegs

Die Prüfung oben beurteilt den noch nicht gebuchten Beleg, die E-Rechnung entsteht aber aus dem gebuchten. Ist **Buchungssperre bei Validierungsfehler** aktiviert, prüft die App deshalb zusätzlich die E-Rechnung, die die Buchung tatsächlich ergibt: Sobald der gebuchte Beleg existiert, die Buchung aber noch nicht festgeschrieben ist, baut sie die E-Rechnungsdaten genau wie die Versand-Pipeline aus dem gebuchten Beleg auf und führt die Rechnungsmodell-Regeln aus - zum Beispiel die BR-CO-Summenregeln und die Regeln der MwSt.-Kategorien. Bleibt eine Feststellung mit Schweregrad Fehler übrig, wird die gesamte Buchung zurückgenommen und nichts gebucht. Der Benutzer sieht **Buchung gestoppt: Die E-Rechnung würde abgelehnt** mit Regel-ID und Text jeder Feststellung sowie der Aktion **eInvoice-Einrichtung öffnen**. Lassen sich die E-Rechnungsdaten aus dem gebuchten Beleg gar nicht aufbauen, wird die Buchung ebenfalls zurückgenommen, und die Meldung nennt den Grund.

- Die Prüfung verwendet dieselben Schalter wie die Prüfung oben (**Feldvalidierung aktivieren** und den Umschalter des Belegbereichs) und erfasst nur Belege, die eine E-Rechnung ergeben. Aufträge und Reklamationen werden nur geprüft, wenn sie fakturiert werden.
- Eine Buchungsvorschau wird nie geprüft oder gestoppt.
- Während der Buchung wird der Digivoice-Dienst nicht aufgerufen; die KoSIT-Prüfung selbst läuft weiterhin später in der Versand-Pipeline.
- Muss ein Beleg trotzdem gebucht werden, etwa um eine Rechnung zu stornieren, die vor Einführung dieser Prüfung gebucht wurde, schalten Sie **Buchungssperre bei Validierungsfehler** für diese Buchung aus.

<p class="callout info">**Buchungssperre bei Validierungsfehler** ist standardmäßig ausgeschaltet. Mit den Standardeinstellungen ergibt jede gebuchte Rechnung und Gutschrift eine E-Rechnung, auch an Endverbraucher. Bevor Sie die Option einschalten, stellen Sie sicher, dass nur Belege für tatsächliche E-Rechnungsempfänger eine E-Rechnung ergeben - das steuern **Belege automatisch versenden** (eInvoice-Einrichtung sowie Debitoren- und Kreditoreneinrichtung) und **eInvoice zu Beleganhängen hinzufügen**.</p>

# Dokumenten Verwaltung

### Belegwarteschlange

Zugang über **DEXPRO eInvoice Einrichtung** → **Belegwarteschlange**

[![image-1749194373943.png](https://docs.squeeze.one/uploads/images/gallery/2025-06/scaled-1680-/image-1749194373943.png)](https://docs.squeeze.one/uploads/images/gallery/2025-06/image-1749194373943.png)

**Angezeigte Spalten:**

- **Lfd.Nr.**: Eindeutiger Bezeichner
- **XRechnung Belegart**: XRechnung-Code für den Rechnungstyp (zum Beispiel 380 Rechnung, 381 Gutschrift)
- **Quelle Tabellen Nr.**: Nummer der Tabelle, die den gebuchten Quellbeleg enthält
- **Belegnr.**: Business Central Belegnummer
- **Debitor/Kreditor Nr.**: Handelspartner
- **Status**: Aktueller Bearbeitungsstand
- **Erstellungszeitstempel**: Eintragungszeit in der Warteschlange
- **Sendeprofil**: Zu erzeugendes Format
- **Versuche**: Wie oft die Verarbeitung mit einem wiederholbaren Fehler fehlgeschlagen ist
- **Nächster Versuch am**: Wann die nächste Wiederholung fällig ist
- **Letzte Fehlerklasse**: Klasse des letzten Fehlers (Wiederholbar, Dauerhaft oder Authentifizierungsfehler)

**Verfügbare Aktionen:**

- **Ausgewählte verarbeiten**: Manuelles Auslösen der Verarbeitung für die markierten Einträge. Jeder Eintrag wird für sich verarbeitet, sodass ein Fehler in einem Eintrag die anderen nicht zurücknimmt. Am Ende zeigt eine Meldung, wie viele Einträge verarbeitet wurden und wie viele davon ohne Erfolg; der Status eines Eintrags zeigt, was schiefgegangen ist.
- **Erneut einreihen**: Stellt die markierten Einträge im Status Fehler oder Fehlgeschlagen mit neuem Wiederholungszähler auf Ausstehend zurück, sodass der nächste Lauf der Aufgabenwarteschlange sie erneut verarbeitet - zum Beispiel nachdem Sie die Daten korrigiert haben, die eine KoSIT-Ablehnung bemängelt hat. Einträge in einem anderen Status werden übersprungen.
- **Löschen**: Aus der Warteschlange entfernen

### Prozessprotokoll

Überwachung aller Systemaktivitäten über **DEXPRO eInvoice Einrichtung** → **Prozessprotokoll**

[![image-1749194418493.png](https://docs.squeeze.one/uploads/images/gallery/2025-06/scaled-1680-/image-1749194418493.png)](https://docs.squeeze.one/uploads/images/gallery/2025-06/image-1749194418493.png)

**Aufgezeichnete Informationen:**

- Zeitstempel der Verarbeitungen
- Status Erfolg/Misserfolg
- Fehlermeldungen
- Belegdetails

# Belegstatus

Die Seite **Belegstatus** (DXP eInv Document Status) zeigt den aktuellen Verarbeitungsstatus jedes Belegs, der vom eInvoice Sender aufgegriffen wurde. Jede Zeile steht für einen Beleg in der Warteschlange und spiegelt wider, an welcher Stelle der Versand-Pipeline sich dieser Beleg gerade befindet, samt eventuell aufgetretenem Fehler und dem Ziel, an das die fertige E-Rechnung gesendet wurde.

{Screenshot von Belegstatus hier einfügen}

## Informationen je Eintrag

- **Status** - der aktuelle Verarbeitungsstatus des Eintrags (siehe Lebenszyklus weiter unten).
- **Verarbeitungszeitpunkt** - wann der Eintrag zuletzt verarbeitet wurde.
- **Gesendet an** - die Empfänger-E-Mail-Adresse, an die die freigegebene E-Rechnung nach abgeschlossener Übertragung gesendet wurde (ermittelt aus der übersteuernden E-Mail, der Beleg-E-Mail oder der Debitoren-/Kreditorenkarte).
- **Fehlermeldung** - der letzte für den Eintrag gemeldete Fehler. Wird ausgefüllt, wenn der Status Fehler oder Fehlgeschlagen lautet; andernfalls leer.

## Status-Lebenszyklus

Ein Eintrag durchläuft die folgenden Zustände, während ihn die Pipeline verarbeitet:

- **Ausstehend (Pending)** - in der Warteschlange und wartet darauf, von der Aufgabenwarteschlange aufgegriffen zu werden.
- **In Verarbeitung (Processing)** - wird gerade von der Pipeline bearbeitet.
- **Validiert (Validated)** - die Prüfungen der Quelldaten sowie die Geschäfts- und Rechnungsmodell-Validierungen wurden bestanden.
- **Generiert (Generated)** - das E-Rechnungsartefakt (XML/PDF) wurde erzeugt.
- **Gesendet (Sent)** - die E-Rechnung wurde freigegeben und an den Empfänger übertragen. Ein Eintrag im Status Ausstehend, Fehler oder Fehlgeschlagen wird außerdem auf Gesendet gesetzt, wenn der Beleg außerhalb der Warteschlange über die Standardaktion **E-Mail** versendet wird; die Aufgabenwarteschlange versendet den Beleg dann kein zweites Mal.
- **Fehler (Error)** - die Verarbeitung wurde durch einen behebbaren Fehler gestoppt; der Eintrag wird gemäß dem Backoff-Zeitplan wiederholt.
- **Fehlgeschlagen (Failed)** - der Eintrag hat seine Wiederholungen aufgebraucht (oder ist auf einen dauerhaften Fehler bzw. Authentifizierungsfehler gestoßen) und wurde in den **Dead-Letter**-Zustand verschoben. Er wird nicht mehr nach dem Backoff-Zeitplan wiederholt. Ein Eintrag, der in den letzten 30 Tagen wegen seines Inhalts abgelehnt wurde (durch die Prüfungen vor der Generierung oder durch KoSIT), wird automatisch erneut eingereiht, sobald der korrigierte Beleg eine andere E-Rechnung ergibt; jeder andere fehlgeschlagene Eintrag muss manuell über **Erneut einreihen** zurückgestellt werden.

<p class="callout info">Validiert und Generiert sind Zwischenstationen innerhalb eines einzelnen Durchlaufs. Ein fehlerfreier Beleg durchläuft typischerweise Ausstehend → In Verarbeitung → Validiert → Generiert → Gesendet.</p>

## Aktionen

- **Status zurücksetzen** - setzt einen Eintrag, der in **In Verarbeitung** hängengeblieben ist, auf **Ausstehend** zurück (nur aus dem Status In Verarbeitung nutzbar). Der Wiederholungszähler wird dabei nicht zurückgesetzt - verwenden Sie dafür Erneut einreihen.
- **Erneut einreihen** - verschiebt einen Eintrag im Status **Fehler** oder **Fehlgeschlagen** zurück auf **Ausstehend**, setzt den Wiederholungszähler zurück, löscht den Fehler und zeigt eine Bestätigungsmeldung an, sodass der Eintrag beim nächsten Lauf der Aufgabenwarteschlange erneut verarbeitet wird. Verwenden Sie dies, nachdem Sie das zugrunde liegende Datenproblem behoben haben. Auf der Seite der Belegwarteschlange steht dieselbe Aktion für mehrere markierte Einträge gleichzeitig zur Verfügung.
- **Diagnosepaket herunterladen** - fasst den Status, den Wiederholungsstatus, die Artefakt-Metadaten (Hashwerte, nicht den Inhalt) und die letzten Zeilen des Prozessprotokolls zur Fehlerbehebung in einer Textdatei zusammen.
- **Prozessprotokoll anzeigen** - öffnet das Prozessprotokoll des Eintrags und zeigt die schrittweise Nachverfolgung des Austauschs mit dem Digivoice-System.
- **Validierungsergebnisse anzeigen** - öffnet die gespeicherten [Validierungsergebnisse](https://docs.squeeze.one/books/einvoice-sender-for-microsoft-dynamics-365-bc-de-de/page/validierungsergebnisse) aus dem letzten Validierungslauf.
- **KoSIT-Bericht anzeigen** / **KoSIT-Bericht herunterladen** - öffnet den offiziellen [KoSIT-Bericht](https://docs.squeeze.one/books/einvoice-sender-for-microsoft-dynamics-365-bc-de-de/page/kosit-bericht) im Viewer oder lädt ihn als Datei herunter.

<p class="callout warning">Ein Eintrag im Status **Fehlgeschlagen** ist ein Dead-Letter. Von selbst werden nur inhaltliche Ablehnungen der letzten 30 Tage erneut aufgegriffen, und zwar erst, wenn der Beleg eine andere E-Rechnung ergibt; ist der automatische Versand aktiviert, wird ein solcher Eintrag noch im selben Lauf der Aufgabenwarteschlange an den Empfänger gesendet. Jeder andere fehlgeschlagene Eintrag bleibt unverändert liegen, bis jemand die Ursache behebt und **Erneut einreihen** verwendet.</p>

# KoSIT-Bericht

Der **KoSIT-Bericht**-Viewer (DXP eInv KoSIT Report Viewer) zeigt den offiziellen KoSIT-*Prüfbericht* (Validierungsbericht) für eine generierte E-Rechnung direkt in Business Central an.

## Was ist KoSIT?

KoSIT (Koordinierungsstelle für IT-Standards) ist die für den XRechnung-Standard zuständige Stelle der öffentlichen Verwaltung in Deutschland. Sie veröffentlicht den offiziellen Validator, der prüft, ob eine E-Rechnung XRechnung-konform ist. Wenn die App einen Beleg vorab validiert, prüft sie ihn gegen diesen offiziellen Validator; der Validator liefert einen *Prüfbericht* zurück - den maßgeblichen Validierungsbericht, der genau beschreibt, welche Regeln bestanden und welche nicht bestanden wurden.

## Der Viewer

Der KoSIT-Bericht wird als HTML-Dokument erzeugt. Der Viewer stellt dieses HTML in einem **WebPageViewer**-Steuerelement dar, sodass Sie den offiziellen Bericht - mit seiner gesamten Formatierung, den Regelverweisen und den Bestanden/Nicht-bestanden-Details - lesen können, ohne Business Central zu verlassen.

{Screenshot von KoSIT-Bericht hier einfügen}

## Aktion

- **Bericht herunterladen** - speichert den KoSIT-Bericht in einer Datei, sodass er archiviert oder weitergeleitet werden kann (zum Beispiel als Validierungsnachweis).

<p class="callout info">Sie können den KoSIT-Bericht für einen Eintrag über die Seite [Belegstatus](https://docs.squeeze.one/books/einvoice-sender-for-microsoft-dynamics-365-bc-de-de/page/belegstatus) oder über die Seite [Artefakte](https://docs.squeeze.one/books/einvoice-sender-for-microsoft-dynamics-365-bc-de-de/page/artefakte-gobd-revisionshistorie) per **KoSIT-Bericht anzeigen** öffnen.</p>

# Validierungsergebnisse

Die Seite **Validierungsergebnisse** (DXP eInv Validation Result) zeigt die schreibgeschützten, gespeicherten Feststellungen des letzten Validierungslaufs für einen Beleg. Immer wenn die Pipeline (oder die Live-Konformitätsprüfung) einen Beleg validiert, wird hier jede Regel gespeichert, die etwas gemeldet hat, sodass sie im Nachhinein überprüft werden kann - Sie sehen das aufgezeichnete Ergebnis und führen die Validierung nicht erneut aus.

{Screenshot von Validierungsergebnisse hier einfügen}

## Felder

- **Regel-ID** - die Kennung der Regel, die die Feststellung erzeugt hat (zum Beispiel eine offizielle BR-CO-/BR-DE-Regel oder eine app-spezifische VAL-\*-Regel).
- **Schweregrad** - **Fehler**, **Warnung** oder **Information**. Fehler blockieren Generierung und Übertragung; Warnungen und Informationen tun dies nicht.
- **Feldbezeichnung** - die Bezeichnung des Feldes, auf das sich die Feststellung bezieht, damit Sie genau wissen, worauf zu achten ist.
- **Behebung** - ein kurzer, umsetzbarer Hinweis, der das Problem beschreibt und erläutert, wie es in Business Central zu lösen ist.

<p class="callout info">Die Stufe, in der eine Regel ausgeführt wird (Quelldaten, Geschäftsvalidierung oder Rechnungsmodell), wird auf der Seite [Regel-Einrichtung](https://docs.squeeze.one/books/einvoice-sender-for-microsoft-dynamics-365-bc-de-de/page/regel-einrichtung) konfiguriert und nicht hier als Spalte angezeigt.</p>

## Drilldown

Zu jeder Feststellung kann per Drilldown der zugehörige Datensatz geöffnet werden - der Quellbeleg oder der konkrete Datensatz, der den beanstandeten Wert trägt -, sodass Sie die Daten direkt aus der Feststellung heraus korrigieren können.

<p class="callout info">Diese Feststellungen werden aus dem letzten Lauf gespeichert. Nachdem Sie die Daten korrigiert haben, führen Sie die Validierung erneut aus (oder reihen den Beleg über die Seite [Belegstatus](https://docs.squeeze.one/books/einvoice-sender-for-microsoft-dynamics-365-bc-de-de/page/belegstatus) erneut ein), um sie zu aktualisieren.</p>

# Erweiterbarkeit (für Entwickler)

Der eInvoice Sender ist um eine kleine Menge von AL-Schnittstellen herum aufgebaut, sodass Partner und Kunden ihn erweitern können - Unterstützung für neue Belegarten hinzufügen, einen anderen Reader einbinden oder eigene Validierungsregeln ergänzen -, ohne die Basis-App zu verändern. Diese Seite richtet sich an **Entwickler**.

## Schnittstelle 1 - DXP eInv Doc Exporter

Implementieren Sie **DXP eInv Doc Exporter**, um die Export-Payload für eine bestimmte Belegart zu erstellen. Sie besitzt eine einzige Methode, `CreateDocument(DocHeader: Variant): JsonObject` - sie wandelt eine Art von Business-Central-Beleg in die JSON-Payload um, die die Pipeline serialisiert und an die Generierung sendet.

Implementierungen werden über das erweiterbare Enum **Export Document** gebunden: Fügen Sie einen Wert für Ihre Belegart hinzu und verweisen Sie ihn auf Ihre implementierende Codeunit. Die Pipeline wählt den Exporter durch Auflösen dieses Enums aus, sodass das Registrieren eines neuen Exporters lediglich eine Erweiterung des Enums ist.

## Schnittstelle 2 - DXP eInv Doc Reader V2

Implementieren Sie **DXP eInv Doc Reader V2**, um einen Reader über die CIM-Darstellung (Common Information Model) eines Belegs bereitzustellen - seine Methode `ReadDocument` füllt die CIM-Puffer (Beleg, Partei, Zeile, Zu-/Abschlag, Zahlung, Anhang), sodass Regeln und Generierung die Daten einheitlich verarbeiten können.

<p class="callout info">Das Enum **Export Document** bindet *beide* Schnittstellen: jeder Enum-Wert verweist auf einen Exporter und einen Reader für diese Belegart. Wenn Sie eine neue Belegart hinzufügen, stellen Sie beide bereit.</p>

## Schnittstelle 3 - DXP eInv IValidation Rule

Implementieren Sie **DXP eInv IValidation Rule**, um Validierungsregeln hinzuzufügen. Sie besitzt zwei Methoden: `Evaluate` (führt die Prüfung aus und hängt Feststellungen an) und `GetMetadata` (liefert Kategorie, Standard-Schweregrad, Stufe, Beschreibung und Behebungshinweis der Regel zurück - was die Regel-Einrichtung befüllt). Eine einzige Codeunit kann anhand der Regel-ID verzweigen und viele Regeln bedienen, sodass das Budget für Objekt-IDs eingehalten wird.

Regeln werden über das erweiterbare Enum **Validation Rule** gebunden, das einen dedizierten Erweiterungspunkt **CUSTOM** für kunden- und partnereigene Regeln bereitstellt. Fügen Sie einen an Ihre implementierende Codeunit gebundenen Enum-Wert hinzu, und die Regel nimmt wie jede eingebaute Regel an der Validierung teil - sie erscheint in der [Regel-Einrichtung](https://docs.squeeze.one/books/einvoice-sender-for-microsoft-dynamics-365-bc-de-de/page/regel-einrichtung), wo ihr Aktiviert-Kennzeichen, ihre Schweregrad-Übersteuerung und ihre Stufe konfiguriert werden können.

## Das Ereignis OnCollectValidationRules

Die App veröffentlicht das Integrationsereignis **OnCollectValidationRules**. Abonnieren Sie es, um Ihre Regelimplementierungen zur Laufzeit bei der Validierungs-Engine zu registrieren. Dies ist der Einhängepunkt, über den eine erweiternde App Regeln zu der Sammlung beisteuert, die sowohl die Pipeline als auch die Live-Konformitätsprüfung verwenden.

<p class="callout info">Zusammen decken diese drei Schnittstellen plus das Integrationsereignis die wichtigsten Erweiterungsszenarien ab: neue Belegart (Doc Exporter + Enum Export Document), benutzerdefiniertes Modell-Lesen (Doc Reader V2) und benutzerdefinierte Validierung (IValidation Rule + Enum Validation Rule, registriert über OnCollectValidationRules).</p>