Skip to main content

ORDERS - Pallet pools

Qargo's pallet pool tracks swaps, balances, and settlements between the tenant, customers, locations, and subcontractors — treating pallets as auditable, billable assets.

Written by Arynne Hargreaves
Updated over a month ago

Introduction

Pallets are one of the most widely used tools for transporting goods efficiently and securely. A pallet pool is a system that manages the circulation, exchange, and balance of pallets across supply chains. Instead of each company owning and tracking its own pallets, pallet pools allow multiple stakeholders to share and reuse pallets in a structured way. This ensures that pallets are always available where they are needed while reducing costs, losses, and inefficiencies.

A pallet pool works by recording:

  • How many pallets are delivered to a location and how many are collected back.

  • Calculates a balance at both the customer and location level, showing whether pallets are owed or returned.

  • Balance can be settled, resetting the account between parties.

Such systems not only optimise packaging flows but also create transparency in supply chains, ensuring that logistics partners are held accountable for pallet movements.


Terminology

Term

Definition

Full Pallets

Pallets loaded with goods.

Empty Pallets

Pallets returned or exchanged, ready to be reused.

Pallet Swap

Pallet Swap – The process of exchanging pallets during collection or delivery.

Balance

The net total of pallets at a customer or location (positive if more were received, negative if more were given away).

Settlement

The process of resetting pallet balances between parties to zero.

Question Path

A structured set of questions drivers answer in the mobile app to record pallet movements at pickup and delivery stops.

Subcontractor Balance

The net total of pallets exchanged between the tenant and a specific subcontractor, tracking how many pallets the subcontractor is currently holding on the tenant's behalf.

Two-Balance Architecture

Qargo's pallet tracking model that maintains two separate balances per order: the tenant–customer balance (commercial) and the tenant–subcontractor balance (operational).

Transaction Attribution

The link between a pallet exchange at a customer location and the subcontractor who physically performed that exchange.


Pallet Pools in Qargo

Qargo integrates pallet pool management directly into its transportation workflows, allowing carriers to track pallet exchanges alongside goods. With pallet swap tracking enabled, users can:

  • Automatically pre-fill pallet counts based on order quantities (both full and empty pallets).

  • Record actual swaps at pickup and delivery through the driver response.

  • Manually adjust values in the system when needed.

  • Track balances per customer and location, with clear visibility into positive and negative values.

  • Settle balances easily, ensuring accurate records across both customer and location levels.

  • Apply pricing rules that account for pallet usage, empty pallet returns, or swaps through new rate card metrics.

In Qargo, pallet pool tracking creates a transparent, auditable flow of pallet movements, ensuring that packaging and pallets are treated as valuable assets—not forgotten costs.


Configuration

🧰 Available to Super Admin users only

Step 1: Activate the feature

  • Navigate to CONFIGURATION > Organisation Settings > Features

  • Scroll to the 'Packaging / Pallet swaps enabled' panel

    • Toggle the feature ON

  • Select default pre-fill value for EMPTY pallets, options include:

    • Don't pre-fill - value will be left blank, and relies on manual input by user

    • Pre-fill with 0 - value will default to 0 when empty pallets are left at a pick up or delivery location

    • Same quantity as full pallets - default will match the original value from the loaded pallets on the order

📚 Pre-fills configured in organisation settings apply to the EMPTY pallets only.

Step 2: Enable Additional fields for Cargo

  • Navigate to CONFIGURATION > Additional fields

  • From the Orders side menu, select 'Cargo'

  • Select the option for 'Packaging / pallet swap activities'

    • Set the field as Active

    • Select the transportation services this will apply to

  • Click SAVE.

Step 3: Enable packaging / pallet swaps on Packaging Types

  • Navigate to RATES > Order Input

  • From 'Cargo Options' in the side menu, select 'Packaging Types'

    • Choose the packaging types that will be enabled for swaps

    • Set the toggle to the ON position

  • Click SAVE

Step 4: Create Driver Question paths to be completed (TASKS)

  • Add questions to stop details for the driver to fill in app how may Full / Empty pallets collected / delivered at locations

  • Navigate to CONFIGURATION > Tasks

  • Create the question path at the point that most suits operating workflow

    • IE: Trips, Create Stop > Loading at Pickup

  • Options to add questions for the following stop activities:

    • Pallets loaded at pickup/delivery = Driver will input the number of empty pallets loaded at that stop

    • Pallets unloaded at pickup/delivery = Driver will input the number of empty pallets unloaded at that stop.

📚 Question paths configured here also apply to subcontractors. When a trip is dispatched to a subcontractor, the same question path will appear in the Subcontractor Portal, allowing the subcontractor to record pallet quantities in the same way a driver would in the mobile app.

Step 5: (Optional) Customer override swaps

  • Default: Pallet swaps will be tracked on collect and delivery activities

  • Optional: Customer override can be set for specific stop activities, and by packaging type.

  • From the customer profile, scroll to the 'Packaging / pallet swap activities'

    • Packaging Types will display the list of available options configured

    • Select the swap stop activity override; options include:

      • Disabled - tracking is not available for this packaging type at either collect or deliver stop

      • Pickup - tracking is only available at the collect location

      • Delivery - tracking is only available at the delivery location

      • *Pickup/delivery - tracking is available at both the collect and delivery location (same as default)

        • Use this if multiple packaging types have specific overrides, this can be selected to provide clarity on what uses the default

📚 The default is to track pallet swaps at both the collect and delivery locations.

Step 6: (Optional) Add charges to Rate Cards

  • Charges for pallet swap can be added as a rate card metric

    • Available on Formula & Price Table as metrics

    • Available as a condition metric

Formula:

  • Available as a per unit charge, based on the total swap activity

    • IE: £15 per 1 swap

Price Table:

  • Fixed per cargo item - Price table options include both Has swap and Total swap

  • Multiplied by metric - can select as the metric & both options available in the price table config.

    • IE: Selecting this will multiply the Price table result based on the quantity

Add as Condition:

2 options: Goods (actual) / Has swap (Y/N) or Total swap


Pallet swaps workflow

📚 Use 'Edit Column' to enable visibility of the Pallet Swap column in the Order List View; and in Planning - Orders use the 'Customise' button.

1.) Build order

  • When enabled the default values for collect / delivery will automatically be included in the order, based on enabled packaging types

    • IE: if enabled for Europallets and that is the packaging type used on the order, will automatically use the # of pallets entered.

  • Default tenant settings are used for the Empty pallets

  • Alternate pallet swap stop activity can be selected when building the order

  • If a customer override is present, this will pre-fill instead of default.

  • Use 'Standalone stops' to add Pallet swaps to an order

📚 Empty pallets at stop locations can be added to stop notes, which can be included in the trip sheet sent to the driver.

2.) Trip execution, including a pallet swap

  • Using the question path, drivers are able to enter the quantity of loaded and empty pallets at locations.

  • Order updates with details entered from the driver.

  • Can be updated manually to add or edit the quantity of pallets


Settle Transactions

  • Pallet balance can be settled by customer or by location

📚 Use column header filter on Timestamp to view on selected number of transactions to update, based on date and time stamp.

  • Pallet balance can be settled on either the customer or the location

    • Update to the customer will also update location and vice versa

  • Negative value = pallet moved from location to carrier (tenant)

  • Positive value = pallet moved from carrier (tenant) to location

  • Missing = value not pre-filled for the empty pallet

    • Also not completed in question path

Settle Customer level

  • Required to complete the settlement transaction

    • Date / time stamp

    • Location - single or multiple locations can be added.

      • If left blank ALL pallets within the date/time range will be updated as settled

Settle Location level

  • Required to complete the settlement transaction

    • Date / time stamp

    • Customer name

📚 Use inline edits to update balances quickly in customer and locations.

Manual settlement example

Use case: At the end of the year, the carrier has a debt of 100 empty pallets, which the carrier needs to record against a specific company and location.

Solution:

  • Navigate to the LOCATION where the pallets need to be recorded

  • From 'Packaging / pallet swap balances', click 'add manual transaction'

  • Enter the details in the pop-up

    • Date/time the pallet swap is recorded - this can be backdated if needed

    • Company to assign the manual transaction to

      • The transaction will be shown in the customer profile also

    • The number of EMPTY pallets picked up / delivered at the location

Result: Using a manual transaction allows carriers to quickly record a number of pallets (empty or full) at a specific location, outside of specific trips. Adding to the location also adds the pallet swap details to the company profile, reducing manual entry and keeping details aligned.


Subcontractor Pallet Tracking

When orders are dispatched to a subcontractor, the standard pallet pool flow is extended to track not only the commercial relationship with the customer, but also the physical custody of pallets held by the subcontractor.

The two-balance model

Qargo maintains two separate pallet balances per order:

  • Tenant ↔ Customer (commercial): Tracks the contractual pallet relationship with the customer and location, as described in the sections above. This balance already exists and is unaffected.

  • Tenant ↔ Subcontractor (operational): Tracks how many pallets the subcontractor is physically holding, has returned, or still owes to the tenant.

The two balances are independent. The customer balance reflects who owes whom pallets contractually. The subcontractor balance reflects who currently has physical custody of those pallets.

📚 Subcontractor pallet tracking is only active when a single subcontractor is assigned to the trip. Orders with multiple subcontractors do not generate a subcontractor pallet balance.

How subcontractors register pallet data

Subcontractors record pallet quantities through the Subcontractor Portal using the same question path configured in Step 4 above. No additional question path setup is required.

When a subcontractor completes the question path at pickup or delivery, Qargo records two things simultaneously:

  1. The customer/location balance is updated (as normal).

  2. The transaction is attributed to the subcontractor, updating the subcontractor balance to reflect the pallets now in their custody.

The tenant can review and confirm or dispute subcontractor-reported values.

Viewing the subcontractor pallet balance

  • Navigate to the relevant Subcontractor page in Qargo.

  • The pallet balance tab displays:

    • The current net balance per packaging type, expressed in plain language (e.g. Transport BV owes you 4 pallets or You owe Subco 2 pallets)

    • A full transaction history showing each exchange, the location it occurred at, and the date

    • Unsettled amounts: pallets that have not yet been formally returned or reconciled

📚 The dashboard and any pallet exports also distinguish between customer transactions and subcontractor transactions, so it is possible to filter and report on each independently.

Settling subcontractor transactions

Subcontractor balances can be settled in the same way as customer and location balances — typically when the subcontractor physically returns pallets to the tenant's depot.

To settle a subcontractor balance:

  1. Navigate to the Subcontractor page and open the pallet balance tab.

  2. Select Settle balance

  3. Choose the location (depot or warehouse) where the return is being recorded.

  4. Select the packaging type and confirm the quantity being settled.

  5. Click SAVE. A settlement line is added to the transaction history and the balance is reduced accordingly.

📚 Settling the subcontractor balance does not affect the tenant–customer balance. The two balances are settled independently.


Limitations

  • Pallet swaps are tracked on collect and delivery activities by default.

    • Can be overwritten on customer level, but it is not possible to configure this override on tenant level.

  • Only one question path per consignment is supported.

    • If a consignment has multiple goods, a question path can only be created for one of them.

  • The number of swapped pallets cannot yet be added to document templates (invoice, POD).

  • Pallet swaps are not yet supported via the API.

  • Subcontractor pallet tracking only applies when a single subcontractor is assigned to the trip. If multiple subcontractors are assigned, no subcontractor pallet balance is recorded.

Did this answer your question?