Zum Inhalt springen
ma-ki.io

Alle Beiträge

Im Beruf Nr. 0037

Das Angebot kommt als PDF

Drei Firmen bieten an, eine schickt den Datenträger, zwei schicken PDF. Warum die Tabelle im PDF keine Tabelle ist, was ein Sprachmodell daran gut kann und was nicht, und was nach dem Einlesen immer noch ein Mensch prüft.

· 3 Minuten Lesezeit · Angebotsprüfung, PDF, ÖNORM A 2063, Preisspiegel

Drei Angebote für die Lüftung liegen am Tisch. Eine Firma hat den Datenträger nach ÖNORM A 2063 mitgeschickt, der lässt sich in das AVA-Programm einlesen, und die Spalte im Preisspiegel steht. Die zwei anderen haben ihr Leistungsverzeichnis aus dem Kalkulationsprogramm als PDF ausgegeben, unterschrieben und gemailt. Sieht gleich aus, ist aber etwas völlig anderes.

Die Tabelle im PDF ist keine Tabelle

Wer die Angebotsseite ansieht, sieht Spalten: Positionsnummer, Kurztext, Menge, Einheit, Einheitspreis, Gesamtpreis. Das PDF weiß davon in der Regel nichts. Es speichert Zeichen mit Koordinaten auf einer Seite: dieses Wort steht so weit von links, so weit von unten, in dieser Schrift. Dass die Zahl rechts zur Position links gehört, steht nirgends. Das sieht nur, wer die Seite anschaut.

Das Format könnte mehr. ISO 32000-2:2020, Abschnitt 14.8, beschreibt Tagged PDF mit Strukturelementen für Tabellen, Zeilen, Kopfzellen und Datenzellen; die PDF Association führt die Korrekturen zu genau diesen Abschnitten öffentlich (Errata zu ISO 32000-2:2020, Abschnitt 14). Ein so ausgezeichnetes PDF trägt die Tabellenstruktur mit. Nur: Angebots-PDFs aus Kalkulationsprogrammen tun das fast nie. Was ankommt, ist ein Blatt mit Zeichen und Positionen. Wer es in eine Tabellenkalkulation kopiert, kennt das Ergebnis: Der Langtext landet in der Preisspalte, der Einheitspreis rutscht eine Zeile tiefer, und bei Positionen mit Zeilenumbruch stimmt gar nichts mehr.

Der Datenträger löst genau das. Die ÖNORM A 2063-1:2021 03 15 regelt den Aufbau der Datensätze, die zwischen Ausschreibendem, Bieter und Auftragnehmer für Ausschreibung, Angebot, Auftrag und Abrechnung ausgetauscht werden. Dort ist jede Position ein Datensatz mit Feldern, kein Stück Seite. Wer den Datenträger bekommt, hat das Problem nicht. Wer ihn nicht bekommt, hat ein Bild von einer Tabelle.

Wobei das Modell hilft, und wobei nicht

Ein Sprachmodell liest die Seite ungefähr so wie ich. Ein erfundenes Beispiel: Steht da „0203.0415 Kanalbogen 90° verzinkt“, in der nächsten Zeile der Rest des Kurztexts, dann „12 Stk“, „48,20“ und „578,40“, dann erkennt es, dass das eine Position ist, auch wenn der Preis rechts unten steht und der Text links oben. Diese Zuordnung von Positionsnummer, Menge und Einheitspreis war die Arbeit, die vorher von Hand geschah, Zeile für Zeile, Angebot für Angebot. Dafür ist das Modell gut.

Beim Rechnen ist es das nicht. Menge mal Einheitspreis, Summe je Titel, Nachlass abziehen: Das schätzt es aus dem Sprachgefühl, und das Sprachgefühl verrechnet sich, wie im Beitrag was ein Sprachmodell nicht kann steht. Deshalb rechnet in meinem Programm nicht das Modell, sondern gewöhnlicher Code. Das Modell bringt die Zahlen in Spalten, der Rest ist Multiplikation und Addition, jederzeit wiederholbar und nachvollziehbar.

Warum es ein eigenes Programm wurde

Ein Werkzeug, das PDF-Angebote aus verschiedenen Kalkulationsprogrammen in einen Preisspiegel bringt und dabei mit unterschiedlichen Layouts zurechtkommt, gab es so nicht zu kaufen. Also habe ich es gebaut, wie die anderen Abläufe, die ich in drei Formen von Automatisierung beschrieben habe. Aus rund 25 Minuten je Angebot wurden etwa zwei. Nicht null, denn die zwei Minuten sind der Teil, der bleibt.

Was der Mensch danach prüft

Die gewonnene Zeit geht in Prüfung, nicht in Abschreiben. Darauf achte ich:

  • Summen. Titelsummen und Angebotssumme aus dem PDF gegen die nachgerechneten Werte. Weicht etwas ab, ist entweder das Einlesen schiefgegangen oder das Angebot rechnet falsch. Beides will ich wissen, bevor der Preisspiegel weitergeht.
  • Alternativ- und Eventualpositionen. Sie gehören nicht in die Hauptsumme. Ob das Programm die Kennzeichnung sauber getrennt hat, kontrolliere ich am Original.
  • Vorbemerkungen. Nachlässe, Skonto, Preisgleitung, Ausschlüsse wie „ohne Gerüst“ oder „Montage nicht enthalten“. Das steht im Fließtext vorne oder hinten, nicht in der Tabelle, und dort kann der günstigste Einheitspreis teuer werden.
  • Leere Positionen. Ein Strich oder eine leere Zeile bei einer Firma ist kein Nullpreis. Das gehört nachgefragt, nicht eingerechnet.

Der Preisspiegel ist danach nicht fertig, aber er ist da. Und jede Zahl, die das Modell zugeordnet hat, lässt sich auf der Seite nachschlagen, von der sie stammt.

Weiter in Im Beruf Normen fragt man nicht, man schlägt sie nach