{% trans "Net total" %}
diff --git a/src/pretix/presale/templates/pretixpresale/event/fragment_cart.html b/src/pretix/presale/templates/pretixpresale/event/fragment_cart.html
index 75eee47a8..afe440e6b 100644
--- a/src/pretix/presale/templates/pretixpresale/event/fragment_cart.html
+++ b/src/pretix/presale/templates/pretixpresale/event/fragment_cart.html
@@ -121,7 +121,7 @@
{% if event.settings.display_net_prices %}
{{ event.currency }} {{ line.net_total|floatformat:2 }}
- {% if line.tax_rate %}
+ {% if line.tax_rate and line.total %}
{% blocktrans trimmed with rate=line.tax_rate taxname=line.tax_rule.name|default:s_taxes %}
@@ -131,7 +131,7 @@
{% endif %}
{% else %}
{{ event.currency }} {{ line.total|floatformat:2 }}
- {% if line.tax_rate %}
+ {% if line.tax_rate and line.total %}
{% blocktrans trimmed with rate=line.tax_rate taxname=line.tax_rule.name|default:s_taxes %}
@@ -187,7 +187,7 @@
{% endif %}
-{% if event.settings.display_net_prices %}
+{% if event.settings.display_net_prices and cart.tax_total %}
{% trans "Net total" %}
diff --git a/src/pretix/presale/templates/pretixpresale/event/index.html b/src/pretix/presale/templates/pretixpresale/event/index.html
index e71549ab9..3359f8307 100644
--- a/src/pretix/presale/templates/pretixpresale/event/index.html
+++ b/src/pretix/presale/templates/pretixpresale/event/index.html
@@ -202,6 +202,8 @@
{% blocktrans trimmed with minprice=item.min_price|floatformat:2 currency=event.currency %}
from {{ currency }} {{ minprice }}
{% endblocktrans %}
+ {% elif not item.min_price and not item.max_price %}
+ {% trans "FREE" context "price" %}
{% else %}
{{ event.currency }} {{ item.min_price|floatformat:2 }}
{% endif %}
@@ -241,16 +243,18 @@
value="{% if event.settings.display_net_prices %}{{var.display_price.net|stringformat:"0.2f" }}{% else %}{{ var.display_price.gross|stringformat:"0.2f" }}{% endif %}"
>
+ {% elif not var.display_price.gross %}
+ {% trans "FREE" context "price" %}
{% elif event.settings.display_net_prices %}
{{ event.currency }} {{ var.display_price.net|floatformat:2 }}
{% else %}
{{ event.currency }} {{ var.display_price.gross|floatformat:2 }}
{% endif %}
- {% if var.display_price.rate and event.settings.display_net_prices %}
+ {% if var.display_price.rate and var.display_price.gross and event.settings.display_net_prices %}
{% blocktrans trimmed with rate=var.display_price.rate name=var.display_price.name %}
plus {{ rate }}% {{ name }}
{% endblocktrans %}
- {% elif var.display_price.rate %}
+ {% elif var.display_price.rate and var.display_price.gross %}
{% blocktrans trimmed with rate=var.display_price.rate name=var.display_price.name %}
incl. {{ rate }}% {{ name }}
{% endblocktrans %}
@@ -326,16 +330,18 @@
value="{% if event.settings.display_net_prices %}{{item.display_price.net|stringformat:"0.2f" }}{% else %}{{ item.display_price.gross|stringformat:"0.2f" }}{% endif %}"
step="any">
+ {% elif not item.display_price.gross %}
+ {% trans "FREE" context "price" %}
{% elif event.settings.display_net_prices %}
{{ event.currency }} {{ item.display_price.net|floatformat:2 }}
{% else %}
{{ event.currency }} {{ item.display_price.gross|floatformat:2 }}
{% endif %}
- {% if item.display_price.rate and event.settings.display_net_prices %}
+ {% if item.display_price.rate and item.display_price.gross and event.settings.display_net_prices %}
{% blocktrans trimmed with rate=item.display_price.rate name=item.display_price.name %}
plus {{ rate }}% {{ name }}
{% endblocktrans %}
- {% elif item.display_price.rate %}
+ {% elif item.display_price.rate and item.display_price.gross %}
{% blocktrans trimmed with rate=item.display_price.rate name=item.display_price.name %}
incl. {{ rate }}% {{ name }}
{% endblocktrans %}
diff --git a/src/pretix/presale/templates/pretixpresale/event/voucher.html b/src/pretix/presale/templates/pretixpresale/event/voucher.html
index 24ce06817..7b6704ffb 100644
--- a/src/pretix/presale/templates/pretixpresale/event/voucher.html
+++ b/src/pretix/presale/templates/pretixpresale/event/voucher.html
@@ -59,6 +59,8 @@
{% blocktrans trimmed with minprice=item.min_price|floatformat:2 currency=event.currency %}
from {{ currency }} {{ minprice }}
{% endblocktrans %}
+ {% elif not item.min_price and not item.max_price %}
+ {% trans "FREE" context "price" %}
{% else %}
{{ event.currency }} {{ item.min_price|floatformat:2 }}
{% endif %}
@@ -89,16 +91,18 @@
value="{% if event.settings.display_net_prices %}{{var.display_price.net|stringformat:"0.2f" }}{% else %}{{ var.display_price.gross|stringformat:"0.2f" }}{% endif %}"
step="any">
+ {% elif not var.display_price.gross %}
+ {% trans "FREE" context "price" %}
{% elif event.settings.display_net_prices %}
{{ event.currency }} {{ var.display_price.net|floatformat:2 }}
{% else %}
{{ event.currency }} {{ var.display_price.gross|floatformat:2 }}
{% endif %}
- {% if var.display_price.rate and event.settings.display_net_prices %}
+ {% if var.display_price.rate and var.display_price.gross and event.settings.display_net_prices %}
- {% elif var.display_price.rate %}
+ {% elif var.display_price.rate and var.display_price.gross %}
@@ -156,16 +160,18 @@
value="{% if event.settings.display_net_prices %}{{ item.display_price.net|stringformat:"0.2f" }}{% else %}{{ item.display_price.gross|stringformat:"0.2f" }}{% endif %}"
step="any">