If your Magento P&L looks “too good,” start with COGS — especially on bundles and configurables.
In Magento 2 it is common for:
- Child simple products to carry
cost/ custom cost attributes - Parent bundle or configurable lines to show cost = 0
- Order exports and analytics tools to read the parent line and conclude COGS is free
That single modeling mistake can inflate net profit by thousands of euros a month.
How Magento represents the order
A typical bundle order line looks like:
- Parent: “Starter Kit” — qty 1 — row total €89 — cost 0
- Children: SKU A, B, C — often qty on children, cost on children, row total 0 or partial
If your profit tool only sums parent cost × qty, the kit contributes €0 COGS and nearly all of €89 falls to “profit.”
Configurable products have the same failure mode when the parent is what the report keys on.
Why merchants miss it
- Magento Admin product grid shows cost on simples; the order looks “normal”
- Ad platforms never see cost at all
- CSV exports often flatten parents without rolling children up
- “We set cost on products” is true — but not on the line that carries revenue
What correct COGS looks like
For profit analytics you want:
- Unit COGS for every revenue-bearing line
- For bundles/configurables: roll child costs onto the parent (or allocate carefully)
- Avoid double counting children if parents already include rolled-up cost
- Persist computed kit cost so resyncs stay stable
Example:
- Child A cost €4.20 × 2
- Child B cost €6.10 × 1
- Child C cost €11.00 × 1
→ Parent kit unit COGS ≈ €25.50, not €0
How to audit your catalog in an afternoon
- Take the last 7 days of Magento orders
- Sum revenue on top-level lines
- Sum COGS on those same lines
- Compute % of revenue with €0 COGS
- Sort zero-COGS revenue by SKU — bundles usually dominate
Thresholds that usually mean “do not trust the dashboard yet”:
- ≥40% of revenue at €0 COGS → critical
- 15–40% → fix before you scale ads
Where Verid helps
Verid’s Magento sync computes line COGS with bundle/configurable rollup, writes usable unit costs for kit SKUs, and alerts when weekly revenue still has large zero-COGS coverage.
You can still override costs in Products / CSV when Magento attributes are incomplete.
Fix order of operations
- Enable or map Magento cost attributes for simples
- Resync recent orders
- Override stubborn kits in Verid Products
- Only then judge campaign POAS / net profit
Until step 3 is honest, every “scale this ROAS winner” decision is built on fiction.