Pricing & Tariffs
Pricing configuration is used by Monthly Operations to calculate charges for a client.
Tariffs are managed from the client edit page: go to Administration → Clients, open the client, then use the Pricing / Tariffs section.
See also:
Managing Client Tariffs
Use client tariffs for agreed rates such as pick and pack, storage, returns, labels, setup fees, or shipping-related charges. The exact available tariffs depend on the tariff definitions available in ParcelPilot.
Pallet storage can be priced independently for Euro, Standard and Large pallet locations. The Euro pallet storage tariff uses the existing pallet_weeks code, so existing client pallet storage prices continue to apply to legacy pallet storage unless you add separate Standard or Large rates.
The Tariffs table appears at the bottom of the client edit page when client charging is enabled for the tenant. The table includes Add Tariff, Export CSV, and Import CSV actions.
Add a tariff
- Go to Administration → Clients.
- Open the client you want to configure.
- Open the Pricing / Tariffs section.
- In the Tariffs table, click Add Tariff.
- Choose the tariff from the Label selector.
- Check the Code shown for reference. ParcelPilot fills this automatically and uses it to identify the tariff for billing.
- Check Unit. ParcelPilot fills this where the tariff has a standard unit.
- Enter the pricing and date details that apply.
- Click Add Tariff.
Tariff fields
- Label: the human-readable tariff name shown in the selector, table, reports, and CSV exports.
- Code: the tariff identifier ParcelPilot uses internally for billing. It is filled from the selected Label and should normally be left unchanged.
- Unit: what the rate is charged against, such as item, order, pallet, pallet week, consignment, label, or each.
- Rate: the price to charge for this tariff. Use
0only when the agreed ongoing price is genuinely zero. - Currency: the three-letter currency code, normally
GBP. - From: optional date when this tariff starts.
- To: optional date when this tariff ends. It must be on or after From.
Use each row's Edit action to update an existing tariff. Use Delete only when the tariff is safe to remove; ParcelPilot blocks deletion when the tariff is referenced by historical charges, historical additional services, or active service mappings.
Export tariffs
Click Export CSV in the Tariffs table to download the client's tariff file.
Export a blank client as a setup template
For a client with no tariffs configured, the CSV contains every currently available tariff Label and Code. Unit may already be filled from ParcelPilot's tariff definitions. Client-specific pricing and date fields are left blank.
Fill in only the tariffs you want to configure. You do not need to delete unused rows; unused/template rows are safely ignored when imported.
Export an existing client's tariffs
For a client that already has tariffs, the export still contains the complete tariff list. Rows for configured tariffs include the client's current Unit, Rate, Currency, Effective From, and Effective To values. Rows for unused tariffs remain blank.
This is useful for:
- reviewing pricing in a spreadsheet
- making bulk pricing changes
- keeping a pricing record
- editing and re-importing the configuration
Import tariffs
The normal workflow is:
- Click Export CSV.
- Edit the required pricing rows in the CSV.
- Return to the same client and click Import CSV.
- Upload the edited CSV and confirm the import.
Imports are designed to be safe:
- populated tariff rows can create new tariffs
- existing tariffs can be updated
- completely unused/template rows are ignored
- blank individual cells do not erase existing values
- tariffs missing from the CSV are not deleted
- importing is not a destructive synchronisation
Rate is required when a CSV row creates a new tariff. For an existing tariff, a blank Rate cell means “leave the current rate unchanged”.
Copy tariffs to another client
Use CSV export/import to reuse the same pricing model for another client.
- Open Client A.
- In Pricing / Tariffs, click Export CSV.
- Open Client B.
- In Pricing / Tariffs, click Import CSV.
- Upload the CSV exported from Client A.
ParcelPilot creates or updates tariffs for Client B automatically. Do not add or change client, tenant, ID, or timestamp columns in the CSV; the destination client is always the client whose edit page is open.
CSV columns
The tariff CSV uses these columns:
| Column | Meaning |
|---|---|
| Label | Human-readable tariff name. Leave this unchanged unless ParcelPilot support advises otherwise. |
| Code | Billing identifier for the tariff. Leave this unchanged when editing an export. |
| Unit | The charging unit, such as item, order, pallet, pallet week, consignment, label, or each. This may be filled from ParcelPilot's tariff definitions. |
| Rate | Price to charge. Required when creating a new tariff. |
| Currency | Three-letter currency code, normally GBP. |
| Effective From | Optional start date for the tariff, in YYYY-MM-DD format, for example 2026-09-30. Do not include a time. |
| Effective To | Optional end date for the tariff, in YYYY-MM-DD format, for example 2026-12-31. Do not include a time. Must be on or after Effective From. |
Label and Code identify the tariff. When editing an exported CSV, normally leave Label and Code unchanged and edit the pricing columns instead.
Current pallet storage tariff codes are:
| Label | Code | Unit |
|---|---|---|
| Store Euro pallet (per week) | pallet_weeks |
pallet_week |
| Store Standard pallet (per week) | pallet_std_weeks |
pallet_week |
| Store Large pallet (per week) | pallet_lrg_weeks |
pallet_week |
These are storage tariffs only. Pallet receiving, pallet pick/pack, pallet shipping and DG pallet handling continue to use their existing pallet activity tariffs.
Import errors and safety
ParcelPilot validates the complete CSV before applying any changes. If there is a problem, the import is rejected and no partial pricing changes are applied.
Common import problems include:
- an unknown Code
- a Label that does not match the Code
- a Rate that is not numeric
- an invalid date format
- an Effective To date before Effective From
- protected columns such as client IDs, tenant IDs, database IDs, or timestamps
If an import fails, fix the reported row in the CSV and import again.
Things to know
- Blank cells do not clear existing tariff values.
- Blank tariff rows do not create tariffs.
- Imports do not delete tariffs.
- Label and Code should normally not be changed in an exported file.
- Exporting again after an import is a quick way to verify the client's current tariff configuration.
- If Monthly Operations is blocked, confirm the client's pricing model and all required tariff rates are configured.
- A Monthly Operations Do not charge this month waiver is not a client tariff and is not a permanent client pricing setting. Use a £0 tariff only when the agreed ongoing price for a service is zero.