SPIP-Contrib

SPIP-Contrib

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

286 Plugins, 197 contribs sur SPIP-Zone, 349 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

  • Réservation d’événements

    16 mars 2015 – 243 commentaires

    Ce plugin permet d’offrir aux visiteurs de s’inscrire pour un évènement du plugin Agenda et de gérer les réservations enregistrées. Installation Le plugin s’installe comme n’importe quel plugin. il nécessite : Agenda API de vérification (...)

  • Passer un site SPIP sous https://

    23 février – commentaires

    Comment migrer simplement votre site SPIP de http:// vers https:// Le protocole https:// devient de plus en plus courant : C’est mieux pour la vie privée de tous La plupart des grands sites l’a déjà adopté Certains navigateurs commencent à afficher (...)

  • Hébergeurs payants

    24 janvier 2009 – 31 commentaires

    Cet article en encore à réorganiser / scinder en deux selon le type (mutualisé ou pro). À priori, SPIP fonctionnera sur tout hébergeur payant traditionnel (qui propose PHP et MySQL). Merci de ne pas mettre des remarques du genre « l’hébergeur truc (...)

  • Moulinette

    17 juillet 2015 – 35 commentaires

    Un squelette qui monte et qui descend ! Moulinette est un squelette basé sur le thème Grayscale (documentation) pour Bootstrap 3. Le type de site attendu est un site en une seule page : une rubrique avec quelques articles, des titres courts, des (...)

  • CleverMail

    20 janvier 2010 – 632 commentaires

    CleverMail est un plugin permettant d’envoyer des lettres d’informations à des abonnés depuis SPIP. Issu au départ d’un développement libre complètement indépendant de SPIP, il a connu une première version pour SPIP 1.9 avant d’être complètement réécris (...)