Beispiel einer einfachen ZUGFeRD XML Rechnungserstellung

Hier finden Sie ein einfaches Beispiel um eine ZUGFeRD XML Rechnung zu erstellen. Sie benoetigen mindestens die Aloaha ZUGFeRD Version 7.1.0.2

Wir haben das Beispiel nochmals hier als ASCII Datei zum herunterladen: ZUGFeRD Beispiel

Dim alo As Aloaha_ZUGFeRD.XML = Nothing
Dim ZUG As Aloaha_ZUGFeRD.iXML.ZUGFeRD = Nothing

Dim VerkaeuferName As String = “Aloaha Limited”
Dim VerkaeuferPLZ As String = “PBK1131”
Dim VerkaeuferOrt As String = “Pembroke”
Dim VerkaeuferStrasse As String = “Triq Gio Felice Inglott”
Dim VerkaeuferMwST As String = “MT08154711”

Dim KaeuferName As String = “Kunden GmbH”
Dim KaeuferPLZ As String = “33098”
Dim KaeuferOrt As String = “Paderborn”
Dim KaeuferStrasse As String = “Karlsstrasse”
Dim KaeuferMwST As String = “D47110815”

Dim LastAddedTradeItem As Aloaha_ZUGFeRD.iXML.TradeItem = Nothing
Dim LastAddedTradeItemID As Integer = 0

Try
     ‘Objekt erstellen – Bitte fordern Sie Ihren eigenen Evaluation Key von info@aloaha.com an!
     alo = New Aloaha_ZUGFeRD.XML(Aloaha_ZUGFeRD.iXML.ZUGFeRDProfile.basic, _
                                                            True, “QVCLO76VUZ2S3GI5U3XGK47K5M”)

     ‘Rechnung erstellen
     ZUG = alo.CreateInvoice(“HJW-4711”, “Rechnung gemäß Bestellung”, _
     alo.TodayDate.Document_Date, alo.TodayDate.Document_DateFormat, , , “EUR”)
     alo.Document_Name = “Rechnung”
     alo.Document_Type = Aloaha_ZUGFeRD.iXML.DocumentType.Invoice
     alo.InvoiceCurrencyCode = “EUR”

     ‘ Verkäuferdaten
     alo.WriteSeller(VerkaeuferName.TrimEnd, _
                              VerkaeuferPLZ.TrimEnd, VerkaeuferOrt.TrimEnd, _
                              VerkaeuferStrasse.TrimEnd, “Helgoland”, “MT”, VerkaeuferMwST)

     ‘ Käuferdaten
     alo.WriteBuyer(KaeuferName.TrimEnd, _
                              KaeuferPLZ.TrimEnd, KaeuferOrt.TrimEnd, _
                              KaeuferStrasse.TrimEnd, “”, “DE”, “0815”, KaeuferMwST)

     ‘ Sollten die Käuferdaten von den Daten des Rechnungsempfaengers abweichen koennen Sie den    Rechnungsempfaenger hier definieren
     alo.WriteInvoiceeTradeParty(KaeuferName.TrimEnd, KaeuferPLZ.TrimEnd, _
                                                  KaeuferOrt.TrimEnd, KaeuferStrasse.TrimEnd, “”, “DE”, “0815”, KaeuferMwST)
     ‘ Sollten die Käuferdaten von den Lieferdaten abweichen koennen Sie die Lieferdaten hier definieren
     alo.WriteShipToTradeParty(KaeuferName.TrimEnd, KaeuferPLZ.TrimEnd, _
                                                  KaeuferOrt.TrimEnd, KaeuferStrasse.TrimEnd, _
                                                  “”, “DE”, “0815”, KaeuferMwST)
     alo.AddProduct_Basic(“5”, “H87”, “12345”, “Dielen”)
     LastAddedTradeItem = alo.LastAddedTrade_Item

     ‘Besser die Preise mit angeben
     alo.AddProduct_Basic(“157”, “H87”, “12345”, “Bohlen”, “157”, “1”, “1”)

Note: Kindly read: https://www.zugferdpro.com/unitcodes-fuer-die-menge-in-zugferd-xrechnung-xinvoice/

     ‘Sie koennen das Objekt nochmals lesen, editieren und zurueckschreiben
     LastAddedTradeItem = alo.LastAddedTrade_Item
     LastAddedTradeItemID = alo.LastAddedTrade_ItemID
     LastAddedTradeItem.TradeSettlement.Monetary_Summation.LineTotalAmount.Amount =               LastAddedTradeItem.TradeAgreement.GrossPriceProductTradePrice.ChargeAmount.Amount
     LastAddedTradeItem.TradeSettlement.Monetary_Summation.LineTotalAmount.CurrencyID = LastAddedTradeItem.TradeAgreement.GrossPriceProductTradePrice.ChargeAmount.CurrencyID

     alo.ChangeTradeItem(LastAddedTradeItemID) = LastAddedTradeItem

     alo.AddTradePaymentTerms(“Zahlbar sofort und ohne Abzug”)

     alo.AddPaymentMeans(alo.PaymentMeansCode(Aloaha_ZUGFeRD.iXML.Payment_Means.DirectDebit), _
                                                                       “Sepa Direct Debit”, “iban”, “account name”, “sparkasse”, “bic”, _
                                                                      “BLZ”, “Bankname”, True, “REF A-123”, “DE98ZZZ09999999999”)

     alo.AddTradeTax(“19”, “EUR”, “100”, “EUR”, “VAT”, _
     alo.VatCategoryCode(Aloaha_ZUGFeRD.iXML.VAT_Category.StandardRate), “19.00”)

     alo.WriteTotals(100, 119, 119)

     If Not alo.SaveXML(“D:\temp\HJW.XML”) Then
          MessageBox.Show(“Fehler ” & alo.Last_Error_Code & “-” & alo.Last_Error, _
                                        Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
     End If

Catch ex As Exception
     MessageBox.Show(“Fehler: [” & ex.Message & “]”, Me.Text, _
                                   MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try