Skip to content

Services & Plans

A Service is the contract you sell to subscribers: how fast their link is, how much they can use, what they pay, and how speed steps down when they hit a Fair Usage Policy (FUP) threshold. Every subscriber is bound to exactly one service via subscribers.service_id.

ProxPanel’s service model goes further than most ISP platforms: six daily FUP tiers plus six monthly FUP tiers, an independent CDN-traffic FUP, configurable burst, time-based free-hours, soft-FUP that keeps burst alive after throttling, and per-service NAS + IP pool assignment.

Sidebar → Services. Direct URL: /services.

Requires services.view. Most resellers can read but not edit; admins always have full control.

SectionWhat it shows
Service tableSortable list: Name, Speed, Price, Subscribers count, Actions
Add Service buttonOpens the create form
Row clickOpens the Duplicate Service popup (name auto-filled “Name (Copy)“)
Actions columnEdit and Delete

The table is sortable by clicking column headers — Name (A→Z), Speed (numeric, so 1M, 2M, 4M, 10M not lexical), or Price. The sort selection is saved to localStorage and persists across logins.

Speeds are stored as integers in kb (kilobits per second). The convention is consistent everywhere — RADIUS replies, MikroTik queues, frontend display labels.

  • 2000 means 2000k = 2 Mbps
  • 12000 means 12000k = 12 Mbps
  • 0.5M typed in the form is auto-converted to 500 (500k)

There is a helper, convertSpeedForMikrotik(), in the service handler that accepts "2M", "1.5M", "2000", or "2000k" and normalises to "2000k" on save.

The create / edit form is grouped into sections. Required fields are marked with an asterisk.

FieldNotes
Name*Internal identifier shown in dropdowns and lists.
Commercial NameWhat appears on customer-facing invoices and the portal.
DescriptionFree text.
Price*Default price for renewal. Per-subscriber override available on subscriber edit.
Day PricePer-day price for partial-period billing (used during Change Service prorate).
Reset PriceCharge to manually reset FUP counters mid-cycle (admin-set; subscriber sees this in the portal’s “Reset FUP” button).
FieldNotes
Download Speed (kb)*Stored as download_speed. Sent to RouterOS as Nk in the Mikrotik-Rate-Limit reply.
Upload Speed (kb)*upload_speed.
Download Speed StringAuto-derived from numeric value (e.g. “10M”). Used for display and back-compat.
Upload Speed StringSame.

When configured, RouterOS allows brief speeds above the normal limit:

FieldMeaning
Burst Download / UploadMaximum burst rate in kb.
Burst ThresholdPercent of normal max-limit. RouterOS uses this as the average-rate trigger that pauses burst.
Burst TimeSliding-window duration in seconds (default 10).

The Mikrotik-Rate-Limit string assembled is:

up/dl burst_up/burst_dl threshold_up/threshold_dl time/time

Checkbox Soft FUP Enabled. When on, FUP tiers send the throttled rate plus the burst configuration so brief page-loads still feel snappy while sustained downloads stay clamped. When off (default), FUP writes the plain throttled rate with no burst.

  • Daily Quota — Resets at the daily reset time (default 00:05, set in Settings → RADIUS).
  • Monthly Quota — Resets on renewal.
  • Time Quota — Minutes per day. Less commonly used.

Each tier has three fields:

FieldNotes
FUPN ThresholdBytes used (daily_download_used + daily_upload_used) at which this tier triggers. 0 = disabled.
FUPN Download Speedkb to throttle download to once tier crosses.
FUPN Upload Speedkb.

Tiers are evaluated in order: FUP1, FUP2, FUP3, …, FUP6. Crossing FUP3 means QuotaSync writes FUP3 speeds and sets subscribers.fup_level = 3. The daily reset service zeros fup_level back to 0 at the daily reset time.

Same structure but evaluated against monthly_download_used + monthly_upload_used (plus bonus_data if any). When triggered, sets subscribers.monthly_fup_level. Monthly counters reset only on Renew.

Checkbox CDN FUP Enabled. When on, CDN-only traffic gets its own three daily + three monthly FUP tiers. Used to give customers extra speed for Akamai/Cloudflare/local-mirror downloads without affecting their main quota.

See CDN Management for the matching subnet definitions and PCQ setup.

(Renamed from “Time-Based Speed Control” in v1.0.246.)

Defines a daily time window during which a percentage of usage is not counted against quota.

FieldMeaning
Time-Based Speed EnabledMaster on/off.
From / ToHour and minute range (e.g. 00:00 to 06:00 = midnight to 6 AM).
Download Ratio0–100. The percent of usage that is free during the window. 100 = completely free; 70 = 70% free, 30% counted; 0 = no discount.
Upload RatioSame idea for upload.

Formula applied by QuotaSync per 30-second cycle:

counted_bytes = delta_bytes × (100 − ratio) ÷ 100
FieldNotes
Expiry ValueInteger.
Expiry Unitdays or months. So 1 + months = monthly billing; 7 + days = weekly.
Entire MonthWhen checked, renewal always sets expiry to end-of-month regardless of when the renewal happened.
Monthly AccountLegacy flag; preserved for older imports.
FieldNotes
NAS / RouterPick from the dropdown. Stored on the service as nas_id. RADIUS uses this to route accounting/CoA when the subscriber row’s nas_id is unset.
Pool NameFetched live from the NAS via /api/nas/:id/pools. RADIUS sends this as Framed-Pool so RouterOS assigns the user’s IP from this pool.
Address List In / OutOptional MikroTik address-list tags for downstream firewall classification.
Queue Typesimple by default. PCQ types come from CDN configuration.

When editing an existing service, the saved pool appears in the dropdown as PoolName (current) even if no NAS is currently selected — so it’s never lost on save.

For non-MikroTik BNGs (Cisco/Juniper/Huawei). When set, RADIUS sends RFC-2865 Filter-Id with the configured class-map name; the operator pre-configures the matching policy on the BNG.

FieldSent when
Filter-Id NormalAt full speed
Filter-Id FUP1 / FUP2 / FUP3After each daily threshold is crossed

If blank, the service name is sent instead (back-compat fallback).

Click headers to sort. Sortable columns:

  • Name — A→Z / Z→A.
  • Speed — Numeric (1M, 2M, 4M, 8M, 10M — not alphabetical). Compares download_speed integer.
  • Price — Numeric ascending / descending.

Sort persists in localStorage.

Clicking a row (not on Edit or Delete) opens the Duplicate Service popup with the name pre-filled as Name (Copy). Confirm to clone every field — speed, price, all 12 FUP tiers, CDN config, burst, pool, time-based, quotas — into a new row.

This is the fastest way to create a tier-set: configure one carefully, then duplicate-and-tweak for each speed point.

The sort_order integer controls the order services appear in subscriber-edit dropdowns and the customer portal’s plan-change list. Smaller numbers appear first. Use this to put your best-seller at the top.

Create a tier from 2 Mbps to 50 Mbps in 5 minutes

Section titled “Create a tier from 2 Mbps to 50 Mbps in 5 minutes”
  1. Add the 2 Mbps service with full FUP tiers and pool.
  2. Save.
  3. Click the row to open Duplicate, rename to “4 Mbps”.
  4. Edit the duplicate, change download/upload to 4000/2000, save.
  5. Repeat for 8 Mbps, 10 Mbps, 20 Mbps, 50 Mbps. Each new tier reuses the FUP curve and pool assignment.

Add a CDN tier on top of an existing service

Section titled “Add a CDN tier on top of an existing service”
  1. Set up the CDN profile in CDN Management first.
  2. Open the service.
  3. Tick CDN FUP Enabled.
  4. Fill the three daily and three monthly CDN FUP tiers (these are independent of normal FUP).
  5. Save. QuotaSync now applies CDN-rate-limits to PCQ queues for CDN-tagged traffic.
  1. Open the service.
  2. Tick Time-Based Speed Enabled.
  3. Set From 00:00, To 06:00.
  4. Set Download Ratio 100, Upload Ratio 100.
  5. Save. During those hours, downloads count for 0% of quota.
PermissionEffect
services.viewPage loads.
services.createAdd Service + Duplicate Service buttons appear.
services.editEdit button on each row.
services.deleteDelete button. Refused if any subscriber still references the service.
  • Subscribers — where you assign a service to a customer.
  • FUP Counters — distribution of subscribers across the tier definitions on this page.
  • CDN Management — defines the subnets that CDN FUP tiers apply to.
  • Bandwidth Rules — global time-based multipliers that stack on top of service speed.
  • NAS / Routers — source of the NAS and IP pool dropdowns on this page.