combinations · variants · tax

Enter the base price, VAT rate and each attribute's impact to see the final combination prices with and without VAT. CSV export ready for PrestaShop import included.

Mode
Gross prices (VAT included)
Product base price BasePrice
Variant / combination price CombinedPrice
VAT rate Tax
%
Price impact (for PS) PriceImpact
Δ€
Base price (net of VAT)
Combination price (net of VAT)
Net difference (impact)
Impact % on base price
Value for PrestaShop (6 dp)
# Description Comb. price (€ gross) Net VAT (€) Net impact (€) PrestaShop impact Δ%

What is “Price impact” in PrestaShop?

When you create a product combination (variant) — e.g. size XL or red — PrestaShop does not store the final price: it stores the net difference from the product’s base price.

This field is called Price impact and is added to the net base price (excluding VAT) when the price is built. VAT is then applied to the net total.

The formula

Inputs: gross base price (incl. VAT), gross combination price, VAT rate.

// Split VAT from both gross prices
baseNet     = baseGross     / (1 + taxRate / 100)
combNet     = combGross     / (1 + taxRate / 100)

// Impact is the net difference
priceImpact = combNet - baseNet

// Example: base €99.90, combination €129.90, VAT 22%
baseNet  = 99.90 / 1.22 = 81.885245...
combNet  = 129.90 / 1.22 = 106.475409...
impact   = 106.475409 - 81.885245 = 24.590164

Why 6 decimals?

PrestaShop stores net prices with 6 decimal places to limit rounding drift in VAT calculations. Fewer decimals can make the final price differ slightly from what you expect.

Original PrestaShop JavaScript

// Logic equivalent to the PS back office
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);
}

⚠ If the impact is negative (combination cheaper than the base), PrestaShop accepts negative values — e.g. -10.245902 for a cheaper combination.

PrestaShop manages product pricing with combinations through a "price impact" system: each attribute can add or subtract a fixed or percentage value from the base price.

This calculator includes:

  • Price impact calculation for multiple combinations simultaneously
  • Support for fixed impact (+€) and percentage impact (+%)
  • Italian VAT rates (4%, 10%, 22%)
  • Final price calculation with and without VAT
  • CSV export ready for PrestaShop import

Also useful as a starting point for mapping pricing structures when migrating from PrestaShop to WooCommerce.