Die Buchhaltung von ClubComputer war bisher ziemlich klassisch und daher auch arbeitsintensiv. Werner hat daher angeregt, die von den Banken angebotenen elektronischen Kontoauszüge im csv-Format als Grundlage für unsere Buchhaltung zu machen, weil das tatsächlich alle Kontobewegungen erfasst und man damit nur von Zeit zu Zeit eine Datei übertragen muss. Die Arbeit mit der Buchhaltung besteht daher in Zukunft aus dem Importieren downloadbarer CSV-Dateien der Banken. Der Anteil von Handarbeit besteht in der Zuordnung der Original-Zahlungsbestätigungen zu den einzelnen Buchungszeilen.

Das in den letzten Monaten entstandene Programm „Accounting“ ist eigentlich nur ein spezialisiertes Anzeigeprogramm für diese Buchungszeilen, ohne weitere Benutzereingabe. Über die Programmoberfläche können keine Buchungszeilen verändert, hinzugefügt oder gelöscht werden. Zahlungseingänge sind praktisch nur Mitgliedsbeiträge ohne Beleg. Bei Zahlungsausgängen können die zugehörigen Belege online eingesehen werden. Hin- und herschleppen von Dokumenten ist fast entbehrlich. Für den Rechnungsprüfer gibt es alle diese Dokumente auch in ausgedruckter Form in einem Ordner.

Durch dieses Projekt ist die Arbeit zwar nicht weniger geworden, im Gegenteil, dafür aber interessanter.

Adresse

Die Adresse dieser Buchhaltung ist

http://buero.clubcomputer.at/accounting/

Buchhaltung/Rechnungsprüfung

Alle Mitglieder, Vorstandsmitglieder und Rechnungsprüfer können sich laufend über unsere finanzielle Befindlichkeit informieren. Jede Gruppe mit einem anderen Berechtigungsgrad.

Wir haben drei Konten: BAWAG – PAYPAL – SPARBUCH. Handkassa gibt es keine; es gibt aber Vorleistungen von Werner und Franz, die von Zeit zu Zeit als Barauslagen verrechnet werden. Alle diese Belege sind in der Online-Buchhaltung sichtbar.

Bitte lasst Euch bei den Screenshots weiter hinten von dem am Jahresanfang sehr optimistischen Kontostand nicht täuschen. Zu etwa gleichen Teilen verbrauchen diese Beträge die PCNEWS (Druck, Versand, Autorenhonorar) und die Internetdienste von ccc.at (Telefon, Hosting, Pakete). Meist könnte die Weihnachtsfeier gar nicht mehr aus der Clubkassa bezahlt werden und wir retten uns, weil Anfang Dezember schon Mitgliedsbeiträge des nächsten Jahres einlangen.

Diese Buchhaltung ist fast vollautomatisch. Die CSV-Dateien von BAWAG und PAYPAL werden ohne Änderungen eingefügt. Das System übernimmt nur neue Datensätze. Bestehende Datensätze bleiben unverändert. Als Handarbeit verbleibt die Zuordnung der Belege zu den einzelnen Buchungszeilen.

Die Rechnungsprüfung kann in zwei Teilen erfolgen: Teil 1: Kontrolle der Buchungen online (Belege im PDF-Format vorhanden). Das kann laufend erfolgen. Teil 2: Kontrolle der Belege. Es gibt nur mehr wenige Originaldokumente. Jedes Originaldokument ist als PDF-Datei mit den Buchungszeilen verknüpft. Original-Rechnungen werden in vielen Teilbereichen ohnehin nur mehr als PDF-Dokument angeboten, sodass die Papierversion nur mehr ein Ausdruck des PDF-Originals ist.

Zeitraum

Vollständig erfasst ist der Zeitraum seit 2015-11; in diesem letzten Clubjahr sind alle Belege vorhanden. Von 2013-11 bis 2015-10 gibt es punktuelle Belege aber es werden in den nächsten Wochen alle großen Zahlungen rekonstruiert.

Genauigkeit

Alle Summen, die in der Anwendung gezeigt werden, werden immer zur Laufzeit aus allen Buchungen errechnet.

Wie genau ist das Ganze? Eigentlich müsste es centgenau sein, und mit etwas zusätzlichen Aufwand werden wir das auch noch „hinkriegen“. Aufgrund zweier Kontostände in der Vergangenheit können wir den aktuellen Kontostand ermitteln und dieser entspricht (etwa) dem Kontostand der Bankkonti. So ganz genau stimmt es nicht. Wo diese einzelnen Euros „versickern“ oder „entstehen“, ist noch ganz klar. Groß sind die Fehler nicht. Es gab bei der Implementierung einige Stolpersteine, die noch nicht gänzlich bereinigt sind.

Problem 1: Da ist zum Beispiel der Umstand, dass es bei den BAWAG-Daten zwei Datumsangaben gibt. Meist sind sie gleich aber es gibt Buchungen in den Nachmittagsstunden, die erst am nächsten Tag gültig werden. Und je nachdem, welches Datum man verwendet, gibt es verschieden große Tagessummen. Daran wird noch gearbeitet aber das ändert nichts am Prinzip sondern nur an der Genauigkeit der Saldi in wählbaren Datumsbereichen.

Problem 2: PAYPAL hat das CSV-Format Mitte 2016 geändert. Natürlich – wie könnte es anders sein – ist es nicht aufbauend, in dem Sinn, dass einfach neue Spalten dazu kommen; nein, es verschwinden auch Spalten. Und es macht Spaß, wenn sich dabei die Position aller Spalten verändert.

Updateintervall

Wenn man die Daten täglich aktuell halten will, muss man die betreffenden CSV-Dateien laufend von der Bank downloaden und in die Buchhaltung übertragen. Wie ich unsere Arbeitsweise kenne, wird das – speziell in den ruhigeren Zeiten ohne besondere Kontobewegungen – nicht der Fall sein. Sollte jemandem ein allzu großer Rückstand auffallen, genügt ein Anruf beim Clubtelefon oder eine Mail an buero{at}clubcomputer.at und die Sache wird aktualisiert.

Datenimport

CSV-Import-PAYPAL

https://www.paypal.com/. Die vielfältigen Einstellmöglichkeiten beim PAYPAL-Download werden so eingestellt: „Balance Affecting Records“, Zeitraum immer ab 1.1. bis zum heutigen Datum, Format TAB-Separated (und nicht CSV). Der Download-Name kann nicht eingestellt werden und heißt immer download.txt. Diese Datei wird umbenannt in PayPal 2017-02-15_(balance_tab).txt. Weiters müssen die richtigen Felder für den Download eingestellt werden die Feldnamen sind: Currency, Custom Number, Date, Fee, From Email Address, Gross, Item Title, Name, Net, Receipt ID, Reference Txn ID, Status, Subject, Time, TimeZone, To Email Address, Transaction ID, Type.

CSV-Import-BAWAG

https://ebanking.bawagpsk.com/ Seite: „Umsätze“, ganz unten auf der Seite „download CSV“.

Der Download vom BAWAG-Konto ist nicht weiter konfigurierbar. Die CSV.Dateien haben die Bezeichnung (Beispiel)  BAWAG_Umsatzliste_20170215_0733.csv. Der Name wird unverändert gespeichert.

Kontoauszüge BAWAG

https://ebanking.bawagpsk.com/ Seite: „Kontoauszüge“. Kontoauszüge haben die Bezeichnung (Beispiel)

Kontoauszug_BAWAG_P.S.K._AT741400017710812896_013.pdf

und werden um eine Datumsangabe erweitert. Damit ist das Programm in der Lage, in der Buchhaltung mit dieser Date zu verlinken:

Kontoauszug_BAWAG_P.S.K._AT741400017710812896_2017_01_19_013.pdf

Belege

Jeder Buchungszeile kann ein PDF-Beleg zugeordnet werden. Gibt es mehrere Dokumente, müssen diese zu einem einzigen PDF-Dokument zusammengefasst werden.

Jedes Dokument wird wie folgt benannt:

2017-02-11 ClubComputer Fiala_Franz Büro-2017.pdf
-Re-Datum- ClubComputer -Empfänger- -Bezeichnung-

Dann wird es über die Oberfläche upgeloadet und einer Buchungszeile zugeordnet. Dann verändert sich der Name so:

2017-02-13 3E9FBBBC5D57CAC93E38690FE5C1CAFE 2017-02-11 ClubComputer Fiala_Franz Büro-2017.pdf
-Bu-Datum- -----eindeutiger Hash-Wert------

Der Hash-Wert dient einerseits zur eindeutigen Zuordnung zur Datenbanktabelle und dient gleichzeitig als Download-Schutz, weil es dann keine systematische Dateibezeichnung gibt.

Datenbank

Datenbank ist fast ein bisschen übertrieben, denn es handelt sich nur um eine einzige Tabelle mit derzeit 4200 Zeilen. In dieser Tabelle werden die Daten der CSV-Daten von BAWAG und PAYPAL vereinigt. Die Spalten richten sich nach der einfacheren Struktur und das ist die der BAWAG-Daten. Die dargestellten Spalten sind auch genau die, die bei der BAWAG verfügbar sind. PAYPAL bietet ein Vielfaches an Informationen. Für diese Buchhaltung wurden daher beim PAYPAL-Konto die Inhalte mehrerer Felder zu dem BAWAG-Feld „TEXT“ zusammengefasst.

Werkzeug

Zur Entwicklung wurde die kostenlosen Programmierumgebung für DotNet-Software, das „Visual Studio Community 2015“ verwendet. Die angewendete Technologie ist Web Forms/C#. Die Datenbank ist eine MS-SQL-Datenbank 2012, die mit MS Access angesprochen wird.

Ansichten

Die folgenden beispielhaften Screenshots zeigen die Ausgaben im Jänner 2017. (Die Einnahmen kann man über eine CheckBox sichtbar machen aber einerseits sind diese Listen zu lang, um sie hier darzustellen und dann auch sehr monoton, weil die meisten Buchungen denselben Mitgliedsbeitrag zeigen. Daher wurden diese Zeilen für diese Darstellung der Übersichtlichkeit halber ausgeblendet.

Anmeldung

Grundsätzlich meldet man sich mit der Club-E-Mail-Adresse an. In der Regel ist das <name>.<vorname>@ clubcomputer.at. Das Passwort ist das Passwort der betreffenden Mailbox. Das Anmeldeverfahren wurde von dem des cc-drive „abgekupfert“. Es gibt keine eigene Benutzerverwaltung, es wird die unseres Mailservers „Mailenable“ mitbenutzt. Durch die Einschränkung auf die Maildomäne @clubcomputer.at können sich nur Clubmitglieder einloggen. (In den Abbildungen kommt auch die Domäne fiala.cc vor. Das hat den Grund, weil ich selbst auch nur eine Club-E-Mail-Adresse besitze aber zum Testen der Berechtigungen eine andere Mail-Adressen am selben Mailserver angelegt sein muss.)

Level 1: Ohne Anmeldung

Ohne Anmeldung sieht man einfach die Kontostände unserer Konten (BAWAG, PAYPAL und SPARBUCH).

Das kann jeder sehen. Man sieht gleich in der Spalte „Ende“ von welchem Datum die letzte Buchung erfolgt ist und unter „Ende-Saldo“ wie unser Kassastand ist. Hier fehlt noch als dritte Kontozeile das Sparbuch. Das wird noch nachgetragen. Wir haben alle Kontobewegungen seit Oktober 2011 gespeichert. Bei PayPal haben wir Daten, die bis 2007 zurückreichen. Diese älteren Daten sind zwar als CSV-Datei gespeichert, wurden aber nicht in die Datenbank übernommen.

Level 2: Anmeldung als Mitglied

Alle Mitglieder können sich mit ihrer Club-Email-Adresse anmelden. Sie können alle Ausgaben sehen und die zugehörigen Belege aber kein Einnahmen und keine erklärenden Texte. Diese Texte wären an sich kein großes Geheimnis. Im Feld TEXT (hier noch nicht sichtbar) stehen die Buchungshinweise, die wir von den Kontoauszügen kennen. Da dort aber auch Namen enthalten sind, wurde im Sinne des Datenschutzes die Einsicht in dieses Feld „TEXT“ für Mitglieder abgeschaltet. Ebenso fehlen die Links zu den Kontoauszügen.

In der Spalte „BELEG“ kann man sich die zugehörige Rechnung zu dieser Buchungszeile anschauen. Im Menüpunkt „Bilanz“ kann man die Einnahmen-Ausgaben-Rechnungen für verschiedene Zeiträume berechnen lassen.

Level 3: Anmeldung als Vorstandsmitglied oder Rechnungsprüfer

Ein Login mit den E-Mail-Adressen der Vorstandsmitglieder und der Rechnungsprüfer erzeugt eine erweiterte Ansicht.  Diese Gruppe kann alle Buchungen uneingeschränkt sehen. Als Anfangswert werden „nur Ausgaben“ angezeigt. Die Spalte „TEXT“ ist der gesamte Text, der auf dem elektronischen Kontoauszug mitgeliefert wird (Bei PayPal ist es die Zusammenfassung mehrerer Felder). Im Menüpunkt „Belege“ sind einerseits alle Rechnungen als PDF, sowie alle Kontoauszüge als PDF und auch die elektronischen Kontoauszüge im CSV-Format sichtbar.

Level 4: Anmeldung als Administrator

Ein Administrator kann noch zusätzlich in einer Buchungszeile einen Beleg uploaden oder einen Beleg löschen und im Menüpunkt „Import“ kann er weitere csv-Dateien uploaden, die dann automatisch in den „Buchungen“ aufscheinen. Die Spalte „D.VAL“ ganz rechts betrifft ein noch in Bearbeitung befindliches Problem mit den BAWAG-Buchungen.

Erweiterungen

Inhaltliche Kleinigkeiten werden in den nächsten Wochen erledigt. Das Sparbuch: wird nachgetragen. Belege: Für den Zeitraum 2013-11 –  2015-10 werden alle nicht rekonstruierbaren Belege nachgetragen, sodass man dann diesen Zeitraum auch überprüfen kann.

Was man unbedingt ergänzen muss, ist eine Suche. Sowohl nach Beträgen als auch nach Texten. Das wird das nächste größere Teilprojekt sein.

Und eine weitere Perspektive ergibt sich durch die Integration der Anmeldung in die Clubverwaltung, denn damit kann die allgemeine Büro-Anwendung personalisiert werden und damit wird auch das automatische Anlegen eines neuen Mitglieds ermöglicht.

Wiederverwendung

Das Programm ist auf die Bedürfnisse von ClubComputer spezialisiert und auch auf unsere beiden Banken. Es ist aber nicht all zu aufwändig, die Parameter für die Konten anzupassen oder die Kontenliste zu erweitern. Ist auch wieder ein Projekt für die Pension.

Erwartungen

Dieses Buchhaltungsprogramm soll dem Vorstand und den Rechnungsprüfern eine laufende Einsicht in die Gebarung von ClubComputer geben. Ich verspreche mir davon eine bessere Information aller Beteiligten aber auch eine Verbesserungsmöglichkeit durch konstruktives Feedback. Jeder Fehlerbericht, jede Anregung hilft uns, unsere Buchhaltung zu verbessern.

Zur Werkzeugleiste springen