{% extends 'pdf/_base.html.twig' %} {% import 'pdf/_macros.html.twig' as pdf %} {% block extra_styles %} .title h1 { font-size: 20px; } .kpis { width: 100%; border-collapse: collapse; margin-top: 8px; } .kpis td { width: 33%; padding: 10px; } .card { border-radius: 6px; padding: 12px; } .card.in { background: #f0fdf4; border: 1px solid #86efac; } .card.out { background: #fef2f2; border: 1px solid #fca5a5; } .card.net { background: #f0fdfa; border: 1px solid #99f6e4; } .card .label { font-size: 11px; color: #555; } .card .value { font-size: 18px; font-weight: bold; margin-top: 4px; } .card.in .value { color: #16a34a; } .card.out .value { color: #dc2626; } .card.net .value { color: #0d9488; } table.det { width: 60%; border-collapse: collapse; margin-top: 20px; } table.det th { background: #0d9488; color: #fff; text-align: left; padding: 6px 8px; font-size: 11px; } table.det td { padding: 6px 8px; border-bottom: 1px solid #e5e5e5; } {% endblock %} {% block body %} {{ pdf.docHeader( company, 'TRÉSORERIE', ['Période : ' ~ periodLabel, 'Édité le ' ~ generatedAt|date('d/m/Y H:i')], [] ) }}
Recettes
{{ pdf.money(summary.recettesCents) }}
Sorties
{{ pdf.money(summary.sortiesCents) }}
Solde net
{{ pdf.money(summary.netCents) }}
Recettes par moyen de paiementMontant
Espèces{{ pdf.money(summary.recettesByMethod.cash) }}
Mobile money{{ pdf.money(summary.recettesByMethod.mobile_money) }}
Carte{{ pdf.money(summary.recettesByMethod.card) }}
{% for row in summary.depensesByCategory %} {% endfor %}
SortiesMontant
Dépense · {{ row.category }}{{ pdf.money(row.totalCents) }}
Paiements fournisseurs{{ pdf.money(summary.fournisseursCents) }}
Journal de trésorerie — {{ company.name }}. Recettes = encaissements de ventes et recouvrements ; consignation sans passerelle de paiement.
{% endblock %}