Gavimse Posted September 10 Share Posted September 10 Bonjour, J'ai des clients français et des clients étrangers, j'ai créé un groupe différent pour chacun. Je souhaite désormais un modèle de facture différent, est-ce possible? Pas de TVA pur les étrangers et une mention à ajouter. Un module à me conseiller? Link to comment Share on other sites More sharing options...
Eolia Posted September 10 Share Posted September 10 c'est natif dans Prestashop. Mettez vos templates de facture dans /pdf/XX/ où XX est le code iso du pays (DE/AT/FR/BE...) /** * Returns the invoice template associated to the country iso_code * * @param string $iso_country */ protected function getTemplateByCountry($iso_country) { $file = Configuration::get('PS_INVOICE_MODEL'); // try to fetch the iso template $template = $this->getTemplate($file.'.'.$iso_country); // else use the default one if(!$template) { $template = $this->getTemplate($file); } return $template; } Link to comment Share on other sites More sharing options...
Eolia Posted September 10 Share Posted September 10 Mais si pas de TVA, la phrase peut-être ajoutée simplement dans le tpl /pdf/invoice.tax-tab.tpl. La phrase sera affichée à la place du tableau des taxes. Link to comment Share on other sites More sharing options...
Gavimse Posted September 10 Author Share Posted September 10 Ok super. Petite précision : j'ai une dernière mention à ajouter mais qui est une variable, c'est le numéro de TVA du client. Comment faire? Link to comment Share on other sites More sharing options...
Eolia Posted September 10 Share Posted September 10 le n°de TVA sera affiché dans l'adresse en haut si vous l'avez intégré dans le format d'adresse pour ce pays. Link to comment Share on other sites More sharing options...
Gavimse Posted September 13 Author Share Posted September 13 On 9/10/2024 at 12:14 PM, Eolia said: le n°de TVA sera affiché dans l'adresse en haut si vous l'avez intégré dans le format d'adresse pour ce pays. Bonjour, Où se trouvent ces paramètres ? Link to comment Share on other sites More sharing options...
Gavimse Posted September 13 Author Share Posted September 13 On 9/10/2024 at 12:00 PM, Eolia said: c'est natif dans Prestashop. Mettez vos templates de facture dans /pdf/XX/ où XX est le code iso du pays (DE/AT/FR/BE...) /** * Returns the invoice template associated to the country iso_code * * @param string $iso_country */ protected function getTemplateByCountry($iso_country) { $file = Configuration::get('PS_INVOICE_MODEL'); // try to fetch the iso template $template = $this->getTemplate($file.'.'.$iso_country); // else use the default one if(!$template) { $template = $this->getTemplate($file); } return $template; } Bonjour, J'ai bien compris que l'on pouvait avoir plusieurs thèmes et ça c'est top mais je n'ai pas compris comment faire. Précision : il s'agit d'un presta 1.7. (j'espère que cette possibilité est toujours d'actualité dans cette version) Link to comment Share on other sites More sharing options...
Eolia Posted September 13 Share Posted September 13 Il y a 6 heures, Gavimse a dit : Bonjour, Où se trouvent ces paramètres ? International => Zones géographiques =>Pays => cliquez sur un pays Link to comment Share on other sites More sharing options...
yama Posted September 16 Share Posted September 16 On 9/13/2024 at 10:57 PM, Gavimse said: Précision : il s'agit d'un presta 1.7. (j'espère que cette possibilité est toujours d'actualité dans cette version) Visiblement, oui. https://github.com/PrestaShop/PrestaShop/blob/1.7.8.x/classes/pdf/HTMLTemplateInvoice.php#L470 Link to comment Share on other sites More sharing options...
Gavimse Posted September 16 Author Share Posted September 16 On 9/10/2024 at 12:00 PM, Eolia said: c'est natif dans Prestashop. Mettez vos templates de facture dans /pdf/XX/ où XX est le code iso du pays (DE/AT/FR/BE...) /** * Returns the invoice template associated to the country iso_code * * @param string $iso_country */ protected function getTemplateByCountry($iso_country) { $file = Configuration::get('PS_INVOICE_MODEL'); // try to fetch the iso template $template = $this->getTemplate($file.'.'.$iso_country); // else use the default one if(!$template) { $template = $this->getTemplate($file); } return $template; } Bonjour, Donc si j'ai bien compris je crée par exemple DE.tpl (il sera mon template pour les factures allemandes) que je place dans le dossier pdf. Par contre, je veux prendre comme base le template pour les factures françaises, où le trouver? C'est invoice.tpl? Link to comment Share on other sites More sharing options...
Eolia Posted September 16 Share Posted September 16 Non. Vous avez un répertoire existant /pdf/ où sont tous vos templates. Créez un sous répertoire dans ce répertoire: /pdf/DE/ Et COPIEZ-Y tous les templates qui sont à la racine. Vous pourrez ensuite éditer tous ces nouveaux tpls. Link to comment Share on other sites More sharing options...
Gavimse Posted September 16 Author Share Posted September 16 Ok merci. J'ai un .htaccess est-il vraiment utile? Link to comment Share on other sites More sharing options...
Eolia Posted September 16 Share Posted September 16 Oui n'y touchez pas. Link to comment Share on other sites More sharing options...
Gavimse Posted September 16 Author Share Posted September 16 J'ai beau modifier le fichier invoice.tpl de mon sous-dossier /DE/ (j'ajoute un background-color pour tester), rien ne se passe... J'ai du faire une erreur quelque part. Link to comment Share on other sites More sharing options...
Gavimse Posted September 18 Author Share Posted September 18 J'ai beau créé un dossier avec le nom iso du pays (pdf/DE) et passer une commande avec un compte allemand, le template facture reste celui de base. Link to comment Share on other sites More sharing options...
Gavimse Posted September 18 Author Share Posted September 18 C'est bon j'ai trouvé. Petite question : est-il possible, plutôt que de faire un template par pays, de faire un template qui regroupe tous les pays hors FR? Link to comment Share on other sites More sharing options...
Nemesis tech Posted September 18 Share Posted September 18 @Gavimse Oui c'est possible, mais il faut modifier le code de controller qui génère les factures et le TPL pour faire une condition selon le code ISO du pays. Sinon, est-ce que vous avez-pensez utiliser un logiciel de facturation externalisé ? Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now