SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

289 Plugins, 197 contribs sur SPIP-Zone, 79 visiteurs en ce moment

Accueil > Commerce > Un filtre pour calculer la TVA et formater son affichage

Un filtre pour calculer la TVA et formater son affichage

28 octobre 2007 – par Cyril Marion – commentaires

1 vote

Ce petit filtre a été écrit pour transformer un champ numérique contenant un prix hors taxes, en un champ contenant les prix hors taxes et TTC, bien formatés, avec les séparateurs de milliers et le signe €...

A ajouter dans mes_fonctions :

@define('tvaNormale', 1.196);
@define('tvaReduite', 1.055);

function ttc($ht, $taux='tvaNormale') {
        setlocale(LC_MONETARY, 'fr_FR');
        $taux = constant($taux);
        $ttc = $ht * $taux;
        $ttc = money_format('%i', $ttc);
        $ht  = money_format('%i', $ht);
        $tva = $ht . " HT" . " (" . $ttc . " TTC)";
        $tva = ereg_replace("EUR", "€", $tva);
        return $tva;
}

Utilisation

Dans un champ d’un article SPIP, par exemple #PS, on peut stocker un nombre qui correspond à un prix hors taxes. Ensuite, si on veut l’afficher avec le format défini par le filtre « ttc » il suffit d’appeler la balise #PS avec le filtre : [(#PS|ttc)].

Par défaut ce filtre utilise un taux de TVA à 19,6%, mais grâce à l’astuce de Patrice, il peut accepter le taux de TVA réduite à 5,5%. Pour cela, il suffit d’appeler la balise comme ceci : [(#PRIX_HT|ttc{tvaReduite})].

Explications

-  la 1re ligne modifie la manière dont le serveur va afficher les données au format monétaire (voir lien)
-  la 3e ligne calcule le montant TTC avec une TVA à 19,6% (par défaut) ou le taux envoyé en paramètre avec le filte.
-  les 4e et 5e lignes appliquent le format aux montants HT et TTC (voir lien)
-  la 6e ligne génère la chaine qui sera affichée (ici « 999,00 € HT (1234.56 € TTC) »
-  la 7e ligne s’assure que c’est bien le signe « € » qui s’affiche et non pas le code ISO « EUR » (c’est moins joli...).

P.-S.

un exemple en ligne : sur une fiche « formation » du catalogue des formations FinHarmony, en bas, dans la partie « prix ».

Dernière modification de cette page le 2 novembre 2007

Retour en haut de la page

Vos commentaires

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Mots arborescents

    12 octobre 2015 – 15 commentaires

    Ce plugin permet de gérer une arborescence de mots-clés. La configuration d’un groupe de mots dispose d’une nouvelle option pour autoriser pour ce groupe les arborescences de mots-clés. Dans ces groupes, des mots enfants peuvent être créés pour (...)

  • ORR v2

    21 mai 2013 – 111 commentaires

    ORR, le plugin d’Organisation des Réservations et des Ressources passe en version 2, avec quelques nouveautés attendues. Je ne reprendrai pas les explications données dans la version 1. Les nouveautés : 1. Gestion des autorisations Le principe (...)

  • Social tags

    8 septembre 2008 – 448 commentaires

    Le plugin Social Tags permet d’ajouter des icônes de partage de liens vers les sites tels que Digg, Facebook, Delicious.... Une fois le plugin installé et activé (voir doc.), le choix des sites se fait via un menu de configuration. Insertion (...)

  • Mailshot

    16 janvier 2013 – 309 commentaires

    Ce plugin prend en charge l’envoi en nombre d’info-lettres par email. Mailshot permet l’envoi en nombre d’emails au moyen d’un SMTP (ou d’un service externe) dédié à cet effet. Il permet de limiter la cadence d’envoi. Enfin, ce plugin implémente la (...)

  • Visualiser un PDF dans un article

    13 juin – commentaires

    SoyezCréateurs utilise un modèle pour afficher un PDF dans le corps d’un article Un peu d’histoire Avant, les navigateurs n’incluaient pas de lecteur PDF nativement ce qui avait conduit à la création du plugin Lecteur pdf javascript pdf.js. Mais, (...)