Import- und Exportformate
Dieses Dokument spezifiziert die von MacGiro verwendeten Dateiformate für Im- und Export von Transfers, Konten etc.
1. Einführung
Alle zu importierenden Datensätze werden in einer Textdatei gespeichert. Jeder Datensatz wird durch ein Return (ASCII 13) oder Newline (ASCII 10) abgeschlossen. (Beim letzten Datensatz kann darauf verzichtet werden.) Die Felder in einem Datensatz werden beim Tab-Textformat durch Tabulatoren (ASCII 9) und beim csv-Format durch Kommata getrennt. Beim Import kann das Trennzeichen bestimmt werden. Die Zeichen-Kodierung ist MacOS-Roman. Beim Import kann die Zeichen-Kodierung festgelegt werden.
Die Formate der einzelnen Datensätze werden in Abschnitt 3 in Tabellen dargestellt, die wie folgt aufgebaut sind:
- Spalte: Namen der Felder
- Spalte: Art des Feldes
- Die Art des Feldes ist meist eine Zahl oder eine Zeichenfolge (String).
- Die Zahl, die nach
String
steht, beschränkt die Anzahl der Zeichen. - Für die Art
Datum
wird jedes Datum zugelassen. - In Feldern mit der Art
Zahl/Text
kann entweder eine Zahl oder einer der unter Wertebereich aufgeführten Texte, der jeweils zu einer Zahl äquivalent ist, eingegeben werden.
- Spalte: Wertebereich
- Steht in der 2. Spalte eine Zahl, wird hier der Wertebereich angegeben, in dem diese Zahl liegen muss
- Für Strings steht gelegentlich eine Einschränkung.
- Spalte: Voreinstellung
- Der Wert, der in dieser Spalte steht, wird automatisch ergänzt, wenn eine Angabe fehlt.
- Findet sich hier allerdings ein Sternchen, bedeutet dies, dass für das entsprechende Feld in jedem Falle ein gültiger Wert eingetragen werden muss; ansonsten kommt es beim Import zu einer Fehlermeldung.
- Wenn zwei Zahlenwerte zur Auswahl stehen, z. B.
0
fürNein
und1
fürJa
, und in der Voreinstellung-Spalte stehtNein
, dann wird automatisch eine0
eingetragen, wenn ein entsprechender Wert fehlt.
HINWEIS: Hat ein Datensatz mehrere Felder, müssen die Werte fortlaufend eingetragen werden. Sie können beim Importieren nicht einfach ein Feld auslassen: Es käme dann zu einer Fehlermeldung.
2. Mehrfach verwendete Formate
In der folgenden Tabelle werden mehrfach verwendete Formate mit ihren Belegungen erläutert.
Name | Art | Wertebereich |
Boolean | Zahl/Text | 0=Nein=FALSCH 1=Ja=WAHR |
Internationale Kontonummer | String 43 | Wenn der Bankcode eine BLZ ist, dann maximal 10 Ziffern |
Internationaler Bankcode | String 11 | BLZ : von 100 000 00 bis 899 999 99 BIC: 8- oder 11-stelliger String |
3. Tabellenbeschreibung
Tabelle 1: Felder in der Datei Banken
Feldname | Art | Wertebereich | Voreinstellung |
BLZ | Zahl | von 100 000 00 bis 899 999 99 | * |
Name | String 51 | * | |
Sitz | String 31 | ||
PZV-Nummer | String 2 | 00 - ZZ | 09 |
BIC | String 11 |
Tabelle 2: Felder in der Datei Fremdkonten
Feldname | Art | Wertebereich | Voreinstellung |
Name | String 31 | muss eindeutig sein | * |
BLZ/BIC | Internationaler Bankcode | * | |
Kontonummer/IBAN | Internationale Kontonummer | * | |
Kontoinhaber | String 54 | * | |
Straße | String 35 | ||
Ort | String 35 | ||
Ins Menü aufnehmen | Boolean | Nein | |
Zusatz | String 35 | ||
String 127 | |||
Mandats-ID | String 35 | ||
Mandatsdatum | Datum | ||
Mandat gültig von | Datum | ||
Mandat gültig bis | Datum | ||
letzte Mandatsverwendung | Datum |
Tabelle 3: Felder in der Datei Eigenkonten
Feldname | Art | Wertebereich | Voreinstellung |
Name | String 31 | muss eindeutig sein. | * |
BLZ | Zahl | von 100 000 00 bis 899 999 99 | |
Kontonummer | String 15 | maximal 10 Ziffern | |
Kontoinhaber | String 54 | ||
Ort | String 35 | ||
DTA-Anschrift | String 131 | ||
DTA-Ansprechpartner | String 21 | ||
DTA-Telefonnummer | String 21 | ||
DTA-Referenznummer | Zahl | 0 | |
Schecknummer | Zahl | 0 | |
BTX-Alt. Kontonr. (obsolet) | String 15 | Feldinhalt wird nicht mehr verwendet und muss leer sein | |
BTX-Höchstbetrag (obsolet) | Zahl | Feldinhalt wird nicht mehr verwendet und muss leer sein | |
BTX mit 2 TANs (obsolet) | Boolean | Feldinhalt wird nicht mehr verwendet und muss leer sein | |
BTX mit 2 PINs (obsolet) | Boolean | Feldinhalt wird nicht mehr verwendet und muss leer sein | |
Kontoabfrage aktiv (obsolet) | Boolean | Feldinhalt wird nicht mehr verwendet und muss leer sein | |
Kontoabfrage immer (obsolet) | Boolean | Feldinhalt wird nicht mehr verwendet und muss leer sein | |
letzte Kontobewegung | Datum | ||
Laufzeit Überweisung | Zahl | 0 | |
Laufzeit Lastschrift | Zahl | 0 | |
Laufzeit Scheck | Zahl | 0 | |
Laufzeit Scheckannahme | Zahl | 0 | |
Laufzeit Andere | Zahl | 0 | |
Wertstellungsdifferenz Überweisung | Zahl | 0 | |
Wertstellungsdifferenz Lastschrift | Zahl | 0 | |
Wertstellungsdifferenz Scheck | Zahl | 0 | |
Wertstellungsdifferenz Scheckannahme | Zahl | 0 | |
Wertstellungsdifferenz Andere | Zahl | 0 | |
Statusänderung beim Hineinziehen ins Kontobuch | Zahl | 1 (für unverändert) 2 (wird gebucht) 3 (wird ungebucht) | * |
Erlaubte Arten | Zahl | * | |
DTA-Erlaubte Arten | Zahl | * | |
Papier-Erlaubte Arten | Zahl | * | |
BTX-PIN 1 (obsolet) | String 5 | Feldinhalt wird nicht mehr verwendet und muss leer sein | |
BTX-PIN 2 (obsolet) | String 5 | Feldinhalt wird nicht mehr verwendet und muss leer sein | |
BTX-Erlaubte Arten (obsolet) | Zahl | Feldinhalt wird nicht mehr verwendet und muss leer sein | * |
Standard-Ausgabeform | Zahl/Text | 1= 2= 4= | * |
Standard-Ausgabeunterart | Zahl/Text | 0= (wenn Standard-Ausgabeform ≠ 1= 3= | 0 |
Umsätze über ZKA lesen (obsolet) | Boolean | Feldinhalt wird nicht mehr verwendet und muss leer sein | Nein |
Ab wievielen Transfers soll für Sammler erzeugt werden? | Zahl | ≥0 (0=niemals) | 0 |
Datum der letzten Abfrage | Datum | ||
Kontoabfrage alle n Tage | Zahl | ≥0 | 0 |
Buchungen am letzten Buchungstag | Zahl | ≥0 | 0 |
Einzel zu Sammel zusammenfassen ab | Zahl | ≥0 (0=niemals) | 0 |
Selbstveranlaßte Buchungen autom. verschmelzen? | Boolean | Nein | |
Kontowährung | Text | DEM oder EUR | EUR |
Umstellungszeitpunkt (obsolet) | Datum | Feldinhalt wird nicht mehr verwendet und muss leer sein | |
Kontoabfragemodus | Zahl/Text | 0= 5= 6= 7= 8= 9= 10= 20= 21= | 0 |
IP-Adresse | String 255 | ||
Benutzerkennung | String 100 | ||
KundenID | String 35 | ||
HBCI-Sicherheitsverfahren | 0= 1= 102= 100= 10= 152= 160= 150= 11= 32= 33= 35= 35= 40= 41= 42= 43= 20= 203= 205= 206= 207= 208= 209= | 0 | |
HBCI-Status | 0= 10= 20= 30= 40= 50= 60= 70= 75= 80= | 0 | |
HBCI-Erlaubte Arten | Zahl | 0 | |
HBCI-Höchstbetrag | Zahl | von 0 bis ±999 999 999,99 | |
HBCI-Sammelausführung ab n Einzelausführungen | Zahl | ≥0 (0=niemals) | 0 |
HBCI-Version | Zahl | 0, 201, 210, 220, 300 | |
Verwendungszweck eigenveranlasst überschreiben | Boolean | Nein | |
Verwendungszweck fremdveranlasst überschreiben | Boolean | Nein | |
Fremdkontodaten überschreiben | Boolean | Nein | |
in Memotext retten | Boolean | Nein | |
Kontountermerkmal | String 31 | ||
Kontoabgleichsschwelle | Zahl | 1 - 7 | 7 |
Kreditlinie | Zahl | von 0 bis ±999 999 999,99 | |
HBCI-BLZ | String 8 | Nur Ziffern erlaubt | |
Zusatz | String 35 | ||
Straße | String 35 | ||
Firmennummer | String 8 | Nur Ziffern erlaubt | |
Bundeslandschlüssel | Zahl | ||
IBAN | String 34 | ||
Nur verbuchte Umsätze anzeigen | Boolean | Nein | |
Depot-Kontountermerkmal | String 31 | ||
Gläubiger-Identifikationsnummer | String 35 | ||
BIC | String 11 | ||
Kontoabgleich-Modus | Zahl | 1 - 4 | 2 |
Wiederkehrende Buchungen vorschlagen | Boolean | Nein | |
ignoriere in Überblick und Summe | Boolean | Nein | |
ignoriere in Kontobücher | Boolean | Nein | |
Kontoinhaber eigenveranlasst überschreiben | Boolean | Nein | |
Kontoinhaber fremdveranlasst überschreiben | Boolean | Nein |
Tabelle 4: Felder in der Datei Benutzer
Feldname | Art | Wertebereich | Voreinstellung |
Name | String 51 | muss eindeutig sein | * |
Kennwort | String 21 | * | |
Berechtigung | Zahl/Text | 0=Benutzer, 1= Verwalter | * |
Kennwortänderung | Boolean | Nein | |
Schlüsselbund | Boolean | Nein |
Tabelle 5: Felder in der Datei Transfers
Feldname | Art | Wertebereich | Voreinstellung |
Transferart | Zahl/Text | 2= 3= 4= 5= 6= 7= 8= 9= 9= 10= 11= 16= 17= 20= 22=
| * |
Ausgabeart | Zahl/Text | 1= 2= 4= | * |
Ausgabeunterart | Zahl/Text | 0= 1= 3= 4= 5= 6= 7= 8= 9= 10= 30= 31= 32= 33= 34= 35= 36= 37= 38= 39= 40= 41= 42= 43= 51= 52= 44= 45= 46= 47= 48= 49= 50= 53= | 0 |
Eigenkontoname | String 31 | ||
Eigenkonto-BLZ/BIC | Zahl oder BIC | von 100 000 00 bis 899 999 99 oder leer oder BIC | Nationale Kontoverbindung - muss nicht angegeben werden, wenn der Eigenkontoname belegt ist. |
Eigenkonto-Nummer | Internationale Kontonummer | maximal 10 Ziffern bzw. IBAN | Nationale Kontoverbindung - muss nicht angegeben werden, wenn der Eigenkontoname belegt ist. |
Eigenkonto-Inhaber | String 54 | Nationale Kontoverbindung - muss nicht angegeben werden, wenn der Eigenkontoname belegt ist. | |
Fremdkontoname | String 31 | ||
Fremdkonto-BLZ/BIC | Internationaler Bankcode | ||
Fremdkonto-Nummer | Internationale Kontonummer | ||
Fremdkonto-Inhaber | String 54 | ||
Verwendungszweck | String 255 | Returns durch ◊ ersetzen! | |
DM-Betrag | Zahl | von 0 bis ±999 999 999,99 | Der Zahl kann der ISO-Code einer Währung (DEM, EUR etc.) vorangestellt werden. DEM oder EUR: Diese Währung wird als Auftragswährung gesetzt, die Betragsangabe entsprechend umgerechnet. Andere Währungen: EUR wird als Auftragswährung gesetzt, der Betrag entsprechend umgerechnet. |
Angelegt | Datum | Ist das Feld leer, wird das Tagesdatum eingesetzt | |
Geplant | Datum | Wenn Gebuchtausgefüllt ist, muss hier dasselbe Datum stehen. | |
Späteste Ausführung | Datum | ||
Ausgeführt | Datum | ||
Skonto bis | Datum | ||
Gebucht | Datum | ||
Wertstellung | Datum | Gebuchtund Wertstellungmüssen beide belegt oder beide leer sein. | |
Skonto als Betrag? | Boolean | Nein | |
Skonto DM | Zahl | In Abhängigkeit von Skonto als Betrag?0,00..100,00 für Skontosätze oder eine Betragsangabe ≤ 999 999 999,99 | 0 Wenn Skonto als Betrag angegeben wird, kann der Betragsangabe eine Währungsangabe vorangehen. Der Betrag wird dann entsprechend umgerechnet. |
Mehrfachausführung | Boolean | Nein | |
Anzahl Ausführungen | Zahl | >0 | 1 |
Mehrfachausführungsmodus | Zahl | 1= 2= 3= 4= 5= 6= 7= 8= 9= 10= 11= 12= 13= 14= 15= 16= 17= 18= 19= 20= 21= 22= 23= 24= 25= 26= 27= 28= 29= 30= 31= 32= 50= 51= 52= 53= 54= 55= 56= 57= 58= 59= 60= 61= 62= 63= 64= 65= 66= 67= 68= 69= 70= 71= 72= 73= 74= 75= 76= 77= 78= 79= 80= 81= 40= 41= 42= 43= 44= 90= 91= 92= 400= 401= 402= 403= 404= 405= 406= 407= 408= 409= 410= 411= 412= 413= 414= 415= 416= 417= 418= 419= 420= 421= 422= 423= 424= 425= 426= 427= 428= 429= 430= 440= 441= 442= 443= 444= 445= 446= 447= 448= 449= 450= 451= 452= 453= 454= 455= 456= 457= 458= 459= 460= 461= 462= 463= 464= 465= 466= 467= 468= 469= 470= 480= 481= 482= 483= 484= 485= 486= 487= 488= 489= 490= 491= 492= 493= 494= 495= 496= 497= 498= 499= 500= 501= 502= 503= 504= 505= 506= 507= 508= 509= 510= | 1 |
Zusatzdaten | String 131 | Belegung bei Art = "Scheck": |
|
Ausstellungsort | String 31 | ||
Schecknummer | Zahl | Ist das Feld leer oder mit 0 besetzt, erzeugt MacGiro die nächste laufende Schecknummer entsprechend den Einstellungen für das Eigenkonto | |
Memotext | String 255 | Returns durch ◊ ersetzen! | |
Textschlüssel | Zahl/Text | 0=
Bei Überweisungen: 1= 2= 3= 4= 5= 6= 7=
Bei Lastschriften: 12= 13= 14= 15= 16=
Bei SEPA-Überweisungen oder -Lastschriften: 4stelliger Purpose Code | 0 |
Gesperrt | Boolean | Nein | |
TAN1 | Zahl | ||
TAN2 | Zahl | ||
Angelegt von | String 51 | gültiger Benutzername oder leer | importierender Benutzer |
Zuletzt geändert von | String 51 | gültiger Benutzername oder leer | importierender Benutzer |
Zuletzt geändert am | Datum | Tagesdatum | |
PrimaNota | Zahl | ||
Kategorisierungen | String 4000 | Kategoriename|Betrag ◊ wiederholt | |
Betrag EUR | Zahl | von 0 bis ±999 999 999,99 | Ein leerer Text trägt nicht den Wert 0 ein, sondern behält den über die Angabe Betrag DMerrechneten Betrag. |
Auftragswährung | Text | DEM oder EUR | Ein leerer Text behält die über Betrag DMgesetzte Einstellung. |
Skonto EUR | Zahl | 0,00..100,00 für Skontosätze oder eine Betragsangabe ≤ 999 999 999,99 | Ist das Feld leer, wird die Angabe aus Skonto DMberechnet. Sonst wird der EUR-Betrag gesetzt oder die Setzung ignoriert, wenn Skonto als Betrag?falsch ist. |
Umsatztext | String 255 | Returns durch ◊ ersetzen! | |
externe AuftragsID | String 99 | ||
1. Ausführung | Datum | ||
letzte Ausführung | Datum | ||
Terminsammler überprüfen | Boolean | Nein | |
externes Format | Boolean | Nein | |
Nicht vorschlagen | Boolean | Nein | |
Ende-zu-Ende-Referenz | String 35 | ||
Mandats-ID | String 35 | ||
Mandatsdatum | Datum | ||
Mandatssequenz | Boolean | 1= 2= 3= 4= | |
Gläubiger-ID | String 35 | ||
Bank-Referenz | String 35 | ||
Kunden-Referenz | String 35 | ||
Retouren-Referenz | String 35 | ||
Geschäftsvorfallcode | Zahl | 0 - 999 | |
Textschlüsselergänzung | Zahl | 0 - 999 | |
Buchungsschlüssel | String 3 |
Tabelle 6: Felder in der Datei Vorlagen
Feldname | Art | Wertebereich | Voreinstellung |
Vorlagenname | String 31 | muss eindeutig sein | * |
Ins Menü aufnehmen? | Boolean | Nein | |
Die weiteren Felder sind die aus der Datei Transfers |
Tabelle 7: Felder in der Datei Kategorien
Feldname | Art | Wertebereich | Voreinstellung |
Kategoriename | String 51 | muss eindeutig sein | * |
Ist auswählbar | Boolean | Nein | |
Ins Menü aufnehmen? | Boolean | Nein | |
Art der Wertbestimmung | Zahl | 1=absoluter Betrag, 2= relativ zum Bruttorestbetrag, 3= relativ zum Bruttogesamtbetrag, 4= relativ zum Nettorestbetrag, 5= relativ zum Nettogesamtbetrag | 1 |
Wertangabe | Zahl | ±0..999 999 999,99 | 0 Bei absolutem Betrag kann der Zahl ein ISO-Code als Währungsangabe vorangestellt werden. Fehlt dieser, wird DEM angenommen. Andere Währungsangaben als DEM und EUR werden in EUR umgerechnet. |
Name der Oberkategorie | String 51 | Oberkategorie mit dem Namen muss bereits vorhanden sein, leer für Kategorien auf der obersten Ebene | |
Info | String 51 | ||
Priorität | Zahl | 100 | |
Farbe | String | Format ist Rotwert;Grünwert;Blauwert;Alphawert - Farbwerte 0..65535 und Alphawert 0..100. |
Tabelle 8: Felder in der Datei Rechnung
Feldname | Art | Wertebereich | Voreinstellung |
Kurzbeschreibung | String 71 | * | |
Rechnungsdatum | Datum | ||
Rechnungsbetrag | Zahl | von 0 bis ±999 999 999,99 | 0 |
Währung | String 3 | EUR | EUR |
Zahlbetrag | Zahl | von 0 bis ±999 999 999,99 | 0 |
Offener Betrag | Zahl | von 0 bis ±999 999 999,99 | 0 |
Anzahl | Zahl | >= 0 | 0 |
Belegnummer | String 15 | ||
Beleg-Referenz | String 63 | *\.(pdf|png) = Dateiname im Ordner Eingangsrechnungen | |
Beleg-Hash | String 65 | SHA 256 Hash des Datei-Inhalts | |
Datei-Inhalt | String | base64-kodierter Datei-Inhalt |