Ordnung ins Rechnungswesen bringen mit Simple Invoices

Simple Invoices

Man soll ein neues Jahr ja nicht nur mit guten Vorsätzen beginnen, sondern auch Taten folgen lassen. Ich habe deshalb ein Abrechnungs-System installiert, mit dem sich Rechnungen schreiben und als PDF mailen/ausdrucken lassen. Meine Wahl fiel auf SimpleInvoices – ein Stück Software, mit dem sowohl kleine Firmen als auch Freelancer glücklich werden können. Es läuft auf einem Webserver mit PHP und MySQL (also im eigenen Netzwerk, im Internet oder mittels LAMP/WAMP/MAMP-Stack auch auf dem eigenen Rechner), wird weiterentwickelt, ist Template-basiert (so dass man sein eigenes Rechnungs-Layout samt Logo anlegen kann) und obendrein noch Open Source, also kostenlos. Auch Zahlungseingänge lassen sich verbuchen und Umsatz-Statistiken erstellen. Was will man mehr?

Um Missverständnisse zu vermeiden: Wie schon die Demo zeigt, kann und will Simple Invoices ein ausgewachsenes Rechnungswesen nicht ersetzen. Obwohl das Programm sich flexibel und anpassbar zeigt, ist es (bislang) nicht Multi-Mandanten-fähig. Das heißt, wer mit Simple Invoices mehrere Firmen/Freelancer verwalten will, muss entweder mehrere Versionen installieren oder das Programm selbst anpassen – oder aber gleich zu einer kommerziellen Software greifen.

Installiert habe ich Simple Invoices testweise auf meinem Ubuntu-PC (aktuelle Version 9.10) sowie im Netz unter Debian (stable 5.0). Dabei trat eine Merkwürdigkeit auf, die auch im Forum reklamiert wurde: Beim PDF-Export (das Programm verwendet die HTML2PDF-Library) wurde das Logo nicht eingebunden. Dabei handelt es sich offensichtlich nicht – wie dort suggeriert – um ein Problem relativer Pfade und/oder der Auflösung von Localhost, sondern um ein Zugriffsproblem von PHP. Im Apache-Log fand sich dann lediglich ein rätselhafter Eintrag „Cannot open . Referer […]“ ohne Angabe, was sich da nicht öffnen ließe. Obwohl Ubuntu von Debian abstammt, funktionierte der PDF-Export auf dem Debian-Server dann einwandfrei. Das genügte mir. Ein paar vorläufige Mängel gibt es noch: Die deutsche Übersetzung hat Lücken, und das Dashboard der Anwendung ist – wie der Programmierer selbst vermerkt – noch „Work in Progress“.

Die Installation ist nicht allzu schwer und wird auch halbwegs gut auf der Website von Simple Invoices beschrieben. Man lädt sich das zip-Archiv der aktuellen Programmversion herunter und entpackt es am besten direkt im Dokumenten-Wurzelverzeichnis des Webservers: Beim Entpacken wird ein neues Verzeichnis namens simpleimvoices/ erstellt.

Ein paar System-Anforderungen, die durchschnittliche Massen-Hoster eventuell überfordern, gibt es allerdings:

  • PHP muss mit der GD2-Grafikbibliothek und XSL-Unterstützung kompiliert sein. Auf einem selbst administrierten Linux-Server lässt sich das leicht mit Hilfe des Paket-Managements Ihrer Distribution nachholen. Bei Debian/Ubuntu also
    $ aptitude install php5-gd php5-xsl
  • Damit Rechnungs-PDFs gedruckt werden können, braucht PHP mehr Speicher als möglicherweise konfiguriert. Vergrößern Sie also den zugewiesenen Speicher in der /etc/php5/apache2/php.ini (dieser Pfad gilt für Debian/Ubuntu)
    memory_limit = 24M      ; Maximum amount of memory a script may consume (16MB)
  • Danach ist ein Neustart notwendig:
    $ /etc/init.d/apache2 restart
  • Außerdem muss das Verzeichnis simpleinvoices/tmp/ samt Unterverzeichnissen für den Webserver schreibbar sein, da es als Zwischenspeicher (Cache) genutzt wird. Sollten Sie eine Fehlermeldung erhalten, ändern Sie die Eigentumsverhältnisse. Anders als in den requirements dargestellt, läuft bei Debian/Ubuntu der Apache-Webserver unter dem User www-data. Also:
    $ chown -R www-data:www-data simpleinvoices/tmp

Zum Schluss der Vorarbeiten gilt es noch, ziemlich am Anfang der Datei simpleinvoices/config/config.ini User und Passwort für den Zugang zur Datenbank simple_invoices einzutragen, die spätestens jetzt angelegt werden sollte.

Wenn Sie Simple Invoices jetzt im Browser aufrufen – bei einer Installation auf dem eigenen PC z.B. mit http://localhost/simpleinvoices – läuft ein dreistufiges Installationsskript ab, das die Datenbank mit den notwendigen Tabellen bevölkert. Das Angebot, noch ein paar Demo-Daten einzurichten, können Sie ablehnen und lieber gleich mit eigenen Rechnungen beginnen. Das Programm richtet sich an Praktiker, nicht an Buchhalter. Es lässt sich also recht intuitiv und dank Ajax auch geschmeidig nutzen.

Ein paar Tipps zum Start:

  • unter People/Personen legen Sie einen Gläubiger (also Sie oder Ihre Firma) an. Sobald Sie Ihr Logo auf dem Webserver unter simpleinvoices/templates/invoices/logos/meinlogo.jpg abgespeichert haben, können Sie es im Formular auswählen. Außerdem können Sie hier – falls ein Absicherung nötig ist – User/Benutzer anlegen. Anschließend machen Sie die Benutzer-Verwaltung in der config.ini scharf:

    authentication.enabled                 = true

    Danach ist Simple Invoices per Login geschützt.

  • unter Products/Produkte legen Sie Ihren Leistungskatalog samt Stückpreis und Steuersatz an. Falls Sie stundenbasiert abrechnen, nehmen Sie einfach den Stundensatz als Stückpreis.
  • unter Settings/Einstellungen können Sie Vorgaben konfigurieren. Unter Tax Rates/Steuersätze sollten deutsche Nutzer als erstes den vollen und den halbe Mehrwertsteuersatz nachtragen. Simple Invoices ist sehr flexibel: Es lassen sich Benutzer-definierte Felder anlegen; unter Invoice Preferences/Rechnungseinstellungen können mehrere Rechnungs-Vorgaben erstellt und verwaltet werden. Sie sollten auf jeden Fall die Standard-Vorlage „Invoice“ anpassen und eindeutschen. Keine Sorge, alles lässt sich später wieder ändern und nachbessern!
  • unter Money/Geld legen Sie neue Rechnungen an und finden bereits gestellte Rechnungen.

Ich empfehle, einfach loszulegen. Legen Sie Ihre erste Rechnung an. Simple Invoices erlaubt zwei Varianten, die alle Wünsche abdecken: Sie können die Rechnung „itemised“ aufbauen, also vorher unter Products/Produkte angelegte „Items“ übernehmen. Tragen Sie die Stück- oder Stundenzahl ein. Dann errechnet Simple Invoices automatisch den Gesamtpreis. Über das Icon „Details“ lässt sich zu jedem Posten noch eine individuelle Beschreibung hinzufügen. Alternativ ist auch eine Rechnung im „Total Style“ möglich. Statt mehrere Posten anzulegen, gibt man hier einen Freitext ein.

Nachdem Sie die Rechnung angelegt und gespeichert haben, steht Sie in der Rechnungsübersicht. Mit Hilfe der Icons können Sie nun eine Druckvorschau ansehen oder gleich ein PDF erzeugen lassen.

Eigener Rechnungsbogen. Wenn Sie – wie ich – die Optik des Standard-Templates an Ihren Briefbogen anpassen wollen, dann haben Sie nun noch einmal ein paar Stunden Arbeit vor sich. Wer sich mit Smarty-Templates und CSS auskennt, ist dabei klar im Vorteil. Leider finden sich im Wiki keine Templates anderer Benutzer. Mein Template, das gegenüber der Standard-Vorlage bereinigt, verknappt und von unnötigen HTML-Tabellen befreit ist, finden Sie hier.

Um ein eigenes Template anzulegen, sollten Sie als Ausgangsbasis mein Template – oder auch die Standard-Vorlage – von pfad-zu-www-dateien/simpleinvoices/templates/invoices/default nach pfad-zu-www-dateien/simpleinvoices/templates/invoices/ihr-firmenname kopieren und dann die Dateien template.tpl und styles.css editieren. Wer – wie zuvor beschrieben – schon eine Rechnung angelegt hat, klickt auf das Icon „Bearbeiten“. Jetzt können Sie Invoice Preference/Rechnungseinstellung auf „ihr-firmenname“ ändern. Dann „Speichern“ und erneut die Druckansicht aufrufen – nun lassen sich die Auswirkungen der Änderungen kontrollieren.

Die Template-Editiererei lohnt sich: Am Ende haben Sie eine blitzsaubere Rechnungs-Vorlage, die von Simple Invoices zuverlässig gefüllt wird. Kaum zu glauben, dass man sich früher mit Excel-Tabellen oder Word-Dateien herumschlagen musste.

1 comment on “Ordnung ins Rechnungswesen bringen mit Simple Invoices”

  1. Hi,
    einen schönen Artikel hast du hier geschrieben, auch wenn er schon von 2010 war.

    Wenn jemand Interesse hat… ich würde gerne eine DE Version von SimpleInvoices (nachfolgend SI) auf den Weg bringen. Anpassungen zur Mandantenfähigkeit stehen da ganz oben mit auf der Liste.

    Ziel ist es nicht in Konkurenz zu SI zu treten, sondern den DE zweig auszubauchen, und so gemeinsam mit SI die Software voran zu treiben und gleichzeitig auf DE Recht zu optimieren.

    Ich freue mich über jeden Interessenten und jede Unterstützung.
    Eine Community gibt es bei G+ : https://plus.google.com/communities/103402758989409155897

    Die Sourcen und Bugtracker hier:: https://code.google.com/p/rechnungen-einfach/source/checkout

Schreibe einen Kommentar