Onlinedienste, die die Faktura ins Web auslagern, gibt es wie Sand am Meer. Allerdings sollte man das jeweilige Angebot sehr kritisch prüfen, denn ersten fallen bei einigen Dienste erhebliche Nutzungsgebühren an. Zum anderen ist bei manchen der Datenschutz fraglich. Gerade bei geschäftskritischen Anwendungen wie der Rechnungsverwaltung sollten die Kunden- und Auftragsdaten nicht im Web verteilt werden. Sicherer ist es da, wenn man eine solche Anwendung auf dem eigenen Webspace hosten kann. MyClientBase bietet genau das. Dr. Web hat sich das Produkt aus der Nähe angeschaut.
Grundlegendes und Systemvoraussetzungen
MyClientBase (MCB) ist keine Faktura für große Firmen, sondern richtet sich gezielt an Kleinunternehmen und Freiberufler. Auch ist MCB nicht mandantenfähig, kann also nicht mehrere Firmen in einer Installation verwalten. Dieser Umstand ist natürlich leicht durch eine oder mehrere zusätzliche Installationen zu beheben. Multiuserfähigkeit ist immerhin gegeben. Sie können beliebig viele Useraccounts auf Ihren Kunden- und Rechnungsbestand los lassen.
MyClientBase gibt sich selbstbewusst.
MCB ist umstandslos herunter zu laden und bringt mit 2,4 MB komprimiert, sowie 8,9 MB entpackt, nicht wenig Gewicht auf die Waage. Dabei ist für 5,2 MB entpackter Datenmenge bereits das Plugin domPDF verantwortlich. domPDF ist der PDF-Generator für die mit MCB erzeugten Rechnungen. Alternativ kann mPDF verwendet werden, da domPDF keinen Unicode-Support mitbringt. mPDF wird nicht mitgeliefert. Dazu und zur Installation später mehr. Weiterhin ist zu berücksichtigen, dass MCB im Auslieferungszustand ausschließlich englisch spricht. Für eine deutsche Version ist Zusatzaufwand erforderlich, den wir im weiteren Verlauf dieses Artikels zusammen durchgehen werden.
Die moderne Optik und Funktionalität des Produktes erklärt sich aus der Verwendung von jQuery und dem CodeIgniter-PHP-Framework. Hinsichtlich der Systemvoraussetzungen hält sich der Programmierer etwas zurück. Nach meinen Tests benötigt MCB PHP 5.x und MySQL ab 4.1. Unter PHP 4.x kommt es zu Fehlern an allen möglichen Stellen. Vom Einsatz unter PHP-Versionen jünger als 5 kann ich daher nur dringend abraten. Hinsichtlich des Webservers ist MCB tolerant. Es gibt Erfahrungsberichte, die bestätigen, dass MCB auch unter dem Internet Information Server ab Version 6, natürlich mit korrekt installiertem PHP und MySQL, reibungslos funktioniert.
Dieser Test bezieht sich auf die derzeit aktuelle Version 0.8.1.
Installation
Wenn Ihr Webspace die Systemvoraussetzungen erfüllt, wovon bei etwa 99 % der heute gängigen Hostingpakete auszugehen ist, gehen Sie an die Installation. Da MCB auch in Unterordner installiert werden kann, sind keine weiteren Voraussetzungen zu erfüllen. Wenn Sie allerdings, wie ich, lieber mit Subdomains arbeiten, sollten Sie zunächst ein entsprechendes Verzeichnis auf Ihrem Space einrichten (Ich nannte es naheliegenderweise myclientbase) und die Subdomain (Ich nannte sie naheliegenderweise myclientbase) auf dieses Verzeichnis richten. Ein Pfad wie www.domain.tld/unterordnername/ funktioniert aber genauso.
Bevor Sie nun die Inhalte des entpackten MCB-Zips in Ihre Subdomain oder Ihren Unterordner hochladen, sollten Sie eine leere MySQL-Datenbank anlegen. MCB ist ebenso in der Lage, bestehende Datenbanken mit zu benutzen. Dafür verwendet MBC standardmäßig das Prefix mcb_, das allerdings nicht verändert werden kann (obschon die database.php anderes suggeriert). Haben Sie eine leere Datenbank eingerichtet oder können Sie mit der Prefixkonvention leben und eine bestehende mitbenutzen und haben die Einstellungen parat, öffnen Sie mit einem Texteditor wie TextWrangler (Mac) oder Notepad++ (Win) die Datei /system/myclientbase/config/database.php und tragen die Einstellungen dort ein.
Die Eintragungen zur Datenbank in der database.php
Jetzt laden Sie den Inhalt des entpackten Zip hoch. Während des Upload können Sie sich, je nach Anbindung, ruhig erstmal einen Kaffee holen.
Ist der Upload erledigt, sind auf verschiedene Verzeichnisse noch Schreibrechte für den Webserver zu setzen. Ein 755 sollte hier ausreichend sein. Die mit Schreibrechten zu versehenden Verzeichnisse sind:
- /system/myclientbase/plugins/dompdf/lib/fonts/
- /system/myclientbase/modules_core/invoices/views/invoice_templates/
- /uploads/
Haben Sie alle Schritte abgearbeitet, starten Sie das Installationsscript. Hierzu rufen Sie index.php/setup/ auf. Je nachdem, ob Sie in ein Unterverzeichnis oder eine Subdomain installiert haben, sieht der Aufruf dann so aus:
- www.domain.tld/unterordnername/index.php/setup/
- subdomain.domain.tld/index.php/setup/
In Schritt 1 bestätigen Sie die Lizenzvereinbarung auf der Basis der GNU General Public License.
Schritt 1 der Installation
Schritt 2 des Installationsscriptes erfordert die Anlage des ersten Useraccounts, der damit auch gleich zum Admin wird. Außerdem können Sie hier direkt die wesentlichen Firmendaten erfassen. Diese Angaben sind später jederzeit änderbar. Auch der Username kann jederzeit geändert werden. Beim Passwort sollten Sie Vorsicht walten lassen. Schreiben Sie es sich lieber auf, wenn Ihre Gedächtnisleistung nicht der eines Garri Kasparov entspricht. Denn MCB bringt keine Funktion mit, mit dessen Hilfe Sie sich das Passwort zumailen lassen könnten, hätten Sie es vergessen. phpMyAdmin hilft Ihnen in einem solchen Falle auch nicht weiter. Die Passwörter werden verschlüsselt gespeichert.

Anlage des Adminkontos, Schritt 2 der Installation
Der dritte und letzte Schritt der Installation sollte Sie bestenfalls nur noch darüber informieren, dass die Datenbanktabellen, sowie das Adminkonto eingerichtet sind. Zusätzlich werden Sie darauf hingewiesen, dass der Setup-Ordner sinnvollerweise gelöscht werden sollte. Den Setupordner finden Sie unter /system/myclientbase/modules_core/. Den darin enthaltenen Ordner namens setup bitte komplett löschen.
Abb.: Die Installation ist erfolgreich beendet.
Klicken Sie nun auf “Log In” erhalten Sie den folgenden Anmeldebildschirm:

Der Anmeldebildschirm von MyClientBase
Geben Sie den eben vergebenen Usernamen samt Passwort ein, erscheint nach kurzem Nachdenken ein völlig leeres Dashboard.

Das noch völlig leere Dashboard
Wichtige Anpassungen für deutsche Benutzer
Wie bereits erwähnt, spricht MCB nach der Installation ausschließlich perfect english. Lassen Sie uns daher zunächst eine deutschsprachige Basis schaffen. Wir beginnen mit dem deutschen Sprachpaket für MyClientBase. Dazu begeben wir uns in das MCB-Supportforum und suchen dort das Board Language Translations auf. Wir werden nicht enttäuscht. Die aktuelle deutsche Übersetzung für die Version 0.8.1 springt uns förmlich ins Gesicht.

Im Forum gibt es eine brandaktuelle deutsche Übersetzung.
Laden Sie die im Forumsbeitrag verlinkte Zip-Datei herunter und entpacken diese an geeigneter Stelle. Sie erhalten einen Ordner namens german. Dieser enthält die Dateien config.php, index.html und mcb_lang.php. Laden Sie den Ordner german in den Pfad /system/myclientbase/language/. Dort sollten Sie nach dem Upload die beiden Ordner english und german vorfinden.
Wechseln Sie nun ins Dashboard und dort in System > System Settings, finden Sie unter dem nicht ganz nachvollziehbaren Punkt Invoice Settings > Language eine Auswahlbox, die nun auch die Wahlmöglichkeit german anbietet. Wählen Sie entsprechend aus und klicken Sie auf Save Settings. Fortan zeigt sich das Dashboard komplett in deutscher Sprache und so manche Einstellungsmöglichkeiten werden dadurch viel klarer.
Als Nächstes installieren wir auch noch das deutsche Sprachpaket für das CodeIgniter-Framework. Dieses finden Sie auf dieser Seite zum Download. Entpacken Sie das Zip-File an geeigneter Stelle, erhalten Sie einen Ordner namens de. Laden Sie den kompletten Ordner in das Verzeichnis /system/language/ hoch. Benennen Sie den Ordner nach dem Upload in german um. Jetzt sind auch CodeIgniter-Funktionalitäten wie die Formvalidation auf deutsch verfügbar. Erwarten Sie allerdings nicht zu viel. Die Übersetzung ist nur im Bereich von etwa 95 % vollständig und auch nicht an allen Stellen mit hohen Qualitätsansprüchen durchgeführt worden.
So sieht Ihr Einstellungsdialog nach der Übersetzung aus. Ich habe bereits einige spezifische Änderungen vorgenommen, wie etwa das Datumsformat, das Währungssymbol, ein Rechnungslogo hochgeladen etc.

Systemeinstellungen in deutscher Sprache
Bevor wir nun anfangen können, die eigentliche Kernfunktionalität zu nutzen, müssen wir noch die deutschen Steuersätze hinterlegen. Dazu begeben wir uns im Dashboard zu System > Steuersätze. Der Vorgang ist selbsterklärend. Denken Sie daran, im Feld “Prozentualer Steuersatz” nicht das Prozentzeichen mit zu erfassen. Am Ende sollte Ihre Steuersatzübersicht so aussehen.

In Deutschland übliche Steuersätze
Wie bereits erwähnt, bringt MCB einen PDF-Generator mit, der nicht Unicode-fähig ist. Damit bekommen wir im PDF mindestens mit unserem Eurozeichen Probleme. Natürlich können wir feige sein und einfach als Währungssymbol EUR hinterlegen. Sind wir aber nicht. Deswegen lassen Sie uns noch schnell den besser geeigneten PDF-Generator mPDF installieren. Das rund 18 MB schwere Paket laden wir hier herunter und entpacken es an geeigneter Stelle auf 23,8 MB Kampfgewicht. Den entzippten Ordner benennen wir um in mpdf und laden ihn hoch nach /system/myclientbase/plugins/.
Ist der Upload abgeschlossen, ändern Sie im Dashboard unter Systemeinstellungen das zu verwendende PDF-Plugin in mPDF und unser Währungssymbol ist gerettet.
Auf dem Weg zur ersten Rechnung
Nachdem wir nun relatv aufwändig den Boden für die Nutzung des unbestreitbar modern wirkenden MyClientBase bereitet haben, können wir uns an die Schritte zur Erstellung unserer ersten Rechnung machen. Hierzu ist es zunächst erforderlich, einen Kunden zu definieren.
Anlage eines Kundendatensatzes
Im Dashboard finden Sie den Hauptmenüpunkt Kunden und den Unterpunkt “Kunden hinzufügen”. Es öffnet sich eine Standardformularmaske, die es soweit erforderlich zu bestücken gilt.
Die Maske zur Neuanlage unterscheidet sich übrigens nicht von der Maske zur späteren Bearbeitung. Auf den ersten Blick fällt auf was fehlt. Zwar können etliche Adressdetails erfasst werden. Nicht möglich ist aber die Erfassung eines Kreditlimits. Je nach Zahlungsmoral eines Kunden kann es bisweilen ganz nützlich sein, wenn einen die Software beim Rechnungen schreiben darauf hinweist, dass man diesem Kunden besser zunächst nichts mehr verkauft. Allerdings wird in der Kundenübersicht angezeigt, welchen Betrag Kunde X uns noch schuldet. Das ist ja auch schon mal was. Überdies ist es nicht möglich, außer im allgemeinen Notizfeld, Angaben zu Bankverbindung und Zahlungsweise zu vermerken. Der Standardfreelancer, der seine Zeit verkauft, wird sich an beiden genannten Makeln nicht stören.
Unschön ist, dass man innerhalb der Kundenverwaltung keine Möglichkeit hat, die Kundennummern etwa mit den Debitorenkontonummern identisch zu halten. Kundennummern werden in MCB automatisch beginnend mit 1 vergeben.
Erfassen einer Rechnung
Der Assistent zur Erfassung einer Rechnung findet sich unter Rechnungen > Rechnung erstellen. Im ersten Schritt vergeben Sie ein Rechnungsdatum, dass Sie auch bequem per Datepicker auswählen können und ordnen die Rechnung einem Bestandskunden zu. Freie Fakturierung ohne Kundendatensatz ist nicht möglich.

Erster Schritt im Rechnungsprozess
Im zweiten Schritt erhalten Sie eine recht komplexe Maske mit mehreren Tabs, die in sich allerdings gut durchstrukturiert ist. Anders als bei der Kundenverwaltung können Sie auf die Nummerierung der Rechnungen insoweit Einfluss nehmen, als Sie unter Systemeinstellungen die erste Rechnungsnummer hinterlegen, von der ab dann weiter gezählt wird. Das ist wichtig für Umsteiger. Denn immerhin zwingt uns das Finanzamt bekanntlich, Rechnungen strikt fortlaufend zu nummerieren.

Zweiter Schritt im Rechnungsprozess
Hier können wir erneut das Rechnungsdatum festlegen und sogar den Kunden wechseln. Da fragt man sich natürlich, wofür der erste Schritt gut gewesen ist. Zusätzlich wird auf dem ersten Tab “Zusammenfassung” das Fälligkeitsdatum bestimmt, sowie der Rechnungsstatus hinterlegt. Der Standard wird sein, eine neue Rechnung als offen zu deklarieren und späterhin nach Bezahlung als “erledigt”. Sie können Rechnungen auch in den Status Pending versetzen. Dann ist sie zwar geschrieben, aber noch nicht verschickt, demnach auch nicht offen.
Außerdem zeigt die Zusammenfassung nach Erstellung der Rechnung die relevanten Informationen zum Betrag, zum Steueranteil, zum Gesamtbrutto und zum Zahlungsstatus an.
Der dritte Rechnungsschritt erwartet von uns die Angabe dessen, was fakturiert werden soll. Sie sehen zunächst eine leere Maske, die Sie per Klick auf “Produkt hinzufügen” in die folgende ändern:

Hinzufügen einer Rechnungsposition, hier Produkt genannt
In dieser Maske erfassen Sie entweder einen neuen Artikel (Produkt) oder wählen einen bereits vorhandenen aus. Geben Sie in der Rechnungsmaske einen neuen Artikel ein, so wirkt dieser nur in der soeben bearbeiteten Rechnung, wird also nicht in den Artikelstamm, den Sie über Rechnungen > Rechnungsprodukte erreichen können, übernommen. Hierdurch wird vermieden, dass sich Ihr Artikelstamm unnötig aufbläht mit Positionen, die Sie vielleicht alle Jubeljahre einmal fakturieren.
Leider gibt es keine Möglichkeit, Artikelnummern zu verwalten, so dass auch hier gilt, beginnend mit 1 werden Artikel durchnummeriert. Die weiteren Tabs in der Rechnungsmaske sind zunächst für die Erstellung einer Standardrechnung irrelevant. Unter dem Tab Steuern hätten Sie die Möglichkeit, zusätzliche Steuern und abweichende Steuersätze zu deklarieren. Deutsche Nutzer werden diesen Tab vollends ignorieren können. Der Tab Notizen beherbergt ein Notizfeld für Anmerkungen zur Rechnung. Eventuell kann dieses Feature im Mehrbenutzerbetrieb interessant sein, wenn man dort beispielsweise Informationen bei Zahlungsverzug hinterlegt (Telefonat 01.09.10: Kunde zahlt noch diese Woche).
Wir klicken also im Tab Zusammenfassung auf “Optionen speichern” (auch eine ziemlich schlechte Übersetzung) und gehen via Rechnungen > Zeige Rechnungen in die Liste aller Rechnungen.
An dieser Stelle können wir aus der eben erstellten Rechnung ein Outputformat generieren. Hierzu klicken Sie auf den Textlink “Generieren”.

Das Dialogfenster “Generieren”
Das sich daraufhin öffnende Popup bietet die Möglichkeit, entweder eine Rechnung im HTML-Format, als PDF oder als E-Mail zu generieren. Wählen Sie die Option E-Mail, generiert MCB im Hintergrund das PDF und versendet es über die in den Systemeinstellungen eingestellte Versandmethode (in meinem simpel über die PHP Mail Function) als E-Mail.
Leider gibt es keinerlei Historie, was wann mit einer Rechnung passiert ist. So wird nirgends hinterlegt, dass die Rechnung mit ihrem im System einzusehenden Inhalt zum Zeitpunkt X an den Kunden geschickt wurde. Vielmehr können jederzeit Veränderungen stattfinden, die zu einem nicht mehr zu klärenden Rechnungsstatus führen. Unter dem Gesichtspunkt der Revisionssicherheit ist das ein schwerer Mangel. Sie sollten sich daher mindestens angewöhnen, Rechnungen nicht im Stapel zu erstellen, sondern tatsächlich eine nach der anderen bis zum erfolgten Versand (oder Ausdruck) zu bearbeiten und einen Kopienordner physikalisch oder virtuell zu führen. Der Umsatzsteuersonderprüfer wird es Ihnen danken und im Nachgang Sie es ihm.
Kundenzahlungen erfassen
Wenn alles gut läuft, zahlt Ihr Kunde die Rechnung anstandslos. In diesem Fall gehen Sie über den Textlink “Bearbeiten” in der Rechnungsliste wieder auf die vorhin bereits erwähnte Seite Zusammenfassung. Dort finden Sie einen Button namens “Zahlung einfügen”. In der sich dann öffnenden Maske erfassen Sie den Zahlbetrag und das Zahlungsdatum. Stimmt der Zahlbetrag mit dem Rechnungsbetrag überein, setzt MCB den Rechnungsstatus automatisch auf “Closed” / “Erledigt”.
Zahlt Ihr Kunde die Rechnung nur in Abschlägen, so kann MCB auch dieses Verhalten verwalten. Teilbeträge werden im Karteireiter “Zahlungen” verwaltet, so dass Sie jederzeit nachvollziehen können, wann Kunde X welchen Betrag überwiesen hat.

Übersicht eingegangener Teilzahlungen an einer Rechnung
Zahlt Ihr Kunde die Rechnung gar nicht, ist MCB am Ende. Ein Mahnwesen gibt es nicht. Zahlungserinnerungen und Mahnungen müssen Sie außerhalb des Systems erzeugen.
Rechnungsvordrucke erstellen und verwalten
Wenn Sie das Standard-PDF zu Gesicht bekommen, das MCB erzeugt, werden Sie selbst als Schmalspurästhet eine bohrende Unzufriedenheit fast körperlich wahrnehmen. Mit anderen Worten: Grauenhaft!
Da die Rechnungstemplates aber vollständig auf HTML/CSS basieren, sind Ihrer Fantasie keine Grenzen gesetzt. Hinter diesem Link finden Sie ein besonders aufwändiges Beispielexemplar eines Schweizer Freelancers. Sie können beliebig viele Rechnungstemplates erstellen. Leider können Sie nicht per Rechnung das dazugehörige Template auswählen, sondern müssen das Standardtemplate in den Systemeinstellungen hinterlegen. Somit kommen Sie um den Aufruf der Systemeinstellungen mit dortiger Änderung vor dem Erstellen einer neuen Rechnung nicht herum, so sie ein abweichendes Template verwenden wollen.
Möglicherweise ist Ihnen zudem aufgefallen, dass das Standardtemplate neben fieser Optik auch wesentliche Informationen vermissen lässt. So sollten Sie Ihren Kunden schon auch mitteilen, wohin diese das fakturierte Salär zur Auszahlung bringen sollen. Anderenfalls dürften Sie sich über Schieflagen in Sachen Liquidität nicht wundern.
Fazit
MyClientBase bietet ein modernes Interface und einen interessanten Funktionsumfang. Die Anpassung an deutsche Verhältnisse ist zwar nicht ganz unaufwändig, aber möglich. In MCB gibt es eine Artikelliste, eine Kundenliste, eine Rechnungsliste und eine Zahlungsliste. Es gibt keine echte Offene-Posten-Verwaltung, keine echte Artikelverwaltung, keine echte Kundenverwaltung. Mit anderen Worten: MCB kann Programmen wie Lexware Faktura oder auch der Onlinelösung SalesKing nicht das Wasser reichen.
Es ist aber um Längen besser, als Rechnungen mit Word zu schreiben und mit Excel zu verwalten. Wer also cloudbegeistert ist und sich von einem Anpassungsaufwand sogar herausgefordert fühlt, sollte MCB in jedem Falle eine Chance geben. Damit hat man was eigenes (Loriot lässt via MyVideo grüßen – Anmerkung der Redaktion).
(mm),
Dieter Petereit
ist seit 1994 im Netz unterwegs, aber bereits seit fast 30 Jahren in der IT daheim. Seit 2008 schreibt er für Dr. Web, seit 2012 ist er Chefredakteur des Magazins. Man findet ihn auch auf Twitter und Facebook, aktiver ist er allerdings auf Google+.
- Web |
- Google+ |
- More Posts (436)










[...] Interesse geweckt? Den ehemaligen Plusbeitrag gibt´s nun für noppes bei Dr. Web >> [...]
Hallo, gerne wollte ich mir auch das Deutsche Sprachpaket runterladen und dieses Einsetzen, jedoch muss man sich registrieren um dieses herunterzuladen, die Registrierung ist derzeit jedoch abgeschaltet. Gibt es eine Möglichkeit irgendwo dieses Sprachpaket zu beziehen? Google liefert aktuell keine Ergebnisse.
Hallo. Ich habe das damals getestete myClientbase noch hier. Was benötigst Du genau?
Hi, Vielen Dank für deine Antwort. Ich benötige das Deutsche Sprachpacket. Besenfalls das komplette Script per Mail schicken.
Were echt SUPER von dir.
Aktuell spiele ich mit Siwapp herum. Ist auch nicht schlecht, jedoch zu sehr verschachtelt, sodass relativ schwierig ist die Software anzupassen.
Vielen Dank
Hallo :) Ich bin auch auf der Suche nach dem deutschen Sprachpaket für MyClientBase, denn die Registrierung ist erforderlich, um es runterzuladen… Und da die Registrierung schon seit langem nicht mehr möglich ist!!!
Es wäre sehr nett von Ihnen, wenn Sie es mir senden könnten.
Hallo Dieter,
ich würde mich freuen, wenn du auch mir die ZIP-Datei schicken kannst. Ich habe mich schon mit einer eigenen Übersetzung übernommen und will da nichts mehr riskieren. Wie meine Vorgänger schon sagen, muss man sich auf den Seiten von “MyClientBase” anmelden, was aber leider seit langem deaktiviert sein muss.
Beste Grüße aus Berlin
Bastian
Hallo Dieter,
auch ich kann mich leider nicht auf der Supportseite anmelden. Ich benötige auch das deutsche Sprachpaket. Es wäre sehr schön wenn Du es mir schicken kannst.
LG
Mario
Hallo
auch ich bräuchte das deutsche Sprachpaket, wenn das möglich ist.
Vielen Dank.
Gruß Herbert