{% extends "base.html" %} {% block content %}

{{ t('form_edit_invoice') if editing else t('form_new_invoice') }}

{% for v in (suggest|default({})).client|default([]) %}
{# a recipient without an address: the companies the name may mean, or the deliberate exception #} {% if client_choices is not none or form.get('confirm_client') %}
{{ t('lbl_client_choices' if client_choices else 'lbl_client_unknown', name=form.get('client','')) }}
{% for c in client_choices or [] %} {% endfor %}
{% endif %}
{# a date against the number order: the warning stands at the top, here only the deliberate exception #} {# kept while ticked, so answering the other warning does not bring this one back #} {% if order_warning or form.get('confirm_order') %} {% endif %}
{% if form.get('link_charges') %}{% endif %}

{{ t('lbl_select_charges') }}

{% for ln in (lines or [none]) %} {# 'or ""': '{{ x if ln }}' renders the STRING 'None' for an empty field and it would be saved back as literal text (the number/date inputs just drop it, the text input keeps it) #} {% endfor %}
{{ t('col_name') }} *{{ t('col_from') }} {{ t('col_to') }}{{ t('col_qty') }}{{ t('col_unit_type') }} {{ t('col_art') }}{{ t('col_gross_per_unit') }} * {{ t('col_tourism') }}

 {{ t('hint_invoice_tourism') }}

{{ t('btn_cancel') }}
{% endblock %}