Nous utilisons des cookies pour améliorer votre expérience de visite de notre site Web. Pour plus d'informations, Cliquez ici.
Mentions légales
×

Vue d'ensemble de la vie privée

Ce site utilise des cookies afin que nous puissions vous fournir la meilleure expérience utilisateur possible. Les informations sur les cookies sont stockées dans votre navigateur et remplissent des fonctions telles que vous reconnaître lorsque vous revenez sur notre site Web et aider notre équipe à comprendre les sections du site que vous trouvez les plus intéressantes et utiles.

Vous pouvez régler tous vos paramètres de cookies en naviguant sur les onglets sur le côté gauche.

Nom du cookieAcceptez
GDPR PRO - Règlement sur la protection des données générales - tout en 1 Ce module aide le site adevenir conforme à la norme RGPD en ajoutant les fonctionnalités conformes à la loi.
unknown

Modifier facture PDF Prestashop : quels sont les problemes et solutions ?

tout servces prestashop

1. PrestaShop : Vérifier la présence des données dans la commande

Dans PrestaShop, les champs vides sur une facture PDF peuvent provenir de données manquantes dans la commande elle-même. Si un client ne remplit pas certains champs à l’étape du paiement, ces informations ne seront pas présentes sur le document généré. Vérifiez les détails de la commande dans le back-office pour confirmer la présence des données.

Il est recommandé de rendre certains champs obligatoires dans le formulaire de commande. Cela se fait via des modules ou en modifiant le formulaire d’adresse client. Assurez-vous aussi que les données sont bien enregistrées avant le paiement. Un champ laissé vide au moment de la commande ne peut logiquement pas s’afficher sur la facture PDF.


2. PrestaShop : Corriger le fichier invoice.tpl

Il arrive que les champs apparaissent vides parce que le fichier invoice.tpl, responsable de la mise en page de la facture, ne contient pas les bonnes variables. Si une variable est mal appelée ou inexistante, PrestaShop affichera un champ vide au rendu PDF, même si la donnée est présente dans la commande.

Ouvrez invoice.tpl (dossier /pdf/) et vérifiez l’appel des données. Par exemple, utilisez {$invoice_address->company} pour afficher la société. Un mauvais appel, comme une variable non définie, provoquera un champ vide. Veillez à bien tester chaque modification sur un environnement de développement avant de l’appliquer en production.


3. PrestaShop : Contrôler les données de l’adresse client

Les champs vides peuvent aussi venir de l'adresse de livraison ou de facturation incomplète. Par exemple, si le champ "société" ou "téléphone" n’a pas été rempli par le client, il apparaîtra logiquement vide sur la facture générée par PrestaShop.

Pour éviter ce problème, vous pouvez rendre certains champs obligatoires dans la fiche adresse via un module ou en modifiant le fichier Address.php. Cela garantit que les informations clés seront toujours présentes et visibles sur la facture PDF, améliorant la clarté du document fourni au client.


4. PrestaShop : Problème de traduction d’un champ

Certains champs peuvent sembler vides parce que leur intitulé ou leur contenu n’est pas correctement traduit, notamment dans les sites multilingues. PrestaShop peut ne pas afficher un champ si la valeur traduite est vide ou si le champ est mal configuré dans la base de données.

Vérifiez les traductions dans "International > Traductions", puis "Traductions PDF". Un champ correctement traduit affichera bien son contenu dans chaque langue. Cela permet d’éviter l’impression d’un champ vide alors qu’en réalité c’est la traduction manquante qui empêche l’affichage.


5. PrestaShop : Problème dans la base de données

Parfois, les données ne sont pas correctement enregistrées dans la base de données, ce qui provoque l’apparition de champs vides dans la facture. Cela peut être dû à un bug, une migration de données, ou une extension incompatible qui empêche la sauvegarde complète des informations.

Il est conseillé de vérifier les tables ps_address, ps_customer et ps_order_invoice. Recherchez les lignes où des champs sont null ou vides. Si c’est le cas, il faudra soit corriger les données manuellement, soit comprendre la source du bug avec un développeur.


6. PrestaShop : Nettoyage du cache après modification

Après avoir corrigé un champ dans le fichier invoice.tpl ou dans la base de données, PrestaShop peut encore afficher l’ancienne version de la facture PDF à cause du cache. Cela donne l’impression que le champ reste vide même après modification.

Dans ce cas, allez dans "Paramètres avancés > Performances" et videz le cache. Pensez également à désactiver la compilation automatique pour forcer la prise en compte immédiate des changements. Cette action garantit que la version actualisée de votre facture s’affiche avec toutes les données.


7. PrestaShop : Surcharge ou module personnalisé mal configuré

Un override ou un module tiers peut remplacer le comportement par défaut de la génération des factures PDF, entraînant l’apparition de champs vides. Ces personnalisations mal codées peuvent bloquer l’affichage de certaines variables dans le document.

Examinez les éventuels overrides présents dans /override/classes/pdf et les modules actifs liés aux factures. Désactivez-les temporairement pour voir si le problème disparaît. Si oui, le bug provient d’une surcharge incorrecte qu’il faudra corriger dans le code source du module ou du fichier surchargé.


8. PrestaShop : Champ conditionnel mal codé dans le template

Certains champs sont affichés uniquement si une condition est remplie (ex. if $invoice_address->company). Si cette condition est mal codée ou trop restrictive, PrestaShop n’affichera pas la donnée, même si elle existe dans la commande.

Il faut donc simplifier ou corriger ces conditions dans le fichier invoice.tpl. Par exemple, utilisez isset() ou !empty() de façon appropriée. Cela permettra à tous les champs valides d’être affichés, sans blocage dû à une logique conditionnelle trop rigide dans la génération du PDF.


9. PrestaShop : Version incompatible de TCPDF

PrestaShop s’appuie sur la librairie TCPDF pour générer les factures. Une version corrompue ou incompatible de cette bibliothèque peut empêcher l’affichage de certains champs, notamment ceux contenant des caractères spéciaux ou non latins.

Assurez-vous que les fichiers TCPDF dans /tools/tcpdf/ sont bien installés et à jour. Si vous avez personnalisé cette bibliothèque, testez avec la version d’origine de PrestaShop pour voir si le bug persiste. Une version altérée peut bloquer le rendu de champs pourtant bien remplis.


10. PrestaShop : Vérifier la configuration des pays et champs requis

PrestaShop adapte le formulaire d’adresse selon le pays sélectionné par le client. Si les champs obligatoires varient d’un pays à l’autre, certains peuvent être vides en fonction des règles de configuration.

Rendez-vous dans "International > Localisation > Pays" pour vérifier quels champs sont actifs et obligatoires par pays. Cela permet de forcer la saisie d’informations comme le code postal, le téléphone ou la société, évitant ainsi des champs vides sur les factures PDF selon le pays d’origine du client.