Comment modifier & ajouter la mention « Facture acquittée » automatiquement sur les factures PDF de PrestaShop si paiement validé

Personnaliser les factures PDF selon le mode de paiement dans PrestaShop 8

🔍 Contexte de la demande

L’un de mes clients, un professionnel du secteur dentaire, m’a récemment demandé d’ajouter une indication claire sur ses factures PDF, pour identifier celles qui ont été entièrement réglées par carte bancaire via Stripe.

Objectif : faire apparaître une mention « Facture acquittée » uniquement pour les commandes payées automatiquement en ligne, sans afficher ce message pour les paiements par virement ou chèque.

⚠️ Important : Types de paiements concernés

Cette modification ne fonctionne que pour les paiements acceptés et traités automatiquement en ligne, tels que :

    • Carte bancaire (Stripe, PayPal, Mollie, etc.)
    • Portefeuilles numériques (PayPal, Apple Pay, Google Pay)
    • Solutions de crédit instantané (Alma, Klarna)
    • Autres passerelles de paiement automatisées

Cette solution N’EST PAS adaptée pour :

    • Les virements bancaires (paiement hors ligne)
    • Les paiements par chèque
    • Les paiements à la livraison (contre-remboursement)
    • Tout autre mode de règlement nécessitant une validation manuelle

Pourquoi cette limitation ?
Les modules de paiement comme Stripe confirment automatiquement le règlement dès que la transaction est validée. En revanche, pour un virement ou un chèque, le statut « payé » n’est mis à jour qu’après validation manuelle par le commerçant, ce qui peut créer une confusion si la mention « Facture acquittée » apparaît avant réception effective du paiement.

💡 Pourquoi cette modification ?

PrestaShop, même en version 8.2.1, ne permet pas nativement de conditionner l’affichage d’un message sur les PDF selon le module de paiement utilisé. Or, cette information est cruciale pour certains professionnels qui traitent plusieurs types de règlements.

L’ajout d’un petit bandeau visuel sur la facture permet de :

  • Vérifier rapidement qu’un paiement a été reçu
  • Envoyer au client un document clair et finalisé
  • Éviter les erreurs de traitement en comptabilité

🔧 Comment ajouter le message « Facture acquittée »

Pour cela, j’ai modifié le fichier suivant dans PrestaShop :

/pdf/invoice.summary-tab.tpl

Il suffit d’insérer ce bloc juste après les lignes de résumé de commande :

{if $order->module == 'stripe_official'}
  <tr>
    <td colspan="{if $addresses.invoice->vat_number}5{else}4{/if}" class="center white" style="padding: 15px;">
      <div style="
        display: inline-block;
        border: 3px solid #e74c3c;
        border-radius: 8px;
        padding: 8px 16px;
        font-weight: bold;
        font-size: 14px;
        color: #ffffff;
        background-color: #e74c3c;
        text-transform: uppercase;
        letter-spacing: 1px;
        box-shadow: 0 2px 4px rgba(231, 76, 60, 0.3);
        transform: rotate(-2deg);
      ">
        FACTURE ACQUITTÉE
      </div>
    </td>
  </tr>
{/if}

Cette condition vérifie que le module de paiement utilisé est stripe_official, le nom du module officiel Stripe pour PrestaShop.

🔁 Étendre le message « Facture acquittée » à d’autres paiements

Par défaut, le message s’affiche uniquement pour les paiements effectués via Stripe grâce à cette condition :

{if $order->module == 'stripe_official'}

Si vous souhaitez l’appliquer à d’autres moyens de paiement (comme PayPal, Alma, ou un module bancaire), vous devez connaître le nom technique du module utilisé par PrestaShop pour chaque commande.

🧪 Comment récupérer le nom d’un module de paiement utilisé par Prestashop ?

⚠️ Important : Le préfixe des tables peut varier selon votre installation PrestaShop. Par défaut, il s’agit de ps_, mais il peut être différent (par exemple prestashop_, boutique_, etc.).

🔍 Étape 1 : Identifier le préfixe de votre installation

Avant d’exécuter la requête, vérifiez le préfixe utilisé dans votre base de données :

  • Via phpMyAdmin : Consultez la liste des tables, elles commencent toutes par le même préfixe

OU

  • Via le fichier de configuration : Ouvrez /app/config/parameters.php et cherchez la ligne contenant database_prefix
// Exemple dans parameters.php
'database_prefix' => 'ps_',

🔍 Étape 2 : Exécuter la requête adaptée

Connectez-vous à phpMyAdmin (ou à votre outil de gestion de base de données), et exécutez la requête suivante en adaptant le préfixe :

-- Avec le préfixe par défaut (ps_)
SELECT module FROM ps_orders WHERE id_order = [ID_DE_VOTRE_COMMANDE];

-- Exemple avec un préfixe personnalisé (boutique_)
SELECT module FROM boutique_orders WHERE id_order = [ID_DE_VOTRE_COMMANDE];

-- Ou encore (prestashop_)
SELECT module FROM prestashop_orders WHERE id_order = [ID_DE_VOTRE_COMMANDE];

Remplacez [ID_DE_VOTRE_COMMANDE] par l’identifiant d’une commande existante. Le résultat vous indiquera le nom du module utilisé dans cette commande, par exemple :

  • stripe_official (Stripe)
  • paypal (PayPal)
  • alma (Alma)
  • mollie (Mollie)
💡 Astuce : Si vous gérez plusieurs boutiques PrestaShop, notez que chaque installation peut avoir un préfixe différent. Pensez à vérifier cette information pour chaque projet.

🔧 Exemple : autoriser plusieurs modules

Si vous voulez que la mention apparaisse pour Stripe et PayPal, utilisez plutôt cette condition :

{if in_array($order->module, ['stripe_official', 'paypal'])}

Cela vous permet de gérer plusieurs cas sans dupliquer le code HTML du bandeau.

📎 Bonnes pratiques et remarques

  • Sauvegardez toujours le fichier avant toute modification.
  • Cette personnalisation n’est pas surchargée via le thème, donc pensez à la réappliquer après une mise à jour de PrestaShop.
  • Vous pouvez adapter le style CSS du bloc pour mieux correspondre à votre charte graphique.
  • Option avancée : pour vérifier aussi que la commande est bien payée, ajoutez && $order->getCurrentOrderState()->paid dans la condition.

🖼️ Aperçu du rendu PDF

Voici une simulation du rendu avec la mention « FACTURE ACQUITTÉE » :

✅ Conclusion

Cette petite modification peut faire une grande différence dans l’organisation comptable ou administrative d’une boutique. Elle permet de clarifier les documents PDF générés, tout en conservant une logique métier propre à votre activité.

Ce type de personnalisation est simple à mettre en place, mais n’hésitez pas à faire appel à un professionnel PrestaShop pour des besoins plus complexes ou pour automatiser ce genre de marquage dans d’autres contextes (statut, transporteur, méthode de livraison…).

🚀 Vous préférez nous confier cette modification ?

Pas le temps ou l’envie de manipuler le code ? Notre équipe d’experts PrestaShop peut s’occuper de cette personnalisation pour vous, rapidement et en toute sécurité.

✨ Notre service inclut :

  • ✓ Installation sécurisée de la modification
  • ✓ Tests sur votre environnement
  • ✓ Adaptation à votre charte graphique
  • ✓ Configuration pour vos modules de paiement
  • ✓ Documentation de la modification

Intervention rapide • Garantie satisfaction • Support inclus

Articles similaires

Hébergement Prestashop avec support inclus
Expert Prestashop, support & hébergement