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.
| Tier | Price | Best for |
|---|---|---|
| Starter | From 5,000 SEK / month | Single-brand suppliers testing discovery |
| Growth | From 8,500 SEK / month | Established supplier networks |
| Pro | From 15,000 SEK / month | Scaling supplier networks |
| Enterprise | Custom pricing | Multi-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:
| Limit | Starter | Growth | Pro | Enterprise |
|---|---|---|---|---|
| Retailer locations | 50 | 500 | 2,000 | Unlimited |
| Brands | 1 | 3 | 10 | Unlimited |
| Users | 2 | 5 | 20 | Unlimited |
- 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 quota | Starter | Growth | Pro | Enterprise |
|---|---|---|---|---|
| Searches | 5,000 | 50,000 | 500,000 | Unlimited |
| Analytics events | 50,000 | 500,000 | 5,000,000 | Unlimited |
| Import rows | 10,000 | 100,000 | 1,000,000 | Unlimited |
- 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 monthlimit— your plan's cap (-1means unlimited on Enterprise)pct— usage as a percentage of the limitapproaching—trueonce you cross 80% of the limitexceeded—trueonce you've hit or passed the limitunlimited—trueon Enterprise- and a
resetAttimestamp 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:
-
A supplier admin starts checkout for the chosen plan (Starter, Growth, or Pro).
-
Stockisto creates a Stripe Checkout session and redirects you to Stripe's hosted payment page.
POST /api/v1/billing/checkout-session { "planTier": "Growth" } -
You enter payment details on Stripe and confirm.
-
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, orpaused). - 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