Skip to main content
Cost settings are where you tell Upstack what it actually costs to fulfill an order. Once your costs are in, Upstack subtracts them from revenue to give you accurate contribution margin (CM1–CM4) and a real P&L — not just revenue and ROAS. This guide walks through each cost category and how to set it up.
Cost settings are available to admin and owner roles, and may not be enabled on every account yet. If you don’t see the Costs section in Settings, contact the Upstack team.

Where to find it

Open Settings → Cost settings. Every cost category is a collapsible section on that one page — open a section to configure it, and only one stays open at a time.
Two things to know before you start:
  • Changes apply to past orders too. When you add or edit a cost, Upstack recalculates matching historical orders within that cost’s date range — so your reporting stays consistent.
  • You can date every cost. Most cost lines accept an effective start and end date, so a rate change from last month doesn’t rewrite the months before it.

Where to start

Product defaults is the one section Upstack flags as required — until it’s filled in, its header shows a Setup badge, because without it an order can be missing a product cost entirely. A good first pass:
  1. Product defaults — a fallback COGS % so every product has a cost
  2. Payment processing fees — what your gateways charge
  3. Shipping — what it costs to ship an order
  4. Order fees — any other per-order or per-item fees
Add Product costs, Variable costs, and Recurring expenses as you need them.

Product defaults

Two settings that apply when a product is missing its own cost data:
  • Default COGS % — a percentage of the item’s sale price (0–100), used as the cost of goods for any product that has no specific cost. This is the fallback when a variant has no cost.
  • Handling fee — a flat amount charged on every unit sold, so a line item with quantity 3 is charged three times. It’s a separate cost from COGS, and it has its own fallback: it applies only to products that don’t have their own handling fee.
Set the Default COGS % first so no order is ever missing a product cost.

Product costs

Per-variant cost overrides. If you maintain Cost per item in Shopify, Upstack syncs it automatically — those synced costs are read-only here. You can also enter your own cost for any variant, with effective date ranges; your manual entry takes precedence over the Shopify-synced value. Both Product Cost and Handling Fee here are per-unit amounts, multiplied by the quantity sold on each order. A variant’s handling fee replaces the default Handling Fee — set it to 0 to charge no handling fee for that product.
Give each cost entry for a variant a different start date. If two entries share the same start date, only one of them is used for an order, and Upstack flags the duplicate so you can fix it.

Payment processing fees

Payment processing fees per gateway, entered as a flat amount plus a percentage:
  • Flat Fee — a fixed amount per transaction (e.g. $0.30)
  • Percent Fee (%) — a percentage of the order (e.g. 2.9%)
Gateway names are discovered from your order history, so you only configure the ones you actually use.

Shipping

Choose how Upstack accounts for shipping cost, using one of three modes: With Shipping Profiles, each profile matches one or more countries. A profile can be a single Flat Rate or Weight Tiered, and you can set a default profile as a fallback.
If two shipping profiles cover the same country, Upstack shows an Overlapping Shipping Profiles warning and uses the first match. Keep country coverage distinct so the right rate always applies.

Order fees

Fees that apply per order, per line item, or per refund — beyond product cost. For each cost line you choose how it’s calculated: Each cost line is assigned a category (COGS, Fulfillment, Transaction, Marketing, Agency Fees, Opex, or Other) — which determines its contribution-margin tier — and a channel (Online, POS, or Both). Rich filters let you scope a cost to specific gateways, tags, vendors, product types, countries, or products.

Variable costs

Costs that scale with ad spend. Today this is % of Ad Spend — a percentage applied to your ad spend, with an optional filter for which ad platforms it applies to, under a Marketing or Opex category. Useful for agency fees or tools billed as a percentage of spend.

Recurring expenses

Recurring overheads like rent, salaries, and software subscriptions. Set an amount and a frequency — Daily, Weekly, Monthly, Quarterly, or Yearly — and a category (Marketing, Opex, Agency Fees, or Other). Upstack averages the cost across the period so it shows up correctly in your P&L.

How costs roll into contribution margin

Each cost’s category decides which margin tier it reduces: Recurring expenses and variable costs land in the tier that matches the category you give them — a Marketing-category cost reduces CM3, while an Operating expenses, Agency fees, or Other cost reduces CM4. See Contribution margin for how the tiers are used across the P&L dashboard.

Frequently asked questions

Yes. When you add or edit a cost, Upstack recalculates matching historical orders within that cost’s effective date range. Set start and end dates to control exactly which orders a cost applies to.
Its cost falls back to your Default COGS % from Product defaults. Set the Default COGS % first so every order has a product cost. Handling fees fall back separately — a product without its own handling fee uses the Handling fee from Product defaults.
A cost’s category determines its tier: COGS → CM1; Fulfillment, Transaction, Gateway, and Shipping → CM2; Marketing and ad spend → CM3; Operating expenses, Agency Fees, and Other → CM4. Recurring expenses and variable costs follow the same rule — they land in the tier matching their category.
Mostly. Order fees, payment processing fees, shipping, recurring expenses, variable costs, and the Product defaults handling fee each carry their own currency, and Upstack converts them into the order’s currency. Per-variant Product costs are the exception — those are always in your store’s currency.
Admin and owner roles. The Costs section may not be enabled on every account yet — contact the Upstack team if you don’t see it.

Contribution margin

How CM1–CM4 and the P&L dashboard use your costs.

Manage costs from the CLI

Read and update cost configuration with the upstack costs command.

Attribution and reporting

How Upstack attributes conversions and calculates reporting metrics.

Costs API

Manage cost configuration programmatically.