E-Rechnung für Agenturen & Dienstleister: XRechnung & ZUGFeRD aus Ihrer Branchensoftware
Werbe-, Digital- und PR-Agenturen, Beratungen und Ingenieurbüros verkaufen Zeit, Know-how und eingekaufte Fremdleistungen. Diese Seite zeigt, was dabei in einer E-Rechnung anders ist als bei einer Warenrechnung, was easyJOB, QuoJob und PROAD laut Hersteller selbst können und wo die typischen Fehler liegen.
Kurz gesagt: Alle drei großen Agentursysteme bieten laut Herstellerangaben
(Stand September 2026) ein Modul für XRechnung (reine XML-Datei, das Pflichtformat für Behörden) oder
ZUGFeRD (ein normales PDF mit denselben Rechnungsdaten als eingebettetem XML). Das Problem liegt selten im Format,
sondern in den Daten: Leistungszeitraum statt Lieferdatum, Stunden als HUR,
weiterberechnete Fremdkosten, Abschläge und die Leitweg-ID öffentlicher Kunden. Wer das Modul
nicht lizenziert hat oder die Ausgabe unabhängig prüfen will, kommt über die API (Schnittstelle, über die Programme Daten austauschen) in wenigen Tagen
zu einer gültigen Rechnung.
Was eine Agenturrechnung von einer Warenrechnung unterscheidet
Die Norm EN 16931 deckt Dienstleistungen vollständig ab. Trotzdem prägen vier Merkmale die Rechnung einer Agentur, und an jedem davon scheitern in der Praxis die ersten Versuche:
- Zeitraum statt Tag. Betreuung, Kampagnen und Beratung laufen über Wochen.
Die XRechnung verlangt ein Lieferdatum oder einen Leistungszeitraum; für Agenturen passt fast
immer der Zeitraum:
billing_period_startundbilling_period_end(BT-73/BT-74). Kürzel wie BR-DE-26, BT-10 oder BG-3 stammen aus der Norm EN 16931. Sie müssen sie nicht kennen; wichtig ist der erklärende Satz daneben. - Zeit als Menge. Stunden (
HUR), Tagessätze (DAY), Minuten (MIN) oder Pauschalen (LS). Das sind Codes aus der UN/ECE-Empfehlung 20, gegen die jede Rechnung geprüft wird. - Eingekaufte Leistungen. Druckerei, Mediabuchung, Fotograf oder Übersetzung erscheinen als eigene Positionen, meist mit Aufschlag.
- Referenzen des Kunden. Große Kunden ordnen Rechnungen über ihre
Bestell- oder Projektnummer zu (
purchase_order_reference, BT-13), Behörden über die Leitweg-ID (buyer_reference, BT-10). Fehlt die Referenz, landet die Rechnung in der Klärung.
Rechnungsarten im Agenturalltag
Die Zahl in der Spalte Typcode ist die Kennung der Rechnungsart in der E-Rechnung. An ihr erkennt die Software des Kunden, ob eine normale Rechnung, ein Abschlag oder ein Storno ankommt; für das Gespräch mit Ihrer IT reichen die Wörter in der ersten Spalte.
| Fall | Typcode | Was in die Daten gehört |
|---|---|---|
| Monatlicher Retainer für laufende Betreuung | 380 | Leistungszeitraum des Monats, Pauschale als LS, Mehrstunden als eigene Position |
| Abschlag auf ein Projektbudget | 326 | Teilbetrag laut Zahlungsplan, Hinweis auf Angebot oder Auftrag |
| Projektschlussrechnung | 380 | alle Leistungen, bezahlte Abschläge brutto in prepaid_amount (BT-113) |
| Storno einer falschen Rechnung | 381 | Bezug auf die stornierte Rechnung in preceding_invoices |
| Rechnungskorrektur | 384 | im Profil XRECHNUNG genau ein Vorbeleg |
Bei der Schlussrechnung gilt die Rechenregel BR-CO-16: Zahlbetrag = Bruttobetrag minus bereits gezahlt plus Rundung. Stimmt das nicht auf den Cent, lehnt die API mit HTTP 422 ab und nennt den erwarteten Wert. Ingenieurbüros, die nach HOAI mit Abschlägen arbeiten, folgen demselben Muster.
Steuerfälle, die in Agenturen vorkommen
Der Normalfall ist Kategorie S mit 19 %. Für Unternehmenskunden in anderen
EU-Staaten schuldet bei den meisten Dienstleistungen der Kunde die Steuer (Reverse Charge). Dann
steht jede Position auf AE mit 0 %, und die USt-IdNr. des Kunden ist Pflicht. Werden
Nutzungsrechte gesondert berechnet, gehören sie in eine eigene Position; ob dafür ein anderer
Steuersatz gilt, beurteilt Ihre Steuerberatung. Technisch braucht jeder Steuersatz eine eigene
Zeile in tax_breakdown.
Ihre Software
easyJOB (Because Software)
easyJOB richtet sich an Agenturen, Beratungen und Projektgeschäft und wird laut Hersteller im eigenen Haus oder in einem Rechenzentrum nach Wahl betrieben. Ausgehende E-Rechnungen erzeugt das Zusatzmodul „Elektronische Rechnungsübergabe“, laut Meldung vom Mai 2026 in XRechnung, ZUGFeRD bis 2.4 und PEPPOL-UBL. Akonto-Rechnungen, Sammelfaktura über mehrere Jobs und Rechnungssplit auf mehrere Empfänger gehören zum Rechnungswesen. Mehr zu easyJOB.
QuoJob (QuoTec)
QuoJob ist eine modulare Agentursoftware der QuoTec GmbH aus Ratingen, gedacht für Agenturen mit mehreren Teams und laufenden Retainern. Für ZUGFeRD und XRechnung gibt es ein eigenes Modul; welche Version und welches Profil es schreibt, nennt der Hersteller öffentlich nicht. Schnittstellen zu DATEV, Lexware, Diamant und SAP sowie eine REST-API sind genannt. Mehr zu QuoJob.
PROAD (everii)
PROAD wird heute von der everii Germany GmbH in Hamburg angeboten und richtet sich an Agenturen und Beratungen. Das Zusatzmodul „XRechnung“ erzeugt eine geprüfte XML-Datei aus einer gebuchten Ausgangsrechnung; seit dem Update vom Dezember 2024 lässt sich laut Hersteller auch ZUGFeRD wählen. Eingehende XRechnungen und Peppol-Rechnungen lassen sich importieren. Mehr zu PROAD.
Drei Wege für Agenturen
- Weg A, PDF anreichern (Tage): Ihre Agentursoftware druckt die Rechnung wie bisher, mit Ihrem Layout und Ihren Leistungsnachweisen. Ein Skript schickt dieses PDF zusammen mit den Kopf- und Positionsdaten an die API und erhält ein ZUGFeRD-PDF plus XRechnung zurück. Der richtige Weg, wenn das Herstellermodul fehlt oder erst später kommt.
- Weg B, Export in JSON (Tage bis Wochen): Die Rechnungsdaten kommen aus einem Export, einem Report oder einer Datenbanksicht als JSON (ein Textformat für Daten), der Server rendert eine neutrale Sicht-PDF. Sinnvoll für Agenturen, die bisher in Tabellen oder Textverarbeitung abrechnen.
- Weg C, direkte Integration (Wochen): Nur wenn Ihre Software eine Schnittstelle für Rechnungsdaten anbietet. Das ist je System mit dem Hersteller zu klären.
Unabhängig vom Weg gilt: Eingehende E-Rechnungen von Freelancern, Druckereien oder Mediapartnern können Sie im kostenlosen Viewer lesen und prüfen. Die Unterschiede der Formate erklärt der Ratgeber XRechnung vs. ZUGFeRD.
Beispiel: Kampagnenrechnung an ein Stadtmarketing
Eine Agentur rechnet den September für eine kommunale Stadtmarketing-Gesellschaft ab: Konzeptionsstunden, eine Betreuungspauschale und einen weiterberechneten Plakatdruck. Der Kunde verlangt XRechnung und hat eine Leitweg-ID sowie eine Vergabenummer genannt. Weg B, der Server rendert die Sicht-PDF selbst.
Vorher: Die Agentursoftware druckt Konzeptionsstunden, Betreuungspauschale und Plakatdruck auf eine Rechnung, die der Rechnungseingang der Stadt nicht automatisch verarbeiten kann. Nachher: eine XRechnung mit drei Positionen, dem Leistungszeitraum September, der Leitweg-ID und der Vergabenummer, die der Kunde seinem Auftrag zuordnen kann.
Der folgende Kasten ist für Ihre IT oder Ihr Systemhaus gedacht. Als Inhaber reicht es zu wissen: So sieht ein Beispiel aus, das die Prüfung besteht.
Technisches Beispiel anzeigen (JSON, für Ihre IT)
# Rechnungsdaten als JSON an die API: curl -X POST https://api.einfache-rechnungen.de/v1/invoices/generate \ -H "X-API-Key: erk_ihr_key" \ -H "Content-Type: application/json" \ -d @kampagne-september.json
{
"invoice": {
"invoice_number": "2026-0917",
"issue_date": "2026-10-02",
"billing_period_start": "2026-09-01",
"billing_period_end": "2026-09-30",
"due_date": "2026-11-01",
"currency": "EUR",
"buyer_reference": "04011000-12345-67",
"purchase_order_reference": "SM-2026-17",
"note": "Nutzungsrechte an Motiven und Texten für die Dauer der Kampagne gemäß Angebot A-2026-088.",
"seller": {
"name": "Beispiel Kommunikation GmbH",
"address": { "street": "Agenturweg 5", "postal_code": "50667", "city": "Köln", "country_code": "DE" },
"vat_id": "DE123456789",
"electronic_address": "rechnung@agentur.example",
"electronic_address_scheme": "EM",
"contact": { "name": "J. Beispiel", "phone": "+49 221 1234567", "email": "rechnung@agentur.example" }
},
"buyer": {
"name": "Stadtmarketing Musterstadt GmbH",
"address": { "street": "Rathausplatz 1", "postal_code": "40210", "city": "Düsseldorf", "country_code": "DE" },
"electronic_address": "e-rechnung@stadtmarketing.example",
"electronic_address_scheme": "EM"
},
"payment_means": { "code": "58", "iban": "DE89370400440532013000" },
"lines": [
{ "line_id": "1", "name": "Konzeption Herbstkampagne", "quantity": "12", "unit_code": "HUR",
"unit_price_net": "110.00", "line_net_amount": "1320.00", "tax_category": "S", "tax_rate": "19" },
{ "line_id": "2", "name": "Social-Media-Betreuung September", "quantity": "1", "unit_code": "LS",
"unit_price_net": "1800.00", "line_net_amount": "1800.00", "tax_category": "S", "tax_rate": "19" },
{ "line_id": "3", "name": "Druck Plakate A1 (Fremdleistung, weiterberechnet)", "quantity": "250", "unit_code": "C62",
"unit_price_net": "2.56", "line_net_amount": "640.00", "tax_category": "S", "tax_rate": "19" }
],
"tax_breakdown": [
{ "category": "S", "rate": "19", "taxable_amount": "3760.00", "tax_amount": "714.40" }
],
"totals": { "line_net_amount": "3760.00", "net_amount": "3760.00", "tax_amount": "714.40",
"gross_amount": "4474.40", "payable_amount": "4474.40" }
},
"options": { "profile": "XRECHNUNG", "syntax": "CII" }
}
Die Nutzungsrechte stehen hier als Freitext in note (BT-22), weil sie im Angebot
bereits vergütet sind. Werden sie gesondert berechnet, gehören sie als eigene Position mit Betrag
in lines.
Feldzuordnung
| Angabe auf Ihrer Rechnung | EN 16931 | API-Feld | Hinweis |
|---|---|---|---|
| Rechnungsnummer | BT-1 | invoice.invoice_number | eindeutig, auch bei Abschlägen |
| Leistungszeitraum | BT-73/74 | billing_period_start, billing_period_end | ersetzt das Lieferdatum |
| Job- oder Bestellnummer des Kunden | BT-13 | purchase_order_reference | ein Wert je Rechnung |
| Leitweg-ID oder Kostenstelle | BT-10 | buyer_reference | im Profil XRECHNUNG Pflicht |
| Stunden, Tage, Pauschale | BT-130 | lines[].unit_code | HUR, DAY, LS |
| Stunden- oder Tagessatz | BT-146 | lines[].unit_price_net | netto |
| Zahlungsziel | BT-9 | invoice.due_date | Datum, nicht „30 Tage“ |
| Bereits gezahlte Abschläge | BT-113 | totals.prepaid_amount | brutto |
Stolpersteine in Agenturen
- Minuten, die in Stunden umgerechnet werden: 20 Minuten werden als 0,33
Stunden gedruckt, berechnet werden aber 40,00 € bei 120 € Stundensatz. Die API rechnet 0,33 ×
120 = 39,60 und lehnt mit HTTP 422 ab. Lösung: in
MINabrechnen oder die Stundenmenge so runden, wie sie auch in den Betrag eingeht. - Retainer ohne Zeitraum: Eine Pauschale „Betreuung“ ohne Datum ist für den
Empfänger nicht zuzuordnen, und ohne Leistungsdatum oder Zeitraum fehlt eine Pflichtangabe. Lösung:
den Abrechnungsmonat immer in
billing_period_start/_endsetzen. - Kündigung eines laufenden Retainers: Endet der Vertrag zum 15. Oktober,
gehört in die letzte Rechnung der verkürzte Zeitraum (1. bis 15. Oktober) mit anteiliger
Pauschale, nicht der volle Monat. Hat der Kunde Monate im Voraus bezahlt, erstatten Sie den
ungenutzten Teil mit einer Gutschrift (Typcode 381), die in
preceding_invoicesauf die Rechnung mit der Vorauszahlung verweist; die Umsatzsteuer auf den erstatteten Betrag wird dabei mit korrigiert. Zahlt der Kunde für die Restlaufzeit, ohne dass Sie noch leisten, klären Sie mit Ihrer Steuerberatung, ob darauf Umsatzsteuer anfällt. - Fremdkosten ohne Steuer: Wer Druck oder Media als „durchlaufend“ ohne
Umsatzsteuer ausweist, obwohl die Agentur selbst eingekauft hat, riskiert eine falsche
Steuerberechnung. Lösung: als Position mit
Sausweisen und Sonderfälle vorher mit der Steuerberatung klären. - Reverse Charge ohne USt-IdNr. des Kunden: Die Validierung verlangt bei
AEdie USt-IdNr. des Verkäufers und eine Kennung des Käufers, in der Praxis seine USt-IdNr. Fehlt sie, kommt HTTP 422 statt einer Rechnung. Lösung:buyer.vat_idpflegen und intax_breakdowneinen Befreiungsgrund angeben. - Kostenstelle statt Leitweg-ID: Die Rechnungseingangsplattformen von Bund,
Ländern und Kommunen leiten die XRechnung über die Leitweg-ID weiter. Eine interne Kostenstelle in
buyer_referenceführt zur Zurückweisung im Rechnungseingang. Lösung: Leitweg-ID beim Auftrag erfragen und im Kundenstamm hinterlegen.
Häufige Fragen
Müssen Agenturen schon heute E-Rechnungen ausstellen?
Welche Einheiten nehme ich für Stunden, Tagessätze und Pauschalen?
HUR für Stunden, DAY für Tage, MIN für Minuten und LS für Pauschalen. Kürzel wie „Std“, „PT“ oder „psch“ aus der Agentursoftware sind keine gültigen Codes und müssen vor dem Aufruf übersetzt werden, sonst lehnt die API die Rechnung mit HTTP 422 und dem betroffenen Feldpfad ab.Ist eine monatliche Retainer-Rechnung eine Abschlagsrechnung?
prepaid_amount abzieht.Wie rechne ich Druck, Media oder Fotografen weiter?
S), denn die Fremdleistung wird Teil Ihrer Leistung. Nur echte durchlaufende Posten, die Sie im Namen und für Rechnung des Kunden verauslagen, gehören nicht ins Entgelt. Ob das bei Ihnen zutrifft, klären Sie mit Ihrer Steuerberatung, bevor Sie Positionen ohne Steuer ausweisen.Müssen freie Mitarbeiter, die Kleinunternehmer sind, uns E-Rechnungen schicken?
O. Eingehende Dateien prüfen Sie kostenlos im Viewer.Wer haftet, wenn die E-Rechnung inhaltlich falsch ist?
easyJOB ist ein Produkt der Because Software GmbH, QuoJob ein Produkt der QuoTec GmbH, PROAD ein Produkt der everii Germany GmbH. einfache-rechnungen.de ist ein unabhängiges Angebot und steht in keiner Verbindung zu diesen Herstellern.
Kosten: Die Prüfung und Erzeugung kostet 0 € für 10 Rechnungen im Monat, danach ab 7,99 € netto. Eine Anbindung durch Coreventa ist ein Festpreisprojekt; den Rahmen klären wir im kostenlosen Erstgespräch. Ihre Rechnungs- und Kundendaten bleiben dabei auf deutschen Servern (Hetzner).
Agenturrechnungen als E-Rechnung ausgeben
Kostenlos testen: 10 Rechnungen im Monat, keine Kreditkarte. Ob Ihre Agentursoftware ein Modul hat oder nicht: Den passenden Weg klären wir in einem kurzen Gespräch.
Kostenlos registrieren Anbindung besprechenQuellen (abgerufen am 25.09.2026): Because Software, E-Rechnungen für Agenturen (18.05.2026); Because Software, Betriebsmodelle (27.05.2024); Because Software, Buchhaltungsvorbereitung; Fortes QuoJob, Startseite; Fortes QuoJob, Tutorial ZUGFeRD und X-Rechnungen; PROAD, E-Rechnungen in PROAD (29.11.2024); PROAD Helpcenter, XRechnung in PROAD; PROAD, Impressum.