Marketplace and ecommerce accounts

Ecommerce profit by sales channel

Compare what each sales channel contributes after its costs. Review stock purchases separately to understand why profitable sales may not leave enough cash for the next order.

Comparing sales channels requires reports that cover the same income and costs. Missing product costs or fulfilment charges can make one channel look more profitable than it is.

Check what the reports include before calculating each channel's contribution to the business. Review stock purchases separately to explain their effect on cash.

This approach is for a UK limited-company retailer holding stock and selling through a direct store and marketplaces. The example uses an accrual-based management view: sales and their related costs belong together, even when the money moves at different times.

Reconcile the sales records

Choose a reporting month and use the underlying sales, returns, discounts and charges for that period. A bank payout can combine several kinds of activity and cover different dates.

If those records still do not agree, reconcile the marketplace payouts first. If the remaining question is money held across month-end, our guide to settlement timing and reserves covers that check.

Use the reconciled sales figures to calculate what remains after the costs of making those sales.

Check what your profit report includes

Shopify's Gross profit by product report only includes variants with a product cost recorded at the time of sale. Missing cost information can therefore mean missing sales in the profit report, rather than a visible line saying that the cost is unknown. Shopify also describes its cost-per-item field as static. Do not assume today's product cost reconstructs every historical margin. Shopify's profit-report documentation.

The report name matters. Shopify's market and order profit reports include additional components, including shipping-related amounts. Check the specific report before deciding which costs to add; there is no safe blanket rule that every Shopify profit report excludes shipping. Shopify's report definitions.

For your own monthly check:

  • Compare the sales covered by the profit report with the equivalent sales report, using the same dates, filters and sales definition.
  • Investigate missing products or variants, and check that recorded costs are supported by purchasing records.
  • Note whether fees, shipping, fulfilment and promotion are already included, partly included or held elsewhere.

Flag missing costs for investigation. Treating them as zero overstates the reported margin.

Shopify's sales reversals include cancellations, order edits and refunds where no goods come back. Reversed quantity is not a warehouse count of returned stock. Check the order event and what physically happened before restoring stock or reversing its cost. A goodwill refund leaves the goods with the customer; a damaged return may come back without recovering its original value. Shopify's sales-report definitions.

Shopify's sales reports do not include chargebacks. Check the payment-provider records for dispute deductions, fees and any later reversals. Keep unsettled disputes distinct from final losses, and check that the same loss or fee has not already been counted elsewhere. Shopify's sales-versus-payments guidance.

Define channel contribution

For this review, channel contribution means net product sales plus any customer delivery income, less product costs, channel charges, fulfilment and directly attributable promotion. Net product sales are after discounts and relevant sales reversals, including returns and refunds, and exclude VAT.

If you charge customers for delivery, include that income too, after delivery discounts and refunds and excluding VAT. Shopify reports shipping separately from net sales, so check whether your starting sales figure already includes it. Count the income once and show the cost of sending the order separately. Shopify's net-sales and shipping definitions.

This contribution measure tells you what is left towards running the business. It differs from the platform's gross-profit figure and the company's final profit.

Use the same definition across channels. If you include outbound postage for the direct store, include the equivalent delivery cost for marketplace orders. Keep shared warehouse, software and management costs visible separately unless you have a sensible, documented way to allocate them.

The following figures are fictional. They show one completed month's channel activity, with complete product-cost records, consistent returns treatment and no duplicate charges. All amounts exclude VAT; the example assumes any input VAT is recoverable. Customers are not charged separately for delivery in this example. Fulfilment here is outbound fulfilment, separate from the recorded product costs.

Monthly channel contribution: fictional example

Scroll across the table to read every column.

Monthly measure Direct store Marketplace Combined
Net product sales £8,000 £8,000 £16,000
Cost of goods sold £3,000 £3,000 £6,000
Channel and payment charges £800 £1,200 £2,000
Outbound fulfilment £400 £600 £1,000
Attributable promotion £300 £300 £600
Contribution before shared costs and tax £3,500 £2,900 £6,400

For the direct store, the calculation is £8,000 − £3,000 − £800 − £400 − £300 = £3,500.

The marketplace brings in the same net product sales but leaves £600 less under this definition. That gives you something specific to investigate: its channel charges and fulfilment cost. It does not, by itself, tell you to close the channel. You also need to consider capacity, customer demand and which costs would actually disappear if those sales stopped.

The £6,400 combined contribution still has to cover the shared costs excluded from this table. It is not money available to take out of the company.

Check the unit behind the cost, too. If one channel sells singles and another sells three-packs, one listing sold does not mean one stock unit used. Keep a mapping from the selling code to the physical item and quantity. In a hypothetical three-pack of items costing £4 each, the product cost starts at £12, before any additional pack-specific costs. Shopify likewise calculates bundle availability from component quantities, so bundle listings and their components are not separate piles of stock to add together. Shopify's bundle inventory guidance.

Count each cost once

A marketplace fulfilment charge might appear in both a settlement report and a supplier invoice. Those are two records of a charge, not automatically two different costs.

Choose which record supplies the cost to your channel report, then use the other to check it. Likewise, if a stock cost already includes inbound freight, do not add the same freight again as a separate channel expense. For businesses using FRS 102, inventory cost includes relevant costs of bringing goods to their present location and condition. FRS 102, paragraphs 13.5–13.6.

A campaign promoting the whole brand may not belong to one sales channel. Show it as shared or unallocated until you have a defensible allocation method.

Stock purchases and cash flow

Now take the direct-store figures on their own. Assume it has a separate pool of stock with an opening recorded value of £4,000. During the month, it receives and pays for another £6,000 of stock. The goods sold have a recorded cost of £3,000, with no returns to stock, losses, write-downs or other inventory movements.

Stock movement at recorded cost: fictional example

Scroll across the table to read every column.

Stock movement at recorded cost Amount
Opening stock £4,000
Stock received during the month £6,000
Cost of goods sold −£3,000
Closing stock £7,000
Increase in stock held £3,000

Under this assumed inventory model, the £3,000 cost of the goods sold belongs in the month's trading result. The additional £3,000 is still held in stock. FRS 102 similarly links the expense for inventory sold to the period of the related revenue; damaged or unsaleable stock can require a separate valuation adjustment. FRS 102, paragraphs 13.19–13.20.

Do not deduct the £6,000 purchase payment from the £3,500 contribution as though none of its cost has been counted. The contribution already includes £3,000 of cost of goods sold.

To isolate the stock effect, assume all the direct store's sales are collected and its other listed costs are paid in the month, with no changes in other amounts owed or held. Ignoring VAT cash movements, shared costs, tax and financing, the movement from these activities is:

£3,500 contribution − £3,000 stock increase = £500.

The direct calculation agrees: £8,000 receipts − £6,000 stock purchases − £800 charges − £400 fulfilment − £300 promotion = £500.

The full bank movement also includes the excluded items and timing differences. This example isolates the stock effect: buying ahead can absorb cash while the goods sold still make a positive contribution.

Following up the review

List missing or duplicate costs and any channel that needs a price or fulfilment review. Check whether planned stock orders can wait until slower lines sell.

Assign someone to resolve each item by a stated date. Use the same definitions next month so the comparison remains useful.

In Good Order can help maintain the underlying ecommerce records and reconciliations and agree management reporting around the questions you need answered. Stock reconstruction, forecasting and specialist tax work need their own agreed scope.

Our published ecommerce reconstruction case study gives a separate example of the records work behind reliable reporting.

To discuss help with your monthly reports, let's talk. The initial conversation is free; any investigation or ongoing support is agreed separately.

What each channel leaves after costs

Tell Andrew which channels you sell through and how fees, returns, carriage and stock are recorded now. He can say whether your records can show profit by channel, and how stock purchases are affecting cash.

Opens a short enquiry form. Nothing is sent until you press Send enquiry.

Related service: Management accounts and cash reporting

Tell Andrew what you need

Send an enquiry to In Good Order. Pressing Send enquiry sends these details through this website to Andrew. Nothing is saved in your browser.

Tell us roughly what the work is and where the time goes. A sentence or two is plenty.

Please don’t include passwords, log-in details or account numbers.

This helps Andrew see where enquiries come from.

Prefer email? Write to andrew@ingoodorder.co.uk. How we use your details: privacy notice.