FAHRDESK

Datenportabilität

Das Fahrdesk-Exportformat

Spezifikation, Version 1 · 28 Entitäten · 405 Felder

Jede Fahrschule, die Fahrdesk nutzt, kann ihren vollständigen Datenbestand als offenes Paket herunterladen — ohne unsere Zustimmung, ohne Angabe eines Grundes. Diese Seite beschreibt, was in diesem Paket steht, damit der Anbieter, zu dem eine Fahrschule wechselt, seinen Import bauen kann, bevor das erste Paket bei ihm liegt.

Die Angaben auf dieser Seite werden aus demselben Katalog erzeugt, aus dem das Paket entsteht. Sie können nicht veralten, ohne dass sich das Paket mit ändert.

Aufbau des Pakets

Das Paket ist ein ZIP-Archiv (Deflate) mit dem Namen fahrdesk-export-JJJJ-MM-TT.zip. Es ist nicht verschlüsselt und nicht passwortgeschützt — der Empfänger soll es lesen können. Jede Entität liegt zweimal vor: als .json mit Typen und verschachtelten Werten und als .csv für Tabellenkalkulationen. Beide Dateien entstehen aus derselben Zeilenmenge.

manifest.json                     Inhalt, Satzzahlen je Entität, Dateiliste, Prüfsummen, Konventionen.
liesmich.md                       Dieselbe Beschreibung in Kurzform, für den Menschen.
schema/datenwoerterbuch.json      Typ, Format und Bedeutung jedes Feldes, Schlüssel "entitaet.feld".
schema/beziehungen.json           Welches Feld auf welche Entität verweist.
dokumente/index.json              Verzeichnis der beigelegten Dateien mit ihrer Zuordnung.
dokumente/dateien/                Die Dateien selbst, im Originalformat.

organisation/                     Fahrschule und Standorte
  fahrschule.{json,csv}           Fahrschule
  standorte.{json,csv}            Standorte
schueler/                         Fahrschüler
  schueler.{json,csv}             Fahrschüler
  ausbildungen.{json,csv}         Ausbildungsvorgänge
  kontakte.{json,csv}             Kontaktpersonen
personal/                         Mitarbeiter und Fahrlehrer
  mitarbeiter.{json,csv}          Mitarbeiter
  fahrlehrer.{json,csv}           Fahrlehrer
ausbildung/                       Fahrstunden, Theorie und Prüfungen
  fahrstunden.{json,csv}          Fahrstunden
  theorieunterricht.{json,csv}    Theorieunterricht
  theorieteilnahmen.{json,csv}    Theorieteilnahmen
  theorieanwesenheit.{json,csv}   Anwesenheit am Theorieunterricht
  pruefungen.{json,csv}           Prüfungen
finanzen/                         Leistungen, Rechnungen und Zahlungen
  leistungen.{json,csv}           Leistungsarten
  kostenarten.{json,csv}          Weitere Kostenarten
  preislisten.{json,csv}          Preislisten
  preispositionen.{json,csv}      Preispositionen
  rechnungen.{json,csv}           Rechnungen
  rechnungspositionen.{json,csv}  Rechnungspositionen
  zahlungen.{json,csv}            Zahlungen
  schuelerkosten.{json,csv}       Berechnete Kosten je Fahrschüler
  ausgaben.{json,csv}             Betriebsausgaben
  mahnungen.{json,csv}            Mahnungen
  mahnsperren.{json,csv}          Mahnsperren
  inkasso_faelle.{json,csv}       Inkassofälle
fahrzeuge/                        Fuhrpark
  fahrzeuge.{json,csv}            Fahrzeuge
  fahrzeugservice.{json,csv}      Wartung und Prüfungen
  fahrzeugkosten.{json,csv}       Fahrzeugkosten
sonstiges/                        Notizen
  notizen.{json,csv}              Notizen

Eine Datei kann leer sein, weil die Fahrschule dort keine Daten hat — oder weil der Bestand beim Export nicht gelesen werden konnte. Diese beiden Fälle sind unterscheidbar: Der zweite steht in manifest.json unter nichtEnthalten mit Grund. Bitte werten Sie das aus, bevor Sie einem Kunden mitteilen, er habe keine Rechnungen.

Konventionen: Datum, Zeit, Beträge

Dieselben Sätze stehen im Paket selbst, in manifest.json unter konventionen. Ein Importeur kann sie also auch maschinell prüfen, statt sich auf diese Seite zu verlassen.

Beziehungen
Jede Entität hat ein Feld "id". Verweisende Felder enden auf "_id" und tragen die id des Ziels; welches Ziel gemeint ist, steht in schema/beziehungen.json.
Datum
JJJJ-MM-TT
Zeitpunkte
ISO 8601 mit Zeitzonenangabe, z. B. 2026-03-12T14:30:00+01:00
Beträge
Ganzzahlen in Cent. 12550 bedeutet 125,50 €.
Listen
In JSON als Array, in CSV mit senkrechtem Strich getrennt.
Leere Werte
In JSON null, in CSV ein leeres Feld.
Zeichensatz und Sprache
UTF-8, Sprache de-DE. Feldnamen und die von Fahrdesk vergebenen Schlüsselwerte (Status, Typen) sind deutsch — Fahrdesk führt seine Daten durchgehend deutsch, und eine Übersetzungsschicht nur für den Export hieße, dass Sie die Namen gegen das rückübersetzen müssten, was Ihre Kunden in der Oberfläche sehen.
Zeitzone
Die Zeitzone der Fahrschule steht in manifest.json unter zeitzone und zusätzlich im Feld fahrschule.zeitzone. Zeitpunkte tragen ihre Zeitzone selbst; reine Datumswerte tun das nicht und sind in der Zeitzone der Fahrschule zu lesen.
CSV (Trennzeichen „;“)
  • Trennzeichen ist das Semikolon, Zeilenende CRLF, Zeichensatz UTF-8 ohne BOM.
  • Werte, die ein Semikolon, ein Anführungszeichen oder einen Zeilenumbruch enthalten, stehen in Anführungszeichen; enthaltene Anführungszeichen sind verdoppelt.
  • Werte, die mit "=", "+", "-" oder "@" beginnen, tragen ein vorangestelltes Apostroph, damit Tabellenprogramme sie nicht als Formel auswerten. Das Apostroph gehört nicht zum Wert.
  • Verschachtelte Werte (Typ "objekt") stehen in der CSV als JSON-Text. Wer sie auswerten will, nimmt die JSON-Datei derselben Entität.

Feldtypen

Jedes Feld im Katalog weiter unten trägt einen dieser Typen. Denselben Typ nennt auch schema/datenwoerterbuch.json im Paket, dort je Feld unter dem Schlüssel entitaet.feld.

text
Zeichenkette.
zahl
Zahl. In JSON als Zahlwert, in CSV mit Punkt als Dezimaltrennzeichen.
betrag
Ganzzahl in Cent. 12550 bedeutet 125,50 €. Kein Dezimaltrennzeichen, keine Währung im Wert.
datum
Datum ohne Uhrzeit im Format JJJJ-MM-TT.
zeitpunkt
Zeitpunkt nach ISO 8601 mit Zeitzonenangabe, z. B. 2026-03-12T14:30:00+01:00.
wahrheitswert
In JSON true oder false, in CSV der Text "true" bzw. "false".
liste
In JSON ein Array, in CSV die Werte mit senkrechtem Strich getrennt.
objekt
In JSON ein verschachteltes Objekt, in CSV dasselbe Objekt als JSON-Text in einer Zelle.
id
Kennung eines Datensatzes, in Fahrdesk eine UUID. Siehe Abschnitt „Kennungen“.

Kennungen und Export-IDs

  • Die Export-ID eines Datensatzes ist sein Feld id. Es gibt keine zweite, nur für den Export erzeugte Nummer: Die Kennung im Paket ist unverändert die, unter der der Datensatz in Fahrdesk geführt wurde — eine UUID.
  • Damit sind die Kennungen innerhalb eines Pakets eindeutig und über mehrere Exporte derselben Fahrschule hinweg stabil. Ein zweiter Export nach einer Woche trägt für dieselben Datensätze dieselben Kennungen; das erlaubt einen erneuten Abgleich, ohne über Namen und Geburtsdaten zu raten.
  • Verweise auf andere Datensätze stehen in Feldern, die auf _id enden. Welche Entität gemeint ist, steht im Beziehungsmodell weiter unten und maschinenlesbar in schema/beziehungen.json.
  • Kennungen sind über Mandanten hinweg nicht vergleichbar: Ein Paket enthält genau eine Fahrschule.

Entitäten ohne eigenes Feld „id“

  • rechnungspositionenDie Einzelposten der Rechnungen. In Fahrdesk stehen sie innerhalb der Rechnung; für den Export sind sie zu eigenen Zeilen aufgelöst, damit ein Empfänger sie ohne Kenntnis unserer internen Struktur weiterverarbeiten kann.

Verweise ohne festes Ziel

Diese Felder tragen eine Kennung, deren Ziel erst aus einem Nachbarfeld hervorgeht. Wer sie wie einen gewöhnlichen Fremdschlüssel behandelt, ordnet sie der falschen Entität zu.

  • notizen.entitaet_id Kennung dieses Datensatzes. Aufzulösen über entitaet_typ.

Beziehungsmodell

55 Verweise. Dieselbe Liste liegt dem Paket als schema/beziehungen.json bei, dort als Einträge aus von, feld und nach. Ein Verweisfeld kann leer sein. Findet sich zu einer gefüllten Kennung kein Datensatz in der Zieldatei, prüfen Sie bitte nichtEnthalten im Manifest, bevor Sie den Verweis verwerfen.

EntitätFeldverweist auf
schuelerstandort_idstandorte
schuelerstamm_fahrlehrer_idfahrlehrer
ausbildungenschueler_idschueler
ausbildungenstandort_idstandorte
ausbildungenstamm_fahrlehrer_idfahrlehrer
ausbildungenpreisliste_idpreislisten
kontakteschueler_idschueler
mitarbeiterstandort_idstandorte
fahrlehrerprofile_idmitarbeiter
fahrlehrerstandort_idstandorte
fahrstundenschueler_idschueler
fahrstundenfahrlehrer_idfahrlehrer
fahrstundenfahrzeug_idfahrzeuge
fahrstundenstundentyp_idleistungen
fahrstundenpruefung_idpruefungen
theorieunterrichtfahrlehrer_idfahrlehrer
theorieunterrichtstandort_idstandorte
theorieteilnahmenschueler_idschueler
theorieteilnahmenfahrlehrer_idfahrlehrer
theorieteilnahmenstandort_idstandorte
theorieanwesenheittermin_idtheorieunterricht
theorieanwesenheitschueler_idschueler
pruefungenschueler_idschueler
pruefungenfahrlehrer_idfahrlehrer
pruefungenfahrzeug_idfahrzeuge
leistungenstandort_idstandorte
kostenartenstandort_idstandorte
preislistenstandort_idstandorte
preispositionenpreisliste_idpreislisten
preispositionenstundentyp_idleistungen
preispositionenkostenposition_idkostenarten
rechnungenschueler_idschueler
rechnungenstandort_idstandorte
rechnungenstorno_von_idrechnungen
rechnungenkorrektur_von_idrechnungen
rechnungspositionenrechnung_idrechnungen
rechnungspositionenfahrstunde_idfahrstunden
rechnungspositionenfahrlehrer_idfahrlehrer
zahlungenschueler_idschueler
zahlungenrechnung_idrechnungen
zahlungenfahrstunde_idfahrstunden
zahlungenkostenposition_idkostenarten
schuelerkostenschueler_idschueler
schuelerkostenkostenposition_idkostenarten
ausgabenstandort_idstandorte
ausgabenfahrzeug_idfahrzeuge
mahnungenschueler_idschueler
mahnungenstandort_idstandorte
mahnsperrenschueler_idschueler
mahnsperrenrechnung_idrechnungen
inkasso_faelleschueler_idschueler
fahrzeugestandort_idstandorte
fahrzeugefahrlehrer_idfahrlehrer
fahrzeugservicefahrzeug_idfahrzeuge
fahrzeugkostenfahrzeug_idfahrzeuge

Dokumente

Hinterlegte Dateien liegen mit ihrem Inhalt im Paket, nicht als Verweis auf unseren Speicher — ein solcher Verweis wäre genau dann wertlos, wenn er gebraucht wird: nach dem Wechsel. Sie stehen unter dokumente/dateien/ im Originalformat. Der Dateiname ist die Kennung des Dokumentdatensatzes plus die ursprüngliche Endung, weil Originalnamen doppelt vorkommen, Umlaute tragen und Pfadtrenner enthalten können.

Die Zuordnung steht in dokumente/index.json — eine Liste mit diesen Feldern:

FeldBedeutung
pfadPfad der Datei innerhalb des Pakets.
entitaetEntität, an der die Datei hängt, z. B. schueler oder fahrzeuge.
entitaet_idid des Datensatzes, an dem die Datei hängt — dieselbe id wie in der Entitätsdatei.
bezeichnungBezeichnung der Datei, wie sie in Fahrdesk vergeben wurde.
typArt des Dokuments.
mime_typMIME-Typ, sofern beim Hochladen erfasst.
groesse_bytesGröße in Bytes.
hochgeladen_atZeitpunkt des Hochladens.

Die Zuordnung läuft über entitaet und entitaet_id: Der Wert von entitaet ist ein Entitätsname aus dem Katalog unten, entitaet_id die id des Datensatzes in der zugehörigen Datei.

Manifest und Prüfsummen

manifest.json ist die Datei, mit der ein Importeur beginnen sollte. Sie nennt die Formatversion, die Fahrschule, die Konventionen, je Bereich und Entität die Anzahl der Datensätze, die Zahl und Gesamtgröße der Dokumente, nicht gelesene Bereiche samt Grund sowie zu jeder Datei des Pakets ihre Größe in Bytes und ihre Prüfsumme.

Prüfsummenverfahren ist sha256, notiert als Hexadezimaltext. Das Manifest führt jede andere Datei des Pakets auf, seine eigene Prüfsumme kann es nicht enthalten. Wer prüfen will, ob unterwegs etwas beschädigt wurde, rechnet die Prüfsummen der Dateien nach; die Vollständigkeit prüft er, indem er die Dateiliste des Manifests gegen das Archiv hält.

Feldkatalog

Alle 405 Felder, die ein Paket enthalten kann, nach Bereichen geordnet. Die Reihenfolge entspricht der Spaltenreihenfolge der CSV-Dateien. Felder, für die eine Fahrschule nichts erfasst hat, sind leer, aber vorhanden — die Kopfzeile einer CSV-Datei ist unabhängig vom Datenbestand vollständig.

Fahrschule und Standorte organisation/

Fahrschule organisation/fahrschule

Die Stammdaten des Unternehmens. Genau ein Datensatz.

FeldTypBedeutung
ididEindeutige Kennung der Fahrschule.
nametextFirmenname.
anzeige_nametextAbweichender Name für die Außendarstellung.
rechtsformtextRechtsform, z. B. GmbH.
inhabertextName des Inhabers.
geschaeftsfuehrertextName des Geschäftsführers.
strassetextStraße und Hausnummer.
plztextPostleitzahl.
orttextOrt der Anschrift.
landtextLand der Anschrift.
telefontextTelefonnummer.
emailtextAllgemeine E-Mail-Adresse.
websitetextInternetadresse.
ust_idtextUmsatzsteuer-Identifikationsnummer.
steuernummertextSteuernummer.
handelsregistertextHandelsregistereintrag.
fahrschulerlaubnis_nummertextNummer der Fahrschulerlaubnis.
erlaubnisbehoerdetextZuständige Erlaubnisbehörde.
kleinunternehmerwahrheitswertKleinunternehmerregelung nach § 19 UStG.
umsatzsteuer_prozentzahlRegelsteuersatz in Prozent.
zeitzonetextZeitzone aller Zeitpunkte dieses Exports.
gruendungsdatumdatumGründungsdatum.
created_atzeitpunktAnlage des Datensatzes in Fahrdesk.

Standorte organisation/standorte

Filialen und Zweigstellen der Fahrschule.

FeldTypBedeutung
ididEindeutige Kennung des Standorts.
nametextBezeichnung des Standorts.
strassetextStraße und Hausnummer.
plztextPostleitzahl.
orttextOrt der Anschrift.
adressetextAnschrift in einer Zeile (Altbestand).
telefontextTelefonnummer des Standorts.
emailtextE-Mail-Adresse des Standorts.
steuernummertextAbweichende Steuernummer.
ust_idtextAbweichende Umsatzsteuer-Identifikationsnummer.
aktivwahrheitswertStandort wird derzeit betrieben.
created_atzeitpunktAnlage des Datensatzes.

Fahrschüler schueler/

Fahrschüler schueler/schueler

Alle Fahrschüler mit Stammdaten und Ausbildungsstand.

FeldTypBedeutung
ididEindeutige Kennung des Fahrschülers.
standort_ididZugeordneter Standort.Verweist auf standorte.
stamm_fahrlehrer_ididZugeordneter Stammfahrlehrer.Verweist auf fahrlehrer.
vornametextVorname.
nachnametextNachname.
geburtsdatumdatumGeburtsdatum.
geburtsorttextGeburtsort.
staatsangehoerigkeittextStaatsangehörigkeit.
strassetextStraße und Hausnummer der Wohnanschrift.
plztextPostleitzahl der Wohnanschrift.
orttextOrt der Wohnanschrift.
landtextLand der Wohnanschrift.
telefontextMobilnummer.
telefon_festnetztextFestnetznummer.
emailtextE-Mail-Adresse.
email_zweittextZweite E-Mail-Adresse.
sprachetextBevorzugte Sprache.
klassenlisteFührerscheinklassen der Ausbildung, z. B. B, B197, A1.
klassen_getriebeobjektJe Klasse das Ausbildungsziel (Schaltung, Automatik).
ausbildungszieltextAusbildungsziel insgesamt.
statustextAusbildungsstatus, z. B. aktiv, pausiert, abgeschlossen.
lifecycle_phasetextPhase im Kundenlebenszyklus, z. B. interessent, schueler.
theorie_abgeschlossenwahrheitswertTheorieausbildung abgeschlossen.
sehhilfewahrheitswertSehhilfe erforderlich (Eintrag im Führerschein).
beeintraechtigungentextAngaben zu Beeinträchtigungen. Gesundheitsdaten nach Art. 9 DSGVO — im Bestand verschlüsselt gespeichert.
ausbildungsbeginndatumBeginn der Ausbildung.
anmeldung_amzeitpunktZeitpunkt der Anmeldung.
vertrag_datumdatumDatum des Ausbildungsvertrags.
vertrag_statustextStand des Ausbildungsvertrags.
kuendigung_datumdatumDatum der Kündigung, falls erfolgt.
kuendigung_grundtextGrund der Kündigung.
fs_nummertextFührerscheinnummer nach Erteilung.
fs_erteilt_amdatumDatum der Führerscheinerteilung.
fs_behoerdetextErteilende Behörde.
fs_auflagentextAuflagen im Führerschein.
b197_schaltstunden_sollzahlVorgeschriebene Schaltstunden bei Klasse B197.
min_fahrtenobjektJe Fahrtart die vorgeschriebene Mindestanzahl.
einwilligungenobjektErteilte Einwilligungen (Werbung, Datenverarbeitung) mit Zeitpunkt.
notizentextInterne Notizen zum Fahrschüler. Im Bestand verschlüsselt gespeichert.
quelletextHerkunft des Kontakts.
tagslisteFreie Schlagworte.
saldo_soll_centbetragSumme aller berechneten Leistungen.Format: Ganzzahl in Cent (12550 = 125,50 €).
saldo_ist_centbetragSumme aller eingegangenen Zahlungen.Format: Ganzzahl in Cent (12550 = 125,50 €).
saldo_offen_centbetragOffener Betrag.Format: Ganzzahl in Cent (12550 = 125,50 €).
saldo_guthaben_centbetragVorhandenes Guthaben.Format: Ganzzahl in Cent (12550 = 125,50 €).
archiviert_atzeitpunktZeitpunkt der Archivierung.
created_atzeitpunktAnlage des Datensatzes.
updated_atzeitpunktLetzte Änderung.

Ausbildungsvorgänge schueler/ausbildungen

Je Führerscheinklasse ein Ausbildungsvorgang des Fahrschülers.

FeldTypBedeutung
ididEindeutige Kennung des Vorgangs.
schueler_ididZugehöriger Fahrschüler.Verweist auf schueler.
standort_ididZugeordneter Standort.Verweist auf standorte.
stamm_fahrlehrer_ididZugeordneter Fahrlehrer.Verweist auf fahrlehrer.
preisliste_ididZugrunde liegende Preisliste.Verweist auf preislisten.
klassetextFührerscheinklasse.
ausbildungszieltextSchaltung, Automatik oder beides.
statustextStand des Vorgangs.
hauptvorgangwahrheitswertFührender Vorgang bei mehreren Klassen.
angemeldet_amdatumAnmeldedatum.
abgeschlossen_amdatumAbschlussdatum.
notizentextNotizen zum Vorgang.
created_atzeitpunktAnlage des Datensatzes.

Kontaktpersonen schueler/kontakte

Erziehungsberechtigte, Rechnungsempfänger und Notfallkontakte.

FeldTypBedeutung
ididEindeutige Kennung des Kontakts.
schueler_ididZugehöriger Fahrschüler.Verweist auf schueler.
typtextArt des Kontakts, z. B. erziehungsberechtigter, rechnungsempfaenger, notfall.
nametextName der Kontaktperson.
telefontextTelefonnummer.
emailtextE-Mail-Adresse.
darf_auskunftwahrheitswertDarf Auskunft über den Ausbildungsstand erhalten.
notiztextErgänzende Notiz.
created_atzeitpunktAnlage des Datensatzes.

Mitarbeiter und Fahrlehrer personal/

Mitarbeiter personal/mitarbeiter

Benutzerkonten der Fahrschule. Enthält bewusst KEINE Zugangsdaten, keine Bankverbindung und keine Sozialversicherungs- oder Steuernummern — diese Angaben sind Beschäftigtendaten mit eigener Zweckbindung und gehören nicht in einen Portabilitätsexport für ein Fremdsystem.

FeldTypBedeutung
ididEindeutige Kennung des Mitarbeiters.
standort_ididZugeordneter Standort.Verweist auf standorte.
vornametextVorname.
nachnametextNachname.
emailtextDienstliche E-Mail-Adresse.
telefontextDienstliche Telefonnummer.
rolletextRolle in Fahrdesk, z. B. inhaber, admin, fahrlehrer.
rollen_titeltextFrei vergebene Bezeichnung der Rolle.
aktivwahrheitswertKonto ist aktiv.
eintrittsdatumdatumEintrittsdatum.
vertrag_beginndatumBeginn des Arbeitsvertrags.
vertrag_endedatumEnde des Arbeitsvertrags.
wochenstundenzahlVereinbarte Wochenstunden.
urlaubstage_jahrzahlUrlaubstage pro Jahr.
created_atzeitpunktAnlage des Datensatzes.

Fahrlehrer personal/fahrlehrer

Fahrlehrer mit Lehrbefugnis und Zuordnung.

FeldTypBedeutung
ididEindeutige Kennung des Fahrlehrers.
profile_ididZugehöriges Benutzerkonto.Verweist auf mitarbeiter.
standort_ididZugeordneter Standort.Verweist auf standorte.
vornametextVorname.
nachnametextNachname.
spitznametextAnzeigename im Kalender.
emailtextE-Mail-Adresse.
telefontextTelefonnummer.
klassenlisteKlassen, für die eine Lehrbefugnis besteht.
aktivwahrheitswertFahrlehrer ist aktiv.
vertrag_beginndatumBeginn der Tätigkeit.
vertrag_endedatumEnde der Tätigkeit.
notizentextInterne Notizen.
created_atzeitpunktAnlage des Datensatzes.

Fahrstunden, Theorie und Prüfungen ausbildung/

Fahrstunden ausbildung/fahrstunden

Praktische Ausbildungsfahrten, geplant und durchgeführt.

FeldTypBedeutung
ididEindeutige Kennung der Fahrstunde.
schueler_ididFahrschüler.Verweist auf schueler.
fahrlehrer_ididFahrlehrer.Verweist auf fahrlehrer.
fahrzeug_ididVerwendetes Fahrzeug.Verweist auf fahrzeuge.
stundentyp_ididArt der Fahrstunde.Verweist auf leistungen.
pruefung_ididZugehörige Prüfung, falls Prüfungsfahrt.Verweist auf pruefungen.
nummerzahlLaufende Nummer der Fahrstunde beim Fahrschüler.
start_atzeitpunktBeginn.
end_atzeitpunktEnde der Fahrstunde.
dauer_minzahlDauer in Minuten.
klassetextFührerscheinklasse dieser Fahrstunde.
statustextStatus, z. B. geplant, absolviert, abgesagt.
ist_pruefungsfahrtwahrheitswertFahrt im Rahmen einer Prüfung.
bezahltwahrheitswertFahrstunde ist bezahlt.
preis_centbetragBerechneter Preis der Fahrstunde.Format: Ganzzahl in Cent (12550 = 125,50 €).
protokollobjektAusbildungsnachweis: bewertete Lernstoffpunkte dieser Fahrt.
notizentextNotiz des Fahrlehrers zur Fahrstunde.
bewertung_sternezahlBewertung des Fahrschülers, 1 bis 5.
created_atzeitpunktAnlage des Datensatzes.

Theorieunterricht ausbildung/theorieunterricht

Termine des theoretischen Unterrichts.

FeldTypBedeutung
ididEindeutige Kennung des Unterrichts.
fahrlehrer_ididUnterrichtender Fahrlehrer.Verweist auf fahrlehrer.
standort_ididStandort.Verweist auf standorte.
datumzeitpunktBeginn des Unterrichts.
dauer_minzahlDauer in Minuten.
thematextThema der Einheit.
lektion_nrzahlNummer der Lektion.
lektion_typtextGrundstoff oder klassenspezifischer Zusatzstoff.
klassetextKlasse des Zusatzstoffs.
kapazitaetzahlAnzahl der Plätze.
orttextUnterrichtsort.
statustextStatus des Termins.
created_atzeitpunktAnlage des Datensatzes.

Theorieteilnahmen ausbildung/theorieteilnahmen

Besuchte Theorielektionen je Fahrschüler — der Nachweis der Theorieausbildung.

FeldTypBedeutung
ididEindeutige Kennung der Teilnahme.
schueler_ididFahrschüler.Verweist auf schueler.
fahrlehrer_ididUnterrichtender Fahrlehrer.Verweist auf fahrlehrer.
standort_ididStandort.Verweist auf standorte.
datumdatumDatum der Lektion.
thematextThema der Lektion.
lektion_nrzahlNummer der Lektion.
lektion_typtextGrundstoff oder Zusatzstoff.
besuchtwahrheitswertLektion wurde besucht.
anwesendwahrheitswertAnwesenheit bestätigt.
externe_fahrschuletextBei anderer Fahrschule besucht.
notizentextNotiz zur Teilnahme.
created_atzeitpunktAnlage des Datensatzes.

Anwesenheit am Theorieunterricht ausbildung/theorieanwesenheit

Wer an welchem Unterrichtstermin teilgenommen hat. Ergänzt die Theorieteilnahmen: Diese führen die Lektion je Fahrschüler, jene die Anwesenheit am konkreten Termin.

FeldTypBedeutung
ididEindeutige Kennung der Teilnahme.
termin_ididUnterrichtstermin.Verweist auf theorieunterricht.
schueler_ididTeilnehmender Fahrschüler.Verweist auf schueler.
anwesendwahrheitswertTeilnahme bestätigt.
created_atzeitpunktAnlage des Datensatzes.

Prüfungen ausbildung/pruefungen

Theoretische und praktische Prüfungen mit Ergebnis.

FeldTypBedeutung
ididEindeutige Kennung der Prüfung.
schueler_ididFahrschüler.Verweist auf schueler.
fahrlehrer_ididBegleitender Fahrlehrer.Verweist auf fahrlehrer.
fahrzeug_ididVerwendetes Fahrzeug.Verweist auf fahrzeuge.
typtextTheorie oder Praxis.
arttextNähere Art der Prüfung.
klassetextFührerscheinklasse.
terminzeitpunktPrüfungstermin.
datumdatumPrüfungsdatum.
uhrzeittextUhrzeit der Prüfung.
pruefstelletextPrüfstelle, z. B. TÜV oder DEKRA.
standorttextOrt der Prüfung.
ergebnistextErgebnis, z. B. bestanden, nicht_bestanden.
storniert_atzeitpunktZeitpunkt der Stornierung.
notizentextNotiz zur Prüfung.
created_atzeitpunktAnlage des Datensatzes.

Leistungen, Rechnungen und Zahlungen finanzen/

Leistungsarten finanzen/leistungen

Die abrechenbaren Fahrstundenarten mit Solldauer und Standardpreis.

FeldTypBedeutung
ididEindeutige Kennung der Leistungsart.
standort_ididStandort, falls standortabhängig.Verweist auf standorte.
nametextBezeichnung, z. B. Übungsstunde, Überlandfahrt.
dauer_minzahlRegeldauer in Minuten.
pflicht_sollzahlVorgeschriebene Anzahl (Sonderfahrten).
sonderfahrt_arttextArt der Sonderfahrt nach FahrschAusbO.
ist_theoriewahrheitswertTheorieleistung.
ist_pruefungsfahrtwahrheitswertPrüfungsfahrt.
ist_nachtfahrtwahrheitswertNachtfahrt.
klassenlisteKlassen, für die die Leistung gilt.
standard_preis_centbetragStandardpreis der Leistung.Format: Ganzzahl in Cent (12550 = 125,50 €).
created_atzeitpunktAnlage des Datensatzes.

Weitere Kostenarten finanzen/kostenarten

Gebühren neben den Fahrstunden, z. B. Grundbetrag oder Vorstellungsentgelt.

FeldTypBedeutung
ididEindeutige Kennung der Kostenart.
standort_ididStandort, falls standortabhängig.Verweist auf standorte.
bezeichnungtextBezeichnung der Kostenart.
typtextArt der Kostenposition.
standard_betrag_centbetragStandardbetrag.Format: Ganzzahl in Cent (12550 = 125,50 €).
klassenlisteKlassen, für die die Kostenart gilt.
bei_anlage_faelligwahrheitswertWird bei Anmeldung fällig.
aktivwahrheitswertKostenart wird verwendet.
created_atzeitpunktAnlage des Datensatzes.

Preislisten finanzen/preislisten

Preisstände mit Gültigkeitszeitraum.

FeldTypBedeutung
ididEindeutige Kennung der Preisliste.
standort_ididStandort, falls standortabhängig.Verweist auf standorte.
nametextBezeichnung der Preisliste.
klassetextFührerscheinklasse.
gueltig_abdatumBeginn der Gültigkeit.
gueltig_bisdatumEnde der Gültigkeit.
statustextStatus, z. B. entwurf, aktiv.
standardwahrheitswertStandardpreisliste.
waehrungtextWährung.
created_atzeitpunktAnlage des Datensatzes.

Preispositionen finanzen/preispositionen

Die einzelnen Preise einer Preisliste.

FeldTypBedeutung
ididEindeutige Kennung der Position.
preisliste_ididZugehörige Preisliste.Verweist auf preislisten.
stundentyp_ididBepreiste Leistungsart.Verweist auf leistungen.
kostenposition_ididBepreiste Kostenart.Verweist auf kostenarten.
leistungstyptextArt der bepreisten Leistung.
kategorietextKategorie der Position.
beschreibungtextBezeichnung der Position.
betrag_brutto_centbetragPreis brutto.Format: Ganzzahl in Cent (12550 = 125,50 €).
ust_satzzahlUmsatzsteuersatz in Prozent.
dauer_minutenzahlDauer der Leistung in Minuten.
einheittextAbrechnungseinheit.
fahrzeugkategorietextFahrzeugkategorie, für die der Preis gilt.
sonderfahrt_arttextArt der Sonderfahrt.
pruefungsarttextArt der Prüfung.
ist_nachtfahrtwahrheitswertNachtfahrt.
pflichtrelevantwahrheitswertZählt zu den Pflichtfahrten.
aktivwahrheitswertPosition wird verwendet.
sortierungzahlReihenfolge in der Anzeige.
created_atzeitpunktAnlage des Datensatzes.

Rechnungen finanzen/rechnungen

Ausgestellte Rechnungen, Stornos und Korrekturen.

FeldTypBedeutung
ididEindeutige Kennung der Rechnung.
schueler_ididRechnungsempfänger (Fahrschüler).Verweist auf schueler.
standort_ididAusstellender Standort.Verweist auf standorte.
storno_von_ididStornierte Rechnung, falls dies eine Stornorechnung ist.Verweist auf rechnungen.
korrektur_von_ididKorrigierte Rechnung.Verweist auf rechnungen.
rechnungsnummertextFortlaufende Rechnungsnummer.
legacy_nummertextRechnungsnummer aus einem Vorsystem.
bezeichnungtextBezeichnung der Rechnung.
summe_centbetragRechnungsbetrag brutto.Format: Ganzzahl in Cent (12550 = 125,50 €).
statustextStatus, z. B. offen, bezahlt, storniert.
ausgestellt_atdatumRechnungsdatum.
faellig_amdatumFälligkeitsdatum.
leistung_vondatumBeginn des Leistungszeitraums.
leistung_bisdatumEnde des Leistungszeitraums.
created_atzeitpunktAnlage des Datensatzes.

Rechnungspositionen finanzen/rechnungspositionen

Die Einzelposten der Rechnungen. In Fahrdesk stehen sie innerhalb der Rechnung; für den Export sind sie zu eigenen Zeilen aufgelöst, damit ein Empfänger sie ohne Kenntnis unserer internen Struktur weiterverarbeiten kann.

FeldTypBedeutung
rechnung_ididZugehörige Rechnung.Verweist auf rechnungen.
positionzahlLaufende Nummer innerhalb der Rechnung.
bezeichnungtextBezeichnung des Postens.
datumdatumLeistungsdatum des Postens.
leistungsmonattextLeistungsmonat im Format JJJJ-MM.
einzelpreis_centbetragBetrag der Position brutto.Format: Ganzzahl in Cent (12550 = 125,50 €).
ust_satzzahlUmsatzsteuersatz in Prozent zum Zeitpunkt der Rechnung.
fahrstunde_ididAbgerechnete Fahrstunde, falls die Position eine ist.Verweist auf fahrstunden.
fahrlehrer_ididZugehöriger Fahrlehrer.Verweist auf fahrlehrer.
hinweistextErgänzender Hinweis zur Position.

Zahlungen finanzen/zahlungen

Eingegangene Zahlungen. Kennungen des Zahlungsdienstleisters bleiben außen vor — sie gehören zum Vertrag der Fahrschule mit diesem Dienstleister, nicht zum übertragbaren Datenbestand.

FeldTypBedeutung
ididEindeutige Kennung der Zahlung.
schueler_ididZahlender Fahrschüler.Verweist auf schueler.
rechnung_ididZugeordnete Rechnung.Verweist auf rechnungen.
fahrstunde_ididZugeordnete Fahrstunde.Verweist auf fahrstunden.
kostenposition_ididZugeordnete Kostenart.Verweist auf kostenarten.
betrag_centbetragGezahlter Betrag.Format: Ganzzahl in Cent (12550 = 125,50 €).
currencytextWährung der Zahlung (ISO-4217, z. B. EUR).
methodetextZahlungsart, z. B. bar, ueberweisung, karte.
statustextStatus der Zahlung.
datumdatumZahlungsdatum.
zahlungsmonattextAbrechnungsmonat im Format JJJJ-MM.
referenztextVerwendungszweck oder Beleg-Referenz.
storno_grundtextGrund einer Stornierung.
notizentextNotiz zur Zahlung.
created_atzeitpunktAnlage des Datensatzes.

Berechnete Kosten je Fahrschüler finanzen/schuelerkosten

Die einzelnen Posten, die einem Fahrschüler berechnet wurden — Grundbetrag, Vorstellungsentgelte, Lernmittel. Zusammen mit den Fahrstunden ergeben sie, was der Fahrschüler schuldet; ohne sie lässt sich ein offener Betrag beim Zielanbieter nicht nachvollziehen.

FeldTypBedeutung
ididEindeutige Kennung des Postens.
schueler_ididBetroffener Fahrschüler.Verweist auf schueler.
kostenposition_ididZugrunde liegende Kostenart.Verweist auf kostenarten.
bezeichnungtextBezeichnung des Postens.
typtextArt des Postens.
betrag_centbetragBerechneter Betrag.Format: Ganzzahl in Cent (12550 = 125,50 €).
bezahltwahrheitswertPosten ist bezahlt.
bezahlt_amdatumDatum der Bezahlung.
datumdatumDatum der Berechnung.
faellig_atzeitpunktFälligkeit.
faelligkeit_typtextWodurch der Posten fällig wird.
pakettextZugehöriges Paket.
created_atzeitpunktAnlage des Datensatzes.

Betriebsausgaben finanzen/ausgaben

Ausgaben des Betriebs mit Beleg- und Steuerangaben.

FeldTypBedeutung
ididEindeutige Kennung der Ausgabe.
standort_ididZugeordneter Standort.Verweist auf standorte.
fahrzeug_ididZugeordnetes Fahrzeug.Verweist auf fahrzeuge.
datumdatumDatum der Ausgabe.
belegdatumdatumDatum des Belegs.
belegnummertextBelegnummer.
kategorietextKostenkategorie.
unterkategorietextFeinere Kategorie.
beschreibungtextBeschreibung der Ausgabe.
lieferanttextLieferant oder Empfänger.
betrag_centbetragBetrag brutto.Format: Ganzzahl in Cent (12550 = 125,50 €).
netto_centbetragBetrag netto.Format: Ganzzahl in Cent (12550 = 125,50 €).
steuer_centbetragEnthaltene Umsatzsteuer.Format: Ganzzahl in Cent (12550 = 125,50 €).
zahlungsarttextWie bezahlt wurde.
kostenstelletextKostenstelle.
statustextStatus der Ausgabe.
created_atzeitpunktAnlage des Datensatzes.

Mahnungen finanzen/mahnungen

Zahlungserinnerungen und Mahnungen.

FeldTypBedeutung
ididEindeutige Kennung der Mahnung.
schueler_ididGemahnter Fahrschüler.Verweist auf schueler.
standort_ididAusstellender Standort.Verweist auf standorte.
stufezahlMahnstufe 1-5.
stufe_bezeichnungtextBezeichnung der Mahnstufe zum Zeitpunkt der Freigabe.
betrag_centbetragGemahnte Forderung ohne Mahngebühr.Format: Ganzzahl in Cent (12550 = 125,50 €).
mahngebuehr_centbetragErhobene Mahngebühr; als Forderung in schueler_kosten verbucht.Format: Ganzzahl in Cent (12550 = 125,50 €).
frist_datumdatumZahlungsfrist.
statustextStatus der Mahnung.
versendet_atzeitpunktZeitpunkt des Versands.
created_atzeitpunktAnlage des Datensatzes.

Mahnsperren finanzen/mahnsperren

Begründete Aussetzungen des Mahnwesens je Fahrschüler oder Rechnung.

FeldTypBedeutung
ididEindeutige Kennung der Sperre.
schueler_ididBetroffener Fahrschüler.Verweist auf schueler.
rechnung_ididBetroffene Rechnung; leer = ganzer Fahrschüler.Verweist auf rechnungen.
grundtextSperrgrund (Streitfall, Ratenvereinbarung …).
bemerkungtextFreitext zur Sperre.
gueltig_bisdatumEnde der Sperre; leer = unbefristet.
gesetzt_atzeitpunktWann die Sperre gesetzt wurde.
aufgehoben_atzeitpunktWann die Sperre aufgehoben wurde.

Inkassofälle finanzen/inkasso_faelle

Zur Übergabe vorbereitete Forderungen samt eingefrorener Fallakte.

FeldTypBedeutung
ididEindeutige Kennung des Falls.
schueler_ididSchuldner.Verweist auf schueler.
statustextStatus des Falls.
forderung_centbetragOffene Forderung bei Anlage des Falls.Format: Ganzzahl in Cent (12550 = 125,50 €).
gebuehren_centbetragDarin enthaltene Mahngebühren.Format: Ganzzahl in Cent (12550 = 125,50 €).
aktenzeichentextAktenzeichen des beauftragten Büros.
empfaengertextWer die Forderung übernommen hat.
uebergeben_amdatumDatum der Übergabe.
erledigt_amdatumDatum der Erledigung.
created_atzeitpunktAnlage des Datensatzes.

Fuhrpark fahrzeuge/

Fahrzeuge fahrzeuge/fahrzeuge

Ausbildungsfahrzeuge mit technischen Daten und Fristen.

FeldTypBedeutung
ididEindeutige Kennung des Fahrzeugs.
standort_ididZugeordneter Standort.Verweist auf standorte.
fahrlehrer_ididFest zugeordneter Fahrlehrer.Verweist auf fahrlehrer.
kennzeichentextAmtliches Kennzeichen.
marketextHersteller.
modelltextModellbezeichnung.
fintextFahrzeug-Identifizierungsnummer.
fahrzeugarttextArt des Fahrzeugs, z. B. pkw, motorrad, lkw.
getriebetextSchaltung oder Automatik.
klassenlisteKlassen, für die das Fahrzeug eingesetzt wird.
erstzulassungdatumDatum der Erstzulassung.
kilometerstandzahlZuletzt erfasster Kilometerstand.
kraftstoffarttextKraftstoff- oder Antriebsart.
leistung_kwzahlMotorleistung in kW.
farbetextFarbe des Fahrzeugs.
tuev_bisdatumHauptuntersuchung gültig bis.
au_naechster_datumdatumNächste Abgasuntersuchung.
versicherertextVersicherungsgesellschaft.
versicherung_policetextVersicherungsscheinnummer.
versicherung_gueltig_bisdatumVersicherung gültig bis.
finanzierungsarttextKauf, Leasing oder Finanzierung.
leasing_gebertextLeasinggeber.
leasing_beginndatumBeginn des Leasings.
leasing_endedatumEnde des Leasings.
leasing_rate_centbetragMonatliche Leasingrate.Format: Ganzzahl in Cent (12550 = 125,50 €).
anschaffung_amdatumAnschaffungsdatum.
anschaffung_preis_centbetragAnschaffungspreis.Format: Ganzzahl in Cent (12550 = 125,50 €).
betriebszustandtextBetriebszustand des Fahrzeugs.
aktivwahrheitswertFahrzeug ist im Einsatz.
created_atzeitpunktAnlage des Datensatzes.

Wartung und Prüfungen fahrzeuge/fahrzeugservice

Wartungen, Services sowie Haupt- und Abgasuntersuchungen.

FeldTypBedeutung
ididEindeutige Kennung des Eintrags.
fahrzeug_ididBetroffenes Fahrzeug.Verweist auf fahrzeuge.
arttextArt des Eintrags, z. B. wartung, hu, au.
titeltextBezeichnung.
beschreibungtextBeschreibung der Maßnahme.
durchgefuehrt_amdatumDurchführungsdatum.
faellig_amdatumFälligkeitsdatum.
kilometerstandzahlKilometerstand bei Durchführung.
kosten_centbetragKosten der Maßnahme.Format: Ganzzahl in Cent (12550 = 125,50 €).
erledigtwahrheitswertMaßnahme ist erledigt.
created_atzeitpunktAnlage des Datensatzes.

Fahrzeugkosten fahrzeuge/fahrzeugkosten

Laufende Kosten je Fahrzeug, z. B. Kraftstoff und Reparaturen.

FeldTypBedeutung
ididEindeutige Kennung des Kostenpostens.
fahrzeug_ididBetroffenes Fahrzeug.Verweist auf fahrzeuge.
kategorietextKostenart, z. B. kraftstoff, reparatur.
betrag_centbetragBetrag.Format: Ganzzahl in Cent (12550 = 125,50 €).
datumdatumDatum des Belegs.
beschreibungtextBeschreibung.
created_atzeitpunktAnlage des Datensatzes.

Notizen sonstiges/

Notizen sonstiges/notizen

Freie Notizen an Fahrschülern, Fahrzeugen und anderen Datensätzen.

FeldTypBedeutung
ididEindeutige Kennung der Notiz.
entitaet_typtextArt des Datensatzes, an dem die Notiz hängt, z. B. schueler.
entitaet_ididKennung dieses Datensatzes. Aufzulösen über entitaet_typ.
kategorietextKategorie der Notiz.
texttextInhalt der Notiz.
autor_nametextName des Verfassers.
erfasst_amzeitpunktZeitpunkt der Erfassung.
created_atzeitpunktAnlage des Datensatzes.

Was nicht enthalten ist

Der Katalog oben ist abschließend: Was dort nicht steht, verlässt Fahrdesk nicht. Ausdrücklich nicht enthalten sind

  • Zugangsdaten, Passwort-Hashes sowie Sitzungs-, Kalender- und Dokumenttoken — sie sind für die Weiterverarbeitung ohne Wert, und ihre Weitergabe wäre ein Sicherheitsrisiko für die betroffenen Fahrschüler;
  • Suchindizes und interne Hilfswerte;
  • Kennungen des Zahlungsdienstleisters — sie gehören zum Vertrag der Fahrschule mit diesem Dienstleister, nicht zum übertragbaren Datenbestand;
  • Beschäftigtendaten der Mitarbeiter wie Bankverbindung, Steuer- und Sozialversicherungsnummer — eigene Zweckbindung, kein Gegenstand eines Portabilitätsexports;
  • Daten anderer Fahrschulen; ein Paket enthält genau einen Mandanten.

Bitte behandeln Sie diese Lücken nicht als Datenverlust und fordern Sie sie nicht beim Kunden nach.

Versionierung

Jedes Paket nennt seine Formatversion in manifest.json unter exportFormatVersion. Aktuell ist Version 1.

Die Version steigt, wenn sich Aufbau oder Bedeutung so ändern, dass ein bestehender Leser angepasst werden muss. Neue Felder oder neue Entitäten allein tun das nicht — sie sind additiv, und ein Leser, der Unbekanntes überspringt, merkt nichts davon. Bauen Sie Ihren Import deshalb bitte so, dass er unbekannte Felder ignoriert, statt an ihnen zu scheitern.

Abholung durch den Zielanbieter

Im Regelfall lädt die Fahrschule das Paket selbst herunter und gibt es Ihnen. Alternativ kann sie Ihnen einen befristeten, jederzeit widerrufbaren Zugangsschlüssel ausstellen, mit dem Sie das Paket selbst abholen — ohne dass jemand Kontozugangsdaten weitergibt. Der Schlüssel gilt für eine Fahrschule und trägt genau eine Berechtigung: Portabilitätsdaten lesen.

GET  /api/v1/portabilitaet/exporte               vorhandene Pakete
POST /api/v1/portabilitaet/exporte               neues Paket anfordern
GET  /api/v1/portabilitaet/exporte/:id           Zustand
GET  /api/v1/portabilitaet/exporte/:id/download  Weiterleitung auf den Downloadlink

Authorization: Bearer <vom Kunden ausgestellter Schlüssel>

Ein Downloadlink funktioniert genau einmal; ein erzeugtes Paket verfällt nach 7 Tagen und wird dann gelöscht. Laden Sie es also herunter, wenn Sie es abholen.