Shopify Discount Rounding Issue: Why Your Fixed-Amount Discount May Be Off by a Few Cents
Pixoo Team
Transparency Report

Shopify Discount Rounding Issue: Why Your Fixed-Amount Discount May Be Off by a Few Cents
TL;DR
Shopify's checkout calculation engine can add or remove a few cents from fixed-amount discounts. This happens after any discount app sends its value, deep inside Shopify's tax and currency rounding logic. It affects every app that uses Shopify's discount Functions API -not just Pixoo. We've reported the issue to Shopify, their team is aware, but there is no fix available yet. Your discounts remain 99.99% accurate.
In this article:
- What happened
- The root cause
- Which currencies are affected
- Does this only affect Pixoo?
- What Shopify is doing
- What Pixoo is doing
- What you can try
- FAQ
- Timeline
What happened
A merchant recently reached out to let us know that a discount set to exactly 100.02 SEK was showing up as 100.02 AUD at checkout. That's a one-cent difference -tiny, but unacceptable when you've built your app around precise multi-currency amounts.
We investigated immediately. Our app was sending the correct value. Shopify's function logs confirmed it: the output was 100.00. But by the time the customer saw the checkout page, it had become 100.02.
We contacted Shopify Support to get to the bottom of it. After a thorough exchange -involving multiple support advisors and an escalation to their development team -we got a clear answer.

The root cause: Shopify's checkout calculation engine
When a discount app returns a fixed amount (say, 50.00), that value doesn't go straight to the customer's screen. It passes through Shopify's internal checkout calculation engine, which handles tax computation, line-item allocation, and currency rounding -after the discount function has already executed.
The flow looks like this:
Your discount app → Shopify receives → Checkout engine → Customer sees
sends 50.00 the exact value recalculates for 50.01
tax & rounding
The adjustment happens in the checkout engine -outside of any app's control.
Here's what Shopify told us about why this happens:
1. Tax-inclusive back-calculation
In markets where prices include tax (like Sweden, India, or Australia), the system has to "back out" the tax from the displayed price. When a fixed discount is applied to a tax-inclusive price, Shopify must calculate how much of that discount was tax and how much was product value -for accurate tax reporting. This division almost always produces rounding remainders.
2. Currency sub-unit rules
Different currencies follow different rounding rules. Here are 3 examples:
- USD and EUR round to 2 decimal places (0.01)
- SEK may apply "Swedish Rounding" (to the nearest 0.50 or 1.00 for cash equivalency)
- INR requires strict rounding on tax components
When the discount math produces a fractional result that doesn't fit the currency's rounding rule, the system adjusts the total.
3. Line-item allocation
When a discount applies to multiple items, Shopify divides it across each line item. A 50.00 discount on 3 items means 16.6666… per item. There's always a remainder.
Shopify's native discounts handle this by silently assigning the extra cent to the first line item. But the Functions API follows stricter allocation rules, which can surface the discrepancy.
Which currencies are affected?
The issue primarily impacts currencies in tax-inclusive markets. Tax-exclusive currencies like USD and EUR are generally unaffected because the math is additive (price + tax = total), which rarely causes rounding conflicts.
| Currency | Tax model | Status | Typical offset |
|---|---|---|---|
| USD 🇺🇸 | Tax-exclusive | ✓ Unaffected | N/A |
| EUR 🇪🇺 | Tax-inclusive (but clean rounding) | ✓ Rarely affected | N/A |
| GBP 🇬🇧 | Tax-inclusive | ⚠ May be affected | ±0.01 |
| AUD 🇦🇺 | Tax-inclusive | ⚠ Affected | ±0.01 |
| SEK 🇸🇪 | Tax-inclusive + Swedish Rounding | ⚠ Affected | ±0.01 to ±0.05 |
| INR 🇮🇳 | Tax-inclusive + strict tax rounding | ⚠ Affected | ±0.01 or more |
This list is not exhaustive. Any currency in a tax-inclusive market could be subject to small rounding adjustments.
Does this only affect Pixoo?
No. This is not a Pixoo issue. It's a Shopify platform behaviour that affects every app using the Shopify discount Functions API -both the legacy Product Discount / Order Discount APIs and the new unified Discount Function API.
Specifically, the fixedAmount field in productDiscountsAdd and orderDiscountsAdd operations can be altered by the checkout engine after submission.
The same applies to the deprecated APIs - so if running with them still, migrating to the new API does not resolve the issue, as Shopify Support explicitly confirmed.
Even Shopify's own native fixed-amount discounts produce these rounding remainders internally -the difference is that their native logic handles it silently, while the Functions API surfaces the discrepancy to the customer.
What is Shopify doing about it?
Shopify Support has formally reported the issue to their development team. They acknowledged that partners need a way to handle these "penny split" scenarios more gracefully. In their words:
There is currently no ETA for a fix. Shopify noted that modifying the checkout calculation engine requires thorough analysis as it affects the entire platform.
What Pixoo is doing about it
Pixoo sends the exact amount you configure, every time. The value that leaves our app is always correct. The adjustment happens inside Shopify's engine, beyond any app's control. We are actively monitoring the situation and will implement any workaround as soon as Shopify provides one.
Here's what we're doing on our end:
- Monitoring Shopify's updates -We're in direct contact with Shopify Support and tracking any changes to the calculation engine.
- Testing workarounds -Shopify explicitly advises against trying to "reverse engineer" the rounding (sending 49.99 to get 50.00), because the rounding depends on dynamic variables like the customer's exact tax rate and location. An offset that works for one customer could create an error for another.
- Keeping you informed -This blog post will be updated as the situation evolves.
What you can try as a merchant
While there is no complete fix, there are a few things to check:
Review your market rounding settings
Go to Settings → Markets → [Market Name] → Currency and Pricing and consider selecting "Do not round prices" for affected markets.
Market rounding (which forces prices to end in .99, .95, etc.) can add an additional layer of adjustment on top of the tax rounding. Disabling it won't eliminate the tax-related rounding, but it removes one source of cents shifting.

Communicate the context to your customers
If a customer notices a one-cent difference, you can explain that this is a known Shopify platform behaviour affecting all discount apps, not a pricing error.
Frequently asked questions
Is this a bug in Pixoo?
No. Pixoo sends the exact value you configure. The rounding is applied by Shopify's checkout calculation engine after our app has finished executing. This affects all apps using the Shopify Functions API.
Why don't USD and EUR have this problem?
In tax-exclusive markets (like the US), the math is additive: price + tax = total. This rarely produces rounding conflicts. In tax-inclusive markets, the system must back-calculate the net price, apply the discount, and recompute the gross total -which frequently creates fractional remainders.
Can you adjust the amount to compensate?
Shopify explicitly advises against this. The rounding depends on dynamic variables (customer location, exact tax rate, currency rules) that the app doesn't have access to at the time of execution. An offset that fixes the amount for one customer could make it worse for another.
Is my discount wildly inaccurate?
No. The maximum offset we've observed is a few cents (typically ±0.01 in most currencies, up to ±0.05 in currencies with coarser rounding rules like SEK). Your discounts remain 99.99% accurate.
When will this be fixed?
Shopify has acknowledged the issue and their development team is aware. There is no public timeline. We will update this post as soon as anything changes.
Timeline
- January 27th 2026 -Merchant reports a one-cent discrepancy on a fixed-amount discount.
- January 28th, 2026 -We contact Shopify Support. After escalation, they confirm it's a platform-level behaviour in the checkout calculation engine.
- January 28th, 2026 -Shopify Support submits a formal report to the development team.
- February 5th, 2026 -This transparency report is published.
We believe in being transparent with our merchants. If you have questions or want to share your own experience with this issue, don't hesitate to reach out to us at support@pixoo.app. The more visibility this issue gets, the more likely Shopify is to prioritise a fix.
Related reading:
Recommended Articles

Pixoo vs Shopify Native Discounts: When to Use Each
Comprehensive comparison of Pixoo multi-currency discounts versus Shopify's native discount system, helping international merchants choose the right solution for their global strategy.

Shopify Currency Settings: Complete Setup Guide for Global Stores
Master Shopify's multi-currency configuration with step-by-step instructions for international success, plus learn how to overcome native discount limitations with currency-specific promotions.