{% extends '@Commercial/commercial/layout.html.twig' %} {% block commercial_title %}Produits & services{% endblock %} {% block commercial_content %}

Produits & services

Gérez le catalogue réutilisable dans vos devis et factures.

{% if is_granted('COMMERCIAL_REFERENCE_MANAGE', company) %}Catégories Exporter Nouveau produit {% endif %}
Références actives{{ view.kpis.active }}{% if view.kpis.new_count %}+{{ view.kpis.new_count }} ce mois{% endif %}
Produits{{ view.kpis.products }}Biens facturables
Services{{ view.kpis.services }}Prestations
Archivés{{ view.kpis.archived }}Hors catalogue
Prix moyen HT{{ view.kpis.average_price|number_format(2, ',', ' ') }} €Références actives
Réinitialiser
{{ view.total_rows }} référence{{ view.total_rows > 1 ? 's' : '' }}trouvée{{ view.total_rows > 1 ? 's' : '' }}
{% if is_granted('COMMERCIAL_REFERENCE_MANAGE', company) %}{% endif %} {% set unit_labels = {unite: 'Unité', heure: 'Heure', jour: 'Jour'} %} {% for row in view.rows %} {% set product = row.product %} {% set initials = product.nom|split(' ')|map(word => word|slice(0, 1))|join|slice(0, 2)|upper %} {% if is_granted('COMMERCIAL_REFERENCE_MANAGE', company) %}{% endif %} {% else %} {% endfor %}
Produit / serviceTypeRéférenceCatégorieUnitéPrix HTCoût interneMarge cibleTVAStatut
{{ initials }}
{{ product.nom }}{{ product.description | raw ?: 'Sans description' }}
{{ product.productType == 'product' ? 'Produit' : 'Service' }} {% if product.reference %}{{ product.reference }}{% else %}Non renseignée{% endif %} {% if product.category %}{{ product.category.name }}{% else %}—{% endif %} {{ unit_labels[product.unit]|default(product.unit|title) }} {{ product.prix|number_format(2, ',', ' ') }} €{{ product.internalCost is not null ? product.internalCost|number_format(2, ',', ' ') ~ ' €' : '—' }} {{ product.targetMarginRate is not null ? product.targetMarginRate|number_format(2, ',', ' ') ~ ' %' : '—' }}{{ product.taxe ? product.taxe.nom : '—' }} {{ row.archived ? 'Archivé' : 'Actif' }}
Aucun produit ou service ne correspond aux filtres.
Affichage de {{ view.first_row }}–{{ view.last_row }} sur {{ view.total_rows }} références
{% endblock %}