Edit file File name : default.pdf.twig Content :{% extends 'invoice/layout.html.twig' %} {% set language = model.template.language|default(app.request.locale) %} {% set isDecimal = model.template.decimalDuration|default(false) %} {% set currency = model.currency %} {% block invoice %} <div class="row"> <div class="col-xs-12"> <h2 class="page-header"> <span contenteditable="true">{{ model.template.title }}</span> <small class="pull-right">{{ 'label.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> {{ 'label.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> {{ 'label.vat_id'|trans({}, 'messages', language) }}: {{ model.customer.vatId }} {% endif %} {% if model.customer.number is not empty %} <br> {{ 'label.number'|trans({}, 'messages', language) }}: {{ model.customer.number }} {% endif %} {% if model.query.project is not empty and model.query.project.orderNumber is not empty %} <br> {{ 'label.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>{{ 'label.date'|trans({}, 'messages', language) }}</th> <th>{{ 'label.description'|trans({}, 'messages', language) }}</th> <th class="text-right">{{ 'label.unit_price'|trans({}, 'messages', language) }}</th> <th class="text-right">{{ 'label.amount'|trans({}, 'messages', language) }}</th> <th class="text-right">{{ 'label.total_rate'|trans({}, 'messages', language) }}</th> </tr> </thead> <tbody> {% for entry in model.calculator.entries %} {% set duration = entry.duration|duration(isDecimal) %} {% 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>{{ 'label.address'|trans({}, 'messages', language) }}</strong>: {{ model.template.company }} – {{ model.template.address|replace({"\n": ' – ', "\r\n": ' – ', "\r": ' – '})|raw }} <br> <strong>{{ 'label.invoice_bank_account'|trans({}, 'messages', language) }}</strong>: {{ model.template.paymentDetails|replace({"\n": ' – ', "\r\n": ' – ', "\r": ' – '})|raw }} <br> <strong>{{ 'label.contact'|trans({}, 'messages', language) }}</strong>: {{ model.template.contact|replace({"\n": ' – ', "\r\n": ' – ', "\r": ' – '})|raw }} </p> </footer> {% endblock %}Save