Magento can tell you what customers ordered. A profit and loss statement answers a different question: what did the store keep after the costs required to create those orders?
That distinction matters when deciding whether to raise spend, keep a product live, offer free shipping or celebrate a “record” revenue month. Revenue is an input to a P&L, not the result.
This is a practical way to build a Magento P&L for operating decisions. It is not statutory accounting advice or a replacement for your accountant's books. Use the same definitions consistently, then reconcile them with finance at the cadence your business needs.
The Magento P&L formula
For a useful store-level operating view, start here:
`` net profit = revenue − refunds − COGS − merchant shipping cost − payment fees − ad spend − other operating expenses ``
The formula is not clever. The hard part is ensuring that each line means what you think it means, uses the same date range and store timezone, and is not silently zero because a source was never configured.
1. Revenue: decide what counts before you compare periods
Magento order totals contain useful components: merchandise, discounts, tax and charged shipping. The right revenue policy depends on how your business and finance team treat tax and shipping. Do not switch the policy between months just because one result looks better.
For an operating P&L, write down three things:
- Which Magento amount you use as revenue
- Whether it is tax-inclusive or tax-exclusive
- The Magento store timezone used to group an order into a day or month
Verid v1 uses Magento's tax-inclusive grand total as the supported revenue policy. That means refund treatment must be tax-inclusive too. A tax-exclusive reporting view needs the tax amount on each credit memo; without it, subtracting a tax-inclusive refund from tax-exclusive revenue understates profit. See how the calculation works before changing definitions.
2. Refunds: include credit memos, then choose cash or cohort
Sales dashboards are often most flattering when the refund line is weak. Magento credit memos are real money leaving the business and belong in the P&L.
There are two honest ways to place them in time:
- Cash view: book the refund on the date it happened. This is useful for day-to-day cash and operating decisions.
- Cohort view: book the refund back to the original order date. This is useful when judging whether a campaign, launch or product cohort was genuinely profitable.
Neither view is “the correct one” for every question. The error is mixing them inside one comparison. Read the worked examples in Cash vs Cohort: Where Magento Refunds Go in Your P&L.
3. COGS: a blank product cost is not a zero cost
COGS is usually the largest missing line in a Magento P&L. Product cost may live on a simple SKU while the order displays a configurable parent; bundles can have cost on children; landed cost may not exist in Magento at all.
Before trusting gross profit, list products with recent sales and missing or zero COGS. Then decide whether the correct cost belongs in Magento, a reporting override, or a documented import process. Never fill a gap with €0 merely to make the report complete.
The usual traps are explained in 5 Magento COGS Mistakes That Inflate Your Margin, including configurable and bundle structures.
4. Shipping: what the customer paid is not what the carrier charged you
Customer-facing shipping revenue and merchant shipping cost are different numbers. A customer may pay €0 because you offered free shipping while the carrier invoice still says €6.80. The reverse can also be true.
Build shipping cost rules around the thing that drives your cost: method, destination, order value, weight, fulfilment route or a reviewed blended assumption. Mark an assumption as an assumption and review it when carrier contracts change. More detail: Free Shipping in Magento Is Not Free for You.
5. Payment fees: model percent and fixed fees by method
Magento records the payment method but does not turn your PSP fee schedule into a P&L expense. A practical estimate is:
`` payment fee = captured order total × percent fee + fixed fee per order ``
Use a separate rule for Stripe, PayPal, Klarna, bank transfer or other methods when their economics differ. Verid's v1 estimate retains the original fee on an order when Magento later records a refund; it does not invent a processor clawback. Reconcile estimates to real PSP statements periodically. Payment Fees Are Quietly Eating Your Magento Margin explains why the fixed component matters for low-AOV orders.
6. Ad spend and operating expenses: use the same calendar
Ad platforms report spend in their own account timezone. Your Magento store may use another. If Tuesday's ad spend is compared with Wednesday's orders, every daily conclusion becomes noisy.
Bring Google Ads spend into the same store-timezone day as your orders. Enter other channels manually until an integration is verified. Then include recurring costs that belong to the operating decision: agency retainers, software, fulfilment overhead or other documented expenses. Do not call a report “net profit” if those omissions are material; label it contribution instead.
A small worked example
Imagine a Magento day with these reviewed inputs:
| Line | Amount |
|---|---|
| Magento revenue | €12,000 |
| Credit memos / refunds | −€700 |
| COGS | −€5,100 |
| Merchant shipping cost | −€780 |
| Estimated payment fees | −€205 |
| Google Ads spend | −€2,300 |
| Other expenses | −€180 |
The operating net is €2,735. The Magento revenue total did not lie; it simply answered a smaller question. The P&L shows whether the day has enough room to scale.
The five checks before you act on the number
- Sync completeness: did orders and credit memos for the selected period arrive?
- COGS coverage: are high-revenue SKUs missing cost or using a placeholder?
- Refund policy: are cash and cohort views being compared deliberately?
- Cost assumptions: do shipping and fee rules still match carrier and PSP reality?
- Date alignment: are Magento and ad-spend dates grouped in the same store timezone?
If any answer is “no”, the next task is to fix the data, not to raise ad budget.
From a spreadsheet P&L to a repeatable daily view
A spreadsheet can prove the model for one month. It becomes fragile when orders, refunds, costs and campaign spend change every day. The goal is a routine: sync, review the gaps, inspect yesterday's P&L, then make one decision.
Try the same assumptions in the Magento profit calculator first — it does not require an email or store connection. When you are ready to use actual Magento orders and credit memos, see Magento profit analytics, read the Magento connection guide, or start a 14-day trial.