Da ich glaube, dass dieses sehr spezielle aber sehr mächtige Plugin nur von wenigen Benutzern verwendet wird, und das deshalb, weil es nicht ganz einfach auf eigene Bedürfnisse anzupassen ist, möchte ich mein eigenes Script, mit dem ich die EC&T-Spenden buche, die auf meinem Konto eintrudeln, einmal ausführlich kommentieren.
Mein Mozilla-Browser schmeißt folgendes in die Zwischenablage, wenn ich eine Zeile aus der Kontenübersicht des Online-Bankings selektiere und dann kopiere:
Zunächst extrahiere ich die einzelnen Teile für die Buchung aus der Browserzeile. Es können, wie beim Editieren mit einer Schreibmarke und indem man die Shift-Taste gedrückt hält, Anfangs- und Endmarken mit den "Setze Anfangsmarke" und "Setze Endmarke" Befehlen gesetzt werden. Alles was nach dem Setzen der Marken dazwischen liegt kann mit dem "Selektion -> [Buchungsbestandteil]" Befehl in eine neue EC&T-Buchung übernommen werden. [Buchungsbestandteil] kann dabei folgendes sein: Belegnummer, Betrag, Buchungsdatum, Buchungstext.
Der Befehl "Selektion als Personennamen normalisieren" sorgt dafür, dass eine korrekte Groß/Kleinschreibung verwendet wird und dass bei einem Komma zwischen Vor- und Nachnamen das Komma gelöscht wird und die Namen vertauscht werden. Z.B.:
//
// Einnahmen oder Ausgaben?
Gehe ein Zeichen weiter
Setze Anfangsmarke für Selektion
Gehe ein Zeichen weiter
Setze Endmarke für Selektion
Wenn Selektion <> Suchmuster/Ausgaben/(H)
Als Einnahmen buchen
Setze MWSt./7
Setze Konto/Software-Spenden (Charityware)
Hier steht entweder 'H' für Haben oder 'S' für Soll. Entsprechend unterscheide ich nach Einnahmen oder Ausgaben. Ist es eine Ausgabe, springe ich nach ganz unten zur Sprungmarke "Ausgaben". Wenn nicht, gehe ich davon aus, dass es sich um eine Spende handelt, die ich mit 7% versteuere und auf das Konto "Software-Spenden (Charityware)" buche.
Im Prinzip reicht das bis hier schon, um Buchungen zu erzeugen. Aber das Plugin kann noch mehr. Ab hier ist es für Anfänger allerdings schwierig, denn jetzt wird die eingelesene Buchung mit einer Datenbank verknüpft. Die Datenbank hat ihre eigene Sprache, die sich SQL nennt und mit der Abfragen und Änderungen gemacht werden können. Der Zweck der Datenbankanbindung ist es, die Zahlungen auf das Konto mit einem eigenen Datenbestand zur Zahlungskontrolle abzugleichen.
Ich selbst greife auf eine mySQL-Datenbank zu, die auf dem Server der EC&T-Website liegt und die EC&T-Registrierungen enthält. Aber mit SQL kann man auch auf einfachere MS-Access oder Excel-Tabellen zugreifen, wenn man eine ganz simple Offene-Posten Liste führen will. Im Prinzip lässt sich jede sog. ODBC-Datenquelle verwenden. Der '...' Knopf im BankImport-Dialog erlaubt das Auswählen einer Datenquelle. Zum Anlegen einer ODBC-Datenquelle geht man (bei Windows2000) auf Systemsteuerung -> Verwaltung -> Datenquellen (ODBC).
//
// Rechnungsnummer über Kontoinhaber aus Datenbank holen
//
Datenbankabfrage/SELECT reg_name, reg_email, reg_bemerkungen,reg_rech FROM reg_users WHERE REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(reg_name,'ä','ae'),'ö','oe'),'ü','ue'),'Ä','Ae'),'Ö','Oe'),'Ü','Ue'),'ß','ss') = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE('<Beschreibung>','ä','ae'),'ö','oe'),'ü','ue'),'Ä','Ae'),'Ö','Oe'),'Ü','Ue'),'ß','ss') AND reg_rech<>"" ORDER BY reg_name;
Wenn Datensatz nicht gefunden/keine_rg_nr
Tabellenspalte enthält Belegnummer/4
Datenbankaktualisierung/UPDATE reg_users SET reg_rech="<Belegnummer>", reg_bezahlt="-1", reg_test="0", reg_voll="-1" where reg_rech="<Belegnummer>" AND reg_rech<>"";
Nach Sprungmarke/Ende
Nach dem "Datenbankabfrage/" Befehl kommt ein SQL-Befehl (SELECT), der nach dem Auftraggeber der Überweisung in den mit Rechnungsnummer versehenen Einträgen der Registrierungsdatenbank sucht. Er ist etwas komplizierter, weil eine Umlautkonvertierung durchgeführt wird. Bei einem erfolgreichen Fund wird die in der Tabelle gespeicherte Rechnungsnummer als Belegnummer in die EC&T-Buchung übernommen, die in der 4. Spalte der durch den SELECT-Befehl gefüllten Tabelle des Bankimport-Buchendialogs steht. "<Beschreibung>" ist dabei ein Platzhalter, der den Auftraggeber der Überweisung in den SQL-Befehl einfügt.
Mit dem "Datenbankaktualisierung/" Befehl wird eine SQL-Änderungsabfrage gesetzt, die nach Überprüfung der Buchung durch den Anwender ausgeführt wird. Z.B. kann der Anwender im Bankimport-Buchungsdialog die Belegnummer ändern, die dann mit dem SQL-UPDATE-Befehl in die Datenbank geschrieben wird.
//
:keine_rg_nr
// Noch keine Rg-Nr. vergeben
//
Datenbankabfrage/SELECT reg_name, reg_email, reg_bemerkungen,reg_rech FROM reg_users WHERE REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(reg_name,'ä','ae'),'ö','oe'),'ü','ue'),'Ä','Ae'),'Ö','Oe'),'Ü','Ue'),'ß','ss') = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE('<Beschreibung>','ä','ae'),'ö','oe'),'ü','ue'),'Ä','Ae'),'Ö','Oe'),'Ü','Ue'),'ß','ss') AND reg_rech="" ORDER BY reg_name;
Wenn Datensatz nicht gefunden/suche_aehnliche_namen
Datenbankaktualisierung/UPDATE reg_users SET reg_rech="<Belegnummer>", reg_bezahlt="-1", reg_test="0", reg_voll="-1" where reg_name="<Beschreibung>" AND reg_rech="";
Nach Sprungmarke/Ende
Dieses Set von Script-Befehlen wird ausgeführt, wenn bei der vorigen Abfrage kein übereinstimmender 'Kunde' mit einer zugewiesenen Rechnungsnummer gefunden wird. Hier wird nach Übereinstimmenden Namen geschaut, für die noch keine Rechnungsnummer existiert. Wenn dies auch keinen Treffer gibt, wird mit der nächsten Abfrage fortgefahren.
//
:suche_aehnliche_namen
// Name anders geschrieben
//
Datenbankabfrage/SELECT reg_name, reg_email, reg_bemerkungen,reg_rech FROM reg_users WHERE REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(reg_name,'ä','ae'),'ö','oe'),'ü','ue'),'Ä','Ae'),'Ö','Oe'),'Ü','Ue'),'ß','ss') LIKE CONCAT('%',LEFT('<Beschreibung>',INSTR('<Beschreibung>',' ')),'%') OR REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(reg_name,'ä','ae'),'ö','oe'),'ü','ue'),'Ä','Ae'),'Ö','Oe'),'Ü','Ue'),'ß','ss') LIKE CONCAT('%',SUBSTR(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE('<Beschreibung>','ä','ae'),'ö','oe'),'ü','ue'),'Ä','Ae'),'Ö','Oe'),'Ü','Ue'),'ß','ss'),1+INSTR(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE('<Beschreibung>','ä','ae'),'ö','oe'),'ü','ue'),'Ä','Ae'),'Ö','Oe'),'Ü','Ue'),'ß','ss'),' ')),'%') ORDER BY reg_name;
Wenn Datensatz nicht gefunden/alle_anzeigen
Datenbankaktualisierung/UPDATE reg_users SET reg_rech="<Belegnummer>", reg_bezahlt="-1", reg_test="0", reg_voll="-1" where reg_name="<Beschreibung>";
Tabellenspalte enthält Belegnummer/4
Tabellenspalte enthält Buchungstext/1
Nach Sprungmarke/Ende
Hier werden nun alle Namen in der kleinen Tabelle des Bankimport-Buchendialogs aufgelistet, die in der Datenbank entweder eine Übereinstimmung mit dem Vornamen oder dem Nachnamen ergeben (SQL: LIKE-Operator).
//
:alle_anzeigen
// Noch keine Rg-Nr. vergeben
//
Datenbankabfrage/SELECT reg_name, reg_email, reg_bemerkungen,reg_rech FROM reg_users ORDER BY reg_name;
Wenn Datensatz nicht gefunden/Ende
Datenbankaktualisierung/UPDATE reg_users SET reg_rech="<Belegnummer>", reg_bezahlt="-1", reg_test="0", reg_voll="-1" where reg_name="<Beschreibung>";
Tabellenspalte enthält Belegnummer/4
Tabellenspalte enthält Buchungstext/1
Nach Sprungmarke/Ende
//
Wenn die letzte Abfrage auch keinen Treffer brachte, werden einfach alle Einträge der Datenbank in der Tabelle angezeigt. Außerdem werden die Befehle nach der "Ausgaben" Sprungmarke übersprungen.
:Ausgaben
Als Ausgaben buchen
:Ende
Springe hinter nächsten Zeilenumbruch
//
//
Das ganze Script gibts nochmal als Dateianhang ohne Smily-Konvertierungen. ;)
Bearbeitet von mielket am 14.11.2005 23:16:34
Springe ins Forum:
Forensuche
Shoutbox
Du musst dich einloggen um eine Nachricht zu senden.
Thomas R
26.07.2025 18:26:06
@kkoefteg Steuernummer ohne Querstriche eingetragen?
kkoefteg
25.07.2025 18:02:09
Hallo,
Ich bekomme die Fehlermeldung "Die Steuernummer in ECT-Einstellung ist ungültig", wenn Ich ÜER 2024 über "Elster Export" an das Finanzamt übertragen möchte. Kennt ihr das
Thomas R
15.07.2025 14:19:20
@Suza Welcher Button genau. In der Regel kann man das durch klicken auf den kleinen Pfeil im Button dann einstellen.
Suza
14.07.2025 16:07:07
Hallo,
Mein Saldo Buttom zeigt nur 2 Quartale, wie kann ich das ändern?
mabuse
09.07.2025 16:47:41
@mielket deutsches Tastaturlayout. Allerdings englisches MacOS System. Hab ne Lösung gefunden, schreib ich ins Forum
mielket
07.07.2025 10:08:00
@mabuse Nein, nicht bekannt. EC&T benutzt den Dezimaltrenner des Betriebssystems. Ist es vielleicht ein Mac mit englischen Sprache?
mabuse
05.07.2025 21:15:20
Ist bekannt, dass auf Mac ein Komma in einer Buchung ignoriert wird? 12,30 = 1230
Stattdessen muss ich einen Punkt angeben.
Version 3.4, MacOS 15.5
@mycomeu ansonsten macht eine summen- und saldenliste nur sinn in einer doppelten buchführung.
Thomas R
12.06.2025 16:16:51
@mycomeu Da der Anfangsbestand in der EUR immer 0,00€ ist geht das über Button Journal > Sortierung nach Konten oder über Button Konto.
Palindrom
12.06.2025 14:22:43
Werden mittlerweile für Reverse Charge RE automatisch Buchungssätze für die Steuer (USt/VSt) erstellt?
mycomeu
12.06.2025 09:02:59
gibt es eine summen und saldenliste im programm
mielket
11.06.2025 10:44:47
Nein, Neuinstallations- Voodoo hilft hier wohl nicht, nur ein vernünftiges Datenverzeichnis einzurichten hilft.
oekolog
10.06.2025 14:51:03
danke für die Nachricht kann ich durch eine Neuinstallation mit einem neuen Buchungsdatei wieder anfangen?
mielket
10.06.2025 14:25:14
Mein Verdacht: Datenverzeichnis falsch eingestellt und das Programm versucht die Buchungsdatei im von Windows geschützten Programmverzeichni s zu speichern.