📥 Export · S67-S68

Export CSV
Règlements

Export des règlements en CSV pour la comptabilité, le rapprochement bancaire et les rapports périodiques — filtrable par période, mode de paiement et client.

S67-S68
1 route API + 1 bouton UI
UTF-8 BOM · Excel compatible
📥

Vue d'ensemble

La page /app/reglements liste les règlements mais ne propose pas d'export. Ce module ajoute un bouton 📥 Export CSV qui déclenche un téléchargement direct depuis l'API.

L'export respecte les filtres actifs de la page : période, mode de paiement. Encodage UTF-8 avec BOM pour compatibilité Excel directe (accents corrects sans manipulation).
🏦
Rapprochement bancaire
Export des règlements avec références, montants et modes de paiement pour croiser avec les relevés bancaires.
📊
Rapports comptables
Filtrage par période (mois, trimestre, exercice) pour alimenter le comptable ou un outil externe.
🔗
Lien factures
Chaque ligne inclut le numéro et le montant de la facture associée, ainsi que le nom et l'email du client.
🔌

Route API

MéthodeRouteDescription
GET/reglements/export-csvRetourne un fichier CSV — Content-Disposition: attachment

Paramètres de filtrage

ParamètreTypeDescription
?date_from=YYYY-MM-DDDate règlement ≥
?date_to=YYYY-MM-DDDate règlement ≤
?mode=stringESPECES · CB · VIREMENT · CHEQUE · PRELEVEMENT
⚠️
La route doit être déclarée avant la route générique /reglements/:id dans custom-routes.ts pour éviter que "export-csv" soit interprété comme un ID.
📄

Format CSV produit

Exemple de sortieCSV
ID,Date,Montant TTC,Mode de paiement,Référence,N° Facture,Date Facture,Total Facture TTC,Client,Email,Téléphone,Notes
228,07/04/2026,150.00,CB,TXN-001,FAC-2026-001,01/04/2026,150.00,Dujardin Jean,jean@example.com,0612345678,
229,05/04/2026,89.50,ESPECES,,FAC-2026-002,04/04/2026,89.50,Deneuve Catherine,...
  • 🔤
    Encodage UTF-8 avec BOM () — accents corrects dans Excel sans manipulation
  • 📅
    Dates au format français JJ/MM/AAAA
  • 💰
    Montants avec 2 décimales, point comme séparateur décimal
  • 📝
    Valeurs contenant une virgule ou des guillemets : encadrées de " avec guillemets internes doublés
🖥️

Bouton UI

Bouton 📥 Export CSV ajouté dans le PageHeader de /app/reglements/page.tsx, à côté du bouton "+ Nouveau Règlement". Il respecte les filtres actifs de la page.

Pattern d'implémentationTSX
const exportCSV = () => {
  const params = new URLSearchParams();
  if (dateFrom) params.set('date_from', dateFrom);
  if (dateTo)   params.set('date_to', dateTo);
  if (modeFilter) params.set('mode', modeFilter);
  const a = document.createElement('a');
  a.href = `/api/reglements/export-csv?${params.toString()}`;
  a.download = `reglements_${new Date().toISOString().split('T')[0]}.csv`;
  document.body.appendChild(a);
  a.click();
  document.body.removeChild(a);
};
🚀

Déploiement

  • 1️⃣
    Patch custom-routes.ts — ajouter route /reglements/export-csv avant /reglements/:id
  • 2️⃣
    Rebuild API + restart nginx
  • 3️⃣
    Patch src/app/app/reglements/page.tsx — ajouter fonction exportCSV() + bouton dans PageHeader
  • 4️⃣
    Rebuild frontend
  • 5️⃣
    Test : cliquer Export CSV → vérifier téléchargement + ouvrir dans Excel → accents OK