Angebot als PDF erstellen
Diese Funktion formatiert die Positionen, Preise und die Gültigkeitsdauer, die Sie liefern, zu einem professionellen Angebot im PDF-Format – dem Dokument, mit dem Handwerker, Freiberufler und kleine Unternehmen einem Kunden vor Auftragserteilung einen Preis nennen. Eine Rechnung wird daraus nicht automatisch.
Online ausführen
Führen Sie dies mit Ihrem Konto auf unseren Servern aus. Kostenlose Tools laufen in Ihrem Browser; dieses wird zum oben genannten Preis von Ihrem KIT-Guthaben abgebucht.
Angebot, Kostenvoranschlag oder Rechnung
Die drei Dokumente werden im deutschen Geschäftsverkehr unterschieden: Das Angebot nennt Leistungen und Preise vor Auftragserteilung, oft mit einer Gültigkeitsdauer; der Kostenvoranschlag schätzt Kosten, häufig unverbindlich; die Rechnung fordert nach erbrachter Leistung die Zahlung. Diese Funktion erstellt ausschließlich das Angebot – für eine Rechnung braucht es ein eigenes Dokument, weil beide Dokumente unterschiedliche Angaben und einen unterschiedlichen rechtlichen Zweck haben.
Was Sie liefern
Sie tragen Ihre Firmendaten, die Kundendaten, die einzelnen Positionen mit Menge und Preis sowie die Gültigkeitsdauer des Angebots ein. Netto- und Bruttobeträge sowie die Umsatzsteuer lassen sich ausweisen, wenn Sie die entsprechenden Angaben liefern. Aus diesen Feldern entsteht automatisch ein sauber formatiertes PDF, bereit zum Versand per E-Mail, mit derselben Gliederung, die ein Kunde von einem professionell erstellten Angebot erwartet.
Format und Ablauf
Die Erstellung läuft im Browser dieser Seite: Sie füllen die Felder aus, das System rendert daraus ein formatiertes PDF-Angebot, das Sie sofort herunterladen und per E-Mail an den Kunden schicken können. Dieselbe Funktion steht über die API zur Verfügung, etwa wenn Angebote automatisch aus einer eigenen Auftrags- oder Warenwirtschaft heraus erzeugt werden sollen, ohne die Seite manuell zu öffnen und Felder erneut einzutragen.
Preis und Bezahlung
Der Preis beträgt $0.040 pro erstelltem Angebot, zzgl. $0.001 je zusätzlicher Seite bei umfangreichen Positionen. Es gibt kein Konto und kein Abonnement, bezahlt wird pro Anfrage über PayPal, und eine Rechnung für den Kauf erhalten Sie auf Anfrage. Der Betrag, der auf dem Angebot selbst erscheint, etwa in Euro gegenüber Ihrem Kunden, hat mit diesem Servicepreis nichts zu tun – beide Beträge stehen getrennt und unmissverständlich nebeneinander.
Anwendungsfälle
Angebot für eine Stahlkonstruktion
Die Weber Metallbau GmbH aus Stuttgart erstellt für einen Neubau ein Angebot mit Materialkosten, Montagezeit und einer Gültigkeit von vier Wochen, das der Bauherr vor Auftragsvergabe prüft.
Angebot für ein IT-Projekt
Die Schneider IT-Systeme GmbH & Co. KG aus Hamburg legt einem Kunden ein Angebot mit Projektpositionen, Stundensätzen und Nettobeträgen vor, bevor die eigentliche Beauftragung erfolgt.
Angebot eines Freiberuflers für einen Privatkunden
Jonas Weber, selbstständiger Handwerker, schickt einem Privatkunden ein Angebot für die Renovierung eines Badezimmers mit einzelnen Positionen und einer Gültigkeitsdauer von zwei Wochen.
Angebot für eine Vereinsveranstaltung
Ein Verein holt bei einem Caterer ein schriftliches Angebot für die Jahresfeier ein, mit Preis pro Person und Gültigkeitsdauer, um es mit anderen Angeboten zu vergleichen.
Häufige Fragen
Was unterscheidet ein Angebot von einer Rechnung?
Das Angebot nennt Leistungen und Preise vor Auftragserteilung, oft mit einer Gültigkeitsdauer; die Rechnung fordert nach erbrachter Leistung die Zahlung. Diese Funktion erstellt ausschließlich das Angebot.
Lässt sich eine Gültigkeitsdauer angeben?
Ja. Sie tragen ein Datum oder einen Zeitraum ein, bis zu dem das Angebot gilt, und dieser erscheint im fertigen PDF-Dokument.
Wird die Umsatzsteuer ausgewiesen?
Ja, wenn Sie die entsprechenden Angaben liefern. Netto- und Bruttobeträge sowie der Steuersatz lassen sich auf dem Angebot darstellen.
Was kostet die Erstellung eines Angebots?
$0.040 pro Dokument, zzgl. $0.001 je zusätzlicher Seite. Bezahlt wird pro Anfrage über PayPal, ohne Konto und ohne Abonnement.
Wird aus dem Angebot automatisch eine Rechnung?
Nein. Angebot und Rechnung sind eigenständige Dokumente mit unterschiedlichem Zweck; für eine Rechnung braucht es eine eigene Erstellung.
Was passiert mit den Kunden- und Positionsdaten?
Sie werden ausschließlich zur Erstellung des angeforderten PDF-Angebots verarbeitet und danach von unseren Servern gelöscht.
Brauche ich ein Konto, um ein Angebot zu erstellen?
Nein. Es gibt derzeit keine Konten. Die Bezahlung läuft direkt über PayPal, und eine Rechnung für den Kauf erhalten Sie auf Anfrage.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/pdf/quote \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pdf":"https://ejemplo.com/documento.pdf"}'const res = await fetch("https://api.kit.forhosting.com/pdf/quote", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pdf": "https://ejemplo.com/documento.pdf"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/quote",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pdf": "https://ejemplo.com/documento.pdf"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/quote", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pdf":"https://ejemplo.com/documento.pdf"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pdf":"https://ejemplo.com/documento.pdf"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/quote", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"pdf": "https://ejemplo.com/documento.pdf"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.quote",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_mb | 25 |
max_pages | 200 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
422 | task_failed | Die Aufgabe ist fehlgeschlagen und wird nicht berechnet. |