Was in der Proforma-Rechnung steckt
- Kennzeichnung. Ein Hinweis unter der Nummer sagt, dass dies keine Rechnung im steuerlichen Sinn ist.
- Wichtige Daten. Ausstellungsdatum, Ende der Gültigkeit und geplanter Versand nebeneinander.
- Verkäufer, Käufer, Lieferadresse. Drei Adressblöcke, damit Lieferort und Rechnungsadresse verschieden sein können.
- Positionen mit Steuer. Menge, Einzelpreis und Steuersatz jeder Zeile, jeder Betrag ausgerechnet.
- Steuer je Satz und Summe. Die Steuer für jeden Satz und der Betrag, der vor dem Versand zu zahlen ist.
- Vorkasse. Ihre Bankverbindung, die Zahlungsfrist und der Verwendungszweck.
Wofür die Proforma-Rechnung gedacht ist
Eine Proforma-Rechnung ist ein Preisdokument, das Sie vor dem endgültigen Verkauf schicken. Der Käufer gibt damit die Ausgabe frei, zahlt im Voraus oder bereitet eine Einfuhr vor. Großhändler, Manufakturen und Exporteure nutzen sie ständig.
Die Vorlage listet jede Position mit Menge, Einzelpreis und Steuersatz. Sie addiert die Steuer je Satz und druckt den Betrag, den der Käufer vor dem Versand zahlen soll. Gültigkeit und Bankverbindung stehen auf derselben Seite.
Geht die Ware raus, schicken Sie die eigentliche Rechnung. Die Daten ändern sich dabei kaum, deshalb passen beide Vorlagen gut zusammen.
Was eine gute Proforma-Rechnung enthält
- Die Überschrift „Proforma-Rechnung“ und einen deutlichen Hinweis, dass es keine Rechnung ist.
- Eine Nummer, das Ausstellungsdatum und das Ende der Gültigkeit.
- Verkäufer, Käufer und, falls abweichend, die Lieferadresse.
- Jede Position mit Menge, Preis und Steuersatz.
- Den zu zahlenden Betrag mit der Steuer je Satz.
- Lieferbedingungen bei grenzüberschreitendem Versand, z. B. eine Incoterms-Klausel.
- Wie und bis wann bezahlt werden soll.
Keine Rechnung im Sinne des Umsatzsteuergesetzes
Eine Proforma-Rechnung fordert Geld an, ist aber keine Rechnung nach dem Umsatzsteuergesetz. Ihr Kunde kann daraus keine Vorsteuer ziehen.
Die Proforma-Rechnung kündigt einen Verkauf an. Sie buchen sie nicht als Umsatz, und der Käufer bucht sie nicht als Eingangsrechnung. Die eigentliche Rechnung folgt erst mit der Lieferung oder Leistung.
Typische Anlässe
- Vorkasse: Der Kunde soll zahlen, bevor Sie produzieren oder versenden.
- Freigabe: Die Einkaufsabteilung braucht ein Dokument, um die Ausgabe zu genehmigen.
- Zoll: Warenmuster oder kostenlose Ersatzteile brauchen für den Zoll einen Warenwert.
- Ausfuhr: Bei Sendungen in Länder außerhalb der EU bereitet der Empfänger mit der Proforma die Einfuhr vor.
Schreiben Sie „Proforma-Rechnung“ als Überschrift und ergänzen Sie einen Satz wie „Keine Rechnung im Sinne des UStG“. Die Vorlage druckt dafür einen Hinweis unter der Nummer. Auf der Vorschau steht dort noch Not a tax invoice, das Sie im Editor übersetzen.
Eine Proforma-Rechnung ist keine E-Rechnung und fällt nicht unter die E-Rechnungspflicht. Die spätere Schlussrechnung an ein Unternehmen im Inland schon. Dies ist eine allgemeine Information, keine Steuer- oder Rechtsberatung. Fragen Sie im Zweifel Ihren Steuerberater.
Die Felder der Vorlage
Die Proforma-Rechnung liest diese Felder. Versandangaben dürfen bei Dienstleistungen leer bleiben.
| Feld | Was es ausfüllt |
|---|---|
| Allgemein | |
currency | Währung aller Beträge, z. B. EUR. |
locale | Schreibweise von Zahlen und Datum, z. B. de-DE. |
| Verkäufer | |
seller.name | Ihr Firmenname (Ihre Markeneinstellungen haben Vorrang). |
seller.initials | Die Buchstaben im runden Zeichen, solange Sie kein Logo haben. |
seller.address | Ihre Anschrift, eine Zeile pro Zeile. |
seller.email | Wohin der Käufer Fragen zum Auftrag schickt. |
seller.phone | Ihre Telefonnummer (optional). |
seller.tax_id | Ihre USt-IdNr. |
| Käufer | |
buyer.name | Der Firmenname des Käufers. |
buyer.address | Die Rechnungsadresse des Käufers. |
buyer.tax_id | Die USt-IdNr. des Käufers (optional). |
| Lieferadresse | |
ship_to.name | Wer die Ware empfängt. |
ship_to.address | Wohin die Ware geht, wenn nicht an die Rechnungsadresse. |
ship_to.contact | Eine Ansprechperson oder ein Hinweis zur Anlieferung (optional). |
| Proforma-Rechnung | |
proforma.number | Die Nummer der Proforma-Rechnung. |
proforma.issued | Das Ausstellungsdatum. |
proforma.valid_until | Der letzte Tag, an dem die Preise gelten, zugleich die Zahlungsfrist. |
proforma.reference | Das Projekt oder die Anfrage des Käufers (optional). |
proforma.note | Der Satz am Ende, z. B. der Hinweis, dass dies keine Rechnung ist. |
| Versand | |
shipping.method | Wie die Ware transportiert wird (optional). |
shipping.incoterms | Die Lieferbedingung, z. B. DAP und ein Ort (optional). |
shipping.est_dispatch | Wann die Ware voraussichtlich das Haus verlässt (optional). |
| Zahlung | |
payment.terms | Ihre Bedingungen für die Vorkasse. |
payment.bank | Der Name Ihrer Bank. |
payment.account_name | Der Kontoinhaber. |
payment.sort_code | Im Original die britische Bankleitzahl. Für Deutschland tragen Sie hier die BIC ein. |
payment.account_number | Im Original die Kontonummer. Für Deutschland tragen Sie hier die IBAN ein. |
| Positionen | |
items[].description | Was der Käufer bekommt, eine Zeile pro Position. |
items[].detail | Eine kurze Erläuterung unter der Position (optional). |
items[].quantity | Die Menge. |
items[].unit_price | Der Einzelpreis netto. |
items[].vat_rate | Der Steuersatz der Position in Prozent. |
Automatisch erstellen
Richten Sie die Vorlage einmal im Dashboard ein und lassen Sie Ihre Systeme sie füllen. Alle Wege unten nutzen dieselbe Vorlage. Eine Änderung am Design gilt also überall.
Aus Ihrer Anwendung, per API
Braucht ein Auftrag Vorkasse, sendet Ihr System die Daten mit einem Aufruf. Die Proforma-Rechnung kommt als PDF zurück, auf Wunsch per deliver.email direkt an den Käufer.
Aus einer Tabelle
Für viele Aufträge auf einmal: eine CSV- oder XLSX-Datei mit einer Zeile pro Auftrag. Sie erhalten alle Proforma-Rechnungen in einer ZIP-Datei.
In einem No-Code-Workflow
Eine Anfrage aus Ihrer Anwendung
Kopieren Sie die ID der Vorlage aus dem Editor und speichern Sie sie mit Ihren Daten in request.json. Dann senden Sie die Datei. Die Antwort ist das fertige PDF.
curl https://api.castpdf.com/v1/pdf \
-H "Authorization: Bearer $CASTPDF_API_KEY" \
-H "Content-Type: application/json" \
-d @request.json \
--output proforma-rechnung.pdfimport { readFile, writeFile } from 'node:fs/promises';
const res = await fetch('https://api.castpdf.com/v1/pdf', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.CASTPDF_API_KEY}`,
'Content-Type': 'application/json',
},
body: await readFile('request.json', 'utf8'),
});
if (!res.ok) throw new Error((await res.json()).error.message);
await writeFile('proforma-rechnung.pdf', Buffer.from(await res.arrayBuffer()));<?php
$ch = curl_init('https://api.castpdf.com/v1/pdf');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('CASTPDF_API_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => file_get_contents('request.json'),
]);
$pdf = curl_exec($ch);
if (curl_getinfo($ch, CURLINFO_RESPONSE_CODE) !== 200) {
throw new RuntimeException($pdf);
}
file_put_contents('proforma-rechnung.pdf', $pdf);{
"template_id": "IHRE_VORLAGEN_ID",
"data": {
"currency": "EUR",
"locale": "de-DE",
"seller": {
"name": "Leuchtenmanufaktur Brandt GmbH",
"initials": "LB",
"address": "Am Mühlgraben 7\n99084 Erfurt",
"email": "[email protected]",
"phone": "0361 7720 1185",
"tax_id": "DE298114506"
},
"buyer": {
"name": "Hotel Am Schlossberg GmbH",
"address": "Schlossberg 3\n01796 Pirna",
"tax_id": "DE204771835"
},
"ship_to": {
"name": "Hotel Am Schlossberg",
"address": "Warenannahme, Hofeinfahrt Lange Straße\n01796 Pirna",
"contact": "Haustechnik, Anlieferung werktags 7 bis 14 Uhr"
},
"proforma": {
"number": "PR-2026-0087",
"issued": "2026-10-05",
"valid_until": "2026-11-04",
"reference": "Beleuchtung Lobby und Restaurant",
"note": "Diese Proforma-Rechnung ist keine Rechnung im Sinne des UStG und berechtigt nicht zum Vorsteuerabzug. Die Rechnung erhalten Sie mit dem Versand der Ware."
},
"shipping": {
"method": "Lieferung auf Paletten durch zwei Personen, Abladen an der Warenannahme",
"incoterms": "DAP Pirna (Incoterms 2020)",
"est_dispatch": "2026-11-12"
},
"payment": {
"terms": "Zahlung des vollen Betrags im Voraus. Nach Zahlungseingang beginnen wir mit der Fertigung, der Versand folgt etwa drei Wochen später.",
"bank": "Musterbank AG",
"account_name": "Leuchtenmanufaktur Brandt GmbH",
"sort_code": "COBADEFFXXX",
"account_number": "DE89 3704 0044 0532 0130 00"
},
"items": [
{
"description": "Pendelleuchte, Rauchglas, 40 cm",
"detail": "Messingbeschläge, 3 m Kabel, höhenverstellbar",
"quantity": 12,
"unit_price": 186,
"vat_rate": 19
},
{
"description": "Wandleuchte mit Leinenschirm",
"quantity": 18,
"unit_price": 94.5,
"vat_rate": 19
},
{
"description": "Stehleuchte, Eiche und Messing",
"detail": "Textilkabel mit Fußschalter",
"quantity": 6,
"unit_price": 245,
"vat_rate": 19
},
{
"description": "Tischleuchte, glasierter Keramikfuß",
"quantity": 24,
"unit_price": 68,
"vat_rate": 19
},
{
"description": "LED-Filamentlampen, warmweiß 2200 K",
"quantity": 80,
"unit_price": 6.4,
"vat_rate": 19
},
{
"description": "Dimmermodule, Phasenabschnitt",
"quantity": 10,
"unit_price": 38,
"vat_rate": 19
},
{
"description": "Lieferung und Abladen",
"quantity": 1,
"unit_price": 180,
"vat_rate": 19
}
]
}
}Neu bei der API? Der Quickstart führt Sie in etwa fünf Minuten vom kostenlosen Schlüssel zum ersten PDF.
Ohne Code erstellen
- Kostenlos registrieren. Sie brauchen keine Karte. „Vorlage verwenden“ öffnet den Editor mit dieser Vorlage.
- Die Vorlage für die Proforma-Rechnung öffnen. Tragen Sie Ihre Firma, den Käufer und den Auftrag in die Beispieldaten ein. Übersetzen Sie den Hinweis Not a tax invoice und die übrigen Beschriftungen und wählen Sie Ihre Farben.
- Vorschau prüfen. Die Vorschau aktualisiert sich beim Tippen und ist kostenlos. Jede Seite trägt eine kleine Markierung „Preview“.
- PDF erstellen. Bestätigen Sie Ihre E-Mail-Adresse und klicken Sie auf Generate PDF. Das ergibt ein sauberes PDF, das als ein PDF in Ihrem Tarif zählt.
Anpassen
- Benennen Sie im Editor die Felder Sort code und Account no. in BIC und IBAN um.
- Verkaufen Sie eine Dienstleistung? Lassen Sie die Versandfelder leer, dann entfällt der Versandblock.
- Tragen Sie die Bestell- oder Anfragenummer des Käufers in das Feld reference ein.
- Hinterlegen Sie Logo und Farbe einmal in den Markeneinstellungen.
- Jedes Speichern ist eine neue Version. Ihre letzten 50 Versionen bleiben erhalten.
Von der Proforma zur Schlussrechnung
Meist läuft es so: Proforma schicken, Zahlung abwarten, Ware versenden. Danach braucht der Käufer eine richtige Rechnung für seine Buchhaltung.
Die Daten ändern sich zwischen beiden Belegen kaum. Senden Sie dieselben Positionen mit Rechnungsnummer, Leistungsdatum und dem Hinweis auf die bereits erhaltene Zahlung an die Rechnungsvorlage.
Drucken Sie die Proforma-Nummer als Referenz auf die Schlussrechnung. So ordnet der Käufer seine Zahlung der richtigen Rechnung zu.



