Intranet-Applikation für Abrechnung unter Drupal 8

Wer häufig Support abrechnet, kennt die Problematik vermutlich:
Wie kann man den Überblick über abrechenbare Stunden bewahren und möglichst einfach Rechnungen generieren?
Für diesen Zweck haben wir unter Drupal 8 ein bewusst einfach gehaltenes Tool entwickelt mit folgenden Features:

  • Kunden verwalten: Da wir häufig im Netzwerk arbeiten und für Kunden von Kunden Support und technische Anpassungen vornehmen, ist eine Referenz von Kunde zu Kunde vorgesehen.
    Bei Kunden ist die Rechnungs-Adresse hinterlegt, sowie diverse Kommunikations-Daten und Vereinbarungen, sowie der Stundensatz.
  • Projekte verwalten, aus denen Rechnungen werden.
    Bei Projekten ist Betreff, Rechnungsnummer, Rechnungsdatum und ein evt. abweichender Stundensatz hinterlegt, sowie Bezug zum Kunden.
  • Leistungseinheiten verwalten, aus denen Positionen in der Rechnung werden
    Bei der Leistungseinheit ist ein evt. abweichender Stundensatz, eine Beschreibung, Datum der Fertigstellung und Dauer hinterlegt, so wie Bezug zum Projekt.
  • Generierung von Rechnungen als PDF mit und ohne Briefkopf
  • Stundenprotokolle generieren
  • Die Vergabe diverser Stati ermöglicht Übersichten über ToDo's, anstehende Rechnungen, geschriebene Rechnungen ect.

Fast alle genannten Aufgaben lassen sich mit Core-Funktionalitäten von Drupal lösen.

Es gibt Inhaltstypen Kunden, Projekte und Leistungseinheiten und es gibt Stati als Taxonomy, auf die von den Projekten und Leistungseinheiten aus referenziert wird.

Die Übersichten über toDos und Rechnungen werden mit Views gebaut.

Geringer Programmieraufwand entstand durch die Summen pro Zeile (Aufwand x Stundensatz) sowie die Berechnung der Gesamtsumme und Steuer.
Letzteres wurde mit Theme-Funktionen und Twig-Platzhaltern im Tabellen-Template der View gelöst.

Eine Pflege mehrere Leistungseinheiten bzw. Rechnungen in einer Übersicht ist momentan mit Quick Edit in einer Node-View möglich.
Hier ist noch etwas Feinarbeit nötig, um optimale Benutzerfreundlichkeit zu schaffen.

Für die PDF-Generierung kommt Entity Print zum Einsatz.
Die Rechnungs-View gibt es in zwei Varianten: Mit Briefkopf als Hintergrundbild für Rechnungsversand als PDF per Mail und ohne Briefkopf für Druck auf Briefpapier und Abspeichern als PDF.

Das Layout ist sehr einfach gehalten und es wurden am Theme Blue Masters nur geringe CSS-Anpassungen gemacht.

Mit Briefkopf sieht die generierte PDF Rechnung z.B. so aus:


PDF Rechnung mit Briefkopf