Monthly P&L for a D2C Brand: A Simple Layout That Includes RTO
A monthly profit and loss statement for a Shopify brand: gross sales to operating profit, with RTO, returns, shipping and ad spend in the right places.
On this page
A monthly P&L for a D2C brand starts with gross sales, removes discounts, RTO and returns to reach net revenue, subtracts product, shipping and payment costs to reach contribution, then subtracts ad spend and fixed costs to reach operating profit. The two lines most brands get wrong are RTO and timing: refused COD orders should come off the month they were placed, and the month isn't final until they've settled. Build it from Shopify, your courier, your ad platforms and your bank, in the same layout every month.
Key takeaways
- Use the same layout every month so lines compare: net revenue, contribution, contribution after marketing, operating profit.
- RTO and returns reduce revenue in the month the order was placed, not the month the parcel came back.
- A month's P&L is provisional until RTO settles, about three weeks after month end.
- Contribution after marketing is the number that tells you whether ads are paying.
- Keep revenue excluding GST and all amounts in one currency.
The layout
| Line | What goes in it | Example month |
|---|---|---|
| Gross sales | Orders placed, excluding GST, before discounts | ₹12,00,000 |
| − Discounts | Codes, automatic discounts, bundles | ₹60,000 |
| − RTO | Orders placed this month that were refused or undeliverable | ₹1,80,000 |
| − Returns and refunds | Refunds on this month's orders | ₹40,000 |
| Net revenue | ₹9,20,000 | |
| − Product cost | Cost of goods for delivered orders | ₹3,20,000 |
| − Shipping, fees, packaging | Forward and return freight, payment and COD fees, packaging | ₹1,60,000 |
| Contribution before marketing | ₹4,40,000 | |
| − Ad spend | Meta Ads, Google Ads and other paid media | ₹2,80,000 |
| Contribution after marketing | ₹1,60,000 | |
| − Fixed costs | Salaries, rent, software, agency retainers | ₹1,20,000 |
| Operating profit | ₹40,000 |

On ₹12 lakh of gross sales, this brand kept ₹40,000. RTO was the largest deduction after product cost and ad spend, which is common for COD-heavy brands and invisible in a P&L that starts from Shopify's sales report alone.
Where each line comes from
- Gross sales, discounts and refunds: Shopify's sales reports or order export, for orders placed in the month.
- RTO: your shipping platform's shipment statuses, such as Shiprocket's, matched to the month each order was placed.
- Product cost: cost per item in Shopify, or your purchase records, for delivered orders only; RTO stock comes back.
- Shipping and fees: courier and payment gateway invoices or statements; include return freight on RTO.
- Ad spend: Meta Ads and Google Ads invoices or billing summaries for the month.
- Fixed costs: your bank statement and accounting records.

Closing the month, step by step
- Wait for RTO to settle. Draft the P&L in the first week, and finalise it about three weeks after month end, when most shipments have a final status.
- Pull sales from Shopify for orders placed in the month, excluding GST.
- Subtract RTO by order month. Match refused shipments to their order dates, so September's refusals reduce September's revenue even if they came back in October.
- Add variable costs for delivered orders, plus freight on RTO.
- Add ad spend from the platforms' billing, not from estimates.
- Add fixed costs from the bank and accounts.
- Compare with last month and with plan, line by line, and write two sentences on what changed.
Why RTO belongs in the order month
If you subtract RTO in the month parcels come back, a strong month followed by a weak one looks better than it was, and the next month carries the previous month's refusals. Counting RTO in the order month keeps each month's profit tied to the orders and the ad spend that produced them. That's also how you see which months, and which campaigns, really made money; true ROAS after RTO and COD explains the same principle for campaigns.
Reading the P&L
- Net revenue as a share of gross sales shows how much leaks through discounts, RTO and returns. If it falls, find which line grew.
- Contribution before marketing shows whether the product and fulfilment economics work at all. Contribution margin covers the target range.
- Contribution after marketing shows whether ads are paying. If it's negative, growth costs money every month.
- Operating profit shows whether the business covers its fixed costs.
From monthly to per order
Divide each line by delivered orders to see unit economics: revenue, product cost, shipping, ad cost and profit per order. That tells you what a change in price, shipping cost or cost per order does to the whole month. The unit economics template builds this view.
A worked comparison of two months
Suppose September had the same ₹12,00,000 of gross sales as August, but operating profit fell from ₹90,000 to ₹40,000. Line by line, the story becomes clear:
- RTO rose from ₹1,30,000 to ₹1,80,000, after a new campaign brought more COD orders from areas with high refusal rates.
- Ad spend rose from ₹2,60,000 to ₹2,80,000 while net revenue fell, so contribution after marketing dropped.
- Shipping rose slightly, because return freight on the extra RTO is part of it.
Without the RTO line, September would have looked almost identical to August, and the new campaign would have been scaled. With it, the fix is obvious: restrict COD for the worst pin codes that campaign reaches, or move budget elsewhere. The RTO by campaign guide shows how to find which campaign is responsible.
This is the main value of a consistent monthly layout: changes stand out because every line is defined the same way each month.
Common mistakes
Starting from Shopify's sales without RTO. COD refusals can be one of the biggest deductions.
Booking RTO when parcels return. It moves losses into the wrong month.
Product cost on all orders. RTO stock comes back; count cost on delivered orders, and write off only what can't be resold.
Platform-reported revenue. Meta and Google overstate sales; use Shopify.
Closing too early. Wait for RTO to settle before calling a month final.
Tera Ads builds profit after returns from your Shopify orders, Meta Ads and Google Ads spend and RTO from Shiprocket, counted in the month each order was placed, for every campaign and the whole store. It is free for one business.
Frequently asked questions
What should a D2C monthly P&L include?
Gross sales, discounts, RTO, returns, net revenue, product cost, shipping and fees, contribution, ad spend, fixed costs and operating profit.
When should RTO be counted in the P&L?
In the month the order was placed, so each month's profit reflects its own orders and ad spend.
When is a month's P&L final?
About three weeks after month end, once most shipments have been delivered or returned. Draft earlier, finalise then.
Should revenue include GST?
No. Use revenue excluding GST, because GST collected isn't your income.
Which number shows whether ads are profitable?
Contribution after marketing: net revenue minus variable costs and ad spend.