Skip to main content

Reseller billing

This page covers provider (super admin) → reseller billing and reseller → reseller’s customer billing, plus vendor billing notes and current limitations.

For the partner model comparison, see Reseller vs Vendor.

Current limitations — not bugs

Features listed under Current limitations are known gaps or under review / QA. They will be addressed in future releases. Do not report them as bugs unless live behaviour differs from this page.


Two billing layers​

LayerWho is billedWhat drives the charge
Provider → ResellerResellerAggregated usage of the reseller’s customers, at provider → reseller pricing
Reseller → CustomerEnd customerServices the customer consumes, at reseller pricing / payment mode
End customer creates VM (any cycle / mode)
│
├─► Reseller → Customer: bill per reseller rules (prepaid / postpaid / manual)
│
└─► Provider → Reseller: usage rolled up (typically hourly) → bill reseller

Onboarding and commercial setup​

  • Admin onboards the reseller and assigns a rate card (or creates a reseller-specific rate card).
  • Currency assigned at onboarding is the currency the reseller uses for customers.
  • Global billing cycles enabled by the super admin apply to the reseller. The reseller cannot add or remove cycles.
  • Reseller cannot create their own plans; they can change existing plans assigned by the super admin (prices / margin).
  • After the rate card is assigned, the reseller can update prices or add margin (fixed amount or percentage) from the reseller admin dashboard.

Payment modes​

CMP supports PREPAID, POSTPAID, and MANUAL.

Provider → reseller​

The super admin chooses the reseller’s payment mode from modes enabled for reseller accounts (see Payment Mode Settings).

Example: If the super admin has PREPAID and POSTPAID enabled for resellers, the reseller is onboarded on one of those modes.

Reseller → customer​

Modes available to the reseller’s customers follow what is enabled on the provider → reseller path for that relationship.

Example: If PREPAID and POSTPAID are enabled for reseller billing, reseller customers can use PREPAID and POSTPAID. MANUAL is not available in that example unless enabled for that path.


Provider → reseller billing cycles​

Stack Console supports hourly, monthly, quarterly, semi-annual, and yearly cycles for end services — but provider → reseller charging for compute-style services is strictly hourly usage (unless a global flag forces a narrower rule — see force_reseller_hourly_billing).

How hourly provider billing works when the customer buys yearly​

  1. Reseller’s customer creates a service on the 15th with a yearly cycle.
  2. Reseller → customer: reseller can charge the customer yearly and collect that bill.
  3. Provider → reseller: CMP still calculates the reseller’s liability on an hourly basis from the 15th to month end, then full months, while the service remains active — regardless of the customer’s cycle.

How yearly sale maps to hourly cost to the reseller: hourly rate is derived from the billing-cycle price of that service (for example yearly package price → hourly via the normal cycle formulas — see Pricing formulas).

Invoice timing (provider → reseller)​

  • An invoice to the reseller is generated at the end of each month (payment-mode specifics below).
  • Prepaid reseller: must maintain wallet balance; infra credit is deducted as usage accrues; invoice still generated at month end for services (depending on prepaid receipt model — see Prepaid).

Add-ons and licenses​

If a reseller’s customer purchases an add-on or license, the reseller is also billed for that item using the billing cycle selected for that add-on/license (not necessarily hourly).

Example: Compute may be hourly provider → reseller; an add-on bought monthly generates a monthly charge to the reseller for that add-on.

Free trial (provider → reseller)​

  • Free trial is not supported for provider → reseller charging.
  • Resellers may offer free trials to their customers, but the reseller is still charged by the super admin for that usage.

force_reseller_hourly_billing​

SettingBehaviour
force_reseller_hourly_billing = trueResellers are billed with only hourly invoices for services, except Licenses and Add-ons (add-ons also depend on enable_hourly_addons)

Confirm live flags under Billing Settings (admin) / Global Settings when available.


Provider → reseller by payment mode​

Prepaid (admin → reseller)​

  • Billing to the reseller is hourly for applicable services.
  • Reseller must keep sufficient funds.
  • When reseller customers create paid services (any customer cycle / mode), usage is calculated hourly for the reseller as it accrues.
  • Invoices:
    • Against infra credit top-up (actual fund transfer): invoice can generate immediately.
    • Against services: invoice typically on the 1st of the next month (per prepaid model / platform settings).
  • Quota: Admin can assign quota to the reseller. If reseller quota is exceeded, customers cannot create resources even if customer quota remains.
  • Disciplinary / insufficient funds: If the reseller has insufficient funds, customers cannot create services. Message example: You can not create services at the moment. Please contact the administrator.
  • Taxation: Super admin tax by branch/country; provider → reseller tax per reseller country; super admin can mark a reseller tax exempt.
Super admin → reseller disciplinary

Super admin → reseller disciplinary actions are under review and not available for now. See Current limitations.

Postpaid (admin → reseller)​

  • Billing is hourly for applicable services.
  • Threshold is required when creating a postpaid reseller (or set from reseller overview). Default may come from currency-level global threshold; if that default is zero, global currency threshold applies.
  • When threshold is reached, the user cannot create further services (per threshold rules).
  • Customer-driven usage still accrues hourly to the reseller.
  • Invoice: for hourly services when usage reaches the threshold; postpaid invoices are processed automatically.
  • Payment method: credit card required for postpaid reseller settlement.

Manual (admin → reseller)​

  • Behaves like postpaid for accrual patterns.
  • Invoices are not processed automatically — pay / mark paid manually.

Reseller → customer billing​

  • Reseller can sell with PREPAID, POSTPAID, and/or MANUAL as enabled for that path.
  • Global billing cycles set by the super admin apply to reseller customers.
  • Global billing rules set by the super admin apply — reseller-specific billing rules are not available.
  • Invoices follow normal prepaid / postpaid / manual rules (like a regular system).
  • Quota: Reseller assigns customer quota; customers can request increases via quota request when exceeded.
  • Disciplinary (customer): Insufficient funds block creates and renewals. Triggers include low / negative balance and unpaid invoice (from due date), using disciplinary freeze timing — see Disciplinary Actions.
  • Taxation: Reseller can configure tax by branch/country for customers; can exempt a specific customer.

Vendor billing (summary)​

Full comparison: Reseller vs Vendor.

Vendor → customer — no billing​

  • No direct billing to the vendor’s customer.
  • Customer account has no taxable invoices / invoice numbers; usage may be tracked internally.
  • Creates validate against the vendor balance.
  • Vendor onboards customers (no self-registration for vendor customers).
  • Customer payment mode is compulsory Manual (avoids customer invoices and disciplinary on that account).
  • If the vendor is prepaid, infra credits are checked on the vendor, not the customer.

Super admin → vendor​

  • Vendor manages customer accounts; cannot create services directly.
  • System aggregates all customer usage and charges the vendor in a single monthly invoice.
  • Invoice on the 1st covering the previous month (example: May usage → invoice 1 June).
  • No threshold invoices for vendors (month-end only).
  • Vendors are subject to the same style of disciplinary actions as regular customers for non-payment.

Vendor customer services — month-end rollup example​

Vendor’s customers may create a monthly VM, hourly snapshot, and semi-annual LB. Usage for each follows its billing rules; at month end all are summed into the vendor’s bill.


Billing rules reference (partner / long cycles)​

Provider and partner invoicing for quarterly / semi-annual / yearly services follows the same rule families as the platform. Examples:

RuleYearly example (created 25 Apr 2025)
UNFIXED_PRORATAPro-rata 25 Apr–30 Apr; next 1 May–30 Apr 2026
FIXED_PRORATAPro-rata 25 Apr–30 Apr; next 1 May–31 Dec 2025
DATE_TO_DATE25 Apr 2025–24 Apr 2026 (−1 day)
FIXED_CALENDAR_MONTH1 Apr 2025–31 Dec 2025
UNFIXED_CALENDAR_MONTHPro-rata calendar month then 1 May–30 Apr 2026

Full detail: Billing Rules.

Quarterly UNFIXED_PRORATA example: created 25 Feb → pro-rata to end of Feb; next unfixed period 1 Mar–30 May (three months from the 1st after creation month — not tied to calendar quarter labels alone).

Quarterly FIXED_PRORATA example: created 25 Feb → pro-rata to end of Feb; next to end of current fixed quarter (for example 1 Mar–30 Mar when quarters are Jan–Mar, Apr–Jun, …).


Current limitations (known gaps)​

These are expected current product limits. Resolve confusion by pointing partners here; track delivery in future releases.

LimitationStatus / note
Super admin → reseller disciplinaryUnder review — not available now
Add-ons and Store for resellersUnder QA — do not treat incomplete Store/Add-on reseller flows as production-complete
Products (Store catalogue) for resellersNot supported yet — future update
Reseller-specific billing rulesNot available — only global rules apply to reseller customers
Reseller cannot create own plansBy design — only change assigned plans / pricing
Vendor cannot change package pricesBy design
Vendor customers: no invoicesBy design — Manual mode compulsory
Vendor customer self-registrationNot possible — vendor must onboard
Free trial provider → resellerNot supported — customer free trial still charges the reseller
Provider → reseller billingHourly rollup (even if customer bought yearly/monthly)
White-label domainReseller must prepare and configure their own whitelisted domain after onboarding
Future improvements

Limitations above are planned to be reduced over time (disciplinary for resellers, Store/Products for resellers, and related partner features). Until then, configure commercial expectations with partners using this page.


Was this page helpful?
Found something that could be improved?