diff --git a/src/pretix/base/models/tax.py b/src/pretix/base/models/tax.py index 5827aee9af..871a3695cc 100644 --- a/src/pretix/base/models/tax.py +++ b/src/pretix/base/models/tax.py @@ -125,6 +125,10 @@ class TaxRule(LoggedModel): s += ' ({})'.format(_('reverse charge enabled')) return str(s) + @property + def has_custom_rules(self): + return self.custom_rules and self.custom_rules != '[]' + def tax(self, base_price, base_price_is='auto'): if self.rate == Decimal('0.00'): return TaxedPrice( diff --git a/src/pretix/control/templates/pretixcontrol/event/tax_edit.html b/src/pretix/control/templates/pretixcontrol/event/tax_edit.html index b6379b4c05..1fe7ebf277 100644 --- a/src/pretix/control/templates/pretixcontrol/event/tax_edit.html +++ b/src/pretix/control/templates/pretixcontrol/event/tax_edit.html @@ -20,85 +20,101 @@ {% bootstrap_form_errors form %} {% bootstrap_field form.name layout="control" %} {% bootstrap_field form.rate addon_after="%" layout="control" %} - {% trans "Advanced settings" %} -
- - {% blocktrans trimmed with docs="https://docs.pretix.eu/en/latest/user/events/taxes.html" %} - These settings are intended for advanced users. See the documentation - for more information. Note that we are not responsible for the correct handling - of taxes in your ticket shop. If in doubt, please contact a lawyer or tax consultant. - {% endblocktrans %} -
-
- {% bootstrap_field form.price_includes_tax layout="control" %} - {% bootstrap_field form.eu_reverse_charge layout="control" %} - {% bootstrap_field form.home_country layout="control" %} - {% trans "Custom taxation rules" %} -
- - {% blocktrans trimmed %} - These settings are intended for professional users with very specific taxation situations. - If you create any rule here, the reverse charge settings above will be ignored. The rules will be - checked in order and once the first rule matches the order, it will be used and all further rules will - be ignored. If no rule matches, tax will be charged. - {% endblocktrans %} -
-
-
- {{ formset.management_form }} - {% bootstrap_formset_errors formset %} -
- {% for form in formset %} - {% bootstrap_form_errors form %} -
-
- {{ form.id }} - {% bootstrap_field form.DELETE form_group_class="" layout="inline" %} -
-
- {% bootstrap_field form.country layout='inline' form_group_class="" %} -
-
- {% bootstrap_field form.address_type layout='inline' form_group_class="" %} -
-
- {% bootstrap_field form.action layout='inline' form_group_class="" %} -
-
- -
-
- {% endfor %} +
+ - -

- -

+ {% bootstrap_field form.price_includes_tax layout="control" %} + {% bootstrap_field form.eu_reverse_charge layout="control" %} + {% bootstrap_field form.home_country layout="control" %} + {% trans "Custom taxation rules" %} +
+ + {% blocktrans trimmed %} + These settings are intended for professional users with very specific taxation situations. + If you create any rule here, the reverse charge settings above will be ignored. The rules will be + checked in order and once the first rule matches the order, it will be used and all further rules will + be ignored. If no rule matches, tax will be charged. + {% endblocktrans %} +
+
+ +
+ {{ formset.management_form }} + {% bootstrap_formset_errors formset %} +
+ {% for form in formset %} + {% bootstrap_form_errors form %} +
+
+ {{ form.id }} + {% bootstrap_field form.DELETE form_group_class="" layout="inline" %} +
+
+ {% bootstrap_field form.country layout='inline' form_group_class="" %} +
+
+ {% bootstrap_field form.address_type layout='inline' form_group_class="" %} +
+
+ {% bootstrap_field form.action layout='inline' form_group_class="" %} +
+
+ +
+
+ {% endfor %} +
+ +

+ +

+
+
+