Unsere Webseiten benötigen JavaScript. Dies scheint in Ihrem Browser jedoch deaktiviert zu sein.

News & Tipps zu Microsoft Excel

Lesen Sie hier einige der besten Beiträge aus SmartTools Excel Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Excel.

Beitrag aus SmartTools Excel Weekly

So können Sie verschiedene Zahlungsarten in E-Rechnungen mit Excel verwenden

Excel 365 2024 2021 2019 2016 2013

Die meisten Rechnungen, die Sie als E-Rechnung verschicken werden wahrscheinlich per Überweisung beglichen. Aber es gibt natürlich auch Kreditkartenzahlungen und bei längerfristigen Verträgen oder wiederkehrenden Leistungen kommt als Zahlungsart auch das Lastschriftverfahren ins Spiel. Wenn Sie eine E-Rechnung ausstellen, sollten Sie auch die verwendete Zahlungsart und die zugehörigen Details angeben. Bei Überweisungen liegt das auf der Hand, denn sonst weiß ein Käufer nicht, auf welches Konto er das Geld überweisen soll. Aber auch bei Lastschriften hilft es dem Rechnungsempfänger, wenn Sie die Kontonummer, von der das Geld abgebucht wird, sowie die Mandatsreferenz und die Gläubiger-ID angeben. Und zu Kreditkartenzahlungen gehören die Kreditkartennummer und der Karteninhaber. In diesem Beitrag zeigen wir Ihnen, wie Sie die Zahlungsdetails mit Hilfe der SmartTools E-Rechnung VBA-Bibliothek für Excel in Ihre E-Rechnungen integrieren, die Sie aus Excel ausgeben.

Mit der SmartTools E-Rechnung VBA-Bibliothek für Excelerweitern Sie Ihre eigenen Rechnungsvorlagen in Excel per VBA um die Ausgabe von E-Rechnungen in jedem beliebigen Format. Unterstützt werden sowohl ZUGFeRD (alle E-Rechnung Profile inkl. Extended) als auch XRechnung (CII und UBL). Nach der automatischen Installation setzen Sie in der VBA-Entwicklungsumgebung einen Verweis auf die Bibliothek und können anschließend neue Anweisungen nutzen, um Daten aus Ihrer Rechnungstabelle auszulesen und dann als E-Rechnung auszugeben. Als Bonus erhalten Sie außerdem Zusatzfunktionen zum Einlesen und Validieren von E-Rechnungen.

Für die Angabe der Zahlungsarten konzentrieren wir uns auf die gängigsten drei Methoden:

  • SEPA-Überweisung
  • SEPA-Lastschrift
  • Kreditkartenzahlung

Andere Zahlungsarten werden selbstverständlich auch von unserer Bibliothek unterstützt. Orientieren Sie sich dann an dem weiter unten vorgestellten Programmcode, falls Sie sie benötigen.

BT-Felder für die Zahlungsarten

Je nach Zahlungsart müssen unterschiedliche BT-Felder in einer E-Rechnung befüllt werden. Damit Sie einen Überblick erhalten, haben wir die Felder in der folgenden Tabelle zusammengestellt. Die Tabelle enthält zudem die Elemente aus der "Payment"-Klasse unserer SmartTools E-Rechnungs-Bibliothek, die den BT-Feldern zugeordnet sind.

BT-Feld Beschreibung SmartTools-Element
BT-81 codiertes Zahlungsmittel PaymentMeansCode
BT-82 Zahlungsmittel (Textform) PaymentMeans

Überweisung (CreditTransfer-Objekt pro Konto)

BT-Feld Beschreibung SmartTools-Element
BT-84 IBAN .AccountId
BT-85 Kontoinhaber .AccountName
BT-86 BIC (optional) .ServiceProviderId

Kreditkartenzahlung

BT-Feld Beschreibung SmartTools-Element
BT-87 Kartennummer PaymentCard.PrimaryAccountNumber
BT-88 Karteninhaber PaymentCard.HolderName

Lastschrift

BT-Feld Beschreibung SmartTools-Element
BT-89 Mandatsreferenz DirectDebit.MandateReferenceId
BT-90 Gläubiger-ID DirectDebit.CreditorId
BT-91 IBAN (Zahlungspflichtiger) DirectDebit.DebitedAccountId

Der Einfachheit halber nehmen wir für die folgenden Beispiele an, dass Sie sämtliche Daten, die für die Zahlungsarten relevant sind, an Variablen vom Typ „String“ übergeben haben:

Name der Variablen Inhalt
strIBAN IBAN des Zahlungsempfängers (Überweisung)
strBIC optionale BIC des Empfängerkontos
strKontoinhaber Name/Inhaber des Empfängerkontos
strMandatsref Mandatsreferenz für Lastschriften
strGlaeubigerID Gläubiger-ID für Lastschriften
strIBANLast IBAN des Zahlungspflichtigen (Lastschrift)
strKartennr Kreditkartennummer
strKarteninhaber Inhaber der Kreditkarte

Auf Basis dieser Informationen können Sie nun die Zahlungsart einer E-Rechnung definieren.

SEPA-Überweisung als Zahlungsart in E-Rechnungen

Für eine SEPA-Überweisung benötigen Sie Ihre eigenen Kontoinformationen, das heißt den Namen des Kontoinhabers und die IBAN. Die Angabe der BIC ist möglich, aber nicht zwingend erforderlich. Die Besonderheit ist, dass Sie auf einer E-Rechnung auch mehrere Empfängerkonten angeben können. Deshalb werden die Kontoinformationen nicht einfach an Eigenschaften irgendeines Payment-Objekts übergeben. Sie müssen für jedes Konto (auch wenn es nur ein einziges ist) ein neues "CreditTransfer"-Objekt anlegen. Diesem Objekt weisen Sie dann die einzelnen Kontodaten zu. Und schließlich fügen Sie das "CreditTransfer"-Objekt der "Payment"-Klasse hinzu.

WICHTIG Je nach E-Rechnungsart und -profil müssen Sie unterschiedliche „CreditTransfer“-Objekte verwenden. Bei ZUGFeRD-Rechnungen im Profil EN 16931 verwenden Sie zum Beispiel den Typ

SmartTools_Invoicing_EN16931_ZUGFeRD_EN16931_CreditTransfer

bei ZUGFeRD-Rechnungen im Profil Extended ist es der Typ

SmartTools_Invoicing_EN16931_ZUGFeRD_Extended_CreditTransfer

und bei Standard-XRechnungen

SmartTools_Invoicing_EN16931_XRechnung_Standard_CreditTransfer

Um in einer ZUGFeRD-Rechnung im Profil EN 16931 eine Überweisung als Zahlungsart zu definieren, verwenden Sie insgesamt folgenden VBA-Code:

objInvoice.Payment.PaymentMeans = "Überweisung"
objInvoice.Payment.PaymentMeansCode = PaymentMeansCode_SEPA_credit_transfer
Set objAccountInfo = New _
           SmartTools_Invoicing_EN16931_ZUGFeRD_EN16931_CreditTransfer
With objAccountInfo
  .AccountName = strKontoinhaber
  .AccountId = strIBAN
  .ServiceProviderId = strBIC
End With
objInvoice.Payment.AddCreditTransfer objAccountInfo
Set objAccountInfo = Nothing

Beachten Sie, dass es in diesem Beispiel nur ein einziges Empfängerkonto gibt. Wenn Sie in Ihrer E-Rechnung mehrere Konten anbieten wollen, müssen Sie lediglich die Zeilen ab "Set objAccountInfo =" wiederholen und dabei "AccountName", "AccountId" und "ServiceProviderId" der weiteren Konten angeben.

SEPA-Lastschrift als Zahlungsart in E-Rechnungen

Beim Lastschriftverfahren kann es immer nur eindeutige Informationen zu einem Vorgang geben – eine Kontonummer des Zahlungspflichtigen, eine Mandatsreferenz und eine Gläubiger-ID. Deshalb werden sämtliche Informationen in einfache Eigenschaften einer „DirectDebit“-Klasse geschrieben.

Für eine Lastschrift-Zahlung verwenden Sie folgenden VBA-Code:

objInvoice.Payment.PaymentMeans = "Lastschrift"
objInvoice.Payment.PaymentMeansCode = PaymentMeansCode_SEPA_direct_debit
With objInvoice.Payment.DirectDebit
  .DebitedAccountId = strIBANLast
  .MandateReferenceId = strMandatsref
  .CreditorId = strGlaeubigerID
End With

Kreditkartenzahlung als Zahlungsart in E-Rechnungen

Ähnlich unkompliziert wie Lastschriften sind Kreditkartenzahlungen. Die Informationen geben Sie in Eigenschaften der „PaymentCard“-Klasse ein. Der VBA-Code dafür sieht wie folgt aus:

objInvoice.Payment.PaymentMeans = "Kartenzahlung"
objInvoice.Payment.PaymentMeansCode = PaymentMeansCode_Credit_card
With objInvoice.Payment.PaymentCard
  .HolderName = strKarteninhaber
  'in der Rechnung sollte nicht die vollständige Kreditkartennummer,
  'sondern es sollten nur die letzten 4 Ziffern erscheinen
  .PrimaryAccountNumber = "XXXX XXXX XXXX " & Right(strKartennr, 4)
End With

Im Beispielcode halten wir uns an die Sicherheitsempfehlungen für Kartenzahlungen, nach denen eine Rechnung niemals eine vollständige Kartennummer enthalten sollte. Deshalb erscheinen hier in der E-Rechnung nur die letzten vier Stellen; davor stehen X-Platzhalter für die vorausgehenden Stellen der Kartennummer.

SmartTools E-Rechnung VBA-Bibliothek für Excel zum Aktionspreis

Alle Beispiele in diesem Beitrag beziehen sich auf die SmartTools E-Rechnung VBA-Bibliothek für Excel. dem Rundum-Sorglos-Paket, das Sie brauchen, um mit E-Rechnungen in Access arbeiten. Mit wenigen Zeilen VBA-Code können Sie E-Rechnungen nicht nur erstellen und einlesen, sondern sogar validieren und anzeigen. Unterstützt werden alle Formate (ZUGFeRD / XRechnung) und Profile des E-Rechnungsstandards inklusive des komplexen Extended-Profils. Sie erwerben eine Dauerlizenz und müssen kein Abo abschließen. Die Erweiterung kann derzeit mit 50% Aktionsrabatt bestellt werden:

Klicken Sie hier, um die News & Downloads zu bewerten