WooCommerce Composite Products: Rounding Drift and Patch Risk
TL;DR
- Compatible? Yes, with a caveat you should read before buying.
- What you need: Aelia Currency Switcher 3.9.11.160928 or later.
- The caveat: Composite Products has no multi-currency support of its own. Aelia covers the gap with a temporary patch, and a Composite Products update can break it.
- Before you launch: test a full composite configuration in a second currency, and re-test after every Composite Products update.
Composite Products turns a WooCommerce product into a guided build: pick a frame, pick a lens, pick a strap, see one price. It is one of the more powerful things you can do with WooCommerce, and it is also one of the harder things to get right across currencies, because the final price is assembled from parts rather than stored as a number.
This review is more cautious than most in this series, and deliberately so. Composite Products and the Aelia Currency Switcher for WooCommerce do work together, but the mechanism that makes them work is a patch rather than a supported hook, and you should know that before you build a store on it.
What WooCommerce Composite Products Does

Composite Products lets you define a product as a set of components, attach a selection of real products to each component, and let the customer configure their way through them. It sells on the official WooCommerce marketplace at $112.00 per year for a single site, which makes it one of the pricier extensions in the catalogue.
It suits stores where the customer is genuinely specifying something rather than picking a variation: bicycles, PCs, furniture, hampers, made-to-order equipment. The pricing model is the part that matters here.
The Two Pricing Modes, and Why They Differ in Multi-Currency
- Calculated from components. The total is the sum of whatever the customer selected. Every component price must convert, and the rounding has to happen once at the end.
- Fixed price for the composite. One price for the whole thing regardless of configuration. Converts like any ordinary product, and is by far the safer choice on an international store.
- Per-component markup or discount. A percentage applied to a component. Safe, because percentages are relative.
- Per-component fixed adjustment. A fixed amount added to a component. Behaves like a flat fee and is the riskiest of the four.
Where Composite Products Falls Short on International Stores

The compatibility note in Aelia’s own records is blunt about the cause: Composite Products lacks multi-currency support, and the Aelia patch covers that gap rather than the plugin handling it natively.
Two symptoms follow from that. The first is rounding drift. If each component is converted and rounded on its own, five components can each gain or lose a penny, and the displayed total will not match the sum of the lines the customer can see. On a £1,200.00 bicycle build nobody notices a penny; on a hamper of twelve items priced to the penny, somebody always does.
The second is configuration-dependent behaviour. A composite whose components are all simple products usually converts cleanly. Introduce variable products, per-component fixed adjustments, or a component whose price comes from another extension, and each of those paths has to be converted too. This is why “it worked in testing” is not the same as “it works”, and why the test that matters is a full configuration rather than the default one.
Rounding Drift on a Composite Product, in Numbers
This is the failure that generates support tickets, so it is worth seeing the arithmetic. A five-component hamper, priced from components, at 1.15 euros to the pound.
| Component | GBP | Exact EUR | Rounded per component |
|---|---|---|---|
| Wooden crate | £12.50 | 14,375 | 14,38 € |
| Preserve | £6.95 | 7,9925 | 7,99 € |
| Biscuits | £4.75 | 5,4625 | 5,46 € |
| Tea caddy | £9.20 | 10,58 | 10,58 € |
| Card | £2.15 | 2,4725 | 2,47 € |
| Total | £35.55 | 40,8825 | 40,88 € |
In this case the two approaches happen to agree. Change one component price by a penny and they stop agreeing, and the customer sees a total that is one or two cents away from the sum of the lines printed directly above it. Nobody loses money over two cents. What you lose is the customer’s confidence in the page, and that is harder to win back than the cents are to recover.
There are only two robust answers. Round once, at the composite total, and let the component lines be display values. Or use a fixed composite price so there is nothing to sum in the first place. The second is stronger, and it is the configuration worth arguing for whenever the catalogue can accommodate it.
The Compatibility Position, Stated Plainly

Compatibility Status: Compatible, See Notes
Requirements: Aelia Currency Switcher 3.9.11.160928 or later.
The note, in full: a temporary patch covers the lack of multi-currency support in Composite Products. That patch may break when Composite Products is updated.
This is a materially weaker guarantee than a maintained integration add-on. It is not a reason to avoid the combination, but it is a reason to own a staging site and to re-test after Composite Products updates.
It is worth being clear about how this differs from the rest of the range, because the difference is the whole point of reading a compatibility note rather than a tick in a table.
| Extension | How compatibility is achieved | Who maintains it | Update risk |
|---|---|---|---|
| WooCommerce Subscriptions | Free integration add-on | Aelia | Low |
| WooCommerce Product Add-ons | Free integration add-on | Aelia | Low |
| WooCommerce Bookings | Free integration add-on | Aelia | Low |
| Extra Product Options | Built into the third-party plugin | Themecomplete | Low |
| Composite Products | Temporary patch | Aelia, pending upstream support | Moderate |
| Product Bundles | Temporary patch | Aelia, pending upstream support | Moderate |
Composite Products and Product Bundles sit in the same category, and for the same underlying reason: the plugin itself is not currency-aware, so something external has to stand in until it is. The durable fix is upstream, in Composite Products.
How to Set Up Composite Products With Multi-Currency Safely

Step 1: Get the Version Floor Right
Confirm Aelia Currency Switcher 3.9.11.160928 or later. Earlier versions are not covered by the patch.
Step 2: Prefer a Fixed Composite Price Where You Can
A fixed price for the whole composite converts like an ordinary product and sidesteps per-component rounding entirely. Use component-calculated pricing only where the catalogue genuinely requires it.
Step 3: Set Rounding Once, at the Total
Configure per-currency rounding in the Currency Switcher so the composite total is tidied once rather than component by component.
Step 4: Test the Most Complex Configuration You Sell
Not the default. Build the composite a real customer would build, with the maximum number of components, switch currency, and check the product page, the cart and the order confirmation all agree.
Step 5: Re-test After Every Composite Products Update
This is the step that matters most, and the one everybody skips. Add it to your update routine rather than trusting it.
Which Aelia Plugins Fit a Composite Products Store
| Aelia plugin | Tested with Composite Products | Why you might need it |
|---|---|---|
| Currency Switcher (£89.00 ex. VAT) | Fully tested, via a temporary patch | The baseline. Converts component and composite pricing |
| Tax Display by Country (£69.00 ex. VAT) | No known issues, separate layer | High-value configured goods sold into the EU need the right VAT treatment per country |
| PayPal Multi-Account (£39.00 ex. VAT) | No known issues, separate layer | Large configured orders are exactly where a double conversion fee hurts most |
| Prices by Country (£69.00 ex. VAT) | Not separately tested | Different prices per country. Verify on staging: it writes to the product price, which is also where composite pricing is assembled |
The Prices by Country caveat carries extra weight on a composite store. Both the composite pricing engine and Prices by Country influence the product price, so on a component-calculated composite you have two systems writing to the same value. That combination needs proving on staging, not assuming.
What to Check After a Composite Products Update
Because the compatibility rests on a patch, updates are the risk point. This is the routine worth adding to your release process, and it takes about ten minutes.
| Check | Where | What a pass looks like |
|---|---|---|
| Component prices convert | Composite product page, second currency | Every component line shows a converted figure, not the base one |
| Total matches the lines | Same page, fully configured | The total equals the visible sum, or differs only by your rounding rule |
| Cart survives a currency switch | Cart, with the composite in it | Line and total both update together |
| Variable components convert | A composite containing a variable product | Each variation converts, not just the default |
| Fixed adjustments convert | A component with a fixed markup | The adjustment changes value with the currency |
| Order record is correct | Admin, after a test order | Stored currency and per-line amounts agree with what the customer saw |
Run this on staging with the most complex composite in your catalogue before the update reaches production. If a check fails, hold the update and raise it with Aelia support rather than patching it yourself, because the patch is maintained centrally and a local edit will be overwritten by the next Currency Switcher release.
When Composite Products Is the Wrong Tool
Worth saying, because $112.00 per year plus a moderate update risk is not the right answer to every configuration problem.
- Options that only add a fee, such as engraving or gift wrap, belong in WooCommerce Product Add-ons, which is cheaper and has a maintained Aelia integration rather than a patch.
- A fixed set of items sold together is a bundle, not a composite. See Product Bundles.
- A simple choice between two or three variants is a variable product, which core WooCommerce handles and the Currency Switcher converts with no patch involved.
- Quantity-based discounting is Dynamic Pricing, not a composite.
If the customer is genuinely specifying a build, Composite Products earns its price. If they are picking one of three finishes, you are buying complexity you do not need, and the multi-currency risk comes along with it.
Frequently Asked Questions About Composite Products and Multi-Currency
Does WooCommerce Composite Products Support Multi-Currency?
Not on its own. Composite Products has no multi-currency support built in. The Aelia Currency Switcher covers the gap with a temporary patch from version 3.9.11.160928 onwards, so the combination works, but the patch can break when Composite Products is updated. Re-test after each update.
Why Does My Composite Total Not Match the Component Prices?
Rounding applied per component rather than once at the total. If each converted component is rounded individually, the small differences accumulate and the total drifts from the visible sum of the lines. Configure per-currency rounding so it is applied once to the composite total, and prefer a fixed composite price where the catalogue allows it.
Is a Temporary Patch Safe to Run on a Live Store?
Plenty of stores run it without incident, and Aelia maintains it. The honest risk is that it is not an officially supported extension point, so a Composite Products update can change the behaviour it depends on. Treat it as a dependency worth monitoring: keep a staging site, test a full composite configuration in a second currency after each update, and do not update Composite Products on a Friday.
How Much Does WooCommerce Composite Products Cost?
Composite Products is sold on the official WooCommerce marketplace at $112.00 per year for a single site. The Aelia Currency Switcher is £89.00 ex. VAT per year for a single site, and no paid add-on is needed for the Composite Products patch.
What Is the Difference Between Composite Products and Product Bundles?
A bundle is a fixed set of items sold together at one price. A composite is a guided configuration where the customer chooses each component and the price follows their choices. Both lack native multi-currency support and both rely on an Aelia temporary patch, so the same testing discipline applies to each.
Can I Set Composite Prices Manually per Currency?
Yes, if you use a fixed price for the composite rather than calculating from components. A fixed composite price behaves like an ordinary product price, so you can set a deliberate clean figure in each currency instead of accepting a converted one. This is the most robust configuration available on an international store and it avoids per-component rounding entirely.
Sell Configured Products in Multiple Currencies
Composite stores tend to carry high order values, which is exactly why a rounding drift or a currency mismatch costs more here than elsewhere. Test the combination properly and it runs quietly for years.
Aelia Currency Switcher for WooCommerce
£89.00 ex. VAT, annual, single site. Per-currency rounding rules, Composite Products support from version 3.9.11.160928, a single-site licence, a year of updates, direct support from the team that builds the plugin, a 14-day free trial and a 30-day money-back guarantee.
Keep Reading on Assembled Products and Currency
- WooCommerce Product Bundles: Multi-Currency Bundle Pricing, the closest neighbour to this one.
- WooCommerce Dynamic Pricing: Multi-Currency Bulk Discounts for quantity tiers.
- WooCommerce Multi-Currency: The Complete 2026 Guide for conversion and rounding.
- Composite Products Currency Switcher Integration, the integration page.
- Aelia Tax Display by Country for VAT on high-value configured goods.




Leave a Reply
Want to join the discussion?Feel free to contribute!