Buchungsdateien können sowohl im CSV-Format unter Verwendung einer Einleseschablone als auch im ASCII-Format mit vorgegebenem Format eingelesen werden.
Buchungsdatei im CSV-Format
Zum Einlesen einer Buchungsdatei im CSV Format ist die Angabe einer Einleseschablone notwendig.
Für diverse Standardformate wie Buchungen aus DATEV oder von PAYPAL gibt es bereits vorgefertigte Schablonen mit der Dateiendung .DEF im FIBU Verzeichnis. Ausgelieferte Schablonen werden mit jedem Update wieder mit dem Auslieferungszustand überschrieben und sollten daher vor einer individuellen Änderung auf einen neuen Dateinamen kopiert werden.
Zur Modifikation oder Neuschreibung einer Einleseschablone ist folgende Syntax zu beachten:
Folgende Parameter können definiert werden:
CODE [DOS|ANSI|UTF-8] LINE [Startzeile] LIMIT [SEPARATED BY DELIMITED WITH ] KONTOLAENGE [<Personenkontenlänge>] INTEGER [EURO|CENT] AUTO [=,=] FIELDS [UMSATZ=n,VORZ=n] | [UMSATZ+VORZ=n] | [VORZ+UMSATZ=n] | [SOLL=n, HABEN=n], [BU=n, GEGKONTO=n] | [BU+GEGKONTO=n], [BELEG1=n], [BELEG2=n], [DATUM=n], [KONTO=n], [KOST1=n], [KOST2=n], [KSTMENGE=n], [SKONTO=n], [TEXT=n], [IDNR=n], [USTSATZ=n], [EURO=n], [WKZ=n], [KURS=n], [BGESID=n], [ZI=n]
CODE definiert, welcher Zeichensatz, DOS, ANSI oder UTF-8 , eingelesen wird. Ohne Angabe eines Zeichensatzes werden die Buchungen im DOS-Zeichensatz eingelesen.
LINE definiert die Startzeile der ersten einzulesenden Buchung. Ohne Angabe einer Startzeile werden die Buchungen ab der ersten Zeile eingelesen.
LIMIT gibt die Felder-Trennzeichen, z.B. Semikolon [SEPARATED BY ;] und die Begrenzungszeichen der Feldinhalte, z.B. Hochkomma [DELIMITED WITH „] an. Ohne Angaben der Trenn-, bzw. Begrenzungszeichen wird das Komma als Felder-Trennzeichen [SEPARATED BY ,] und kein Begrenzungszeichen der Feldinhalte angenommen.
Sollen Tabulatoren als Felder-Trennzeichen erkannt werden, so ist die Angabe SEPARATED BY CHR(9) zu hinterlegen.
KONTOLAENGE gibt die Kontenlänge der Personenkonten der einzulesenden Buchungen an. Zulässig sind die Angaben von 5 bis 9. Die einzulesende Kontenlänge darf jedoch nicht länger als die Personenkonten des aktuellen Mandanten sein. Ist die Personenkontenlänge der einzulesenden Buchungen die gleiche des aktuellen Mandanten, so braucht keine Angabe gemacht zu werden.
INTEGER gibt bei fehlendem Dezimalzeichen an, ob der Ganzzahlbetrag einen Cent- oder einen Eurobetrag darstellt. Möglich sind die Angaben CENT und EURO. Bei fehlender Angabe von INTEGER wird ein Ganzzahlbetrag als Eurobetrag eingelesen. Z.B. wird dann ein Umsatz von 8 als 8 Euro, bei Angabe INTEGER CENT wird 8 als 8 Cent interpretiert.
AUTO gibt eine Voreinstellung eines Feldes für jede einzulesende Buchungszeile vor. Die Zeile
AUTO KOST1=ABCD,KOST2=1000
vergibt z.B. in jeder Buchung als KOST1 die Kostenstelle ABCD und als KOST2 die Kostenstelle 1234.
FIELDS definiert die einzulesenden Felder. n gibt jeweils die Position des Feldes in der Buchungsdatei an. Die Felder Umsatz und Vorzeichen können als eigenständige oder zusammengefasste Felder in unterschiedlicher Reihenfolge gelesen werden. Das Vorzeichen kann in der Form +/- oder S/H angegeben werden. Die Felder BU (Berichtigungs- und Umsatzsteuerschlüssel) und Gegenkonto können ebenso einzeln oder zusammen gelesen werden.
Beispiel einer funktionsfähigen Einleseschablone:
CODE ANSI LINE 1 LIMIT SEPARATED BY ; FIELDS VORZ+UMSATZ=1,BU=2,GEGKONTO=3,BELEG1=4,BELEG2=5,DATUM=6,KONTO=7,TEXT=12,WKZ=15 KONTOLAENGE 5 INTEGER EURO
Buchungsdatei im ASCII-Format
Alle Dezimalwerte sind ohne Komma anzugeben; der Umrechnungskurs 13652340 wird beispielsweise als 13,652340 eingelesen.
Aufbau der ersten Zeile:
erste 20 Zeichen: Name des Buchungsvorlaufes
Kennzeichnung des erweiterten Formats:
Stellen 21 bis 25: *****
Stelle 50: Angabe der Sachkontenlänge (zulässige Werte von 4 bis 8)
Update:
Stelle 60: Angabe der Buchungstextlänge (keine Angabe – Text 30 Zeichen – oder 60)
Die Sachkontenlänge kann kleiner als die in der rodat-FIBU eingestellte Sachkontenlänge sein. In diesem Fall werden die eingelesenen Konten um die entsprechende Anzahl von Null-Zeichen aufgefüllt: z.B. übergebenes, vierstelliges Konto „4820“ in FIBU mit 6-stelligen Sachkonten wird automatisch als „4820 00“ eingelesen.
Position Variable Länge zugelassene Werte ----------------------------------------------------------------------------- 1 Umsatz 12 1 bis 999999999999 (2 Nachkommastellen) 13 Vorzeichen 1 - oder + 14 BU 2 , und 0 bis 99 16 Gegenkonto 9 1 bis 999999999 25 Beleg1 12 alphanumerisch (siehe unten) 37 Beleg1 12 alphanumerisch (siehe unten) 49 Datum 4 1 bis 3112 53 Konto 9 1 bis 999999999 62 Kost1 8 alphanumerisch 70 Kost2 8 alphanumerisch 78 Skonto 10 1 bis 9999999999 (2 Nachkommastellen) 88 Text 30 alphanumerisch 118 IdNr 15 alphanumerisch 133 UStSatz 4 0 bis 9999 (2 Nachkommastellen) 137 Währungskennung 3 Zeichenfolge (3 stellig) 140 Kostmenge 11 0 bis 99999999999 (2 Nachkommastellen) 151 Kurs 10 0 bis 999999999 (6 Nachkommastellen) 161 Zusatzinfo 13b 2 1 bis 16 Update: bei Angabe der Länge des Buchungstextes (60) ab Spalte Text: 88 Text 60 alphanumerisch 148 IdNr 15 alphanumerisch 163 UStSatz 4 0 bis 9999 (2 Nachkommastellen) 167 Währungskennung 3 Zeichenfolge (3 stellig) 170 Kostmenge 11 0 bis 99999999999 (2 Nachkommastellen) 181 Kurs 10 0 bis 999999999 (6 nachkommastellen) 191 Zusatzinfo 13b 2 1 bis 16