Company plan and subscription: view, limits and renewal
How to read your company plan and its limits as implemented, how to upgrade or renew by card through Stripe, and what stops working when the subscription expires.
Last updated 22 October 2026 · Last verified 22 October 2026
Purpose#
A delivery company works under a company plan that the super admin defines. The plan sets the subscription length, the parcel, courier and merchant limits, whether the company API, webhooks and live courier tracking are on, and the menus the company admin receives.
Who can access it#
- باقة شركتي ("My company plan") appears in the company menu for the owner and for accounts with the
subscription_readpermission. The page stays open after expiry. - Platform-owned companies and companies owned by a merchant ("My delivery company") need no company subscription.
- Online payment works only when the super admin has configured Stripe; otherwise the page shows the platform's phone and email instead of pay buttons.
What you need#
- A company panel account on your company's own domain.
- A card that Stripe Checkout accepts. Plan prices are in US dollars.
Steps#
Open the plan page
Choose باقة شركتي in the company menu. سجل الاشتراكات (Subscription history) lists past subscriptions.
Read your plan and usage
The current-plan card shows the plan name, a monthly or yearly badge, the level, the days left (warning at 7 or fewer), the dates, and
used / limitbars (∞ means no limit) for today's API requests (when the plan includes the API), webhook links (when the plan includes webhooks) and merchants (always). "Latest subscriptions" shows the last six. There is no usage bar for parcels or couriers.Choose a plan
Plans are cards, with monthly and yearly tabs when both exist. Each shows the USD price, the parcel and courier counts (when above zero), and ticks or crossed-out lines for API, webhooks and live tracking. A card is marked باقتك (your plan) or ترقية (upgrade).
Pay by card
Press اشترك وادفع بالبطاقة (subscribe) or رقّي وادفع بالبطاقة (upgrade). You go to Stripe Checkout and pay by card in USD. On return, the system asks Stripe to confirm payment, amount and reference before starting the subscription, once per attempt. If you cancel on Stripe, you see a warning message that the payment was cancelled; no subscription is created and nothing changes.
Expected result#
A new subscription starts now and lasts the plan's days (the plan form sets 30 for monthly and 365 for yearly). Days left on the old plan are not added. The old subscription stays in the history; the paying account's permissions are replaced by those of the new plan's modules. A self-registered company starts with an already-expired subscription and no permissions, so it must choose a plan first.
How the limits work#
| Limit | Checked | What happens |
|---|---|---|
| Parcel count | Only when company staff create or duplicate a parcel in the web panel | Your subscription's parcel limit is compared with all the company's parcels, with no date filter, so renewing does not reset it. Once reached, creation is refused with You have limited parcel manage. Please upgrade your package. A plan whose parcel limit is 0 refuses every parcel. Merchants' parcels, the staff mobile API and Excel import skip this check. |
| Courier count | When a courier is added | Refused once reached, with "Your company plan allows N couriers, and you have X. Upgrade the plan." |
| Merchant limit | When staff add a merchant | Refused with "Your company plan allows N merchants, and you have reached the limit. Upgrade the plan to add more merchants." An empty limit means none. |
| API, webhooks, live tracking | When the feature is used | A plan includes or excludes each one. Excluded API: HTTP 403 plan_feature. API per-minute and per-day limits: HTTP 429 rate_limited with Retry-After. |
Price, days and the parcel and courier limits are fixed in your subscription when it starts, so later plan edits do not change them. The feature switches (API, webhooks, live tracking) and the API, webhook and merchant limits are read from the current plan, so edits to them apply to running subscriptions. An older plan whose features were never configured allows every feature and sets no API, webhook or merchant limit.
What happens when it expires#
The subscription is valid through the whole day of its expiry date.
- Company pages behind the subscription check, including the dashboard, redirect staff to the plan page.
- Merchants registered under the company cannot create new parcels; the refusal says the company's subscription has expired.
- In the staff mobile app, reading works; most creating, editing and deleting calls return HTTP 402 with
codecompany_subscription_expired, while profile, support, wallet and payment calls and a few read-only POST lookups stay allowed. - The company API answers HTTP 402
subscription_expired. - The courier mobile API is not part of this check, and outgoing webhooks keep being sent after expiry; the plan's webhook switch is only checked while a subscription is active.
Common mistakes#
- Trying to extend an active plan by paying for it again. The active plan's card has no pay button, and blocked plans show their reason as text without a button. Renew after it ends, or upgrade.
- Expecting leftover days or a monthly reset. An upgrade replaces the old period; the parcel count never resets.
Limits and permissions#
- While a subscription is active you may only upgrade to a higher level, or from monthly to yearly. The same plan, a lower level, monthly after yearly, and the same level and cycle are refused. After expiry you can pick any plan.
- Stripe card payment is the only online way to pay. The super admin can also switch a plan by hand, which likewise starts a new subscription today.
- The super admin sets prices, counts, days, features and menus; the company cannot edit them.