From c65992fef00925b36da42d85bc12f014ddc72f3e Mon Sep 17 00:00:00 2001 From: Richard Schreiber <wiffbi@gmail.com> Date: Tue, 4 Mar 2025 09:58:02 +0100 Subject: [PATCH] fix fee_calc splitting with None tax-rules --- pretix_servicefees/signals.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pretix_servicefees/signals.py b/pretix_servicefees/signals.py index 884cb83..032cea7 100644 --- a/pretix_servicefees/signals.py +++ b/pretix_servicefees/signals.py @@ -141,14 +141,19 @@ def get_fees( if split_taxes: # split taxes based on products ordered d = defaultdict(lambda: Decimal("0.00")) + trs = {} for p in positions: if isinstance(p, CartPosition): tr = p.item.tax_rule else: tr = p.tax_rule - d[tr] += p.price - p.tax_value + if not tr: + tr = tax_rule_zero + key = (tr.rate, tr.code) + d[key] += p.price - p.tax_value + trs[key] = tr - base_values = sorted([tuple(t) for t in d.items()], key=lambda t: t[0].rate) + base_values = sorted([(trs[t[0]], t[1]) for t in d.items()], key=lambda t: t[0].rate) sum_base = sum(t[1] for t in base_values) if sum_base: fee_values = [