Kunde AG
- Netto
- 1.500,00 €
- USt 19 %
- 285,00 €
- Brutto
- 1.785,00 €
Moin. Dein System muss Rechnungen schreiben, die das Finanzamt in zwei Jahren noch versteht. Wir prüfen jede vor der Auslieferung mit dem amtlichen KoSIT-Validator.
Abgerechnet wird nur die fertige Rechnung.
from factora import FactoraClient client = FactoraClient(api_key="fa_live_...") invoice = client.create_atomic_invoice({ "api_mode": "atomic_single_post", "invoice_header": { "invoice_number": "RE-2026-0042", "invoice_date": "2026-08-06", "buyer_reference": "04011000-12345-34", "profile": "xrechnung", }, "validation_totals": { "net_amount": "1500.00", "vat_amount": "285.00", "gross_amount": "1785.00", }, "seller_snapshot": {...}, "buyer": {...}, "items": [...],}) print(invoice["valid"], invoice["data"]["profile"])curl -X POST https://console.factora.software/api/v1/invoices/atomic/ \ -H "Authorization: Bearer fa_live_..." \ -H "Idempotency-Key: 8f14e45f-ea6b-4f1d-9a1e-3b0f2c7d1a55" \ -H "Content-Type: application/json" \ -d '{ "api_mode": "atomic_single_post", "invoice_header": { "invoice_number": "RE-2026-0042", "invoice_date": "2026-08-06", "buyer_reference": "04011000-12345-34", "profile": "xrechnung" }, "validation_totals": { "net_amount": "1500.00", "vat_amount": "285.00", "gross_amount": "1785.00" }, "seller_snapshot": { "name": "Muster GmbH", "...": "" }, "buyer": { "name": "Kunde AG", "...": "" }, "items": [{ "description": "Beratung", "...": "" }] }'$client = new GuzzleHttpClient(); $response = $client->post('https://console.factora.software/api/v1/invoices/atomic/', [ 'headers' => [ 'Authorization' => 'Bearer fa_live_...', 'Idempotency-Key' => '8f14e45f-ea6b-4f1d-9a1e-3b0f2c7d1a55', ], 'json' => [ 'api_mode' => 'atomic_single_post', 'invoice_header' => [ 'invoice_number' => 'RE-2026-0042', 'invoice_date' => '2026-08-06', 'buyer_reference' => '04011000-12345-34', 'profile' => 'xrechnung', ], 'validation_totals' => [...], 'seller_snapshot' => [...], 'buyer' => [...], 'items' => [...], ],]); $invoice = json_decode($response->getBody(), true);const response = await fetch( "https://console.factora.software/api/v1/invoices/atomic/", { method: "POST", headers: { "Authorization": "Bearer fa_live_...", "Idempotency-Key": "8f14e45f-ea6b-4f1d-9a1e-3b0f2c7d1a55", "Content-Type": "application/json", }, body: JSON.stringify({ api_mode: "atomic_single_post", invoice_header: { invoice_number: "RE-2026-0042", invoice_date: "2026-08-06", buyer_reference: "04011000-12345-34", profile: "xrechnung", }, validation_totals: { /* ... */ }, seller_snapshot: { /* ... */ }, buyer: { /* ... */ }, items: [ /* ... */ ], }), },); const invoice = await response.json();using var client = new HttpClient();client.DefaultRequestHeaders.Add("Authorization", "Bearer fa_live_...");client.DefaultRequestHeaders.Add("Idempotency-Key", "8f14e45f-ea6b-4f1d-9a1e-3b0f2c7d1a55"); var payload = new{ api_mode = "atomic_single_post", invoice_header = new { invoice_number = "RE-2026-0042", invoice_date = "2026-08-06", buyer_reference = "04011000-12345-34", profile = "xrechnung", }, // validation_totals, seller_snapshot, buyer, items}; var response = await client.PostAsJsonAsync( "https://console.factora.software/api/v1/invoices/atomic/", payload); var invoice = await response.Content.ReadFromJsonAsync<JsonElement>(); Du schickst JSON — Kopf, Verkäufer, Käufer, Positionen, Summen. Ein Call.
Jeder Wert landet im passenden Business Term der EN 16931.
Vor der Auslieferung läuft die Rechnung durch den KoSIT-Validator. Stimmt die Steuer nicht, gibt es HTTP 400.
Zurück kommt XRechnung oder ZUGFeRD — fertig zum Versand.
Kunde AG
Reverse Charge mit 19 %? Kommt bei uns nicht als Rechnung zurück, sondern als strukturierter Fehler.
Ein Konto, ein Schlüssel, beliebig viele Mandanten. Die Rechnungsnummer bleibt bei dir.
DATEV-Buchungsstapel mit 118 Spalten in CP1252, Export als ZIP mit SHA-256-Nachweis für dein eigenes Archiv.
49 € im Monat, 250 Rechnungen inklusive, danach eine graduierte Staffel. Steht hier, nicht in einem Angebot.
Nein. Factora wird als E-Invoicing-Backend angeboten: XRechnung, ZUGFeRD und KoSIT-Validierung per REST-API, verwaltet über die API-Console. Ein Endnutzer-Frontend zum Selbst-Rechnungschreiben ist nicht Teil des öffentlichen Angebots.
XRechnung (CII nach EN 16931) und ZUGFeRD (PDF/A-3 mit eingebettetem CII-XML). Beide Formate sind KoSIT-validiert und EN16931-konform. Peppol-Versand über die API ist in Vorbereitung (siehe Roadmap).
Kay Dietrich, Gründer und Entwickler. Er antwortet persönlich auf jede Anfrage – kein Ticket-System, kein Bot.
Ja. Kay Dietrich entwickelt Factora und beantwortet Integrationsfragen selbst – technisch, ohne Vertriebstermin. Schreib an info@factora.software. Wer direkt loslegen will, holt sich stattdessen einen kostenlosen Sandbox-Key in der Console.
Ja. Die Factora API unterstützt DATEV-Export (CP1252), Multi-Mandant und ERP-Anbindung über die REST-API.
Hol dir einen Sandbox-Key und teste uns in deinem System. Dauerhaft kostenlos, ohne Kreditkarte. Und nerven tun wir dich auch nicht.