Arbeiten · Unternehmenssoftware im Bau

Bauprojekt-ERP-Plattform für Angebot, Material und Abrechnung

Ein Bauprojekt hat eine operative und eine kaufmännische Seite. Angebot, Materialbedarf, Fortschrittsabrechnung und Zahlungsplan beschreiben dasselbe Projekt aus verschiedenen Richtungen. Diese Plattform führt sie in einem System zusammen, das nach den Fachbereichen des Unternehmens geschnitten ist — nicht nach den Modulen eines Standardprodukts.

Einordnung

Der Fall in einer Minute.

Rolle
Batunet entwickelte die Plattform ab 2021 als Individualsoftware für ein Bauunternehmen und betreute sie über mehrere Jahre.
Systemklasse
Unternehmenssystem für Bauprojekte: operative und kaufmännische Fachbereiche in einer Anwendung, in Backend und Oberfläche gleich geschnitten, auf einem gemeinsamen Datenmodell.
Gemeinsamer Bezug
Das Projekt ist der Anker. Angebot, Projektpositionen, Materialanforderungen, Fortschrittsabrechnungen, Zahlungseingänge, Projektbelege, Dokumente und Notizen verweisen darauf.
Angebot und Projekt
Aus einem Angebot entsteht ein Projekt samt aller Positionen in einem transaktional geklammerten Vorgang. Die Verbindung zum Angebot bleibt bestehen, übernommene Positionen bleiben als solche erkennbar.
Fortschrittsabrechnung
Eigener Belegtyp am Projekt mit eigenem Formular, eigenen Anhängen und eigener Summe. Der Statusraum unterscheidet die Freigabe der Planung, die Freigabe der Buchhaltung und den strittigen Fall.
Zahlung und Währung
Zahlungspläne aus Raten mit Fälligkeit, denen Zahlungseingänge zugeordnet werden. Beträge in türkischen Lira und US-Dollar, mit dem Tageskurs der türkischen Zentralbank als Momentaufnahme am Beleg und getrennter Auswertung je Währung.
Nachvollziehbarkeit
Änderungen an den zentralen fachlichen Objekten werden mit Vorher- und Nachher-Werten, Benutzer und Zeitpunkt protokolliert und sind in einer eigenen Ansicht durchsuchbar.
Ausgangslage

Zwei Wahrheiten über dasselbe Projekt.

Ein Bauprojekt existiert doppelt. Draußen ist es Beton, Material und Termine. Im Büro ist es ein kalkuliertes Angebot, eine Liste angeforderter Materialien, eine Fortschrittsabrechnung und ein Zahlungsplan. Beide Seiten beschreiben denselben Vorgang.

Die zweite Seite ist die, die sich verteilt. Kalkulation, Materialbedarf, Abrechnung, Zahlungsplan und Projektunterlagen können in verschiedenen Werkzeugen liegen, von denen jedes für sich funktioniert. Was dann fehlt, ist nicht Ordnung, sondern ein gemeinsamer Bezugspunkt — die Stelle, an der all das über dasselbe Projekt spricht.

Batunet entwickelte ab 2021 eine Plattform, die diese zweite Hälfte in einem System zusammenführt: geschnitten nach den Fachbereichen des Unternehmens, mit dem Projekt als gemeinsamem Bezug.

Zuschnitt

Nach Fachbereichen geschnitten, nicht nach Modulen.

Der erste Entwurf entscheidet, wie ein solches System altert. Hier ist er entlang der Fachlichkeit gezogen: Angebot, Projekt, Materialanforderung, Zahlungsplan, Rechnung, Ausgabe, Lieferant, Produktstamm, Benutzerverwaltung und Auswertung sind eigene Bereiche mit eigenen Zugriffen, eigenen Regeln und eigenen Ereignissen.

Die Oberfläche folgt derselben Aufteilung. Anwendung und Bedienung sind nach denselben Fachbereichen geschnitten, Bereich für Bereich. Wer eine Regel ändern muss, findet sie an einer Stelle — ein unspektakulärer Satz, der über Jahre den Unterschied macht.

Die Aufteilung ist keine technische Vorliebe, sondern ein Abbild der Arbeitsbereiche des Unternehmens. Sie entsprechen den Rollen, die es ohnehin kennt — Administration, Buchhaltung, Ingenieurwesen und Personal —, und das Rechtemodell ist je Fachbereich und Aktion geschnitten.

Vertrieb und Kalkulation
Kunden, Angebote mit Positionen, Kosten und Margen, Zahlungspläne
Bau und Material
Projekte mit Positionen, Materialanforderungen, Produkt- und Materialstamm, Maßeinheiten, Lieferanten
Kaufmännisch
Fortschrittsabrechnung, Zahlungseingänge, Rechnungen, Ausgaben und Kasse
Verwaltung
Benutzer und Rollen, Dokumente und Notizen, Änderungsprotokoll, Auswertungen
Der gemeinsame Bezug

Alles hängt am Projekt.

Getrennte Fachbereiche brauchen einen gemeinsamen Nenner, sonst sind sie nur nebeneinandergestellte Programme. In dieser Plattform ist der Nenner das Projekt.

Ein Projekt entsteht aus einem Angebot und behält diese Herkunft. An ihm hängen seine Positionen, die Materialanforderungen der Baustelle, die Fortschrittsabrechnungen, die zugeordneten Zahlungseingänge, die erfassten Projektbelege mit dem daraus abgeleiteten Materialverbrauch, die Dokumente und die Notizen.

Verbunden sind diese Bereiche nicht durch einen durchlaufenden Automatismus, sondern durch das gemeinsame Datenmodell: Sie verweisen auf denselben Datensatz. Ein gemeinsamer Bezug ist einfacher zu haben als eine Integration und hält länger als jede Schnittstelle zwischen zwei Werkzeugen.

Bauprojekt-ERP-Plattform: Schematische Darstellung von Angebot, Bauprojekt, Material, kaufmännischer Bearbeitung und Auswertung
Herkunft
Das Angebot, aus dem das Projekt entstanden ist, Kunde, Zahlungsplan
Leistung
Projektpositionen, Die aus dem Angebot übernommenen Positionen bleiben gekennzeichnet
Baustelle
Materialanforderungen mit Positionen, Mengen und Maßeinheiten, Materialbezug
Kaufmännisch
Fortschrittsabrechnungen, Zugeordnete Zahlungseingänge, Projektbelege und Materialverbrauch
Akte
Dokumente am Projekt, Notizen
Angebot

Vom kalkulierten Angebot zum Projekt.

Am Anfang steht eine Kalkulation, nicht ein Preis. Ein Angebot besteht aus Positionen, und jede Position trägt neben dem Verkaufspreis auch den Einkaufspreis und die daraus errechnete Marge. Die Summen des Angebots sind damit ein Ergebnis und keine Eingabe.

Wird aus dem Angebot ein Auftrag, entsteht das Projekt in einem Vorgang: Kopfdaten und sämtliche Positionen werden übernommen, das Projekt erhält seine eigene Systemnummer, und die Verbindung zum Angebot bleibt bestehen. Der Vorgang ist transaktional geklammert — er gelingt vollständig oder er hinterlässt nichts. Ein halb angelegtes Projekt mit der Hälfte seiner Positionen wäre schlechter als keins.

Jede übernommene Position bleibt als übernommen erkennbar. Was später am Projekt dazukommt, ist damit von dem unterscheidbar, was einmal angeboten wurde — die Voraussetzung dafür, Angebot und Ausführung überhaupt nebeneinanderlegen zu können.

  1. 01

    Kalkulation

    Positionen mit Menge, Verkaufspreis, Einkaufspreis und Marge; die Angebotssumme ergibt sich daraus.

  2. 02

    Zahlungsplan

    Zum Angebot gehört ein Plan aus Raten mit Fälligkeit.

  3. 03

    Übernahme

    Aus dem Angebot entsteht das Projekt: Kopfdaten und alle Positionen in einem Vorgang.

  4. 04

    Klammer

    Der Vorgang ist transaktional. Er gelingt vollständig oder er hinterlässt nichts.

  5. 05

    Herkunft

    Projekt und Angebot bleiben verbunden, und jede übernommene Position ist als übernommen gekennzeichnet.

  6. 06

    Bezugspunkt

    Der Zahlungsplan wandert mit. Ab hier ist das Projekt der Bezugspunkt, auf den die übrigen Fachbereiche verweisen.

Material

Materialbedarf am Projekt.

Von der Baustelle kommt Bedarf. Eine Materialanforderung gehört immer zu einem Projekt — der Kunde wird nicht erneut eingegeben, sondern aus dem Projekt abgeleitet — und besteht aus Positionen mit Menge und Maßeinheit.

Woher das Material kommt, ist dabei kein Freitext. Es gibt getrennte Stämme: Produkte mit Kategorien für das eine, Inventarmaterial mit eigenem Stamm für das andere. Eine Anforderung greift je nach Art auf den einen oder den anderen zu, und die Maßeinheit wird aus dem Stamm gezogen statt eingetippt. Das ist der Unterschied zwischen einer auswertbaren Liste und einer Sammlung von Notizen.

Jede Anforderung trägt einen Status und bleibt am Projekt sichtbar. Die Anwendung bildet Materialbedarf und Materialstämme ab; Beschaffung und Lagerbewegungen gehören nicht zu diesem Prozess.

Abrechnung

Der Punkt, an dem die Branche eigen wird.

Bis hierhin könnte das System vieles sein. Hier wird es ein Bausystem.

Eine Fortschrittsabrechnung ist im Bau kein Sonderfall einer Rechnung, sondern eine eigene Belegart: die abgerechnete Leistung eines Zeitraums, ausgeführt von einer bestimmten Firma, an einem bestimmten Projekt. Genau so ist sie modelliert — mit eigenem Formular für Firma, Betrag, Belegnummer, Datum und Anhänge, eigener Liste, eigenem Bereich am Projekt und einer eigenen Summe. Dazu ein Statusraum, den die übrigen Belege nicht kennen: Er unterscheidet die Freigabe der Planung von der Freigabe der Buchhaltung und hält einen eigenen Zustand für die strittige Abrechnung bereit. Wer schon einmal einen Abschlag verhandelt hat, weiß, warum gerade dieser dritte Zustand kein Randfall ist. Es ist ein Statusmodell, das die Beteiligten führen, keine erzwungene Ablaufsteuerung.

Daneben steht der Zahlungsplan. Er entsteht am Angebot, wandert mit ins Projekt und besteht aus geplanten Raten mit Fälligkeit. Zahlungseingänge werden diesen Raten zugeordnet, und der Erfüllungsstand ergibt sich aus dem Vergleich von geplantem Betrag und eingegangener Zahlung.

Gerechnet wird in zwei Währungen, türkischen Lira und US-Dollar. Beim Speichern eines Belegs wird der Tageskurs der türkischen Zentralbank am Beleg festgehalten und auf seine Positionen übernommen, sodass nachvollziehbar bleibt, mit welchem Kurs gearbeitet wurde. Ausgewertet wird je Währung getrennt — das System bildet keine gemischte Gesamtsumme.

Individualsoftware

Warum so etwas nicht von der Stange kommt.

Am Ende steht die Frage, warum ein Bauunternehmen eine eigene Anwendung bauen lässt. Die Antwort ist selten, dass es nichts gäbe — es gibt viel. Sie ist, dass Standardsoftware ihr Modell mitbringt: eine Vorstellung davon, wie ein Angebot, ein Projekt und eine Abrechnung auszusehen haben. Solange die eigenen Abläufe die vorgesehenen sind, ist das ein Vorteil.

Hier war der Zuschnitt ein anderer. Kalkulation, Bauleitung, Buchhaltung und Verwaltung finden ihren Bereich, und alle vier sehen dasselbe Projekt. Was dabei entsteht, ist kein universelles ERP und will keines sein: keine Finanzbuchhaltung, keine Warenwirtschaft, keine Suite. Es ist das System, in dem dieses Unternehmen gearbeitet hat.

Batunet entwickelte die Plattform ab 2021 und betreute sie über mehrere Jahre — Weiterentwicklung, Support und Fehlerbehebung eingeschlossen. Der schriftliche Rahmenvertrag kam später hinzu und beschrieb bereits bestehende Module. Das ist der übliche Verlauf bei Software, die aus der Arbeit heraus entsteht: Sie ist zuerst da und wird danach benannt.

Eingesetzte Technologien

Genannt ist nur, was im System tatsächlich trägt: ein Laravel-Backend, das eine JSON-API bereitstellt, und eine Vue-Oberfläche, die dieselbe fachliche Aufteilung spiegelt.

PHPLaravelVueMySQL/MariaDBJSON-API
Fragen

Fragen zu diesem Fall

  • Entwickelt Batunet individuelle ERP-Software für Bauunternehmen?

    Ja, als Individualsoftware. Dieser Fall ist ein Beispiel dafür: Angebot und Kalkulation, Projekte mit Positionen, Materialanforderungen, Fortschrittsabrechnung, Zahlungspläne, Belegwesen, Dokumente, Rollen und Auswertungen in einer Anwendung auf einem gemeinsamen Datenmodell. Es ist kein universelles ERP und ersetzt keine Buchhaltungssoftware — es ist das System, in dem ein Unternehmen seine eigenen Abläufe führt.

  • Wann ist Individualsoftware sinnvoller als ein Standard-ERP?

    Wenn die eigenen Regeln der Grund für den Erfolg sind und nicht ein Zufall der Historie. Standardsoftware bringt ihr Modell mit; das ist ein Vorteil, solange die eigenen Abläufe die vorgesehenen sind. Sobald die Anpassung des Standards teurer wird als eine eigene Anwendung — oder sobald sie genau die Regeln verbiegt, die das Geschäft ausmachen — kippt die Rechnung.

  • Wie lassen sich operative und kaufmännische Bauprojekt-Daten in einer Anwendung verbinden?

    Über einen gemeinsamen fachlichen Bezug statt über Integrationen zwischen Werkzeugen. In diesem Fall ist das Projekt der Anker: Angebot, Positionen, Materialbedarf, Fortschrittsabrechnung, Zahlungseingänge und Dokumente verweisen im Datenmodell auf denselben Datensatz. Die Fachbereiche bleiben getrennt entwickelbar, ohne den Zusammenhang zu verlieren.

  • Lassen sich bestehende Tabellen- und manuelle Prozesse in eine individuelle Anwendung überführen?

    Ja, und der erste Schritt ist meist eine Datenübernahme: Produkt- und Materialstämme aus vorhandenen Tabellen einlesen, damit die Anwendung von Beginn an mit den echten Daten arbeitet. Danach entscheidet der Zuschnitt. Stammdaten, die aus einem Stamm gezogen und nicht eingetippt werden, sind der Unterschied zwischen einer auswertbaren Liste und digitalisiertem Freitext.

  • Kann bestehende Bauprojektsoftware schrittweise erweitert werden?

    Das hängt am Zuschnitt. Ist eine Anwendung nach Fachbereichen getrennt, ist ein neuer Bereich eine örtliche Ergänzung und keine Operation am ganzen System — genau dafür ist diese Aufteilung da. In diesem Fall wuchs die Plattform über mehrere Jahre in Stufen: Weiterentwicklung, Ergänzungen und Fehlerbehebung an einem laufenden System, nicht als Neubau.

Wissensgraph

Setzen Sie Ihren Engineering-Weg fort.

Verwandte Konzepte, Entscheidungen, Playbooks und Standpunkte — als zusammenhängender Pfad, nicht als Linkliste.

Sprechen wir über Ihr Vorhaben.

Kein Vertrieb. Ein direktes Gespräch mit der Geschäftsführung.