- Thema
- VB6
- SDK-Mitglieder
- IsKosit ZUGFeRD_Profile
- Business Terms
- BT-24 Spezifikationskennung BT-10 Referenz des Käufers BT-49 Elektronische Adresse des Käufers BT-23 Geschäftsprozesstyp
- Codebeispiele
- VB6 / VBScript (COM), Visual FoxPro
- Veröffentlicht
Kurz: Wird das Objekt über COM erzeugt – CreateObject("Aloaha_ZUGFeRD.XML") in VB6, VBA und VBScript, CreateOleObject in Delphi, CREATEOBJECT in Visual FoxPro – ist der XRechnung-Modus von Haus aus eingeschaltet. Ohne weitere Angabe entsteht also eine XRechnung, auch wenn Ihr Code isKOSIT gar nicht enthält. Für eine ZUGFeRD-Rechnung an Unternehmen setzen Sie direkt nach dem Erzeugen isKOSIT = False.
Gesucht wird das auch so: xrechnung.xml statt factur-x.xml im PDF, BR-DE-15 obwohl keine XRechnung gewollt, Leitweg-ID wird verlangt, PEPPOL-EN16931-R010 bei Rechnung an ein Unternehmen, ZUGFeRD_Profile = 1 ergibt XRechnung.
Woran Sie den XRechnung-Modus erkennen
- Im XML steht als Spezifikationskennung (BT-24)
urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0statturn:cen.eu:en16931:2017. - Die eingebettete Datei im PDF heißt
xrechnung.xml. - Die Prüfung meldet Pflichtangaben der XRechnung, zum Beispiel
BR-DE-15(Käuferreferenz bzw. Leitweg-ID, BT-10),PEPPOL-EN16931-R010(elektronische Adresse des Käufers, BT-49) oderBR-DE-2(Ansprechpartner des Verkäufers).
Lösung: isKOSIT ausdrücklich setzen
Setzen Sie die Eigenschaft direkt nach dem Erzeugen des Objekts, vor dem Profil:
// Delphi
alo := CreateOleObject('Aloaha_ZUGFeRD.XML');
alo.isKOSIT := False; // ZUGFeRD / Factur-X statt XRechnung
alo.ZUGFeRD_Profile := 1; // 1 = EN 16931 (COMFORT)
' VB6, VBA, VBScript
Set alo = CreateObject("Aloaha_ZUGFeRD.XML")
alo.isKOSIT = False
alo.ZUGFeRD_Profile = 1
&& Visual FoxPro
loAlo = CREATEOBJECT("Aloaha_ZUGFeRD.XML")
loAlo.isKOSIT = .F.
loAlo.ZUGFeRD_Profile = 1
Wir haben beide Fälle mit dem SDK geprüft: Ohne die Zeile schreibt das SDK die XRechnung-Kennung in BT-24, mit isKOSIT = False die Kennung urn:cen.eu:en16931:2017.
Wann welche Einstellung?
| Empfänger | Einstellung | Ergebnis |
|---|---|---|
| Unternehmen (B2B) | isKOSIT = False, ZUGFeRD_Profile = 1 | ZUGFeRD / Factur-X im Profil EN 16931, als XML oder im PDF/A-3 |
| Behörde (B2G) | isKOSIT = True, dazu LeitwegID, elektronische Adressen und Ansprechpartner | XRechnung (CII) |
Welches Format zu welchem Empfänger passt, steht in der Entscheidungshilfe XRechnung oder ZUGFeRD. In .NET hängt die Voreinstellung vom verwendeten Konstruktor ab; setzen Sie isKOSIT auch dort ausdrücklich, dann ist der Code eindeutig.
Die vollständigen Beispiele: Delphi, VB6 und VBA, Visual FoxPro.
Häufige Fragen
Warum entsteht eine XRechnung, obwohl ich isKOSIT nicht gesetzt habe?
Weil das über COM erzeugte Objekt (CreateObject, CreateOleObject, CREATEOBJECT) im XRechnung-Modus startet. Setzen Sie direkt nach dem Erzeugen isKOSIT = False, dann entsteht eine ZUGFeRD-Rechnung im Profil EN 16931.
Reicht ZUGFeRD_Profile = 1 nicht aus?
Nein. ZUGFeRD_Profile wählt das Profil (1 = EN 16931), isKOSIT entscheidet zwischen XRechnung und ZUGFeRD. Beide Angaben sind unabhängig voneinander.
Warum verlangt die Prüfung eine Leitweg-ID (BR-DE-15)?
BR-DE-15 ist eine Regel der XRechnung. Sie erscheint nur, wenn die Rechnung als XRechnung gekennzeichnet ist. Bei einer Rechnung an ein Unternehmen setzen Sie isKOSIT = False, dann entfällt die Regel.
Warum heißt der Anhang im PDF xrechnung.xml?
Weil das eingebettete XML eine XRechnung ist. Bei einer ZUGFeRD-/Factur-X-Rechnung heißt der Anhang factur-x.xml.