Marginova

For Shopify, Amazon & Etsy sellers

Your margin has a floor. We guard it.

Your supplier raised the cost of TS-BLK-M by $1.40 on Tuesday. Marginova emailed you Tuesday. No more month-end surprises.

$19/mo · 14 days free

MarginovaShopify synced · 2m ago

Average margin

41.8%

across 214 products

1 below floor
skuproductpricemargin
MG-GRN-08Enamel mug$14.0070.7%
CD-NVY-LZip hoodie$32.0064.8%
BX-KRF-12Kraft boxes$1.8065.6%
min margin — 15%
TS-BLK-MCotton tee$7.8011.5%
margin alert → your inbox

Tuesday, 9:14 AM. Your supplier's new price sheet lands.

TS-BLK-M cost +$1.40

By 9:15, the margin math is already done.

It crosses your floor. You get one email.

MarginovaShopify synced · 2m ago
MG-GRN-08Enamel mug$14.0070.7%
min margin — 15%
TS-BLK-MCotton tee$7.8011.5%
margin alert → your inbox

Built to be trusted with your numbers.

None of this is a setting you have to find. It's how the product is built.

Read-only, always

Marginova requests read_products and read_inventory — nothing else. It can see your catalog; it can never edit a price or push a change back to your store.

Stripe handles every card

Checkout and billing run on Stripe's PCI-compliant infrastructure. Marginova's code never touches — or stores — a card number.

Your numbers, walled off

Row-level security on every table scopes each query to your account at the database layer. There's no code path from one seller's data to another's.

Cents, not floats

Cost, price, and margin are stored as integer cents end to end. No floating-point rounding drift between what you typed and what you see.

Who Marginova is for

Built for sellers who pack their own boxes.

Marginova is for solo and small teams running 20 to 1,000 SKUs on Shopify, Etsy, or Amazon — the sellers doing their own packing, their own pricing, and their own books. Not a finance team. Not a merchandising department. Just you, a spreadsheet that got out of hand, and margins you'd rather not find out about at month-end.

Your first alert is five minutes away.

Bring the cost sheet you already keep and set one rule. That's the whole setup.

  1. sku,cost,price
    Import CSV

    Bring your catalog

    Type products in, or drop in a CSV — sku, cost, price, done.

  2. Margin floor

    15%

    store default · per-product overrides

    Set your margin floor

    One default for the store, or per-product. 15% means never below 15%.

  3. margin — TS-BLK-M

    11.5% — below floor

    Get the alert that matters

    A change that pushes a margin under the floor emails you once — the moment it happens.

the catch

What lands in your inbox.

One email when a margin crosses the floor, with the number that moved and why.

Marginova Alerts

to you · moments ago

1 below floor

Margin alert — TS-BLK-M

Cotton tee margin dropped to 11.5% — below your 15% floor. Cost rose from $6.90 to $8.30 on your supplier's latest price sheet.

sent within minutes of the price change — not at month-end

Margin over 12 days

min margin — 15%cost updatealert sent

the system

A ledger that speaks up.

Everything watches your floor — nothing needs babysitting.

alerts · digest

One email the moment it matters.

One email the moment a net margin — after fees and shipping — crosses below its floor. Once per crossing, no repeat spam while it stays low. A daily digest rounds up everything below threshold, plus where you have room to reprice.

Margin alert — TS-BLK-M11.5%
Daily digest3 below floor · 5 with headroom
Recovered — MG-GRN-0818.2%

repricing

See where you have room to move.

Products whose margin runs well above the floor get flagged — room to move price without breaking your rule.

MG-GRN-08 / 70.7%headroom +$2.10
CD-NVY-L / 64.8%headroom +$0.85
TS-BLK-M / 11.5%below floor

csv · shopify · links

Your catalog, in however you keep it.

Type products in, or drop a CSV — rows update by sku. Or connect Shopify and prices and costs sync themselves — read-only, synced daily, plus Sync now anytime on Growth and Scale. Keep a competitor URL beside each product for reference; Marginova never scrapes.

Shopify synced · 2m ago
catalog.csv— 100 rows · matched by sku
competitor links · reference only

floors

One rule, enforced everywhere.

A store-wide default, with per-product overrides where a product needs its own rule.

Store default15%
TS-BLK-M 20%
BX-KRF-12 12%

the old way

The spreadsheet was fine. Until it wasn't.

Marginova is the ledger you already keep — with a watchdog attached.

Your spreadsheet today

  • Costs go stale between updates
  • Margins checked when you remember
  • Bad news shows up at month-end
  • One tab per marketplace, and none of them agree

With Marginova

  • Costs update by CSV or daily Shopify sync
  • Every floor watched continuously
  • The alert lands the day a margin slips
  • One ledger for all of it

your floor, watched

Start at $19. Grow when you do.

14 days free on every plan

Start here

Starter

$19/mo

up to 100 products

  • Manual entry + CSV import
  • Immediate margin alerts + the daily digest
  • Repricing flags, competitor links, per-product floors
Start free trial

Growth

$39/mo

up to 300 products

  • Manual entry, CSV import, or Shopify auto-sync
  • Immediate margin alerts + the daily digest
  • Repricing flags, competitor links, per-product floors
Start free trial

Scale

$69/mo

up to 1,000 products

  • Manual entry, CSV import, or Shopify auto-sync
  • Immediate margin alerts + the daily digest
  • Repricing flags, competitor links, per-product floors
Start free trial

no charge until day 15 · cancel anytime in the Stripe billing portal

The short answers.

Where does the price data come from?

From you. Add products by hand or upload a CSV of the cost sheet you already keep. Competitor URLs are stored as reference links next to your products — Marginova never scrapes marketplaces.

What happens after the 14-day trial?

Your subscription starts at $19/month on the card you entered at checkout. Cancel before the trial ends and you pay nothing.

How do I cancel?

From Settings, open the billing portal and cancel there. It's Stripe's own portal — no emails, no retention flow.

What does the CSV need to look like?

A header row of sku,name,cost,price, with optional competitor_url and min_margin_pct columns. Re-uploads update existing rows by sku.

What Shopify permissions does Marginova ask for?

Two read-only scopes: read_products and read_inventory. Marginova pulls prices and costs on a daily sync (or on demand with Sync now) and never requests write access.

Can I switch plans later?

Yes. Open the billing portal from Settings and pick a new plan — Stripe handles the change and any prorated charge on your existing card.

What happens if I go over my plan's product cap?

New products are blocked until you delete one or upgrade — nothing you've already added stops being monitored.

Stop finding out at month-end.

Set your floors once. Marginova watches every price and cost change after that.

$19/mo · 14 days free