Set up costing profiles
A costing profile pre-calculates shipping rates in Carriyo for one or more carrier accounts. Carriyo uses these rates in the Estimate Cost section when creating a shipment. They also surface in Get Rates on draft shipments when the carrier doesn't expose a live rate API. The profile itself sets a default cost; the rules inside it override that default for specific shipment types, schedules, or conditions.
Costing profiles affect the fallback path. Whether a profile is used depends on the Carrier Shipping Rates toggle on each carrier account. When on, Carriyo calls the carrier's live rate endpoint instead, and the profile is ignored. Disable that toggle on the account to make the costing profile the source of truth. See Add a carrier account.
The cost structures
A rule defines its price using one of two cost structures, optionally with a Cash-on-Delivery (COD) surcharge:
| Cost structure | COD surcharge | When to use |
|---|---|---|
| Fixed cost | none | Flat fee per shipment |
| Fixed cost | Fixed fee | Adds a flat surcharge for COD orders |
| Fixed cost | Percentage of COD amount | Surcharge scales with COD value |
| Incremental, gross weight | none | Tiered pricing by parcel weight |
| Incremental, gross weight | Fixed fee | Tiered + flat COD surcharge |
| Incremental, gross weight | Percentage of COD amount | Tiered + percentage COD surcharge |
Pick the combination that matches what the carrier actually charges you, plus how you want to recover COD handling costs.
Before you start
- The carrier accounts you want to price must already exist. See Add a carrier account.
- You need the admin or account-manager role.
1. Open the costing profiles page
In the Carriyo Dashboard, open Settings in the left sidebar.
Under Carrier Management, click Costing Profiles to open the list.
The page lists every costing profile in your tenant. Click the + add icon in the top-right corner to create a new profile.
2. Create the profile
Fill in:
- Name. A label meaningful to your ops team. Common patterns:
dhl-uk-default,aramex-mena-overflow. - Default shipping cost + Currency. The fallback price Carriyo uses when no rule matches.
- Tax rate. Used to compute the tax portion of the shipping charge.
- Carrier accounts. Pick one or more accounts the profile prices for. Multiple accounts share the same rule set.
Make sure the profile's Active Cost Profile toggle is on. Click Save.
After saving, Carriyo takes you to the rules page for the profile.
3. Add a rule
A profile without rules falls back to the default cost on every shipment. The rules let you override that default for specific shipment types, schedules, or conditions. Carriyo evaluates rules in priority order and uses the first match.
Click + add record to create the first rule.
Fill in the basics:
- Name. Describes the rule's purpose, e.g.,
same-day-cod-surcharge,weight-tier-uk. - Apply to. Forward shipments, Reverse shipments, or both.
- Active. Must be on for the rule to take effect.
4. Pick the cost structure
Choose one of the six combinations from the table above. The form adapts as you pick. Fixed Cost asks for a single amount. Incremental Gross Weight asks for tiered ranges with per-tier amounts. The COD surcharge block appears when you select a surcharge type.
Common shapes:
- Fixed cost, no surcharge. Flat rate, e.g., £6.50 per shipment.
- Incremental gross weight. Tier ranges (0–1 kg, 1–5 kg, 5–10 kg, etc.), each with its own amount.
- Either + COD surcharge. Flat fee or percentage of the COD payment amount, applied on top of the base cost.
5. Add a schedule (optional)
By default a rule is active Any day, any time. To narrow when the rule applies, toggle that off and pick specific days. You can additionally restrict to a date range using Apply to a Period (e.g., holiday surcharges November 25 – January 5).
Use a schedule when pricing is time-bound. For example, a weekend surcharge, a peak-season uplift, or a temporary contract rate.
6. Add conditions (optional)
Use + add condition to apply the rule only to shipments matching specific criteria: dropoff geography, service level, weight range, custom attributes. Click the − icon next to a condition to remove it.
Without conditions the rule applies to every shipment that would otherwise be priced by the profile. With conditions, only matching shipments hit the rule. Everything else falls through to the next rule or the default cost.
Reach for conditions when the same carrier account has genuinely different cost structures for different routes or service levels. If a single rule covers the whole account, conditions add nothing.
Click Save when the rule is complete.
7. Set rule priority
Carriyo evaluates rules in order and uses the first match. Return to the profile's rule list and drag rules into the order you want.
Put narrow, specific rules above broad catch-all rules. Otherwise the catch-all wins for every shipment and the narrow ones never fire.
8. Edit or delete a rule
The three-dot menu in each rule's rightmost column opens an action menu with Edit and Delete options. Clicking the rule name also opens the edit form.
View Change Log inside a rule shows its edit history.
9. Activate or deactivate a rule
Each rule has its own Active toggle. Switch a rule off when you want to keep the rule defined but stop it from applying.
The profile itself has its own active state. If the parent profile is inactive, active rules inside it have no effect. The whole profile is dormant.
10. See the assignment on the carrier account
The profile is now wired to the carrier accounts you picked in step 2. Confirm it from the carrier account's perspective: open Settings → Carrier Accounts, click into the account, and open the Assignments tab. The Shipping Cost section shows the linked profile.
If you'd rather start from the carrier account and pick a profile from there, the same Assignments tab also lets you create a new costing profile inline. This is covered in Manage carrier account assignments.
When costing profiles help
- Carrier with no live rate API. The profile is the only way to surface costs for these carriers.
- Markup over the live rate. Disable Carrier Shipping Rates on the account and price via a profile that bakes in your margin.
- Negotiated contract rates. Your contracted price differs from the carrier's public rate; the profile encodes the negotiation.
- Differentiated cost by route or service. Same account, different prices for express vs standard, or domestic vs cross-border.
Common mistakes
- Profile saved with no rules. Every shipment falls back to the default cost. Often intended; check that's what you want.
- Parent profile inactive. Active rules inside it have no effect.
- Catch-all rule above narrow rules. Carriyo uses the first matching rule. A broad rule listed first wins every time and the narrow ones never fire.
- Carrier Shipping Rates left on. The live rate API wins; the costing profile is ignored. To make the profile the source of truth, disable the toggle on the carrier account.