Cet article est assez ancien, malgré toute l'attention que j' apporte à mes contenus il est possible que celui-ci ne soit plus d'actualité.
N'hésitez pas à me le signaler si nécessaire via le formulaire de contact.
N'hésitez pas à me le signaler si nécessaire via le formulaire de contact.
Voici un module prestashop tout simple qui se chargera de mettre à jour les taux de TVA de votre boutique facilement.
Il suffit de configurer une tâche cron le 31 décembre à 00h 00 qui appelle le fichier
http:://www.votreSite.com/modules/eitaxupdater/cron.php
Le taux de 19,6% passe à 20 %, et le taux de 7% passe à 10%.
Voici le code du module :
eitaxupdater.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | <?php /** * Module de mise à jour du taux de Taxe FR * * * @version 0.1 | $Revision$ * Last-Modified : $Date$ * Id : $Id$ */ if (!defined('_CAN_LOAD_FILES_')) exit; class EiTaxUpdater extends Module { function __construct() { $this->name = 'eitaxupdater'; $this->tab = 'hhennes'; $this->version = '0.1.0'; parent::__construct(); $this->displayName = $this->l('Ei Tax Updater'); $this->description = $this->l('Update prestashop Tax Rate'); } public function install() { return parent::install(); } public function uninstall() { return parent::uninstall(); } /** * Fonction qui mets à jour le taux de TVA */ public static function updateTaxRate() { /** * Récupération du taux de tax normal 19.6 * ( On se base sur la valeur à 19.6 pour récupérer l'identifiant de taxe ) */ $id_tax = Db::getInstance()->getValue("SELECT id_tax FROM "._DB_PREFIX_."tax WHERE rate LIKE '19.6%'"); if ( !$id_tax ) { echo 'Erreur : Impossible de mettre à jour le taux de TVA => Pas de taux existant à 19.6% '; } else { $tax = new Tax($id_tax); $tax->rate = '20.0000'; $languages = Language::getLanguages(); foreach ( $languages as $lang ) { $tax->name[$lang['id_lang']] = 'TVA FR 20%'; } $tax->save(); echo 'Mise à jour du taux de TVA de 19.6 à 20% effectué '; } /** * Récupération du taux de taxe 7% */ $id_tax = Db::getInstance()->getValue("SELECT id_tax FROM "._DB_PREFIX_."tax WHERE rate='7.0%'"); if ( !$id_tax ) { echo 'Erreur : Impossible de mettre à jour le taux de TVA => Pas de taux existant à 7% '; } else { $tax = new Tax($id_tax); $tax->rate = '10.0000'; $languages = Language::getLanguages(); foreach ( $languages as $lang ) { $tax->name[$lang['id_lang']] = 'TVA FR 10%'; } $tax->save(); echo 'Mise à jour du taux de TVA de 7 à 10% effectué '; } } } ?> |
Fichier cron :
1 2 3 4 5 6 7 8 9 10 | <?php /** * EiTaxUpdater * Tache cron qui mets à jour le taux de TVA */ include_once('../../config/config.inc.php'); include_once(dirname(__FILE__).'/eitaxupdater.php'); //Mise à jour du taux de tva EiTaxUpdater::updateTaxRate(); ?> |
Le code a été testé sous Prestashop 1.3, 1.4 et 1.5
Vous pouvez télécharger le module ici : eitaxupdater