Jump to content

Modification de l'adresse du client non répercutée sur la facture


Recommended Posts

Bonjour,

 

Depuis la mise à jour en 1.6.1, la génération des factures a changé et je rencontre un problème:

 

Lorsque je modifie l'adresse d'un client, celle-ci n'est pas mise à jour dans la facture ni dans le bon de livraison.

Quelle que soit la façon de modifier l'adresse de livraison ou de facturation, rien n'y fait:

  • directement dans le compte client depuis le back-office
  • depuis la fenêtre de modification d'adresse de la page de la commande
  • depuis le compte client sur le front-office

L'adresse est bien modifiée dans la base de données (dans la table ps_address) mais pas dans la table ps_order_invoice (champs invoice_adress et delivery_adress) qui semble être utilisée pour générer la facture et le bon de livraison.

 

Est-ce un bug? rencontrez-vous aussi ce problème?

Comment y remédier?

 

J'attends votre réponse avant de transférer ce sujet dans la rubrique des bugs.

Link to comment
Share on other sites

Bonjour,

 

Je viens de voir le probléme

Prestashop 1.6.1 remplit les champsinvoice_address et delivery_address de la table ps_order_invoice au moment de la création de la facture.

Si on modifie les adresses livraison ou facturation c'est la table ps_custumer qui est mise a jour pas ps_order_invoice qui n'est plus jamais modifié une fois créé.

Sur les versions précédentes les champs invoice_address et delivery_address de la table ps_order_invoice étaient mis en valeur Null.

Je n'ai pas eu le temps de me pencher dans le code  pour soit mettre null comme auparavant dans les champs de la table ps_order_invoice.

Soit modifier le code dans fichier création facture dans le répertoire PDF pour prendre systématiquement les adresses ps_custumer mais pas invoice_address et delivery_address de la table ps_order_invoice.

Je n'ai pas le temps matériel ces 15 jours pour chercher la meilleure façon de faire.

Link to comment
Share on other sites

Bonjour,

 

J'ai pris 5 mm pour corriger le problème.

Dans le dossier /class/pdf, vous disposez de toutes les fonctionnalités de génération de PDF.

Ouvrir le fichier HTMLTemplateInvoice.php

 

Mettre en commentaires  " // "   les lignes 151,152,153,155,160,161,162,165

voir ci-dessous

Ligne151        //if ($this->order_invoice->invoice_address) {
Ligne152        //    $formatted_invoice_address = $this->order_invoice->invoice_address;
Ligne153        //} else {
Ligne154            $formatted_invoice_address = Ligne151 AddressFormat::generateAddress($invoice_address, $invoiceAddressPatternRules, '<br />', ' ');
Ligne155        //}
Ligne156
Ligne157        $delivery_address = null;
Ligne158        $formatted_delivery_address = '';
Ligne159        if (isset($this->order->id_address_delivery) && $this->order->id_address_delivery) {
Ligne160            //if ($this->order_invoice->delivery_address) {
Ligne161            //    $formatted_delivery_address = $this->order_invoice->delivery_address;
Ligne162            //} else {
Ligne163                $delivery_address = new Address((int)$this->order->id_address_delivery);
Ligne164                $formatted_delivery_address = AddressFormat::generateAddress($delivery_address, $deliveryAddressPatternRules, '<br />', ' ');
Ligne165           // }
Ligne166        }
 

Maintenant nous affichons dans la facture les adresses ps_custumer donc les adresses avec modification.

 

Bien penser a vider le cache dans Paramètres avancès / Performances

 

Cordialement

Gérard

Edited by gerard_franc (see edit history)
  • Like 1
Link to comment
Share on other sites

Bonjour,

 

Il est effectivement illégal de modifier une facture après édition de celle-ci.

Qu'entendons-nous par édition de la facture ?

Personnellement, je considère que la facture éditée lors de l'envoi de la commande du client

est jointe à cette commande, un double est imprimé et inséré dans mon dossier Factures. Ce double

est conforme à l'adresse de facturation et de livraison, Nom et Prénom du client, Nombre d'articles,

référence de l'article, montant et TVA, etc . La facture jointe au colis du client et mon double étant

identiques, ce double ne peut plus être modifié étant imprimé.

Maintenant parlons de problèmes de facturation de Prestashop. Ce dernier édite la facture dès passation

de la commande et règlement de celle-ci.

Sur notre site, nous avons les commandes en direct, plus celles des  Place des marchés.

Sur ces commandes, il y a de nombreuses erreurs :

exemples : Place des marchés : Nom non inscrit dans l'adresse de livraison ou dans l'adresse de facturation,

le client pensant avoir inscrit son Nom Place des marchés et ne le répète pas lors de sa commande).

Nous nous retrouvons avec une facture sur laquelle apparait le Prénom et Unknown à la place du Nom (ce cas

sur Amazon).

Je ne parle pas des clients qui accolent leur Prénom avec leur Nom sans mettre de blanc, donc un seul Prénom

qui comporte le Prénom et le Nom.

Soit la mise en forme des adresses sur une seule ligne ou sur la deuxième ligne, le nom de la ville et à l'emplacement ville

le nom de la région.

Donc nous remettons en forme sur notre site toutes nos adresses (majuscule sur la première lettre du

Prénom et du Nom, correction des fautes d'orthographe, etc.)

Jusqu'à Prestashop 1.6.0.14 ces modifications étaient prises en compte lors de l'édition de la facture

pour l'impression de celle-ci.

Prestashop 1.6.1 ne prend pas en compte ces corrections objet de ce fil de discussion.

La modification que j'ai décrite ci-dessus reprend en compte ces corrections et je pense être dans l'esprit

de la loi française en éditant une facture avec les coordonnées de livraison et de facturation et mon double

dans mon dossier Factures clients conformes à l'envoi.

Nota : Depuis le début de l'année, nous n'éditons plus sur papier les factures de notre dossier Factures clients

mais une clé USB se trouve dans notre dossier Factures clients et nous inscrivons en numérique les

factures de la semaine en cours et celles-ci étant conformes à celles envoyées aux clients.

Ceci a été fait par économie de papier et la grosseur du dossier factures clients plusieurs centaines de

factures jour.

Je suis ouvert pour toute autre méthode de travail qui rende mes factures lisibles et conformes.

Cordialement

Gérard

Link to comment
Share on other sites

Bonjour,

 

J'ai pris 5 mm pour corriger le problème.

Dans le dossier /class/pdf, vous disposez de toutes les fonctionnalités de génération de PDF.

Ouvrir le fichier HTMLTemplateInvoice.php

 

Mettre en commentaires  " // "   les lignes 151,152,153,155,160,161,162,165

voir ci-dessous

Ligne151        //if ($this->order_invoice->invoice_address) {

Ligne152        //    $formatted_invoice_address = $this->order_invoice->invoice_address;

Ligne153        //} else {

Ligne154            $formatted_invoice_address = Ligne151 AddressFormat::generateAddress($invoice_address, $invoiceAddressPatternRules, '<br />', ' ');

Ligne155        //}

Ligne156

Ligne157        $delivery_address = null;

Ligne158        $formatted_delivery_address = '';

Ligne159        if (isset($this->order->id_address_delivery) && $this->order->id_address_delivery) {

Ligne160            //if ($this->order_invoice->delivery_address) {

Ligne161            //    $formatted_delivery_address = $this->order_invoice->delivery_address;

Ligne162            //} else {

Ligne163                $delivery_address = new Address((int)$this->order->id_address_delivery);

Ligne164                $formatted_delivery_address = AddressFormat::generateAddress($delivery_address, $deliveryAddressPatternRules, '<br />', ' ');

Ligne165           // }

Ligne166        }

 

Maintenant nous affichons dans la facture les adresses ps_custumer donc les adresses avec modification.

 

Bien penser a vider le cache dans Paramètres avancès / Performances

 

Cordialement

Gérard

 

Merci Gérard pour cette solution temporaire qui fonctionne. je vais pouvoir éditer les adresses de livraison sans passer des heures dans PHPMyAdmin !

 

Il ne reste plus à la Presta Team qu'à l'intégrer dans la prochaine version pour ne pas avoir à recommencer à chaque mise à jour...

 

Olivier

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...