diff --git a/cmd/pdfamount/main.go b/cmd/pdfamount/main.go index d6b991e..ca22636 100644 --- a/cmd/pdfamount/main.go +++ b/cmd/pdfamount/main.go @@ -18,7 +18,36 @@ import ( onlyoffice "github.com/eslider/go-onlyoffice" ) -var amountRe = regexp.MustCompile(`(?i)(zu zahlender betrag|rechnungsbetrag)\s*[:\s]*([0-9][0-9.]*,[0-9]{2})`) +// amountLabels are the payable-amount labels in priority order: the first +// label present in a document wins. Within one label the last amount is taken, +// because totals usually come last. +// +// "gesamtsumme" is not in the original list but is the real label on Diashop +// invoices: "Gesamtsumme (inkl. Steuern)". +var amountLabels = []string{ + "zu zahlender betrag", + "rechnungsbetrag", + "rechnungsendbetrag", + "endbetrag", + "zahlbetrag", + "bruttobetrag", + "gesamtbetrag", + "gesamtsumme", + "betrag", + "total", + "summe", +} + +// amountRes matches "