Documentation

Limits & Quotas

Note: This page is machine-verifiable against api/app/billing/bundles.py. If a value here disagrees with the code, the code wins.

Seats, suppliers, datasets

QuotaNáhledKatalogProvozEnterprise
Users (seats)1135
Suppliers1unlimitedunlimitedunlimited
Data sources11510
Note: 2026-05-06 supplier decoupling: suppliers are unlimited on paid plans — they are a contact directory, not a technical capacity unit. Only Náhled keeps the 1-supplier hard cap.

Import file size (in MB, not rows)

Sytalog stopped limiting imports by row count on 2026-04-27 (v4 realignment). Only file size in MB matters.

LimitNáhledKatalogProvozEnterprise
CSV / XML / JSONL25 MB100 MB500 MB500 MB
XLSX10 MB25 MB50 MB50 MB
Catalog active capacity (per dataset)25 MB100 MB500 MB500 MB
Tip: Big XLSX? Save it as CSV — typically 5–10× smaller. Most commercial feeds with 50,000+ products fit in 25 MB CSV even on Katalog.

Offer emails per user per month

PlanEmails / user / month
Náhled5
Katalog100
Provoz400
Enterpriseunlimited (fair use)

Per-user means Provoz with 3 users = 1,200 emails total. When you hit the limit, sending is rejected — you can top up (+200 emails for €11) or upgrade.

AI chat (Lumi) per user

Lumi has two parallel caps per user — both must pass.

Plan5h rolling7-day rolling
Náhled0 (off)0
Katalog40150
Provoz50175
Enterprise80220

The 5h window resets 5 hours after the first message in the window (Claude Pro pattern). The weekly cap is a true 7-day rolling cap, not a calendar week.

XML feed auto-update frequency

PlanXML auto-update
Náhledmanual only
Katalogmin every 24 h
Provozmin every 1 h
Enterpriseconfigurable, min 5 min

Offer history retention

PlanSnapshot retention
Náhled30 days
Katalog90 days
Provoz1 year
Enterpriseunlimited

What happens when you hit a limit

  • Import above max file size → upload rejected with PLAN_LIMIT_EXCEEDED_IMPORT_FILE_SIZE. Paywall + upgrade CTA.
  • Catalog active capacity → next insert in a split-file update (on_missing=insert) fails. You must upgrade or shrink the dataset.
  • Search daily limit (Náhled, Katalog) → next query returns a paywall with countdown to reset.
  • AI chat 5h window → 429 + paywall "Lumi resets in X minutes".
  • AI chat weekly cap → 429 + paywall "Weekly limit reached — upgrade or wait".
  • AI chat on Náhled → 403 immediately, modal "AI chat starts on Katalog".
  • Offer emails over limit → sending rejected. Paywall offers top-up or upgrade.
  • Supplier limit (Náhled only) → 2nd supplier blocked, paywall "Second supplier = higher plan".
  • Seat limit → user can be invited but lands in seat_state = "over_limit" — read-only until upgrade.