09.08.2020 02:12:56
Navigation
· Bugtracker
· Kontakt
· Web Links
· Suche
· Buchtipps
Login
Benutzername

Passwort



Noch kein Mitglied?
Klicke hier um dich zu registrieren

Passwort vergessen?
Um ein neues Passwort anzufordern klicke hier.
Mitglieder Online
· Gäste Online: 3

· Mitglieder Online: 0

· Mitglieder insgesamt: 14,488
· Neuestes Mitglied: Ralf Kirchhoff
Foren Themen
Neueste Themen
· EÜR in Mein Elster
· zu viel Geld in E/Ü...
· Konto maske Verbesse...
· Kassenbuch
· Umsatzsteuerbefreite...
Heißeste Themen
Keine Themen erstellt

Thema ansehen
EasyCash&Tax Website » EasyCash&Tax - Fibu » BankImport-Plugin
 Thema drucken
Mein Dresdner-Bank Script mal erklärt
mielket
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:

11.11.2005[TAB]11.11.2005[TAB]Verguetung[TAB][ENTER]
VORNAME NACHNAME VERWENDUNGSZWECK[ENTER]
[TAB]EUR[TAB]15,00 H[TAB][ENTER]

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.

Download Code  Code
// BankImport-Skript 'Dresdner Bank -- Registriergebühren zu 7%'
//
// Buchungsdatum
Setze Anfangsmarke für Selektion
Springe hinter nächsten Tabulator
Setze Endmarke für Selektion
Selektion -> Buchungsdatum



Den jeweils 'eingescannten' Anteil habe ich fett hervorgehoben:

11.11.2005[TAB]11.11.2005[TAB]Verguetung[TAB][ENTER]
VORNAME NACHNAME VERWENDUNGSZWECK[ENTER]
[TAB]EUR[TAB]15,00 H[TAB][ENTER]

Download Code  Code
//
// Kontoinhaber -> Belegtext
Springe hinter nächsten Zeilenumbruch
Setze Anfangsmarke für Selektion
Springe hinter Suchmuster/( )
Springe vor Suchmuster/( )
Setze Endmarke für Selektion
Selektion als Personennamen normalisieren
Selektion -> Buchungstext



11.11.2005[TAB]11.11.2005[TAB]Verguetung[TAB][ENTER]
VORNAME NACHNAME VERWENDUNGSZWECK[ENTER]
[TAB]EUR[TAB]15,00 H[TAB][ENTER]

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.:

"VORNAME NACHNAME" -> "Vorname Nachname" oder
"nachname, VORNAME" -> "Vorname Nachname"

Download Code  Code
//
// Betrag
Springe hinter nächsten Tabulator
Springe hinter nächsten Tabulator
Setze Anfangsmarke für Selektion
Springe vor Suchmuster/( )
Setze Endmarke für Selektion
Selektion -> Betrag



11.11.2005[TAB]11.11.2005[TAB]Verguetung[TAB][ENTER]
VORNAME NACHNAME VERWENDUNGSZWECK[ENTER]
[TAB]EUR[TAB]15,00 H[TAB][ENTER]

Download Code  Code
//
// 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)



11.11.2005[TAB]11.11.2005[TAB]Verguetung[TAB][ENTER]
VORNAME NACHNAME VERWENDUNGSZWECK[ENTER]
[TAB]EUR[TAB]15,00 H[TAB][ENTER]

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).

Download Code  Code
//
// 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.

Download Code  Code
//
: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.

Download Code  Code
//
: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).

Download Code  Code
//
: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.

Download Code  Code
: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 22:16:34
 
http://am3.notify.live.net/throttledthirdparty/01.00/AQGwcKFTwqFdQoAAdm9TTl6zAgAAAAADEwAAAAQUZm52OjE3QjlBNEFEQTU4QzU2ODAFBkxFR0FDWQ
Springe ins Forum:
Forensuche



Shoutbox
Du musst eingeloggt sein, um eine Nachricht zu verfassen.

01.08.2020 17:13:15
@vonpoll nicht hier, da zu kurz, Forumsthread wäre besser.

31.07.2020 18:12:46
woher stammen im Formular EÜR 2019 in Zeile 63 gezahlte Vorsteuer,Zeile 64 an das FA gezahlte Ust und Zeile 66 übrige abziehbare Betriebskosten die Zahlen. Bei den Betreibsausgaben steht hier eine Zah

24.07.2020 16:07:18
@kkoefteg Lies dir mal diese Seite durch. Auf XML kann er m.E. nicht bestehen: https://www.scopev
isio.com/blog/fina
nzbuchhaltung/gdpd
u-eine-einfache-er
klaerung/

23.07.2020 20:18:59
Hallo zusammen, ich habe zur Zeit Steuerprüfung. Der Prüfer möchte die Buchhaltungsdaten im GdPDU-Format (XML). Ich versuche die Daten im Excel als XML-Daten (nicht Xml-Kalkulationsta
belle 2003) zu s

22.07.2020 13:31:19
Einfach bescheidsagen. Smile

21.07.2020 12:11:29
Wie kann ich meine Mitgliedschaft löschen?

20.07.2020 18:46:10
Untergliederung der Konten, Testversion verfügbar, siehe Forum "Allgemeine ..." -> "Konto maske Verbesserungen"

09.07.2020 17:05:17
@Herbie66 Besser einen Forumseintrag machen, hier zu kurz.

09.07.2020 11:13:10
Hallo, bin neu hier, verwende aber ect schon seit Jahren. Ich hätte gerne mehr über die Kassenbuchfunktion
erfahren. Habe im Forum einiges gelesen, aber irgendwie komme ich damit nicht klar. Ich buche

08.07.2020 13:16:16
@Heike D Ich würde einfach die SW noch einmal darüber installieren. Die Einstellung bleiben.

06.07.2020 13:30:56
Hallo, mein Easy CT startet plötzlich nicht mehr. Es erscheint die Meldung "konnte nicht korrekt gestartet werden. 0xc0150004". Ich habe Windows 10 und vorher nichts verändert. Weiß jemand R

04.07.2020 16:24:22
@Michael Entweder blockiert dein Virenschutz die Übertragung oder deine Hardware Firewall den Port 443

03.07.2020 16:23:02
Ich bekomme bei der Übermittlung der UStVA einen ERiC Fehler 610101271. Kann jemand helfen?

22.06.2020 10:29:11
Willkommen!

17.06.2020 15:51:54
Hallo, bin neu hier und freue mich auf das tolle Programm und die super Unterstützung von euch.

18,948,560 eindeutige Besuche