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

News & Tipps zu Microsoft Access

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

Beitrag aus SmartTools Access Weekly

So erstellen Sie Teil- und Abschlagsrechnungen als E-Rechnung aus Access, Teil 1

Access 365 2024 2021 2019 2016 2013 2010

Große Aufträge rechnen Sie selten in einem Stück ab. Im Bau, im Anlagenbau oder bei umfangreichen Projekten sind Abschläge nach Baufortschritt üblich, und am Ende steht eine Schlussrechnung über den gesamten Auftrag. Als E-Rechnung sind die Teil- und Abschlagsrechnungen schnell erstellt: Sie unterscheiden sich kaum von einer normalen Rechnung. Heikel wird es erst bei der Schlussrechnung. Sie soll den vollen Auftragswert zeigen und gleichzeitig die bereits gezahlten Abschläge berücksichtigen. Erstellen Sie sie so, wie Sie es von Papier- oder PDF-Rechnungen gewohnt sind, geht aus der E-Rechnung nicht hervor, dass Sie einen Teil der Umsatzsteuer schon mit den Abschlägen ausgewiesen haben – im schlimmsten Fall zahlen Sie diese Steuer doppelt. In diesem ersten Teil unserer dreiteiligen Reihe zeigen wir Ihnen, wie Sie Teilrechnungen mit SmartTools E-Rechnung für Access richtig erstellen, wo genau das Problem mit der Schlussrechnung liegt und welche Lösungswege es gibt.

SmartTools E-Rechnung für Access ist das Komplettpaket, mit dem Sie in Ihren Datenbanken E-Rechnungen erstellen, einlesen, anzeigen und validieren. Unterstützt werden ZUGFeRD in allen Profilen einschließlich Extended sowie XRechnung in den Syntaxen CII und UBL. Nach der automatischen Installation setzen Sie in der VBA-Entwicklungsumgebung einen Verweis auf unsere Komponente und kommen danach mit wenigen Anweisungen aus. Ihr Rechnungsformular und Ihr Bericht bleiben, wie sie sind.

Unsere kleine Reihe besteht aus drei Teilen: In diesem Beitrag geht es um die Grundlagen und die Teilrechnungen. Teil 2 zeigt die vollständige Lösung für Schlussrechnungen mit ZUGFeRD im Profil "Extended", Teil 3 die Lösungen für XRechnungen und die übrigen ZUGFeRD-Profile.

Die passende Rechnungsart

Ob eine E-Rechnung eine Teil- oder eine Schlussrechnung ist, legen Sie über die Rechnungsart fest (BT-3). Für die meisten Unternehmen genügen zwei Codes. Für das Baugewerbe gibt es zusätzlich eigene Rechnungsarten, die Abschläge und Teilschlussrechnungen genauer unterscheiden:

Code 326 (Teilrechnung) - Teil- oder Abschlagsrechnung

DocumentTypeCode_Partial_invoice

Code 380 (Handelsrechnung)- Schlussrechnung (und jede gewöhnliche Rechnung)

DocumentTypeCode_Commercial_invoice

Code 875 (Abschlagsrechnung Bau) - Abschlag ohne konkrete Leistungsbeschreibung

DocumentTypeCode_Partial_construction_invoice

Code 876 (Teilschlussrechnung Bau) - abgeschlossene Teilleistung mit Leistungsangaben

DocumentTypeCode_Partial_final_construction_invoice

Code 877 (Schlussrechnung Bau) - Schlussrechnung im Baugewerbe

DocumentTypeCode_Final_construction_invoice

Alle fünf Rechnungsarten sind auch in XRechnungen zulässig. Klären Sie mit Ihrem Auftraggeber, ob er die Bau-Codes erwartet; ansonsten sind Sie mit 326 und 380 auf der sicheren Seite.

So erstellen Sie eine Teilrechnung

Eine Teil- oder Abschlagsrechnung erstellen Sie genauso wie jede andere E-Rechnung aus Access. Der einzige Unterschied ist die Rechnungsart. Für die folgenden Beispiele nehmen wir an, dass Sie einen Auftrag über 500.000 € netto mit einem ersten Abschlag über 100.000 € netto abrechnen. Der Einfachheit halber stehen Ihnen dafür diese Variablen zur Verfügung:

Name der Variablen Datentyp Inhalt
dblAbschlag Double Nettobetrag des Abschlags
strVertragNr String Nummer des zugrunde liegenden Vertrags
dblAbschlag = 100000
strVertragNr = "V-2026-117"

Am besten fügen Sie den folgenden Code dort ein, wo Sie bisher Rechnungsart und Positionen zuweisen. Wir zeigen ihn am Beispiel einer XRechnung:

'Rechnungsart: Teilrechnung (Code 326)
objInvoice.TypeCode = DocumentTypeCode_Partial_invoice

'eine Position über den fälligen Abschlag
Set objInvoiceLine = New _
    SmartTools_Invoicing_EN16931_XRechnung_Standard_InvoiceLine
With objInvoiceLine
  .Id = "1"
  .Item.Name = "1. Abschlag gemäß Vertrag " & strVertragNr
  .InvoicedQuantity = 1
  .InvoicedQuantityUnitCode = UnitCode_C62
  .Item.PriceDetails.NetAmount = dblAbschlag
  .NetAmount = dblAbschlag
  .Vat.CategoryCode = DutyOrTaxOrFeeCategoryCode_S
  .Vat.Rate = 19
End With
objInvoice.AddLine objInvoiceLine
Set objInvoiceLine = Nothing

'Umsatzsteuer und Rechnungssummen berechnen lassen
objInvoice.UpdateVatBreakdown
objInvoice.UpdateTotals

Beträge übergeben Sie dabei einfach als Zahl. Die Bibliothek wandelt sie mit dem Dezimaltrennzeichen Ihrer Ländereinstellung um, die sie beim Initialisieren mit "CoreSettings.Init" übernimmt – das erledigt die Lizenzprüfung der Beispieldatenbank bereits für Sie.

Rechnen Sie dagegen bereits erbrachte Teilleistungen einzeln ab, übernehmen Sie wie gewohnt die einzelnen Positionen aus Ihrer Datenbank. Entscheidend ist: Die Teilrechnung enthält nur das, was jetzt fällig ist.

WICHTIG Tragen Sie in einer Teilrechnung nicht den gesamten Auftragswert ein, um davon den nicht fälligen Rest als Rabatt abzuziehen. Zu- und Abschläge sind in der E-Rechnung für echte Preisänderungen gedacht. Ein solcher "Rabatt" verfälscht die Rechnungssummen und führt beim Empfänger zu falschen Buchungen.

Möchten Sie den Anteil am Gesamtauftrag oder den Bezug zum Vertrag zusätzlich festhalten, schreiben Sie ihn in einen Freitext (BT-22):

Set objNote = New _
    SmartTools_Invoicing_EN16931_XRechnung_Standard_InvoiceNote
objNote.Content = "1. Abschlagsrechnung: 20 % der Auftragssumme " & _
                  "gemäß Vertrag " & strVertragNr
objInvoice.AddNote objNote
Set objNote = Nothing

Wohin mit der Bezeichnung "1. Abschlagsrechnung"?

Auf Papier bzw. in der PDF steht über einer Abschlagsrechnung oft eine Überschrift wie "1. Abschlagsrechnung". Ein eigenes Feld für einen solchen Rechnungstitel gibt es in den Standard-E-Rechnungen nicht – weder in XRechnungen noch in ZUGFeRD-Rechnungen im Profil "EN 16931". Dort übernimmt die Rechnungsart 326 die Aufgabe, und die Bezeichnung schreiben Sie wie oben gezeigt in den Freitext. Nur das ZUGFeRD-Profil "Extended" bietet ein zusätzliches Feld für eine Bezeichnung des Dokuments; in unserer Bibliothek ist das die Eigenschaft "Description" des Rechnungsobjekts.

Warum die Schlussrechnung schwierig ist

Die Schlussrechnung weist den gesamten Auftragswert aus und zieht die bereits gezahlten Abschläge ab. Das Umsatzsteuergesetz schreibt vor, dass Sie in einer solchen Endrechnung die vereinnahmten Teilentgelte und die darauf entfallende Umsatzsteuer absetzen (§ 14 Abs. 5 Satz 2 UStG). Die Norm EN 16931 sieht dafür aber nur zwei Angaben vor: den bereits gezahlten Betrag (BT-113) und die Nummer der vorausgegangenen Rechnung (BT-25). Ein Feld für die Umsatzsteuer, die in den Abschlägen enthalten war, gibt es nicht.

Ein Beispiel macht das Problem deutlich. Sie haben Leistungen über 500.000 € netto erbracht, die mit 19 Prozent versteuert werden. Zuvor haben Sie zwei Abschlagsrechnungen über zusammen 300.000 € netto gestellt, also 357.000 € brutto. Mit den Standardfeldern sieht die Schlussrechnung so aus:

Angabe BT-Feld Betrag
Netto-Gesamtbetrag BT-109 500.000,00 €
19 % Umsatzsteuer BT-110 95.000,00 €
Brutto-Gesamtbetrag BT-112 595.000,00 €
bereits gezahlt (brutto) BT-113 357.000,00 €
fälliger Betrag BT-115 238.000,00 €

Der fällige Betrag stimmt. Ausgewiesen ist aber eine Umsatzsteuer von 95.000 €. Dass davon 57.000 € bereits in den Abschlagsrechnungen enthalten waren und mit der Schlussrechnung nur noch 38.000 € anfallen, geht aus der E-Rechnung nicht hervor. Wer die Rechnung so stellt, weist die Steuer aus den Abschlägen ein zweites Mal aus – und schuldet sie unter Umständen auch ein zweites Mal.

Was nicht funktioniert

Eine naheliegende Idee, die uns im Support häufig begegnet: Man zieht die Abschläge in der Schlussrechnung als negative Positionen oder als Rabatt ab, jeweils mit eigenem Steuerbetrag. Davon raten wir ab. Positionen mit negativem Preis lehnt die Validierung ab (Regel BR-27). Aber auch eine negative Menge oder ein Rabatt führt in die Irre: Beides mindert den Rechnungsbetrag, als hätten Sie weniger geleistet. Tatsächlich haben Sie aber den vollen Auftrag erbracht und nur einen Teil schon vorher bezahlt bekommen. Die Schlussrechnung muss deshalb den vollen Auftragswert zeigen. Die früheren Abschläge werden nicht als Positionen abgezogen, sondern als bereits gezahlter Betrag berücksichtigt, und die Rechnung verweist auf die Abschlagsrechnungen.

Die Lösungswege im Überblick

Für Schlussrechnungen gibt es derzeit drei Wege, die wir in dieser Reihe vorstellen:

  • ZUGFeRD im Profil "Extended": Nur dieses Profil hat eigene Felder für erhaltene Anzahlungen samt der darin enthaltenen Umsatzsteuer. Das ist die vollständige Lösung, setzt aber voraus, dass Ihr Rechnungsempfänger "Extended" akzeptiert. Wie Sie sie umsetzen, zeigen wir in Teil 2.
  • XRechnung und übrige ZUGFeRD-Profile: Hier lässt die Finanzverwaltung bis zum 30. Juni 2030 Übergangslösungen zu. Sie geben die Summe der Abschläge als bereits gezahlten Betrag an und liefern die Einzelheiten entweder in einem Freitext oder in einer eingebetteten Aufstellung, auf die die E-Rechnung ausdrücklich hinweist. Beides zeigen wir in Teil 3.
  • Restrechnung: Statt einer Schlussrechnung über den gesamten Auftrag stellen Sie nur noch eine Rechnung über den verbleibenden Betrag – im Beispiel 200.000 € netto zuzüglich 38.000 € Umsatzsteuer. Dieser Weg vermeidet das Problem ganz, bildet aber den Gesamtauftrag nicht mehr in einer Rechnung ab. Stimmen Sie ihn mit Ihrem Steuerberater und Ihrem Auftraggeber ab.

Vertrauen Sie dem Marktführer: SmartTools E-Rechnung für Access

Alle Beispiele in diesem Beitrag beziehen sich auf SmartTools E-Rechnung für Access, das Rundum-Sorglos-Paket für E-Rechnungen in Access-Datenbanken. Mit wenigen Zeilen VBA-Code erstellen Sie Teil-, Abschlags- und Schlussrechnungen als E-Rechnung, lesen eingehende E-Rechnungen ein, zeigen sie an und prüfen sie auf Gültigkeit. Unterstützt werden alle Formate (ZUGFeRD und XRechnung) und alle Profile des E-Rechnungsstandards einschließlich Extended. Sie erwerben eine Dauerlizenz und müssen kein Abo abschließen. Die Erweiterung kann derzeit mit 30% Aktionsrabatt bestellt werden:

Klicken Sie hier, um die News & Downloads zu bewerten