Admin Settings
Manage rates, branches, and system configuration
⚠️ CRITICAL: Area Code Matching
The area_code column in your Towns CSV MUST exactly match the origin_area and destination_area columns in your Rate Lanes CSV.
Example:
Towns CSV: Stellenbosch has area_code = "CPT"
Towns CSV: George has area_code = "GRJ"
Rate Lanes CSV: Must have a row with origin_area = "CPT" and destination_area = "GRJ"
When a customer quotes from Stellenbosch to George, the system will:
1. Get Stellenbosch's area_code (CPT) and George's area_code (GRJ)
2. Find the rate lane where origin_area=CPT AND destination_area=GRJ
3. Use that lane's base_fee, per_kg_rate, first_kgs_included, fuel_pct, fuel_min
Towns CSV Format Example
town_name,area_code,province,city_name,is_remote,zone,on_request,lat,lng Stellenbosch,CPT,Western Cape,Cape Town,false,Metro,false,-33.9321,18.8602 George,GRJ,Western Cape,George,false,Garden Route,false,-33.9608,22.4616 Upington,UPI,Northern Cape,Upington,true,Remote,false,-28.4478,21.2561
Key fields: area_code must be unique and match your rate lanes
Rate Lanes CSV Format Example
service,origin_area,destination_area,from_kgs,to_kgs,first_kgs_included,base_fee,per_kg_rate,fuel_pct,fuel_min,remote_flat,remote_pct,sla_days ECO,CPT,GRJ,0,5,2,50,5,0.14,10,0,0,3 ECO,CPT,GRJ,5,30,5,80,4,0.14,10,0,0,3 ONX,CPT,ALL,0,5,2,80,8,0.14,15,0,0,1
Key fields: origin_area and destination_area must match area_code values from Towns CSV
Pricing Configuration
Configure global pricing settings used by the quote calculation engine
Minimum weight to charge (e.g., 2.0)
Round to nearest (0.5 or 1.0)
For dim weight: L×W×H / divisor (typically 5000)
Round final price to nearest (e.g., 0.50)
Current fuel levy applied to linehaul (e.g., 0.1905 = 19.05%)
This is applied in addition to the rate lane's base fuel levy
% of declared value (e.g., 0.015 = 1.5%)
Minimum insurance charge
VAT percentage (e.g., 0.15 = 15%)
