ustSummePositionen function

int ustSummePositionen(
  1. List<KasseneckItem> positionen
)

Enthaltene MwSt einer Belegpositionsliste — je Steuersatz gruppiert, dann einmal zerlegt. Fuer Aufrufer, die die Positionen schon haben (Storno, Nachdruck), und die gemeinsame Rechnung hinter ustSumme.

Implementation

int ustSummePositionen(List<KasseneckItem> positionen) {
  final brutto = <VatRate, int>{};
  for (final p in positionen) {
    brutto[p.vat] = (brutto[p.vat] ?? 0) + p.totalCents;
  }
  return brutto.entries.fold(0, (s, e) => s + ustCentsAusBrutto(e.value, e.key.rate));
}