COGS, shipping, gateway fees, and overhead layer into your profit. NetNet runs the full stack once at configuration — after that, every order calculates net profit automatically, forever. Old orders keep old costs; new orders use new rates.
Available on all plansProduct costs from your variants, shipping from carriers or manual config, gateway fees from Shopify Payments, custom overhead in NetNet. All matched to every order at ingestion — no copy-paste, no spreadsheets, no end-of-month sync.
Most apps store one cost per product. Real businesses source by country, negotiate quantity tiers, bundle components, adjust when suppliers raise prices. NetNet's 7-step lookup always picks the right cost — country-specific, period-aware, quantity-tier-aware, bundle-aware.
Colors and sizes cost differently. Set per variant. Missing COGS shows amber warnings.
10 units at $28, 100+ at $22. Orders use the highest matching tier.
Bundle auto-calculates from components. Edit once, flows through every order.
US local supplier: $15. EU distributor: $18. Resolved per order.
Supplier raised prices? Create a new period. Old orders keep old costs.
Bulk manage hundreds of SKUs. See exactly what matched, failed, why.
Three configuration modes: single flat rate for all orders, per-country rules with zone grouping, or pull actual label costs from ShipStation or Shippo. When carrier rates change, new periods auto-close old ones. Orders use the rate active on ship date.
Single cost for all orders.
Group into zones (Domestic, EU, International). Cost per zone.
Pull actual label costs from ShipStation or Shippo.
Carrier raised rates June 1st? New period. May orders use May rates.
Different shipping profiles in one order? Sum or Max.
Most apps assume Stripe at 2.9% + 30¢. Razorpay charges 2% + tax-on-fee. PayPal varies by cross-border risk. NetNet captures percentage, flat fee, and tax independently. Configure by keyword, auto-detect COD, see the exact fee per order.
Percentage + flat + tax-on-fee. Most tools ignore tax.
Case-insensitive gateway matching: 'stripe' matches 'Stripe Inc', 'stripe_connect'.
Cash on Delivery: flat fee per order, not %. Auto-detected.
Stripe raised rates? New period. Old orders keep old rates.
Configured rate → Shopify metadata → plan estimates.
Per-order fees (packaging, COD handling) multiply by volume. Custom costs (rent, salaries, apps) are monthly budgets prorated daily. Both scale differently. Both support date-range periods.
$5 packaging, or 2% convenience fee. All orders or COD-only.
Overhead, App/Software, Marketing, Fulfillment, Salaries, Other.
$30K rent ÷ 30 days = $1K/day. 7-day P&L allocates 7 days.
Monthly costs auto-recur. One-time items as single lines.
Changed SaaS tools mid-year? New period. Old months frozen.
Payment processors charge you per dispute. NetNet tracks and applies per-currency fees automatically — $15 USD, £10 GBP, ¥1,300 JPY, plus 12+ pre-configured defaults. Optionally waive on won disputes.
USD/CAD: $15, GBP: £10, AUD: $25, JPY: ¥1,300.
Override defaults. Custom amounts in settings.
Waive on won disputes. Pay only on losses.
Multiple disputes per order. Each tracked independently.
COGS, shipping, gateway fees, custom costs — all support periods. Supplier raised prices June 1st? New COGS period. Carrier changed rates? New shipping period. Old orders stay historically accurate. New orders use new rates. No retroactive changes.
When you create a new period, the previous open-ended period auto-closes. No manual date management.
January orders use January costs. Your P&L for any past period stays frozen-accurate forever — even when costs go up today.
Leave the end date empty for 'until further notice'. Auto-closes when a new period starts.
Cost rules flow directly into the four-layer model: COGS and shipping → CM1, transaction fees → CM2, ad spend → CM3, overhead → Net Profit. New orders use new rules; old orders keep old rules. Your historical P&L never changes.
Connect your Shopify store, configure your costs once, and every order's profit calculates automatically from that moment forward.