{% extends 'admin/layout.html.twig' %} {% block title %}Devis et factures — {{ project.name }}{% endblock %} {% block admin_body %} {% include 'admin/ui/_page_header.html.twig' with {page_eyebrow:'Commercial · '~project.name,page_title:can_permission('QUOTE') and can_permission('INVOICE') ? 'Devis & factures' : (can_permission('QUOTE') ? 'Devis' : 'Factures'),page_subtitle:'Retrouvez chaque document et son étape actuelle : généré, envoyé, facturé ou encaissé.'} %}
{% if can_permission('QUOTE') %}
{% for document in quotes %}
Devis

{{ document.number }}

{{ document.prospection.venueEntity ? document.prospection.venueEntity.name : document.prospection.venue }} · {{ document.issueDate|date('d/m/Y') }}
{% if document.status == 'converted' %}Facturé{% elseif document.sentAt %}Envoyé{% else %}Généré{% endif %}
Total TTC{{ document.amountTtc|number_format(2,',',' ') }} €
Ouvrir le devis
{% else %}{% include 'admin/ui/_empty_state.html.twig' with {empty_icon:'bi-file-earmark-text',empty_title:'Aucun devis',empty_text:'Les devis générés depuis une prospection apparaîtront ici.'} %}{% endfor %}
{% for document in quotes %} {% else %}{% endfor %}
N°DateLieuMontant HTMontant TTCStatut
{{ document.number }} {{ document.issueDate|date('d/m/Y') }} {{ document.prospection.venueEntity ? document.prospection.venueEntity.name : document.prospection.venue }} {{ document.amountHt|number_format(2, ',', ' ') }} € {{ document.amountTtc|number_format(2, ',', ' ') }} € {% if document.status == 'converted' %}Facturé{% elseif document.sentAt %}Envoyé{% else %}Généré{% endif %} Voir
Aucun devis généré pour {{ project.name }}.
{% endif %} {% if can_permission('INVOICE') %}
{% for document in invoices %}{% set ps=paymentService.status(document) %}
Facture

{{ document.number }}

{{ document.prospection.venueEntity ? document.prospection.venueEntity.name : document.prospection.venue }} · {{ document.issueDate|date('d/m/Y') }}
{% if ps=='PAID' %}Payée{% elseif ps=='PARTIAL' %}Partielle{% else %}À encaisser{% endif %}
Total TTC{{ document.amountTtc|number_format(2,',',' ') }} €
{% if ps!='PAID' and can_permission('PAYMENT',2) %}{% endif %}Ouvrir
{% else %}{% include 'admin/ui/_empty_state.html.twig' with {empty_icon:'bi-receipt',empty_title:'Aucune facture',empty_text:'Les factures créées à partir d’un devis apparaîtront ici.'} %}{% endfor %}
{% for document in invoices %} {% else %}{% endfor %}
N°DateLieuDevis sourceMontant HTMontant TTCPaiement
{{ document.number }} {{ document.issueDate|date('d/m/Y') }} {{ document.prospection.venueEntity ? document.prospection.venueEntity.name : document.prospection.venue }} {{ document.sourceDocument ? document.sourceDocument.number : '—' }} {{ document.amountHt|number_format(2, ',', ' ') }} € {{ document.amountTtc|number_format(2, ',', ' ') }} € {% set ps=paymentService.status(document) %}{% if ps=='PAID' %}Payée{% elseif ps=='PARTIAL' %}Partielle{% else %}À encaisser{% endif %}
{% if ps!='PAID' and can_permission('PAYMENT',2) %}{% endif %}Voir
Aucune facture générée pour {{ project.name }}.
{% endif %}
{% if can_permission('INVOICE') and can_permission('PAYMENT',2) %}{% for document in invoices %} {% if paymentService.status(document) != 'PAID' %} {% include 'admin/accounting/_payment_modal.html.twig' with {invoice:document,payment_remaining:paymentService.remaining(document),financial_accounts:financialAccounts,payment_methods:paymentMethods,return_route:'admin_commercial_document_index',payment_modal_id:'paymentModal-'~document.id} only %} {% endif %} {% endfor %}{% endif %} {% endblock %}