Plans & Billing

Stockisto runs on four plan tiers — Starter, Growth, Pro, and Enterprise — each with its own hard limits (retailers, brands, users) and monthly quotas (searches, analytics events, import rows). Subscriptions are handled through Stripe: you start a free trial, upgrade through Stripe Checkout, and manage your subscription, payment method, and invoices through the Stripe Customer Portal. This guide explains what each tier includes, how limits and quotas are enforced, and how to subscribe, upgrade, or cancel.


Plan tiers

Pricing is value-based and billed monthly. See the full breakdown on the pricing page.

TierPriceBest for
StarterFrom 5,000 SEK / monthSingle-brand suppliers testing discovery
GrowthFrom 8,500 SEK / monthEstablished supplier networks
ProFrom 15,000 SEK / monthScaling supplier networks
EnterpriseCustom pricingMulti-brand supplier groups

What each tier includes

Starter — 1 brand, up to 50 retailer locations, a branded locator page, basic analytics (30-day rolling), and email support.

Growth — up to 3 brands, up to 500 retailer locations, the full analytics dashboard, retailer portal access, CSV import, and priority email support.

Pro — unlimited brands and retailer locations on the pricing page, advanced analytics with a geo heatmap, API access (webhook), dedicated onboarding, and SLA support.

Enterprise — unlimited brands and locations, a dedicated CSM, custom SLA, API + webhook access, and white-glove onboarding.

Not ready to commit?

Stockisto runs a pilot program: we work with your first supplier for 3 months to prove value before any contract — a live locator, real analytics, and a full evaluation. Reach out via Book a demo to learn more.


Plan limits & quotas

Every tier enforces two kinds of caps. Both are derived from your tenant's plan tier — there is no per-account override outside of an admin plan change.

Hard resource limits (counted live)

These are absolute caps on how much you can have at once. They're checked against your live database counts each time you try to create a new resource:

LimitStarterGrowthProEnterprise
Retailer locations505002,000Unlimited
Brands1310Unlimited
Users2520Unlimited
  • Retailers counts your active supplier→retailer relationships.
  • Brands counts your active (non-archived) brands. Archiving a brand frees up the slot.
  • Users counts the user accounts in your tenant.

Enterprise is unlimited

On Enterprise, every limit is set to "unlimited" and the quota check short-circuits — no resource ceiling is applied.

Monthly rolling quotas (reset each month)

These meter usage over a calendar month and reset automatically at the start of the next month (UTC). They cover high-volume activity:

Monthly quotaStarterGrowthProEnterprise
Searches5,00050,000500,000Unlimited
Analytics events50,000500,0005,000,000Unlimited
Import rows10,000100,0001,000,000Unlimited
  • Searches — consumer locator searches against your retailer network.
  • Analytics events — tracked events that feed your analytics dashboard.
  • Import rows — rows processed through data import.

Quotas reset at midnight UTC on the first of each month. You don't need to do anything — the counters expire and restart on their own.


How enforcement works

When you reach a hard limit, the create operation is rejected. The API returns HTTP 402 Payment Required (the standard "you've hit your plan ceiling" response) along with your current count, the limit, and a link to upgrade.

When you exceed a monthly quota, further usage of that metric is blocked for the rest of the month, and the API again returns 402 with the reset time.

What a 402 means

A 402 response is not an error in your data — it means your plan's limit for that resource or metric has been reached. Upgrade your plan (or wait for the monthly reset, for rolling quotas) to continue.

Stockisto is built to fail open on infrastructure hiccups: if the usage store is temporarily unavailable, requests are allowed through rather than blocked. So a momentary outage will never lock you out of your own account.


Checking your usage

Supplier admins can see current monthly usage at any time from the dashboard, backed by the quota status endpoint:

GET /api/v1/quota/status

This returns per-metric usage for searches, analytics events, and import rows, each with:

  • used — how much you've consumed this month
  • limit — your plan's cap (-1 means unlimited on Enterprise)
  • pct — usage as a percentage of the limit
  • approachingtrue once you cross 80% of the limit
  • exceededtrue once you've hit or passed the limit
  • unlimitedtrue on Enterprise
  • and a resetAt timestamp for when the month rolls over
{
  "searches": {
    "used": 4200,
    "limit": 5000,
    "pct": 84,
    "approaching": true,
    "exceeded": false,
    "unlimited": false
  },
  "analyticsEvents": { "used": 12000, "limit": 50000, "pct": 24, "approaching": false, "exceeded": false, "unlimited": false },
  "importRows": { "used": 0, "limit": 10000, "pct": 0, "approaching": false, "exceeded": false, "unlimited": false },
  "resetAt": "2026-07-01T00:00:00.0000000+00:00"
}

Watch the 80% mark

The approaching flag flips on at 80% of any quota. Treat that as your cue to upgrade before you hit a hard 402 mid-month.

This status response is informational only — it always returns 200 OK and never blocks a request. It's cached for about 10 minutes per tenant, so a brand-new burst of usage may take a few minutes to show up in the numbers.


Subscriptions & billing

Billing runs entirely through Stripe. Your tenant record tracks your current plan tier and subscription status, and Stripe is the source of truth for payments.

Subscription statuses

Your subscription moves through these states:

  • Trial — your free trial period before you've subscribed.
  • Active — a paid subscription in good standing.
  • PastDue — a payment failed; resolve it in the Customer Portal to return to Active.
  • Paused — the subscription is temporarily paused in Stripe.
  • Canceled — the subscription ended; your tenant reverts to the Starter plan tier.

Starting a trial

New suppliers begin on a free trial. See Getting Started for the full onboarding walkthrough — start your trial, complete the onboarding checklist, and publish your locator. No card is required to begin.

Subscribing or upgrading

When you're ready to move from trial to paid, or to move up a tier:

  1. A supplier admin starts checkout for the chosen plan (Starter, Growth, or Pro).

  2. Stockisto creates a Stripe Checkout session and redirects you to Stripe's hosted payment page.

    POST /api/v1/billing/checkout-session
    { "planTier": "Growth" }
    
  3. You enter payment details on Stripe and confirm.

  4. Stripe notifies Stockisto, and your tenant is moved to Active on the new plan automatically.

After a successful checkout you're returned to the billing page (/billing?success=true); if you cancel out of Stripe Checkout, you land back on /billing?canceled=true with no changes made.

Who can change billing

Creating a checkout session, opening the Customer Portal, and changing plans require the SupplierAdmin role. Supplier viewers can read billing status but cannot make changes.

Managing your subscription & invoices

Once you've subscribed, manage everything through the Stripe Customer Portal:

POST /api/v1/billing/portal-session

This opens Stripe's secure portal where you can update your payment method, view and download invoices, change or cancel your subscription, and fix a failed payment. You must have an active Stripe customer (i.e. you've subscribed at least once) before the portal is available.

Cancelling

Cancel from the Customer Portal. When Stripe confirms the cancellation, your subscription status becomes Canceled and your tenant automatically drops back to the Starter plan tier and its limits.

Cancellation downgrades your limits

Reverting to Starter means Starter's caps apply again (50 retailers, 1 brand, 2 users, and the Starter monthly quotas). If you're over those limits when you cancel, existing data is kept, but you won't be able to add more until you're back under the Starter caps or resubscribe.

Checking billing status

Supplier admins and viewers can read the current plan and subscription state:

GET /api/v1/billing/status

It returns your planTier, subscriptionStatus, and Stripe customer reference.


Plan changes from Stripe

Stockisto keeps your plan in sync with Stripe automatically through webhooks. You don't manage plan tiers by hand — Stripe events drive the changes:

  • Checkout completed → your tenant is linked to its Stripe customer and subscription and set to Active.
  • Invoice paid → confirms the subscription stays Active.
  • Subscription updated → your plan tier is re-mapped from the Stripe price, and status reflects Stripe (active, past_due, or paused).
  • Subscription deleted → status becomes Canceled and the plan reverts to Starter.

This means an upgrade or downgrade you make in Stripe is reflected in your Stockisto limits within moments of Stripe processing it.


Frequently asked questions

What happens when I hit a limit mid-month? For hard resource limits (retailers, brands, users), you can't add more of that resource until you upgrade or free up a slot. For monthly quotas (searches, analytics, import rows), the metric is blocked until the next monthly reset — or upgrade to a higher tier for a larger allowance immediately.

Do unused quotas roll over? No. Monthly quotas reset at the start of each calendar month and do not carry over.

Can I go straight to Enterprise? Enterprise is custom-priced and set up with our team — book a demo to discuss multi-brand and custom SLA needs.

Where do I see my invoices? In the Stripe Customer Portal, opened from your billing page. All past invoices are available there to view and download.


What's next?

  • Getting Started — start your trial and publish your locator
  • Data Import — import retailers (counts toward your import-rows quota)
  • Pricing — full tier comparison and the pilot program