combinaisons · variantes · fiscalité

Outil complet pour le tarif des combinaisons PrestaShop : impact sur le prix (net, comme dans le back-office), mode inverse de la valeur copiée vers le prix combiné, liste multi-lignes avec libellés modifiables et export CSV. L’onglet Comment ça marche détaille la formule et le JavaScript du BO.

Mode
Prix TTC
Prix de base produit PrixBase
Prix variante / combinaison PrixCombiné
Taux de TVA Fiscalité
%
Impact prix (à saisir dans PS) ImpactPrix
Δ€
Prix de base (HT)
Prix combinaison (HT)
Écart net (impact)
Impact % sur le prix de base
Valeur PrestaShop (6 déc.)
# Description Prix comb. (€ TTC) HT (€) Impact net (€) Impact PrestaShop Δ %

Qu’est-ce que l’« Impact sur le prix » dans PrestaShop ?

Lorsque vous créez une combinaison (variante) — par ex. taille XL ou couleur rouge — PrestaShop ne stocke pas le prix final : il stocke la différence nette par rapport au prix de base du produit.

Ce champ s’appelle Impact sur le prix ; il est ajouté au prix de base hors TVA lors du calcul. La TVA est ensuite appliquée au total net.

La formule

Données : prix de base TTC, prix de combinaison TTC, taux de TVA.

// Scission de la TVA sur les deux prix TTC
baseNet     = baseTTC       / (1 + tauxTVA / 100)
combNet     = combTTC       / (1 + tauxTVA / 100)

// L’impact est la différence nette
impactPrix  = combNet - baseNet

// Exemple : base 99,90 €, combinaison 129,90 €, TVA 22 %
baseNet  = 99.90 / 1.22 = 81.885245...
combNet  = 129.90 / 1.22 = 106.475409...
impact   = 106.475409 - 81.885245 = 24.590164

Pourquoi 6 décimales ?

PrestaShop travaille avec des prix nets à 6 décimales pour limiter les erreurs d’arrondi dans les calculs de TVA. Moins de décimales peuvent donner un prix final légèrement différent.

JavaScript d’origine PrestaShop

// Logique équivalente au back-office PS
function calcolaImpatto() {
  const prezzoBase      = parseFloat(PrezzoBase.value.replace(",", "."));
  const tassazione      = parseFloat(Tassazione.value.replace(",", ".")) / 100;
  const prezzoCombinato = parseFloat(PrezzoCombinato.value.replace(",", "."));

  const baseNoIva  = prezzoBase      / (1 + tassazione);
  const combNoIva  = prezzoCombinato / (1 + tassazione);
  const impatto    = combNoIva - baseNoIva;

  ImpattoPrezzo.value = impatto.toFixed(6);
}

⚠ Si l’impact est négatif (combinaison moins chère que la base), PrestaShop accepte les valeurs négatives — par ex. -10.245902.

Mode d’emploi

  1. Calculer l’impact : saisissez le prix de base et celui de la variante (tous deux TTC), le taux de TVA et lisez l’impact à coller dans PrestaShop.
  2. Prix à partir de l’impact : indiquez le prix de base, l’impact copié depuis PS et la TVA pour obtenir le prix combiné résultant.
  3. Liste des combinaisons : ajoutez plusieurs prix (ou utilisez + Ajouter depuis le calculateur), modifiez les descriptions, comparez les impacts et exportez en CSV.
  4. Utilisez Copier la valeur / Copier pour PrestaShop dans l’en-tête pour copier rapidement la valeur à 6 décimales.