Smart Calculators SmartCalculators

Multiple Discount Calculator

Calculate the final price after applying several chained discounts and find the total effective discount.

Denne kalkulatoren er ikke oversatt til Norsk bokmål ennå.

Vi viser foreløpig versjonen på Engelsk mens vi fullfører oversettelsen.

USD

%

Final price

$90.00

Total saved

$10.00

Effective discount

10%

Discount breakdown

StepPrice beforeDiscountAmount savedPrice after
1$100.0010%-$10.00$90.00

Stacked discount calculator. Final price, total saved and the effective rate of a chain of discounts.

This calculator applies each percent off to the price left by the one before it, then reports the final price, the total saved and the single effective rate. A breakdown table underneath lists every discount in the chain with the price before it, the amount it removes and the price after, so the drop from tag to till is visible row by row.

Two Ways to Advertise 60% Off, Two Different Prices

A 30/20/10 chain and four rounds of 15% both advertise 60% off, and they do not come to the same price: the first leaves 50.40 out of a 100 tag, the second leaves 52.20. Splitting one headline total into more rows of equal size is the worse deal every time — the four-row version falls 12.2 points short of its own 60%, the three-row version 10.4. Hold the advertised total at 60% and the pattern never breaks: two 30% cuts give up 9 points, three 20% cuts give up 11.2, six 10% cuts give up 13.14. So every extra layer genuinely does widen the illusion, which is the case The Double Discount Myth makes about triple discounts. The mechanism is that the shortfall is assembled out of every pair of discounts multiplied together — with two cuts it is exactly their product over 100, which is why 30 and 30 surrender 9 points — and one fixed total yields more of those pairs the more ways you slice it. Raising the percentages pushes in the same direction, which is how two 50% cuts finish 25 points below the 100% they seem to promise.
This page takes one price and as many percentages as the offer has, and answers with three figures instead of one. Final price is what the chain leaves. Total saved is the distance from the original. Effective discount is the single rate that would have produced that same price in one step, and it is the number to quote when you rank one offer against another. That third card is what separates this tool from the single-percentage discount calculator, which has only a price and a saving to report. Underneath the cards, an alert totals the percentages you typed and puts the obvious question to them: with two rows of 10 on the default 100 price it reads "Why isn't it 20%?", then answers with the effective 19%. Blank one of those two rows down to 0 and the alert vanishes, because a lone 10% discount makes the sum and the effective rate the same number and there is nothing left to explain.
The breakdown table below the alert is the part that makes a chain auditable. One row per discount and five columns: the step number, the price before that discount, the percentage, the amount it removed, and the price after. Two things hold as you read down it. Each row's price before is the previous row's price after, so the column is one continuous slide rather than a set of unrelated sums. And in every chain worked on this page, the figures in the amount-saved column add back up to the Total saved card — which is the check to run when a receipt disagrees with the screen. If your total still differs, the discrepancy is in which promotions the shop actually applied, not in the multiplication.
The vocabulary around this is unusually crowded for such a small piece of arithmetic, and most of it means the same thing. Stacked, chained, successive, sequential, compound and cascading discounts all describe one operation: each percentage applies to whatever the previous one left. Wholesale and accounting call the same structure a discount series or trade discount chain and write it as 30/20/10 for three cuts taken in order. The multiplier that chain produces — 0.504 — is the net price factor, and the rate it works out to, 49.6%, is the single equivalent discount, which Double Entry Bookkeeping abbreviates to SED. Coupon stacking is the retail-side name for combining offers at a till, and it is a question about a shop's rules rather than about the maths. The one term worth carrying into the calculator is the complement: the share of the price that survives a discount, 0.70 for 30% off and 0.90 for 10% off.
One percentage on one price is a different page's job. The discount calculator covers a single sale with nothing on top, and it is also where the cent-level behaviour of .99 prices gets picked apart. If you know the original and the final price but not the rates that connected them, work backwards with the discount percentage calculator. If what you want is the argument for why percentages refuse to add, along with the retail psychology that exploits it, that case is made at length in The Double Discount Myth — this calculator is the tool that article points at. And when tax enters the picture, the chain settles first and the VAT and sales tax calculator handles the tax on the result.

Running a Chain Through the Calculator

The page opens with 100 in the price field and a single discount row set to 10, which produces a final price of 90.00, a saving of 10.00 and an effective discount of 10%. With one row the effective rate and the percentage you typed are necessarily the same number, which is why the alert about the arithmetic sum stays hidden until a second row exists. Nothing needs submitting: the cards and the table redraw on every keystroke.
1. Start with the undiscounted price at the top. That field is prefixed with the USD code and accepts cents, so a 59.99 tag transfers digit for digit. Click a field already sitting at 0 and it clears itself, ready to be overwritten.
2. Fill in the first discount. Its row is labelled Discount #1 and closes with a percent sign. Whatever figure the promotion shouts is the figure that belongs there: a banner reading 20% off wants 20, never 0.2, and never the 80 you would actually be paying.
3. Press Add discount for each further offer. Every new row arrives pre-filled with 10, so one press on the default state gives you two rows of 10: the cards move to 81.00, 19.00 and 19%, and the alert appears asking why it isn't 20%. Overwrite the new row with the percentage you actually have.
4. Remove a row with the red minus button beside it. Those buttons show up on every row the moment a second row exists, the first row included, and they all disappear again once the list is back down to one — so any discount can be pulled out, but the chain can never be emptied entirely.
5. Read the cards, then read the table. The cards answer what you pay and what rate you got; the table shows where each row's money went, which is the part worth screenshotting if you plan to query a receipt.
Knowing where the edges of the chain sit stops a strange result from reading as a bug. Every row lives inside 0 to 100, and a row that tries to leave that range is pulled back into it before the chain runs, so nothing you type can turn a discount into a surcharge. A row left at 0 keeps its place in the table and removes 0.00, which is handy for holding a slot open while you check whether a code applied. A row at 100 ends the chain where it stands: the price is gone, and every row after it takes 0.00 off a price that is already zero — so a 100 and 20 pairing reports an effective 100% against a typed total of 120%, which is the alert working correctly rather than misfiring. Zero the price and the three cards fall to zero with no table beneath them, because a chain has nothing to bite on.
The whole chain travels in the address bar. On load the page reads two parameters, originalPrice and discounts, with every row packed into the second one and separated by a tilde: ending a link with originalPrice=250 and discounts=20~10~5 opens the calculator on a 250 price with three rows already filled. The parser is strict about it — one row outside 0 to 100 invalidates the entire discounts parameter and the page falls back to its default single row of 10 — and it reads the address only once, at load, so typing afterwards does not rewrite the bar.
For the mental version, turn each cut into what is left of the price and multiply those instead. A 30% cut is a multiplication by 0.70, a 20% cut by 0.80, a 10% cut by 0.90, and 0.70 × 0.80 × 0.90 = 0.504, so a 30/20/10 chain leaves you paying just over half. For exactly two discounts there is a faster route worth memorising, since two is the common case at a checkout: add the percentages, then subtract their product divided by 100. For 20 and 10, that is 30 − 2 = 28%. The sanity check on any answer is that the chain must land above what a single discount of the same total would leave — if the calculator shows you paying less than the naive sum implies, a percentage went into the wrong field.

Worked Chains, Row by Row

A 1,299 laptop at 30% off, then 20%, then 10%

A supplier quotes a 30/20/10 discount series on a 1,299 machine. Typed as three rows, the table prints this:
StepPrice beforeDiscountAmount savedPrice after
11,299.0030%-389.70909.30
2909.3020%-181.86727.44
3727.4410%-72.74654.70
The cards read 654.70 to pay, 644.30 saved and an effective discount of 49.6%, and the alert asks why it isn't the 60% the three rows add up to. A genuine single 60% cut on the same tag would have left 519.60, so the difference between the offer as advertised and the offer as delivered is 135.10 on one purchase.
Read down the amount-saved column and the mechanism is right there: 389.70, then 181.86, then 72.74. The third discount is a full 10% and it removes under a fifth of what the first one did, because by then it is working on 727.44 instead of 1,299. This is also the cleanest row in the whole page for checking your own arithmetic, since 1,299 is a whole number: the raw product is 654.696, the printed price is 654.70, and the effective card matches the textbook 49.6% exactly.

Two 15% codes on a 19.99 order, and the 27.76% that should be 27.75%

A newsletter code and a first-order code, both 15%, on a 19.99 basket:
StepPrice beforeDiscountAmount savedPrice after
119.9915%-3.0016.99
216.9915%-2.5514.44
Final price 14.44, total saved 5.55, effective discount 27.76%.
That card is the interesting number, because the textbook answer is 27.75%. Two 15% cuts leave 0.85 × 0.85 = 0.7225 of the price, so on a round 100 tag the calculator reports exactly 27.75%. On 19.99 it reports 27.76%, and the extra hundredth of a point is not an error — the effective rate is computed from the printed final price, and the printed price is 14.44 where the raw product is 14.442775. On a twenty-dollar order, a fraction of a cent is worth a hundredth of a percentage point.
The first row is worth a second look too. Fifteen percent of 19.99 is 2.9985, which prints as a flat 3.00, so a chain on a .99 price tends to produce suspiciously tidy savings in its early rows and awkward ones at the end.

Splitting 33.33 three ways with 10% off each

Three consecutive 10% rows on a 33.33 item — a clearance price that had already been divided by three:
StepPrice beforeDiscountAmount savedPrice after
133.3310%-3.3330.00
230.0010%-3.0027.00
327.0010%-2.7024.30
Final price 24.30, total saved 9.03, effective discount 27.09%.
The savings column reads 3.33, 3.00, 2.70: each identical 10% removes roughly a tenth less than the row above it, and the three together land 2.9 points below the 30% they advertise. Two 15% cuts would advertise that same 30% and give up only 2.25 points, so of the two offers this is the one to turn down. Carving a headline total into more rows of roughly equal size always leaves the buyer with less, and the shrinking figures in that column are where the money goes.
The middle row lands on a suspiciously round 30.00 because 10% of 33.33 is 3.333 and the display stops at the cent. The chain itself keeps the fraction and finishes at a raw 24.29757, printed as 24.30. That is also why the effective card reads 27.09% against a textbook 27.1%: it follows the printed price, not the unrounded one.

Two 33% cuts on a 7.77 item: the biggest drift on the cheapest tag

A 33% clearance cut with a 33% member discount on top of it, on a 7.77 item:
StepPrice beforeDiscountAmount savedPrice after
17.7733%-2.565.21
25.2133%-1.723.49
Final price 3.49, total saved 4.28, effective discount 55.08%.
The textbook rate for two 33% cuts is 1 − 0.67 × 0.67, or 55.11%, and the card is three hundredths of a point below it. The raw product of the chain is 3.487953 and it prints as 3.49, a gap of about a fifth of a cent — which on a 7.77 tag is worth 0.03 of a percentage point, while the same fifth of a cent on the 1,299 laptop above would not register at all. Cheap items carry the biggest rounding footprint, and a two-row chain on a coffee-shop price is where you will see the effective card diverge from a hand calculation most.
Worth noting what did not happen: 33 and 33 add to 66, and the chain delivered 55.08%. Nearly eleven points of the advertised total went nowhere, on an item where the entire discount is worth 4.28.

A 20% sale plus a 10% code on a 59.99 tag

The commonest stacked offer there is — a storewide sale with a code on top:
StepPrice beforeDiscountAmount savedPrice after
159.9920%-12.0047.99
247.9910%-4.8043.19
Final price 43.19, total saved 16.80, effective discount 28%.
Row one is exactly what the single-discount page reports for this tag, and it is unpacked there in detail: 47.99 to pay, 12.00 saved, with the cent-level reasoning behind that flat 12.00 spelled out in the discount calculator. What this page adds is row two. The 10% code lands on 47.99 rather than on 59.99, so it removes 4.80 instead of the 6.00 it would have taken off the original price.
That 1.20 is the entire stacked-discount effect, expressed as money rather than as a percentage-point gap. The signs add to 30%, the card says 28%, and the raw product of the chain is 43.1928. If you are deciding whether the code is worth applying at all, 4.80 is the number that matters — not the 10% on the banner.

The Chain Formula, and What Rounding Does to It

Pf=P0×(1d1100)×(1d2100)××(1dn100)P_f = P_0 \times \left(1 - \frac{d_1}{100}\right) \times \left(1 - \frac{d_2}{100}\right) \times \cdots \times \left(1 - \frac{d_n}{100}\right)
  • P0P_0 = Original price — the number the chain starts from, before any discount
  • d1,d2,,dnd_1, d_2, \ldots, d_n = Each discount as it is advertised (20 for 20% off), held between 0 and 100 by the calculator
  • PfP_f = Final price after the whole chain, rounded to the nearest cent for display
  • SS = Total saved — the original price minus the rounded final price
  • deffd_{\text{eff}} = Effective discount — the single rate that would produce the same final price in one step
Every discount enters the formula as its complement, the share of the price that survives it. Thirty percent off is a multiplication by 0.70, twenty percent off by 0.80, ten percent off by 0.90. Multiply the complements and you have the net price factor for the whole chain: 0.70 × 0.80 × 0.90 = 0.504, which is why a 30/20/10 series leaves 50.40 out of a 100 tag. Subtract that factor from 1 and you have the effective discount.
deff=(1i=1n(1di100))×100d_{\text{eff}} = \left(1 - \prod_{i=1}^{n}\left(1 - \frac{d_i}{100}\right)\right) \times 100
For exactly two discounts there is a shortcut worth keeping in your head, because two is what a checkout usually throws at you: add the percentages, then subtract their product divided by 100. Twenty and ten gives 30 − 2 = 28%. Thirty and twenty gives 50 − 6 = 44%. Fifty and fifty gives 100 − 25 = 75%. That subtracted term is the phenomenon itself — it is the second discount applied to money the first one had already taken away, which is exactly what you double-count when you add the signs together.
What no other explanation of this formula gets to is what happens when the answer has to be printed. The chain runs at full precision inside the calculator, each step handing its exact value to the next, and then every figure on screen is rounded to the cent — the final price, each row's price before and after, and each amount saved. So the printed answer can sit up to half a cent away from the raw product, and the effective card, which is computed from that printed price, can sit a hundredth or two of a point away from the textbook rate.
PriceChainRaw productPrinted finalEffective cardTextbook rate
59.9920 + 1043.19280043.1928%28%
19.9915 + 1514.44277514.4427.76%27.75%
1,29930 + 20 + 10654.696000654.7049.6%49.6%
33.3310 + 10 + 1024.29757024.3027.09%27.1%
7.7733 + 333.4879533.4955.08%55.11%
Two patterns run through that table. The printed price goes whichever way the fraction points — down on the 59.99 row, up on the 1,299 and 33.33 rows — and the effective card follows the printed price rather than the raw product, since it is total saved divided by the original, carried to two decimals. That is why the card can read 27.76% where the textbook says 27.75%, and 55.08% where the textbook says 55.11%. The drift is wider on cheap tags, because half a cent is a bigger slice of 7.77 than of 1,299, and it is never more than one rounding step across. This is not slop the tool piles on top of the maths. A cent is the smallest unit money comes in, and a chain forced to display itself in cents behaves exactly as a checkout terminal behaves — which is precisely why the printed figure is the one that will agree with a receipt.
The formula also settles the question every stacked offer raises. Multiplication commutes, so the order of the rows cannot change the final price. All six orderings of a 30/20/10 chain on a 200 price print 100.80. A 50/20/5 chain on the same price prints 76.00 whichever way round you type it, and 40/15/10 prints 91.80. What does change is the table: swap two rows and the price before, amount saved and price after columns all differ, while the bottom line does not budge. So when a cashier asks which code should go on first, the honest answer is that it makes no difference to what you owe — the only thing at stake is which row of the breakdown looks biggest.

Every Chain the Calculator Prints, from Two Tens Upward

Discount chainPercentages addedEffective discountPrice left from 100Gap
10% + 10%20%19%81.001 pt
20% + 10%30%28%72.002 pts
30% + 20%50%44%56.006 pts
25% + 25%50%43.75%56.256.25 pts
50% + 20%70%60%40.0010 pts
70% + 20%90%76%24.0014 pts
50% + 50%100%75%25.0025 pts
10% + 10% + 10%30%27.1%72.902.9 pts
20% + 10% + 10%40%35.2%64.804.8 pts
30% + 20% + 10%60%49.6%50.4010.4 pts
40% + 30% + 20%90%66.4%33.6023.6 pts
50% + 30% + 20%100%72%28.0028 pts
15% + 15% + 15% + 15%60%47.8%52.2012.2 pts

Where Stacked Discounts Cost People Money

  • Adding the percentages and then budgeting for that total. A 30/20/10 offer reads as 60% off, so a 100 tag looks like 40.00 to pay. The chain leaves 50.40 and the effective card reports 49.6% — a 10.4-point miss, and on a 1,299 purchase that is 135.10 of unplanned spending. The habit that fixes it is to stop reading the signs as a total and read the effective card instead, which exists for precisely this comparison.
  • Waiting for the discounts to be applied in the right order. They commute. All six orderings of 30/20/10 on a 200 price print 100.80, a 50/20/5 chain prints 76.00 either way, and 40/15/10 prints 91.80. Order only bites when a fixed amount joins the queue, and that is a platform rule rather than arithmetic: Square's till documentation states that "the percentage discount will be applied first followed by the dollar amount discount". This calculator takes percentages only, so a flat 10-off coupon is not a row you can type here.
  • Expecting the chain to reconcile to the cent with a hand-multiplied answer. Multiply 1,299 by 0.70, 0.80 and 0.90 and you get 654.696; the calculator prints 654.70, because a price has to stop at the cent. The same half-cent gap explains why 20 + 10 on 59.99 prints 43.19 against a raw 43.1928. Compare printed against printed, never printed against a spreadsheet carrying six decimals, and the difference disappears.
  • Quoting the sum of the rows as the discount you received. The alert under the cards exists to head this off: it totals the percentages you entered and sets them beside the effective rate. The divergence is worst at the top end, where the numbers sound most impressive — 50% + 30% + 20% adds to 100% and delivers 72%, leaving 28.00 out of a 100 tag rather than nothing at all. If you are reporting a saving to anyone, report the effective rate.
  • Assuming any two offers will stack. Whether they combine is set by the shop's system, not by the maths. Shopify's combination rules cap a shopper at "a maximum of 5 product or order discount codes and 1 shipping discount code on the same order", each discount has to be configured as combinable in the first place, and two product discounts on the same item only work on Shopify Plus. Square is blunter still: "You can only apply a specific discount to a sale once." Confirm what actually applied at the checkout screen, then type those rows.
  • Running the chain on a list price nobody was ever charged. The multiplication is faithful to whatever goes in the first field, so an inflated original inflates every row and the effective rate with it. An outlet tag marked down from a price that only ever existed on the tag will produce a spectacular chain and a mediocre deal. When you have a real reference price and the price you actually paid, get the rate between them from the discount percentage calculator rather than trusting the first number on the sign.
  • Stacking rows on top of a 100% giveaway and expecting them to count. Once any row empties the price, the chain has nothing left to work on: each subsequent row dutifully removes 0.00, and the effective card reads 100% next to a typed total that can be far larger. Rows are also held inside 0 to 100 before the chain runs, and a 150 typed in frustration becomes 100 rather than a negative price. An offer that appears to exceed 100% off is really two promotions printed next to each other, and the way to price it is two rows rather than one inflated figure.
  • Reading a 0% row, or a missing alert, as a broken calculator. A row left at 0 keeps its place in the table and removes 0.00. If it is the only company a single real discount has, it also hides the sum-versus-effective alert, because 20 and 0 come to 20 whichever way you count them and there is nothing left to explain. Drop that same empty row into a chain already holding two real discounts and the alert stays put — 20, 10 and 0 still total 30 against an effective 28. Either way the fix is to delete the row: once two or more rows are on screen every one of them carries a minus button, and they all vanish when a single discount is left, so the list can shrink to one row but never to none.
  • Judging a long chain against a single big cut by eye. Three rows sound more generous than one, and they rarely are. A 40% + 30% + 20% chain adds to 90% and delivers 66.4%, leaving 33.60 out of 100, while a flat 70% leaves 30.00. A single discount of X% always beats any chain of smaller discounts that sums to X%, so when a shop offers you a choice between one code and three, price both here before picking.

Stacked Discounts — Frequently Asked Questions

How do I calculate two discounts one after another?

Take the first percentage off the original price, then take the second percentage off what is left. On a 100 tag, 20% leaves 80.00, and a further 10% removes 8.00 to finish at 72.00 — an effective discount of 28%, not the 30% the two signs add up to.

Is 20% off plus 10% off the same as 30% off?

No. The chain leaves 72.00 out of a 100 tag and this calculator reports 28%; a flat 30% leaves 70.00. The missing 2.00 is the second discount landing on the reduced price. The Double Discount Myth works through why in detail.

Does the order of the discounts matter?

Not for what you pay. Multiplication commutes, so all six orderings of a 30/20/10 chain on a 200 price print 100.80, and a 50/20/5 chain prints 76.00 whichever way you enter it. What changes is the breakdown table: the price before, amount saved and price after columns all shift when you swap rows, while the final price does not. Where sequence genuinely matters is inside a shop's system, and only when different kinds of discount are mixed — Shopify applies product discounts first, then order discounts to the revised subtotal, then shipping discounts last, and Square applies a percentage discount before a dollar-amount one.

How do I work out the effective discount of a chain?

Multiply the complements of the discounts, then subtract the result from 1. For 30/20/10 that is 0.70 × 0.80 × 0.90 = 0.504, so the effective discount is 1 − 0.504 = 0.496, or 49.6%. The third result card does this for you, and it derives the figure from what you actually pay: total saved divided by the original price, to two decimals.

How many discounts can I stack in the calculator?

As many rows as you care to add — press Add discount and a new row arrives pre-filled with 10, which you then overwrite. As soon as there are two or more rows, every row carries a minus button, the first one included, and those buttons all disappear when a single discount is left, so the chain can shrink back to one row but never to none. Real checkouts are stricter than the tool: Shopify caps a customer at five product or order discount codes plus one shipping code on a single order, so a four-row chain is already an unusual offer in the wild.

Why doesn't the final price match my own multiplication exactly?

Because a price can only be quoted to two decimals. Multiplying 1,299 by 0.70, 0.80 and 0.90 gives 654.696, and the calculator prints 654.70. The chain itself runs at full precision — each step passes its exact value on — and the rounding happens when a figure is displayed. The gap is never more than half a cent on the price, and the printed number is the one that matches a till.

Can I stack a coupon on top of a sale price?

Often, but it is the shop's rules that decide, not the arithmetic. Shopify lets a product discount combine with an order discount and with a shipping discount, but only when each has been configured as combinable, and two product discounts on the same item require Shopify Plus. Square states plainly that a specific discount can only be applied to a sale once. Check what the checkout screen actually accepted, then enter those percentages here to see the rate they came to.

Why did the "Why isn't it 20%?" note disappear?

That alert needs two conditions: at least two discount rows, and a gap of at least a hundredth of a point between the percentages you typed and the effective rate. A second row left at 0 meets the first condition and fails the second — 20 and 0 total 20, and the effective rate is 20 as well — so the note has nothing to say and hides itself. It is not the zero that silences it, though: add a 0 row to a chain that already holds two real discounts and the note stays, because 20, 10 and 0 still add to 30 against an effective 28.

What happens if I enter more than 100%?

The row is pulled back to 100 before the chain runs, so 150 behaves as 100. That row takes the price straight to 0.00, and every row after it removes nothing at all, because there is no price left to discount — the effective card will read 100% however much you typed.

Is a single 30% discount better than 20% plus 10% off?

Yes, by 2.00 on a 100 tag: the single cut leaves 70.00, the chain leaves 72.00 and reports 28%. This holds all the way up the scale — 40% + 30% + 20% adds to 90% but delivers only 66.4%, so a flat 70% elsewhere beats it. A single discount of X% always saves more than any combination of smaller discounts adding to X%, which is why "an extra 20% off" is worth less than it sounds.

Can I add a fixed-amount coupon to the chain?

Not as a row — every field on this page is a percentage, and a flat amount off is addition rather than multiplication, which is also why mixing the two makes order matter. The practical route is to run the percentage chain here first, then subtract the flat coupon from the final price if that is the sequence your shop uses. Square's tills do it in that order, applying the percentage before the dollar amount.

What does the effective discount tell me that the final price doesn't?

It makes two offers on two different tags comparable. A final price only means something next to its own original, whereas an effective rate can be ranked: a 25% + 25% bundle comes to 43.75%, so a straight 45% elsewhere is the better deal even before you look at the prices. A loyalty ladder of four 15% rewards sounds enormous and lands at 47.8%. Use the effective card to choose between offers, then use the final price to decide whether you actually want the thing.

How accurate is this calculator?

Prices come out to the cent and the effective rate to two decimals. The chain is computed at full precision and rounded for display, so the printed price can differ from an unrounded hand calculation by up to half a cent — 654.70 against a raw 654.696, for example. Two things sit outside its reach: which of a shop's promotions will genuinely combine, and whether a particular till totals the basket first and rounds once at the end. So read the result as the arithmetic of the offer, not as a promise from the retailer.

Is this stacked discount calculator free to use?

Yes — it is a free online tool, it runs in your browser, it needs no account, and it takes as many discount rows as an offer has. Alongside it sit the discount calculator for a single percentage, the discount percentage calculator for finding the rate between two prices, the percentage calculator when the percentages have nothing to do with a shop at all, and the VAT and sales tax calculator for putting tax on whatever the chain leaves behind.

Innhold verifisert av Smart Calculators-teamet