An ecommerce business can be profitable overall while some of its best-selling products are barely making money.
Founders know Amazon takes fees and advertising costs money, but attributing those costs accurately to the product and channel that created them can completely change which products appear profitable. Gross margin may look healthy, the management accounts may show a profit, and revenue may be growing, while one SKU is carrying another or Amazon growth is pulling the overall margin down.
The interesting number, then, is the margin left after each product has carried its share of landed cost, fulfilment, marketplace and payment fees, returns and acquisition costs, and after you have separated what happens on Amazon from what happens on Shopify, eBay or wholesale.
This is the information behind decisions about what to reorder, reprice, promote or stop selling.
What Ecommerce Margin Analysis Involves
Margin analysis works in three layers, with each one taking another set of costs out of the sale.
Gross margin stops at landed cost, meaning what you paid to buy the product and get it into your warehouse.
Contribution margin carries on through the variable costs of selling that unit: platform fees, fulfilment, payment processing, returns, and the ad spend behind the sale.
Net margin goes a step further again and takes out the fixed costs of running the business, which no single product controls. Many sellers stop at the first level, before any of those variable selling costs have been counted.
Gross margin and what belongs in COGS
If the COGS (cost of goods sold) figure is wrong, gross margin is wrong with it. For an ecommerce business, COGS usually carries four things: the product cost, packaging, inbound freight from the supplier to your warehouse, and import duty, though not every product attracts all four. Together they make up the landed cost.
One way COGS goes wrong is a misposting. Put any of these into overheads instead of into stock and the product is carried at less than it cost, so gross margin looks better than it is. That misposting is worth catching, but it is clumsy bookkeeping rather than the error behind most margin problems.
The more common problem sits in the closing inventory valuation. COGS is worked out as opening stock plus purchases less closing stock, so a wrong closing figure feeds straight through. It goes wrong when the costing does not reflect what was paid, or when the stock count does not match what is on the shelf.
Either way, COGS comes out over or understated and gross margin moves with it. The matching error sits in the inventory figure on the balance sheet, which is why a COGS problem is usually chased through stock valuation rather than through overheads.
The finer you cut the numbers, the easier it is to catch. Split gross margin by SKU, channel, or category and an odd cost figure stands out.
SKU-level margin is built from the bottom up. You calculate a landed cost per unit, covering product cost, packaging, allocated freight, and duty, then multiply it across the units that SKU sold, rather than carving it out of the aggregate stock movement.
The opening-plus-purchases-less-closing figure still works as a check: the unit costs across everything sold and held should add back up to it. Where they do not, the closing stock valuation is wrong.
Inbound freight belongs in COGS. The FBA (fulfilled by Amazon) fulfilment fee, the per-order charge for pick, pack, and ship, sits below the gross margin line as a selling expense.
The two get run together when a seller uses Amazon’s own inbound shipping service, because the freight and the fulfilment charge then come off the payout as a single deduction rather than arriving as separate invoices. Code the whole deduction as a selling cost and inbound freight drops out of COGS, which understates landed cost and overstates gross margin.
Across most ecommerce verticals a gross margin of 60% to 70% is healthy, though the range moves by category, with beauty and supplements often higher and electronics or commodity goods lower. Once gross margin falls below 40%, there is little room left to absorb fees, ad spend, and fixed costs.
Contribution margin by product and by channel
A product can look profitable until the costs of selling it are added up. Contribution margin takes COGS, fulfilment, platform and payment fees, returns, and attributable ad spend out of net revenue, so you can see what each product contributes on each channel. A SKU with a healthy gross margin can end up with a thin contribution margin, or a negative one, once Amazon selling fees, FBA charges and PPC (pay per click) are included. The same SKU can perform differently on Amazon, Shopify and eBay because each channel comes with a different cost stack.
At SKU level, calculate the contribution profit on one unit, then multiply it by the number of units sold in the period and keep the channels separate. Contribution profit per unit helps identify which products are worth pushing, which need repricing, and which may no longer be worth selling. For a multi-channel business, a contribution margin of 20% or more is a reasonable marker of health.
Net margin and why it matters less at the product level
Net margin comes after fixed costs like rent, salaries and software. A brand can run positive contribution margins on every SKU and still post a loss when the fixed cost base is too heavy for the contribution it generates.
For established ecommerce businesses, net margin of 5% to 15% is common, and multi-channel sellers with a large Amazon share often sit towards the lower end once marketplace fees and advertising are absorbed. Since the number moves with fixed costs that have nothing to do with any single product, contribution margin remains the more useful lever for product and channel decisions.
Why Some Margin Errors Hide for Months in Ecommerce Business
Every margin figure above assumes the data beneath is accurate. The more common errors tend to be one-off or timing-related, and these are often the easier ones to spot. Take stock booked into inventory before month end while the corresponding purchase is recorded after month end. Margin moves for no commercial reason, and the change should stand out against the prior period or budget.
The harder errors to catch are the systematic ones. If the same incorrect landed cost is used month after month, for example, the resulting margin can still look perfectly plausible. It stays consistent with previous periods, so nothing in the report draws attention to it, even though pricing and reorder decisions may be based on the wrong number.
Amazon produces several reports that show different revenue figures for the same period. Business Reports, Transaction Reports, and Settlement Reports rarely agree, because each measures something different.
Settlement Reports reflect the money that moved, which makes them the only sound starting point for accounting data. Comparing the Amazon sales dashboard against Xero is still worth doing, because the gap between the two shows how much of the dashboard figure was never yours to keep. The problem starts when the dashboard number is the one fed into the margin analysis instead of the reconciled figures in Xero.
Multi-channel sellers hold data across Amazon, Shopify, eBay, Google Ads, Meta, and their accounting software, none of it reconciled by default. Left that way, each source reports its own version of revenue, fees and refunds do not land against the sales they belong to, and there is no single set of figures a margin calculation can be built on.
A2X pulls settlement data from the sales channels and posts a summarised journal for each payout into Xero, with sales, fees, refunds, and taxes coded separately. It does not connect to Google Ads or Meta, so advertising spend has to come in separately and be attributed to the products and channels it was spent on. Without that layer, the margin numbers stacked on top have nothing solid beneath them.
VAT needs checking before you trust the margin. The rate applied depends on the product and the country it’s sold into – zero-rating in particular isn’t consistent across countries – and marketplace facilitator status changes who is responsible for accounting for the VAT rather than the rate itself. Get either wrong and the margin calculation starts from the wrong revenue number. For ecommerce businesses, the accounting can involve everything from routine ecommerce VAT to international VAT and GST and the treatment of import VAT.
Payment gateways need reconciling separately too. Stripe, PayPal and Klarna should each have their own control account in Xero so you can account for fees, timing differences and money that has not settled yet. Otherwise those amounts can sit in the wrong period or disappear into a lumped balance, which feeds straight into the margin calculation. Regular bookkeeping should include reconciling those control accounts back to the gateway statements.
How Your Channel Mix Affects Your Margin
Blended margin across every channel hides where the profit comes from. The same product carries a different cost stack on each platform it sells through, and the differences compound as volume moves between them.
- Amazon: referral fees of 8% to 15% for most categories, the per-unit FBA fulfilment fee, storage fees, and PPC spend. Read more about Amazon Selling Fees Explained for 2026
- Shopify: payment processing through Shopify Payments or a third-party gateway, an additional Shopify transaction fee where a third-party gateway is used, and self-managed fulfilment or 3PL (3rd party logistics) costs. Also see: Shopify Selling Fees UK Guide
- eBay: final value fees, which include payment processing, and promoted listings.
Take a product returning a 35% contribution margin on Shopify. Put the same unit through Amazon and the referral fee and FBA charges alone can take it closer to 15%, before any advertising is counted. Advertising then comes off that figure, and a listing with strong organic rank needs less of it, though the selling and fulfilment fees stay where they are.
Shifting volume between channels changes overall margin even when pricing and products stay identical. A business that grows its Amazon share from 40% to 60% of revenue can watch total margin compress while revenue climbs, if Amazon is its lower-margin channel.
Ad spend is the cost most often misplaced. When PPC and paid social are absorbed into a strong sales month as a single line item rather than allocated to the SKUs and channels they drove, contribution margin by product loses its accuracy. The spend has to follow the product it was meant to sell.
What Margin Reporting Needs to Show for Better Decisions
The financial data is already sitting there, in Amazon, in Shopify, in the gateway, in Xero. What is usually missing is anything that pulls it together into figures you would base a decision on.
Also see: Board-Ready Reporting for Ecommerce: The Numbers Investors Actually Care About
Margin Broken Down by SKU
Blended averages flatten the picture into a single number that describes no product in particular. What a reorder or repricing decision needs is the profit each unit leaves behind after its own costs, SKU by SKU and on the channel it sold through. A margin report needs the calculated unit cost sitting next to revenue for every SKU, not a single pooled figure applied across the range – otherwise every SKU’s margin is only as reliable as the average it was cut from.
Margin Broken Down by Channel
A margin report has to keep Amazon, Shopify, eBay, and wholesale apart rather than blend them, for the fee, acquisition, and return-rate reasons set out in the channel-mix section above. A single blended figure represents none of them accurately and hides the split the decision turns on.
Connected Systems Make Margin Reporting Possible
Disconnected data sources produce margin figures no one can stand behind. A reliable view takes a connected stack: Xero as the ledger, A2X feeding clean settlement data from each platform, and inventory and payment gateway data integrated on top, giving a reconciled picture you can trust channel by channel.
We set this stack up for ecommerce clients regularly, and the first reliable contribution margin by SKU is often the moment a founder sees which products have been carried by the rest of the range. The same reconciled data is what makes monthly management reporting worth acting on.
Where Tools Like sellerboard Fit
Dashboards like sellerboard are usually already running before a seller ever calls an accountant, and they have earned that: a near real-time per-SKU profit view, ad spend pulled in automatically, and VAT handled well on the Amazon side. For a daily read on how a product is trading, they are useful, and we do not ask clients to give them up.
The catch is that the number is only as accurate as the COGS figure typed into it. Nothing in the dashboard checks that figure against what the stock cost is or what is on the shelf, which is the same closing-stock problem covered under gross margin above. The dashboard also stops at the screen: it does not reconcile into the accounts, so its figure is never tested against management accounts built on what moved through Xero.
You do not have to choose between them. Keep the dashboard for the daily glance. The number the business is run on, for pricing, reordering, and what to tell the bank, still needs to come from the reconciled figures in Xero.
Why Cash Flow Needs to Sit Alongside Margin Data
A margin report on its own says nothing about timing. Payout delays, VAT liabilities falling due, inventory purchasing cycles, and the timing of advertising spend all decide whether a healthy margin on paper turns into money in the bank. Management accounts that present margin and cash together give a firmer basis for decisions than margin figures read on their own.
How Elver Helps Ecommerce Businesses Achieve Financial Clarity
We build the accounting setup behind reliable margin reporting, with A2X feeding clean marketplace data into Xero and the underlying VAT, fees and stock costs treated properly before they reach the management accounts.
Where a local agent is required, we prepare the VAT return and send it over for filing. You still deal with us; the local agent is there to submit it, not to take over the VAT work.
For businesses that need ongoing strategic input beyond compliance, our Virtual Finance Office and fractional CFO services add the advisory layer without the cost of a full in-house finance team.
If your margin figures don’t quite reconcile with what lands in the bank, a call with us is the quickest way to find where the gaps are and what it would take to close them.
Also see: What an Ecommerce Accountant Can Do for Your Growing Online Store
Frequently Asked Questions
Each platform applies a different cost stack to the same sale. Amazon adds referral fees, FBA fulfilment and storage charges, and PPC spend to hold visibility, while Shopify costs centre on payment processing, apps, and your own fulfilment arrangement. A SKU that clears 35% contribution margin on Shopify can fall to 15% on Amazon on the selling and FBA fees alone, before any advertising is counted. The fee stack drives that gap. Advertising rarely narrows it either, since paid traffic to a Shopify store is seldom cheaper than Amazon PPC.
COGS should carry the landed cost of getting the product to your warehouse: the product itself, packaging, inbound freight, and import duty, though not every product attracts all four. FBA fulfilment fees stay out of COGS, since the per-order pick, pack, and ship charge is a selling expense rather than a cost of acquiring stock. Putting fulfilment fees into COGS overstates the cost base and understates gross margin.
Usually once you sell across more than one channel, hold stock in more than one place, cross VAT thresholds at home or abroad, or reach the point where the spreadsheets stop reconciling cleanly. The common thread is that the data has outgrown the tools. If you cannot produce contribution margin by SKU and by channel from what you already hold, that is the gap a specialist ecommerce accountant is there to close, and it is usually the first thing we build.
It depends on how fast the business is moving. For a smaller seller, or one selling through a single channel, quarterly reporting is usually enough to keep pricing and reorder decisions on current figures. Once the focus shifts to growth, monthly review as part of the management accounts cycle becomes the more sensible cadence, and the faster you scale, the more frequent it needs to be for that growth to stay profitable.
Businesses with fast-moving ad spend or frequent reorders benefit from watching contribution margin by SKU even more closely, since a fee change or a rising cost per click can turn a profitable product loss-making within weeks.