Start with realised sales after discounts and refunded sales, match the cost of the pieces the customer kept, then subtract relevant selling and return costs. Keep gross margin separate from contribution and net profit.
The ticket price is not the money you keep
A ₹1,000 shirt with a ₹500 buying cost appears to offer a wide gap. Discounts, returned pieces and delivery charges change that position. Review a defined batch or selling period with all its adjustments, rather than comparing the buying rate with the ticket.
Shopify's sales-report definitions separate gross sales, discounts and sales reversals. Its profit-report guidance calculates gross margin using net sales and product cost. Other systems can use different labels, so check the report definition before comparing totals.
Follow one batch through its returns
All amounts below are illustrative and tax-exclusive. A shop sells 20 shirts at a ₹1,000 ticket price with a 10% discount on each. Two shirts are returned for full refunds of their discounted price. Both return in saleable condition and go back into stock.
| Line | Calculation | Amount |
|---|---|---|
| Gross ticket value | 20 × ₹1,000 | ₹20,000 |
| Discounts | 20 × ₹100 | −₹2,000 |
| Refunded product sales | 2 × ₹900 | −₹1,800 |
| Net sales | ₹20,000 − ₹2,000 − ₹1,800 | ₹16,200 |
| Cost of 18 pieces kept | 18 × ₹500 | −₹9,000 |
| Gross profit | ₹16,200 − ₹9,000 | ₹7,200 |
Gross margin is ₹7,200 ÷ ₹16,200 = 44.44%. The two returned shirts retain their inventory value in this example. If they were damaged and could not be resold, their loss would need separate treatment.
Then include the costs of making those sales
Assume the batch incurred ₹400 packing, ₹500 outward delivery, ₹160 return handling and ₹324 payment charges. These are recorded costs for the example, not suggested rates.
Total additional selling cost is ₹1,384. The amount left after those costs is ₹7,200 − ₹1,384 = ₹5,816, or 35.90% of net sales. All these example selling costs vary with the batch. Call the result contribution after the listed selling costs. Rent, salaries and other unallocated overhead still sit outside it.
Check whether a marketplace settlement already deducted a fee before subtracting that fee again. Use one cost line per charge and retain its settlement or invoice reference.
Decide how to handle timing
A return processed this week may relate to a sale last month. A weekly sales report and a completed-batch view answer different questions. Use the weekly view for current activity; use a linked sale-and-return view to understand the outcome of that batch or promotion.
Do not force the two to match by changing dates. Label the period and method. For still-open return windows, mark the result as provisional and revisit it.
Compare channels on the same basis
- Use the same tax basis and treatment of discounts.
- Include each channel's relevant fees, shipping and return handling.
- Separate saleable returns from damaged stock losses.
- Keep shared overhead allocation consistent, or show it separately.
- Check product mix before concluding that a channel itself is worse.
The useful owner question becomes: “After the customer returns and channel charges, which styles leave enough money?” That points to an action—price, purchase cost, promotion terms or return reasons—without confusing turnover with what remains.
ACCA distinguishes contribution from profit after fixed costs. The worked amounts here cover only the costs explicitly listed; do not treat an omitted cost as zero.
Questions you might ask
How do I calculate clothing margin after a discount?
Use actual net sales rather than ticket price. Subtract the matching product cost, then divide gross profit by net sales. Show further selling costs separately.
Should I keep the cost of a returned shirt in cost of sales?
In this example, saleable returned shirts go back into inventory and are excluded from the cost of pieces kept. Damaged returns and your accounting method require separate treatment.