Jump to content

Date facture incorrecte


Recommended Posts

Bonjour,

 

Quel est le processus qui détermine la date d'une facture ?

Dans mon cas, la date de la facture est la date de commande, or pour des raisons comptables il faut que la date de la facture soit la date de remise du produit au transporteur.

 

En quelque sorte il faudrait que orders.invoice_date soit égale à orders.delivery_date ?

 

Au travers des divers forums que j'ai parcourus, je pensais que cela se réglait avec les status des états de commande mais manifestement je n'y parvient pas.

 

Merci pour votre aide précieuse,

 

Link to comment
Share on other sites

perso je ne vois vraiment à quoi ça sert mais le plus smiple est peut-être tout simplement de changer la facture pour afficher delivery_date bien que, je le répète je ne trouve pas celà très logique. Je paye un produit/commande comptant par ma carte je veux que ma facture me dise quand je l'ai payé pas quand le commerçant aura la gentilesse de prendre le temps de bien vouloir s'occuper de l'honorer.

 

Au mac-do ton ticket de caisse donne l'heure de ton paiement pas l'heure à laquelle on te le donnera ni celle à laquelle tu l'aura avalé...

Link to comment
Share on other sites

Oui Doekia, je suis d'accord et je ne comprends pas bien non plus, car pour quasiment tous les achats passés sur Internet, la facture est disponible dès qu'on a payé (et donc datée du jour d'achat).

Mais il se trouve que j'ai un client dont l'expert comptable ainsi que le commissaire aux comptes insistent.... Et en regardant de près ce que disent les règles de comptabilité à ce sujet il se trouve qu'ils ont raison ! (donc pourquoi "les autres" font ils autrement.... Mystère).

 

Toujours est-il qu'apparemment c'est possible (sans bidouiller, car bien sur le peux modifier le template de la facture) mais le "Net" est flou à ce sujet (ou c'est moi qui n'aie pas les bonne lunettes !).

Link to comment
Share on other sites

Un pointeur sur ces fameuses règles de comptabilité?

Je doute vraiment du bien fondé.

 

Le paiement est effectif à la date de la commande, la date de valeur et de remise en banque en est une autre, et celle du réalisé encore une, d'autant que selon le mode de livraison (ex: la poste) le réalisé n'est légalement effectif qu'au moment du livré.

 

Et j'insiste lourdement pour ton expert comptable et commissaire aux comptes, PrestaShop n'est pas un outils comptable d'autant qu'avec les massives erreurs de calculs du truc ça va être amusant si on l'utilise dans ce sens

Link to comment
Share on other sites

Sur le site services publics : https://www.service-public.fr/professionnels-entreprises/vosdroits/F23208

il est écrit "Une facture doit, en principe, être émise sans délai, dès la réalisation de la livraison de biens ou de la prestation de services."

 

Sur le site Info-ecommerce : http://www.info-ecommerce.fr/4336/les-factures-et-le-e-commerce-le-cote-legal c'est encore plus clair.

 

Cependant cela reste un grand mystère.... Pourquoi si c'est obligatoire de faire comme ça personne ne le fait ! il y a manifestement des choses qui m'échappent (ce qui ne me surprend pas, car la comptabilité n'est pas mon amie...)

 

Je ne comprends pas quand tu dis ".../...PrestaShop n'est pas un outils comptable d'autant qu'avec les massives erreurs de calculs du truc ça va être amusant si on l'utilise dans ce sens"

De quelles erreurs massives parles-tu ? et il ne s'agit de transformer l'outil, il s'agit simplement de mettre une date sur un document.

Link to comment
Share on other sites

Je parles des myriades d'erreur de calcul des prix/montants dans PrestaShop...

 

Ensuite je lis tes textes mais je fais une énorme différence en les mots PEUX et DOIT.

Tu dois impérativement émettre la facture au plus tard au réalisé, mais rien ne t'empêche de le faire avant et c'est d'ailleurs ce que font 95% des gens car il est plus facile de pointer une facture avec sa ligne de crédit puisqu'elles ont les même date.

 

 

Le détail est important car la majorité des personnes que je croise pensent toujours que cela doit être fait au paiement. Il n’en est rien. La date de paiement peut être ultérieure et doit être mentionnée sur la facture.

 

Tu ne dois donc pas la facture au paiement mais tu peux (par contre au paiement tu dois un reçu - alors pourquoi pas justement cette facture ? )

Et si tu admets les paiement différés mais que tu réalises avant, tu dois cette facture au réalisé et dois y mentionner le paiement ultérieur.

 

Enfin moi je dis ça - hein ...

Change ton template de facturation si ça te chante

Link to comment
Share on other sites

Ok, je crois qu'on ne s'est pas compris, je ne demande pas une explication comptable mais technique.

Je suis déjà convaincu qu'une facture doit logiquement être émise au moment du paiement par le client.

Mais il se trouve que j'ai un client qui me demande de faire autrement....

En tout cas j'ai quand même de la chance a priori car Prestashop me rend des calculs justes....

Link to comment
Share on other sites

heu oui pour la 3eme fois ... change la valeur affiché dans ta facture!!! donc change le template

 

PS: vends un produit à 4.95TTC TVA20% ou fais des remises en % puis procède à un retour partiel de produit puis on en reparle de ta chance des calculs juste

Edited by doekia (see edit history)
Link to comment
Share on other sites

  • 6 months later...

Bonjour et désolé de déterrer ce fil,

@Berdesse : avez-vous trouvé une solution ? Je voudrais aussi que la date de la facture soit conforme à la date d'expédition (et non à la date de commande comme c'est le cas en ce moment).

 

Je ne trouve pas où effectuer ce changement

Merci d'avance,

Philippe

Link to comment
Share on other sites

Bah c'est pourtant natif dans Prestashop ça, je me demande pourquoi vous vous prenez la tête^^

 

Dans le statut "Paiement accepté", décochez "Autoriser les clients à télécharger et lire la version PDF de la facture."

 

Voili voilou  ;)

Link to comment
Share on other sites

Merci Eolia d'avoir pris le temps de lire mon message.

Je vous explique le fond du problème. Les commandes passées sur le site ne sont pas forcément traitées dans l'ordre d'arrivée. Comme le numéro d'ordre des factures se base sur la date d'expédition et que la date de facture est celle de la commande, le classement au niveau comptable devient douteux.

 

Si je parviens à facturer le jour où la facture est émise (quand je change le statut de la commande à "en cours d'expédition"), le problème est résolu.

 

Et comme dirait Berdesse, c'est plus une réponse technique qui m'intéresse.

Link to comment
Share on other sites

Eolia, non malheureusement cela ne fonctionne pas comme ça (c'est la première chose que j'ai essayée), même si on crée la fracture sur l'état livraison en cours (ce qui est mon cas puisque je ne veux pas que le client puisse avoir la facture au moment du paiement - vous aviez tous compris je pense) la date reste celle du paiement !

J'avoue être fort surpris par ce fonctionnement...

 

Pour répondre à PhilHal, la solution simple que j'ai trouvée est l'ajout d'un module qui permet de changer facilement la date de la facture (https://mypresta.eu/modules/administration-tools/invoice-date-change.html ) dans le BO.

C'est tout de même dommage de devoir passer par un module pour solutionner ça.

Link to comment
Share on other sites

La classe pdf utilise 

$this->date = Tools::displayDate($order_invoice->date_add);

 

Lors de la création de commande, dans la classe PaymentModule on a:

$order->invoice_date = '0000-00-00 00:00:00';

 

Cette valeur (date) est mise à jour lors du changement de statut qui autorise l'édition de facture

 

Mais là on tombe sur un truc habituel chez Prestashop...dans Order.php, function setInvoice() :

 

            // Keep it for backward compatibility, to remove on 1.6 version
            $this->invoice_date = $order_invoice->date_add;
 
Sauf que le plus fort c'est qu'à cette étape $order_invoice->date_add n'est pas encore défini...alors que cela devrait être date('Y-m-d h:i:s')
 
Curieux, je croyais qu'on était en 1.6 depuis 2 ans déjà...
 
Et pour continuer à être logique dans la betise on met la même sur le bon de livraison:
 
$this->delivery_date = $order_invoice->date_add;
 
Mais bien sûr^^
Link to comment
Share on other sites

Merci à vous 2 pour les réponses,

 

@Eolia, cette fois c'est moi qui ai du mal à vous suivre. J'ai trouvé le bout de code dont vous faites référence (dans classes/order/order.php) mais je ne vois pas bien ce qu'il faut modifier sans risquer de faire pire.

 

Le fichier order.php peut-il être surchargé ?

Link to comment
Share on other sites

  • 1 year later...

Bonjour, je déterre ce post, mais c'est celui-qui ressort quand on recherche l'erreur correspondante (date de facture mise à la date du bon de livraison, même si on facture à une date différente).

Ce problème semble perdurer sur la 1.7. Ce développeur Espagnol propose un fix : https://ivan.ramos.name/blog/error-fecha-de-factura-en-prestashop

Il corrige la date 'date-add' dans la table 'order_invoice', qui est la date prise en compte pour la datation de la facture.

Edited by Guillaume_MPS (see edit history)
Link to comment
Share on other sites

Effectivement, cela dépend sur quel état on coche la case "Autoriser les clients à télécharger et lire la version PDF de la facture."

Dans notre cas nous voulons que la facture soit générée uniquement lorsque la marchandise est expédiée. La case ci-dessus est cochée dans l'état "Expédié".

Mais visiblement Prestashop n'a pas codé entièrement cette possibilité de choix et code en dur dans la classe Order.php que la date de facturation doit être la date d'ajout du bon de livraison.

Ce fix indiqué par Iván Ramos permet de corriger cela et de mettre la date de la facture à la date de l'état dans lequel on a choisi de générer la facture

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...