- Thema
- VB.NET
- SDK-Mitglieder
- AddPaymentMeans() AddProduct_Comfort() AddTradePaymentTerms() AddTradeTax() BuyerAddressLine1 BuyerCity BuyerCountry BuyerName BuyerPostCode CreateInvoice()
- Business Terms
- BT-1 Rechnungsnummer BT-2 Rechnungsdatum BT-5 Code für die Rechnungswährung BT-31 Umsatzsteuer-Identifikationsnummer des Verkäufers BT-81 Code für die Zahlungsart BT-20 Zahlungsbedingungen BG-25 Rechnungsposition BG-23 Umsatzsteueraufschlüsselung
- Codebeispiele
- VB.NET
- Veröffentlicht
Dieser Schnellstart zeigt den kompletten Weg zu einer E-Rechnung nach EN 16931 mit der Aloaha ZUGFeRD SDK: Objekt anlegen, Rechnungskopf, Verkäufer und Käufer, Zahlung, eine Position, Umsatzsteuer, Summen – dann das XML speichern und in ein PDF/A-3 einbetten. Das Beispiel ist eine Rechnung über 10 × 5,00 € netto zu 19 % Umsatzsteuer.
1. Objekt anlegen und Profil wählen
Dim LicenseKey As String = "IHR-LIZENZSCHLUESSEL" ' Testlizenz: info@aloaha.com
' Dezimalpunkt sicherstellen
Dim culturebackup = System.Threading.Thread.CurrentThread.CurrentCulture
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.GetCultureInfo("de-DE")
Dim alo As New Aloaha_ZUGFeRD.XML(Aloaha_ZUGFeRD.iXML.ZUGFeRDProfile.comfort, False, LicenseKey) ' Profil EN 16931 (COMFORT)
Für eine XRechnung an Behörden setzen Sie zusätzlich alo.isKOSIT = True und alo.LeitwegID. Welches Profil passt, erklärt der Profilvergleich.
2. Rechnungskopf
alo.CreateInvoice("RE-2026-0001", "Rechnung gemäß Bestellung", alo.TodayDate.Document_Date, alo.TodayDate.Document_DateFormat, , "", "EUR")
alo.InvoiceCurrencyCode = "EUR" ' BT-5
alo.Document_Type = Aloaha_ZUGFeRD.iXML.DocumentType.Invoice
3. Verkäufer und Käufer
' Verkäufer mit Umsatzsteuer-ID (BT-31)
alo.WriteSeller("Muster GmbH", "20095", "Hamburg", "Hauptstr. 1", "", "DE", "DE123456789")
alo.WriteSellerContactPerson("Erika Muster", "Vertrieb", "vertrieb@muster.de", "+49 40 123456")
alo.set_URIUniversalCommunication("rechnung@muster.de", "EM", True) ' BT-34
' Käufer
alo.BuyerName = "Kunde AG"
alo.BuyerAddressLine1 = "Marktplatz 5"
alo.BuyerPostCode = "80331"
alo.BuyerCity = "München"
alo.BuyerCountry = "DE"
alo.set_URIUniversalCommunication("einkauf@kunde.de", "EM", False) ' BT-49
4. Zahlung
alo.AddPaymentMeans(alo.PaymentMeansCode(Aloaha_ZUGFeRD.iXML.Payment_Means.SEPA_credit_transfer), "SEPA-Überweisung", "DE02120300000000202051", "Muster GmbH", "", "BYLADEM1001", "", "", False)
alo.AddTradePaymentTerms("Zahlbar innerhalb 30 Tagen netto") ' BT-20
alo.PaymentReference = "RE-2026-0001"
5. Rechnungsposition
Dim MwStKat As String = alo.VatCategoryCode(Aloaha_ZUGFeRD.iXML.VAT_Category.StandardRate)
alo.AddProduct_Comfort("1", "", "ART-100", "10.00", "C62", "Papier A4", "500 Blatt",
"", "EUR", "", "C62", False, "", "", "", "5.00", "EUR", "1.00",
"C62", "VAT", MwStKat, "19.00", "", "50.00", "EUR", "", "")
Mengeneinheiten sind fest definiert (UN/ECE Recommendation 20, z. B. C62 = Stück). Alle Parameter von AddProduct_Comfort erklärt der Artikel Der Rechnung Posten mit AddProduct_Comfort hinzufügen.
6. Umsatzsteuer und Summen
' Umsatzsteueraufschlüsselung (BG-23): 19 % auf 50,00 €
alo.AddTradeTax("9.50", "EUR", "50.00", "EUR", "VAT", MwStKat, "19.00")
' Summen (BG-22): Netto, Brutto, Zahlbetrag, Steuerbasis, Steuer
alo.WriteTotals("50.00", "59.50", "59.50", "50.00", "9.50")
7. XML speichern und in PDF/A-3 einbetten
alo.SaveXML("C:\Rechnungen\RE-2026-0001.xml")
If alo.Last_Error <> "" Then Console.WriteLine(alo.Last_Error)
' Hybride ZUGFeRD-Rechnung: XML in Ihre bestehende PDF-Rechnung einbetten
alo.MergeXMLIntoPDF("C:\Rechnungen\RE-2026-0001.xml", "C:\Rechnungen\RE-2026-0001.pdf",
"C:\Rechnungen\RE-2026-0001_zugferd.pdf", True, "", LicenseKey)
System.Threading.Thread.CurrentThread.CurrentCulture = culturebackup
Haben Sie noch kein PDF, erzeugen Sie es mit CreateDocFromXML direkt aus dem XML und einer DOCX-Vorlage – siehe ZUGFeRD-XML mit DOCX-Template zusammenführen. Ein umfangreiches Beispiel mit Rabatten und zwei Steuersätzen zeigt der Beispielcode für XRechnung.
Häufige Fragen
Funktioniert das auch mit C# oder VB6?
Ja. Die Aloaha ZUGFeRD SDK ist eine .NET-Bibliothek mit COM-Schnittstelle; dieselben Methoden stehen in C#, VB.NET, VB6/VBA und anderen COM-fähigen Sprachen zur Verfügung.
Welches Profil sollte ich verwenden?
Für die meisten B2B-Rechnungen das Profil EN 16931 (COMFORT), für Behörden die XRechnung (isKOSIT = True plus Leitweg-ID).
Wie finde ich Fehler in der erzeugten Rechnung?
Nach SaveXML enthält Last_Error eine Fehlermeldung, falls die Datei nicht erzeugt werden konnte. Zur fachlichen Prüfung validieren Sie das XML gegen die EN-16931- bzw. XRechnung-Regeln.
Business Terms in diesem Artikel: BT-1 BT-2 BT-5 BT-31 BT-81 BT-20 BG-25 BG-23 BG-22 BT-34 BT-49 BT-10