What This Module Does

The Shipments module manages the full lifecycle of every package your company handles — from the moment it is booked until it is delivered, returned, or cancelled. It provides a 4-step creation wizard, automatic tracking number assignment, real-time status tracking with a defined state machine, PDF label generation with barcodes and QR codes, financial summaries, proof of delivery capture, customs declarations, and a complete activity log for every shipment.

This is the operational heart of Deprixa Plus. Every other module (Dispatch, Invoicing, Reports, Returns) connects to shipment records.

Who Uses It

RoleAccess Level
AdminFull access — create, edit, delete, change status, bulk actions, export
EmployeeFull access — create, edit, change status, bulk actions
DriverView only — sees assigned shipments, can update status on their deliveries
CustomerView own — sees only shipments where they are the sender or receiver

Where to Find It

Navigate to Main → Shipments in the left sidebar menu. You can also access the shipment creation wizard from the + New Shipment button in the top navigation bar, available from any page in the application.

Screen Walkthrough

Shipments List Page

The main view shows a paginated, sortable, filterable table of all shipments. Key columns include tracking number, sender, receiver, status (color-coded badge), service type, weight, creation date, and action buttons.

Above the table, a filter bar lets you narrow results by status, service type, date range, client, assigned driver, and more. Active filters appear as dismissible badges. A search field supports partial tracking number and name lookups.

Shipment Detail Page

Click any tracking number to open the detail view. This page contains:

Step-by-Step: Creating a Shipment

Shipments are created through a 4-step wizard. Click + New Shipment to begin. The "Ship Now" button from the public rate calculator also lands on this wizard with pre-filled data.

  1. 1

    Step 1: Sender and Receiver

    Enter contact and address details for both the sender (origin) and receiver (destination).

    FieldDescriptionNotes
    NameFull name of sender/receiverRequired
    CompanyBusiness nameOptional
    PhonePhone number with country code selectorRequired; country code auto-selects based on selected country
    EmailEmail addressUsed for tracking notifications
    CountryCountry selectionCascading: selecting a country loads its states
    StateState or provinceCascading: selecting a state loads its cities
    CityCityCascading: populates after state selection
    AddressStreet addressGoogle Places autocomplete enabled if configured
    Postal CodeZIP or postal codeOptional depending on country
    Tip: Start typing a customer name in the search field to look up existing customers in the CRM. Selecting one auto-fills all address fields, saving time on repeat shipments.
  2. 2

    Step 2: Packages

    Describe the physical package(s) being shipped. Multiple packages can be added to a single shipment.

    FieldDescription
    WeightPackage weight in the configured unit (kg or lb)
    LengthPackage length (L dimension)
    WidthPackage width (W dimension)
    HeightPackage height (H dimension)
    Declared ValueMonetary value for insurance and customs
    Content DescriptionWhat is inside the package (e.g., "Electronics", "Documents")
    Pieces CountNumber of individual items in this package

    Click Add Another Package to add multiple packages to the same shipment. Each package gets its own weight and dimension entry.

  3. 3

    Step 3: Service and Rate

    The system auto-calculates shipping rates based on your configured Rate Cards and Zones. Available service options are displayed sorted by price.

    The rate breakdown shows each component:

    • Base charge
    • Weight charge (per kg/lb over the base threshold)
    • Fuel surcharge
    • Insurance (based on declared value)
    • Tax
    • Handling fees

    Select the desired service and rate option to proceed.

  4. 4

    Step 4: Review and Create

    A summary of all entered details: sender, receiver, package specs, selected service, and calculated rate. Review everything before confirming.

    FieldDescription
    Payment StatusSelect: Unpaid, Pending, or Paid
    Payment MethodSelect: Manual, Stripe, or PayPal (if configured)
    AttachmentOptional photo or payment proof file upload

    Click Create Shipment to finalize. The system assigns a tracking number, sets the status to "pending," and makes the label available for immediate printing.

Statuses and Workflow

Every shipment follows a defined state machine. Only valid transitions are allowed — the system enforces this in the UI and API.

StatusCodeDescriptionNext Possible Statuses
Pending pending Shipment just created, awaiting processing Processed, Cancelled
Processed processed Ready for pickup or dispatch Picked Up, In Transit, Cancelled
Picked Up picked_up Driver has collected the package from sender In Transit
In Transit in_transit Package is moving toward destination Out for Delivery, Exception
Out for Delivery out_for_delivery Driver is approaching the recipient for final delivery Delivered, Exception
Delivered delivered Successfully delivered to recipient (terminal state) None (can trigger a return request)
Exception exception A problem was encountered during delivery In Transit, On Hold, Returned
On Hold on_hold Temporarily paused — awaiting instructions, payment, or clearance In Transit, Cancelled
Cancelled cancelled Shipment cancelled before delivery (terminal state) None
Returned returned Package returned to sender (terminal state) None

Every Status Change Is Logged

Each status transition creates an immutable activity log entry with the timestamp, user, old status, new status, and any note. This provides a complete audit trail for every shipment.

Labels

PDF shipping labels can be generated from the Shipment Detail page or in bulk from the shipments list. Labels include:

Label Formats

FormatSizeUse Case
4x6 Thermal4 x 6 inches (102 x 152 mm)Standard thermal label for Zebra, Dymo, and similar printers
A4 Full Page210 x 297 mmOne label per page, print on standard paper
10x15 cm100 x 150 mmEuropean standard thermal label size

Label Themes

Labels can be styled to match well-known carrier aesthetics. Available themes include FedEx, UPS, and DHL styles. Configure the default theme in Settings → Shipping Config → Label Theme.

Bulk Label Printing

Select multiple shipments in the list using checkboxes, then click Bulk Actions → Print Labels to generate a single PDF with all selected labels for batch printing.

Bulk Actions

Select multiple shipments using the checkboxes in the list view to access bulk operations:

ActionDescription
ArchiveMove selected shipments to the archive for historical reference
DeleteSoft-delete selected shipments. The system checks for linked invoices and manifests before allowing deletion.
ExportDownload selected shipments as CSV or Excel for reporting
Print LabelsGenerate a batch PDF with labels for all selected shipments
Change StatusSet all selected shipments to a new status (only valid transitions allowed)
Note: Deleting a shipment that is linked to an invoice or manifest will prompt a confirmation warning. You must unlink the shipment first or cancel the associated records.

Tips and Best Practices

Troubleshooting

ProblemPossible CauseSolution
No rate options appear in Step 3 No rate card covers the origin-destination pair, or rate cards are inactive Go to Settings → Rates and verify that an active rate card exists for the selected route
Country/State/City dropdowns are empty Geographic data has not been seeded or imported Run the geographic data seeder or import countries/states/cities from Settings → Locations
Google Places autocomplete not working Google Maps API key is missing or invalid Configure a valid Google Maps API key in Settings → Integrations → Maps
Cannot delete a shipment The shipment is linked to an active invoice or manifest Cancel or void the linked invoice/manifest first, then retry deletion
Label barcode does not scan Print quality is too low or label is smudged Reprint the label at a higher DPI setting. For thermal printers, ensure the print head is clean.
Status change button shows no options The shipment is in a terminal state (delivered, cancelled, returned) Terminal states do not allow further transitions. For delivered shipments, use the Return Request flow instead.