Files
crm_ecosplay/templates/emails/advert_send.html.twig
Serreau Jovann 8b35e2b6d2 feat: comptabilite + prestataires + rapport financier + stats dynamiques
Comptabilite (Super Admin) :
- ComptabiliteController avec 7 exports CSV/JSON compatibles SAGE
  (journal ventes, grand livre, FEC, balance agee, reglements,
  commissions Stripe 1.5%+0.25E, couts services)
- Export PDF via ComptaPdf (FPDF) avec bloc legal pre-rempli,
  tableau pagine, champ signature DocuSeal
- Signature electronique DocuSeal + callback + envoi email signe
  avec template dedie (compta_export_signed.html.twig)
- Rapport financier public (RapportFinancierPdf) : recettes par
  service, depenses (Stripe, infra, prestataires), bilan excedent/deficit
- Codes comptables clients EC-XXXX (plus de 411xxx)

Prestataires (Super Admin) :
- Entite Prestataire (raisonSociale, siret, email, phone, adresse)
- Entite FacturePrestataire (numFacture, montantHt, montantTtc,
  year, month, isPaid, PDF via Vich)
- CRUD complet avec recherche SIRET via proxy API data.gouv.fr
- Commande cron app:reminder:factures-prestataire (5 du mois)
- Factures prestataires integrees dans export couts services
- Sidebar Super Admin : entree Prestataires + Comptabilite

Stats (/admin/stats) :
- Cout prestataire dynamique depuis FacturePrestataire
- Fusion Infra + Prestataire en "Cout de fonctionnement"
- Commission Stripe corrigee (1.5% + 0.25E par transaction)

Divers :
- DocuSealService::sendComptaForSignature() + getApi()
- Customer::generateCodeComptable() format EC-XXXX-XXXXX
- Protection double prefixe EC- a la creation client
- Bouton regenerer PDF cache quand advert state=accepted
- Modals sans script inline (data-modal-open/close dans app.js)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 23:39:31 +02:00

51 lines
3.3 KiB
Twig

{% extends 'email/base.html.twig' %}
{% block content %}
<table width="600" cellpadding="0" cellspacing="0" style="margin: 0 auto;">
<tr>
<td style="padding: 32px;">
<h1 style="font-family: Arial, Helvetica, sans-serif; font-size: 22px; font-weight: 700; color: #111827; margin: 0 0 16px;">{{ customer.raisonSociale ? 'Chez ' ~ customer.raisonSociale : 'Bonjour ' ~ customer.firstName }},</h1>
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #374151; line-height: 22px; margin: 0 0 16px;">
Veuillez trouver ci-joint votre avis de paiement <strong>{{ advert.orderNumber.numOrder }}</strong>.
</p>
<table width="100%" cellpadding="0" cellspacing="0" style="margin: 24px 0; border-top: 1px solid #e5e7eb; border-bottom: 1px solid #e5e7eb;">
<tr>
<td style="padding: 16px 0;">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td style="font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #9ca3af;">Numero</td>
<td style="font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #9ca3af; text-align: right;">{% if tva_enabled %}Montant TTC{% else %}Montant{% endif %}</td>
</tr>
<tr>
<td style="font-family: monospace; font-size: 14px; font-weight: 700; color: #111827;">{{ advert.orderNumber.numOrder }}</td>
<td style="font-family: Arial, Helvetica, sans-serif; font-size: 18px; font-weight: 700; color: #111827; text-align: right;">{{ tva_enabled ? advert.totalTtc : advert.totalHt }} &euro;</td>
</tr>
</table>
</td>
</tr>
</table>
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #374151; line-height: 22px; margin: 0 0 24px;">
Cliquez sur le bouton ci-dessous pour acceder aux options de paiement.
</p>
<table cellpadding="0" cellspacing="0" style="margin: 0 auto;">
<tr>
<td style="background-color: #fabf04; padding: 14px 32px;">
<a href="{{ paymentUrl }}" style="font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #111827; text-decoration: none;">Proceder au paiement</a>
</td>
</tr>
</table>
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #9ca3af; line-height: 18px; margin: 24px 0 0;">
L'avis de paiement est egalement en piece jointe de cet email.<br><br>
Si le bouton ne fonctionne pas, copiez ce lien dans votre navigateur :<br>
<span style="font-family: monospace; font-size: 11px; color: #6366f1; word-break: break-all;">{{ paymentUrl }}</span>
</p>
</td>
</tr>
</table>
{% endblock %}