Mandanten

Ein Konto, ein Schlüssel, beliebig viele Endkunden

Wer Branchensoftware betreibt, rechnet nicht für sich ab, sondern für seine Kunden. Dafür gibt es ein eigenes Objekt in der API — mit getrennten Stammdaten, getrennten Nummernkreisen und einer einzigen Abrechnung an dich.

Datenmodell

Der Mandant ist ein Objekt, kein Feld im Freitext

Rechnungen tragen eine Mandantenreferenz. Die Eindeutigkeit der Rechnungsnummer gilt je Mandant, nicht kontoweit — zwei deiner Kunden dürfen dieselbe Nummer vergeben, ohne sich zu stören. Eine fremde Mandanten-ID beantwortet die API mit 404, nicht mit einer Fehlermeldung, die ihre Existenz verrät.

Mandanten im Batch anlegen
POST /api/v1/mandanten/bulk/ HTTP/1.1
Authorization: Bearer fa_live_...
Content-Type: application/json

{
  "mandanten": [
    {
      "name": "Muster GmbH",
      "external_ref": "10001",
      "seller_data": {
        "name": "Muster GmbH",
        "street": "Musterstr. 1",
        "zip": "10115",
        "city": "Berlin",
        "country": "DE",
        "vat_id": "DE123456789",
        "iban": "DE89370400440532013000",
        "contact": {
          "name": "E. Musterfrau",
          "phone": "+49 30 1234567",
          "email": "rechnung@muster.example"
        }
      }
    }
  ]
}
Rechnung im Mandantenkontext
POST /api/v1/invoices/atomic/ HTTP/1.1
Authorization: Bearer fa_live_...
Idempotency-Key: 8f14e45f-ea6b-4f1d-9a1e-3b0f2c7d1a55

{
  "api_mode": "atomic_single_post",
  "mandant_id": 42,
  "invoice_header": {
    "invoice_number": "RE-2026-0042",
    "invoice_date": "2026-03-25",
    "buyer_reference": "PO-2026-001"
  },
  "validation_totals": { "net_amount": "1200.00", "vat_amount": "228.00", "gross_amount": "1428.00" },
  "buyer": {
    "name": "Kunde AG",
    "street": "Kundenweg 2",
    "zip": "20095",
    "city": "Hamburg",
    "country": "DE",
    "contact": { "email": "einkauf@kunde.example" }
  },
  "items": [
    { "description": "Beratungsleistung", "quantity": "10.000", "unit": "HUR", "unit_price_net": "120.00", "vat_rate": "19.00" }
  ]
}

Die Bulk-Anlage nimmt bis zu 200 Mandanten pro Request und arbeitet alles-oder-nichts: ein fehlerhafter Datensatz lässt den gesamten Batch scheitern, statt eine halb befüllte Kundenliste zu hinterlassen.

Was je Mandant getrennt ist

Getrennt, wo es zählt — gebündelt, wo es dir Arbeit spart

Je Mandant eigen

  • Absender- und Stammdaten eigener Verkäufer-Snapshot je Rechnung ✓ live
  • Rechnungsnummernkreis Eindeutigkeit je Mandant, kein Factora-Kreis ✓ live
  • Steuerlicher Rechtsgrund Vorbelegung für § 13b und Befreiungen ✓ live
  • Fiskalvertreter BG-11/12, wird in den Snapshot eingefroren ✓ live
  • Auswertung Rechnungsanzahl und API-Nutzung je Mandant ✓ live

Auf Kontoebene

  • Ein API-Schlüssel kein Key je Mandant, keine Schlüsselverwaltung ✓ live
  • Eine Abrechnung Freikontingent und Staffel poolen kontoweit ✓ live
  • Ein Vertrag deine Endkunden haben keinen mit Factora ✓ live
White-Label

Auf dem Dokument steht dein Kunde, nicht Factora

Logo, Briefkopf, Akzentfarbe, Schrift und Fußzeile lassen sich je Mandant hinterlegen. Beim Erzeugen des PDF kommt die Identität aus dem Verkäufer-Snapshot und die Gestaltung vom Mandanten. Zwei Dinge gehören dazu gesagt: Das Branding hängt am Merkmal `custom_branding` deines Kontos, und ohne hinterlegtes Logo bleibt das Dokument ohne Logo — es fällt nicht auf deines zurück.

Abrechnung

Was du weiterberechnest, entscheidest du

Die Abrechnung läuft über dein Konto: 250 finalisierte Rechnungen sind enthalten, die Staffel greift auf das Gesamtvolumen aller Mandanten. Je Mandant siehst du die Zahl der finalisierten Rechnungen und die API-Nutzung. Einen Euro-Betrag je Mandant weist die Console bewusst nicht aus — bei einer graduierten Staffel auf das Kontovolumen wäre jede Zuteilung eine Behauptung. Die Aufteilung auf deine Kunden bleibt deine Kalkulation.

Mandanten

Mandantenstruktur in der Sandbox durchspielen

Lege Testmandanten an, buche gegen beide, sieh dir die Trennung an. Die Sandbox ist dauerhaft kostenlos und schreibt nichts fest.