models/receipt_layout library

Beleg-Zeilenmodell (Zwilling von @kreiseck/kasseneck-api/receipt ReceiptLayout): das Backend liefert es bei getReceipt als layout mit, damit App, Bondrucker, Browser-Kasse und PDF dieselben Zeilen zeigen — Kopf/Fuß wie beim Ausstellen des Belegs, Belegart-Aufdruck (STORNOBELEG, TRAININGSBELEG, NULLBELEG …), reduzierter Nullbeleg, Testkasse/Testsignatur.

Zeilenarten: text, columns, rule, space, qr, banner. Unbekannte Arten (künftiges Regelwerk) werden beim Lesen übersprungen, nie als Fehler behandelt — ein Beleg muss sich immer zeigen lassen.

Classes

LayoutBannerLine
Hervorgehobene Zeile: Belegart (STORNOBELEG …) oder Warnung (TESTKASSE/TESTSIGNATUR). Im Raster steht sie zwischen zwei =-Rahmenzeilen.
LayoutColumn
LayoutColumnsLine
LayoutLine
LayoutQrLine
LayoutRuleLine
LayoutSpaceLine
LayoutTextLine
ReceiptLayout

Enums

LayoutAlign
LayoutBannerTone
Ton einer hervorgehobenen Zeile, Drahtwert tone (Katalog LAYOUT_TON): receipt_type fuer die Belegart (STORNOBELEG …), warning fuer TESTKASSE/TESTSIGNATUR und den Ausfall der Signatureinheit.

Functions

markAsDuplicate(ReceiptLayout layout, {required DateTime printedAt}) → ReceiptLayout
Kennzeichnet einen Nachdruck als Belegduplikat (Zwilling von markAsDuplicate in @kreiseck/kasseneck-api/receipt). Registrierkassen-Erlass BMF-AV Nr. 2/2026, Abschnitt 4.5.6: „Ein Belegduplikat ist als solches zu bezeichnen, nicht nochmals zu signieren, nicht neuerlich im Datenerfassungsprotokoll aufzunehmen und darf zu keiner Veränderung des Umsatzzählers führen.“ Signatur, DEP und Zähler bleiben ohnehin unberührt, weil ein Nachdruck den gespeicherten Beleg druckt; diese Funktion liefert die Bezeichnung.