Company delivery pricing methods
Reference for the four delivery fare methods (governorate, weight, distance, distance plus weight), the pricing page fields, requirements such as coordinates, a worked example and the common error messages.
Last updated 22 October 2026 · Last verified 22 October 2026
Purpose#
This reference explains how a delivery company's own fare is calculated for each parcel. Every company chooses one of four calculation methods on the Delivery pricing page. The fare is always calculated on the server, in US dollars (the field labels show $).
Who can use it#
- Company admin: the menu item Delivery pricing edits the company's own pricing. It is shown to admin-type accounts, which includes staff created on the Users page, and it is not controlled by role permissions.
- Merchant who owns a private delivery company: edits the pricing of that company from the merchant panel.
- Super admin: opens Delivery pricing for companies, a list of all delivery companies, and edits any of them.
- Parcels sent through an external shipping carrier use the carrier's fare, not these settings.
The four methods#
| Method | Name on the page | Formula | Needs |
|---|---|---|---|
governorate |
Fixed amount per governorate | base fee + the price of the recipient's governorate | A price for that governorate |
per_kg |
By weight (kilogram) | base fee + price per kg × weight | Price per kg above 0 |
per_km |
By distance (kilometer) | base fee + price per km × distance | Price per km above 0, pickup and recipient coordinates |
km_kg |
By distance and weight combined | base fee + price per km × distance + price per kg × weight | Both prices above 0, coordinates |
If no method was ever saved, the system uses per_km for companies whose owner is of type "delivery" and km_kg otherwise. A company that registered itself through the public sign-up has no type, so it gets km_kg, with default prices of 1.50 per km and 5.00 per kg.
Steps#
Open Delivery pricing
Open Delivery pricing from the side menu. The page shows the saved method selected.
Choose the calculation method
Under Calculation method pick one of the four cards. Only the fields that the method uses stay visible: the km price for distance methods, the kg price for weight methods, and the governorate table for the governorate method.
Fill in the values
Enter Base fee per parcel ($) and Minimum fee ($), then the km or kg price. For the governorate method fill Governorate prices for this company; leave a box empty (placeholder "No delivery") for governorates you do not serve. Under Fee distribution set Company percentage % and Courier percentage %. Company limits holds the maximum parcel weight (empty means no limit) and the accepted currencies.
Save and test
Press Save. "Delivery pricing saved" confirms it. Create a test parcel from a merchant account and compare the fare.
- Base fee, then the minimum fee
- The delivery price for each governorate
- Courier commission share
- Save the pricing
How the fare is calculated#
- Weight is rounded up to a whole kilogram, with a minimum of 1 kg.
- Distance is the road distance from OpenRouteService when the platform has its key configured; otherwise it is the straight-line distance multiplied by 1.3.
- Pickup point: the coordinates of the merchant's pickup location, or, if it has none, of the merchant's branch (hub).
- Governorate (governorate method): read from the city, then the address, then the map pin.
- Minimum fee: the final fare is never below it, and is rounded to 2 decimals.
- Split: the company and courier amounts are those percentages of the fare; the net fare is what remains.
Example with illustrative numbers: base fee 1.00, minimum 2.00, 0.50 per km, 0.30 per kg, governorate price 3.00, parcel of 2.3 kg (counted as 3 kg) over 6 km.
| Method | Calculation | Fare |
|---|---|---|
governorate |
1.00 + 3.00 | 4.00 |
per_kg |
1.00 + 3 × 0.30 = 1.90, raised to the minimum | 2.00 |
per_km |
1.00 + 6 × 0.50 | 4.00 |
km_kg |
1.00 + 3.00 + 0.90 | 4.90 |
With 10% company and 20% courier percentages, a 4.90 fare gives 0.49 to the company, 0.98 to the courier and a net of 3.43.
Common mistakes#
- Saving a distance method without a km price: "The distance method requires a price per kilometer." The same applies to the kg price ("The weight method requires a price per kilogram.").
- Percentages that add up to more than 100: "The company percentage plus the courier percentage cannot exceed 100%." A single value above 100 is rejected earlier by the field's limit (0 to 100) with the standard validation message.
- Governorate without a price: the parcel is refused with "Delivery company «…» has not set a price for governorate … — set it from the «Delivery pricing» page or choose another company." An empty price means no delivery there.
- Governorate not recognised: "The delivery company prices by governorate: we could not determine the recipient governorate from the address «…» — choose the governorate from the list."
- Distance methods without coordinates: "The delivery company prices by distance: set the recipient location on the map." or "… the pickup location «…» has no location on the map. Edit it from the pickup locations page and set its location on the map."
- Same location: "The recipient location is almost the same as the pickup location or the coordinates are invalid — move the marker to the correct recipient location."
- Branch left at the default map position: if the pickup point falls back to the branch, check its coordinates (see the branches guide).
Limits and permissions#
- A company without an owner account (
company_owner) cannot store the km price, kg price or percentages; the page warns about it. The method and governorate prices still save. - Maximum weight and accepted currencies from Company limits are enforced when parcels are created.
- The governorate list has the 14 Syrian governorates; if it is empty the page asks you to run the migration.