ParcelPilot
Help

Additional Services

Additional Services are extra billable services (or operational options) that can be applied per tenant/client.

They are most commonly used to:

  • Add non-standard charges that aren’t covered by your default tariff/rate rules
  • Track ad-hoc operational work that should be invoiced
  • Record credits or corrections in a controlled, auditable way

What counts as an “Additional Service”

Examples that often work well as Additional Services:

  • Packaging / materials (e.g. “Extra cartons”, “Pallet wrap”) when not included in a tariff
  • Value-add services (e.g. “Kitting”, “Label rework”, “Returns inspection”)
  • Handling outside the norm (e.g. “Oversize handling”, “Hazmat surcharge”)
  • Logistics extras (e.g. “Skip hire”, “Waste removal”)
  • Manual billing corrections (via Manual adjustment service code)

Where they show up

Additional Services are typically used in:

  • Billing / Monthly Operations (when enabled for that client/tenant)
  • Operational screens where users can record “service performed” events

Exact placement depends on your tenant configuration and which modules are enabled, but the general model is:

  • Define the service (name/code/price)
  • Record it as performed (date + quantity, if supported)
  • Monthly Operations picks it up for the billing period

Item Additional Charges for every order

An Item can define a default Additional Charge. For fulfilment-triggered work such as leaflet insertion, the Item can be marked Apply to every order.

When Apply to every order is enabled:

  • Apply from controls the order-date boundary. Only orders placed on or after that date are eligible, even if an older order is fulfilled or reprinted later.
  • ParcelPilot records the Additional Service as normal for billing only when the insert is actually consumed.
  • The configured Item itself is deducted through InventoryUnit and an InventoryAdjustment audit row when sufficient stock is available.
  • Consumption is idempotent: the Item is consumed once per order/additional-charge configuration, even if fulfilment is retried or processed again.
  • The Item is not added as an order line or shipment line, so it does not appear on delivery notes or ecommerce fulfilment pushes.
  • Packing slips show currently available eligible Items in a separate Packing Inserts section before fulfilment so the warehouse can pack them. After fulfilment, packing slips use the recorded automatic insert evidence instead of today's Item configuration.

Example: configure Item LEAFLET-001 with charge type Leaflet insertion, price £0.15, Apply to every order, and quantity 1. When stock is available, each successfully fulfilled order for that client receives the Additional Service charge and consumes 1 × LEAFLET-001.

If stock is unavailable for an automatic order insert, the insert is skipped for that order: no Item stock is consumed, no InventoryAdjustment is created, no Additional Service charge is created, and fulfilment continues normally.

If an existing automatic insert has Apply to every order enabled but no Apply from date, ParcelPilot treats it as not eligible until a warehouse user sets the date. This avoids accidentally applying a newly configured insert to historical orders.

Creating services (tenant vs client)

Additional Services are commonly tenant-scoped (shared across the tenant), but may be configured to be client-scoped depending on your setup.

Best practice:

  • Use tenant-wide services for common items you want consistent naming/codes for.
  • Use client-specific services only when the service is contractually unique or priced differently for that client.

Important: make sure you’re working under the correct tenant (and client, if applicable) before creating or editing services.

Service design tips (avoid future billing pain)

  • Use stable service codes
    • Changing codes later can make reporting and reconciliation harder.
  • Write descriptions for humans
    • Billing disputes are usually solved with clear line item descriptions.
  • Be explicit about units
    • If the price is “per pallet”, say so in the name/description.
  • Avoid “catch-all” services
    • “Misc charge” is hard to audit. Prefer 2–5 common specific services.

One-off charges and credits (Manual adjustment)

If you need an ad-hoc, non-recurring charge (or a credit), use the Manual adjustment service code.

How to add a one-off charge

  • Set a clear Description (e.g. “Skip hire”, “Extra cartons (Jan)”, “Rework: relabel batch 1042”).
  • Enter the Price you want charged.
  • Ensure Performed At is inside the billing month you want it applied to.

How to add a credit

  • Use a clear Description (e.g. “Credit: overcharged shipments”, “Credit: service failure”).
  • Enter a negative Price to create a credit (e.g. -2.95).
  • Ensure Performed At is inside the billing month you want it applied to.

Why “Performed At” matters

Monthly Operations is usually based on the billing period date range.

  • If Performed At falls outside the month, the line item may appear on the wrong invoice (or not appear at all in the expected period).
  • If you are correcting a prior month, set Performed At in that prior month (if your accounting process allows it).

Troubleshooting

“It didn’t appear in Monthly Operations”

Check:

  • The service is enabled/available for that client (if your setup has per-client toggles)
  • The recorded service event has Performed At within the billing period
  • You recorded it against the correct tenant/client
  • The price is not 0.00 (unless a zero charge is intentional)

“We billed the wrong amount”

  • Confirm whether the service is priced per unit, per job, per order, etc.
  • Check if quantity/multipliers are supported and were entered correctly.
  • If you need to correct an already-issued invoice, use Manual adjustment (credit + re-charge) rather than silently changing historical prices.

Related guides

  • Monthly Operations / Billing
  • Manual adjustments (credits)