Arbeitsreiche Woche
March 28, 2005 | Filed Under General |So grausam es klingt, das Leben geht irgendwie weiter. Die Sonne geht trotz allem morgens immer noch auf und abends unter und so schwer es auch fällt zu akzeptieren, dass jemand mit dem man eine Menge Zeit verbracht hat, nie mehr für einen da sein wird, so hat man doch keine andere Wahl.
Ich hab mir diese Woche ein paar Tage Auszeit genommen und mich schließlich in Arbeit gestürzt um auf andere Gedanken zu kommen. Das führte dann unter anderem auch dazu, dass ich endlich das bisherige Feedback zu meinen mittlerweile dritten Exposee für ein Diplomarbeitsthema weitgehend umgesetzt habe und eine der wichtigen organisatorischen Hürden - Okay des Erst- und Zweitbetreuers- genommen habe. Es gibt zwar noch ein paar offene Punkte, wo ich noch keine konkrete Vorstellung zur Umsetzung habe, aber das sollte sich in den nächsten Wochen lösen lassen.
Ansonsten habe ich ein Easter-Hackwochenende durchgezogen und bin die lange geplante Überarbeitung der Abrechnungssoftware von AurISP angegangen. Es ist mittlerweile die 3. Reinkarnation für die Abrechnungen und ist imho in einem recht brauchbaren Zustand - der Zusatz “hackish” trifft allerdings nach wie vor zu. Angefangen haben wir übrigens mal mit einer einfachen Latexvorlage. Kurz danach folgte ein Rubyskript, welches sich die meisten Daten aus einer Datenbank zog und die Rechnung erstellte. Nachteil bei dieser Lösung war, dass wir für jede Rechnung direkt in den Datenbanktabellen Änderungen vornehmen mussten, was einerseits zeitaufwändig und anderseits auch fehleranfällig war. Im Oktober 2004 gab es dann endlich die erste Version eines PHP Webfrontends, mit der man die wichtigsten Aufgaben via Webbrowser erledigen konnte. Hauptfeature der 3. Reinkarnation ist die Möglichkeit recht frei die einzelnen Rechnungspositionen zu gestalten. Ansonsten kann man alle relevanten Einträge (Kundendaten, Produktdaten, Rechnungsdaten) über entsprechende Formulare anlegen und ändern.
Da mich die korrekte Berechnung der Umsatzsteuer für die Rechnungen einige Zeit gekostet hat, noch ein wichtiger Hinweis aus der MySQL Dokumentation. Ich bin eigentlich davon ausgegangen, dass die ROUND() Funktion kaufmännisch runden würde, allerdings ist das nicht so:
Note that the behavior of ROUND() when the argument is halfway between two integers depends on the C library implementation. Different implementations round to the nearest even number, always up, always down, or always toward zero. If you need one kind of rounding, you should use a well-defined function such as TRUNCATE() or FLOOR() instead.
Rundungsdifferenzen sorgen manchmal echt für komische Seiteneffekte. Insgesamt ist die korrekte Berechnung der Mehrwertsteuer alles andere als trivial, wenn man Kunden immer nur Bruttopreise angibt.
Mal schauen, wann es die 4. Reinkarnation geben wird, Änderungswünsche gibt es jedenfalls schon wieder.
Aus Kundensicht muß ich sagen, dass das Ergebnis die Mühe jedenfalls wert war; ich finde die damit erstellten Rechnungen wirklich vorbildlich.
Klar gestaltet, übersichtlich, alle Schriften in lesbaren Größen, und natürlich alles da was draufgehört. (incl. Falzmarken sogar! dank LaTeX? )
Viele Grüße, Thomas
Comment by biesi — 30/3/2005 #