Blame | Last modification | View Log | Download
<!DOCTYPE html>{% set language = invoice['invoice.language'] %}{% set currency = model.currency %}<html lang="{{ language }}"><head><meta charset="utf-8"><style type="text/css">{{ encore_entry_css_source('invoice')|raw }}</style></head><body class="invoice_print"><div class="wrapper"><section class="invoice"><div class="row"><div class="col-xs-12"><h2 class="page-header"><span contenteditable="true">{{ model.template.title }}</span><small class="pull-right">{{ 'date'|trans({}, 'messages', language) }}: {{ model.invoiceDate|date_short }}</small></h2></div></div><div class="row"><div class="col-sm-5">{{ 'invoice.from'|trans({}, 'messages', language) }}<address contenteditable="true"><strong>{{ model.template.company }}</strong><br>{{ model.template.address|trim|nl2br }}{% if model.template.vatId is not empty %}<br>{{ 'vat_id'|trans({}, 'messages', language) }}:{{ model.template.vatId }}{% endif %}</address></div><div class="col-sm-2"></div><div class="col-sm-5">{{ 'invoice.to'|trans({}, 'messages', language) }}<address contenteditable="true"><strong>{{ model.customer.company|default(model.customer.name) }}</strong><br>{{ model.customer.address|nl2br }}{% if model.customer.vatId is not empty %}<br>{{ 'vat_id'|trans({}, 'messages', language) }}: {{ model.customer.vatId }}{% endif %}{% if model.customer.number is not empty %}<br>{{ 'number'|trans({}, 'messages', language) }}: {{ model.customer.number }}{% endif %}{% if model.query.project is not empty and model.query.project.orderNumber is not empty %}<br>{{ 'orderNumber'|trans({}, 'messages', language) }}: {{ model.query.project.orderNumber }}{% endif %}</address></div></div><div class="row"><div class="col-sm-5"><p contenteditable="true"><strong>{{ 'invoice.number'|trans({}, 'messages', language) }}:</strong>{{ model.invoiceNumber }}<br><strong>{{ 'invoice.due_days'|trans({}, 'messages', language) }}:</strong>{{ model.dueDate|date_short }}</p></div><div class="col-sm-7"></div></div><div class="row invoice-items"><div class="col-xs-12 table-responsive"><table class="table"><thead><tr><th>{{ 'date'|trans({}, 'messages', language) }}</th><th>{{ 'description'|trans({}, 'messages', language) }}</th><th class="text-right">{{ 'unit_price'|trans({}, 'messages', language) }}</th><th class="text-right">{{ 'amount'|trans({}, 'messages', language) }}</th><th class="text-right">{{ 'total_rate'|trans({}, 'messages', language) }}</th></tr></thead><tbody>{% for entry in model.calculator.entries %}{% set duration = entry.duration|duration(true) %}{% if entry.fixedRate %}{% set rate = entry.fixedRate %}{% set duration = entry.amount|amount %}{% else %}{% set rate = entry.hourlyRate %}{% endif %}<tr><td nowrap class="text-nowrap">{{ entry.begin|date_short }}</td><td contenteditable="true">{% if entry.description is not empty %}{{ entry.description|nl2br }}{% else %}{% if entry.activity is not null %}{{ entry.activity.name }} / {% endif %}{{ entry.project.name }}{% endif %}</td><td nowrap class="text-nowrap text-right">{{ rate|money(currency) }}</td><td nowrap class="text-nowrap text-right">{{ duration }}</td><td nowrap class="text-nowrap text-right">{{ entry.rate|money(currency) }}</td></tr>{% endfor %}</tbody><tfoot><tr><td colspan="4" class="text-right">{{ 'invoice.subtotal'|trans({}, 'messages', language) }}</td><td class="text-right">{{ model.calculator.subtotal|money(currency) }}</td></tr><tr><td colspan="4" class="text-right">{{ 'invoice.tax'|trans({}, 'messages', language) }} ({{ model.calculator.vat }}%)</td><td class="text-right">{{ model.calculator.tax|money(currency) }}</td></tr><tr><td colspan="4" class="text-right text-nowrap"><strong>{{ 'invoice.total'|trans({}, 'messages', language) }}</strong></td><td class="text-right"><strong>{{ model.calculator.total|money(currency) }}</strong></td></tr></tfoot></table></div></div><div class="row"><div class="col-xs-12">{% if model.template.paymentTerms is not empty %}<div contenteditable="true" class="paymentTerms">{{ model.template.paymentTerms|nl2br|md2html }}</div>{% endif %}</div></div><footer class="footer"><p><strong>{{ 'address'|trans({}, 'messages', language) }}</strong>: {{ model.template.company }} – {{ model.template.address|replace({"\n": ' – ', "\r\n": ' – ', "\r": ' – '})|raw }}<br><strong>{{ 'invoice_bank_account'|trans({}, 'messages', language) }}</strong>: {{ model.template.paymentDetails|replace({"\n": ' – ', "\r\n": ' – ', "\r": ' – '})|raw }}<br><strong>{{ 'contact'|trans({}, 'messages', language) }}</strong>: {{ model.template.contact|replace({"\n": ' – ', "\r\n": ' – ', "\r": ' – '})|raw }}</p></footer></section></div></body></html>