Manual · Engineering
Manual17 min read

Port & Containers

The container as the unit of work: registration, operations, haulage, lifecycle, documents, customs, the warehouse bridge and demurrage.

ForPort & containersFleet & dispatchFinance

The container is the unit of work

Everything in this module keys off the container: operations, trips, documents and demurrage. Run the flow in the order below every time.

ContainersPort & Containers → Containers
OperationsPort & Containers → Operations
DemurragePort & Containers → Demurrage
DocumentsPort & Containers → Documents

Agree a container size convention

The container size/type field is free text and is matched against demurrage rules. Agree a convention with your team — for example 20GP, 40HC — so the demurrage size tiers apply correctly.

Demurrage rules (configure once)

FieldMeaning
CustomerA specific customer, or blank for the workspace default
Free daysFree-time days before demurrage starts (default 5)
Daily rate and currencyCharge per day beyond free time
Cap amountOptional maximum charge
Applies toCONTAINER, TRUCK or ALL
Container size/typeOptional size tier
Effective fromDate the rule takes effect

The engine picks the most specific active rule as of the breach date: the customer's latest rule wins over the workspace default, and a rule matching the container size tightens it further.

Demurrage rulesContainers → Demurrage → Rules → New Demurrage Rule

The container cycles

  1. C1

    Register the container

    Enter the container number (unique per workspace), size/type, seal number, shipping line, vessel/voyage, consignee and customer. Save → status AT_PORT. The system records the opening AT_PORT event, which starts the demurrage clock.

    Port & Containers → Containers → Register Container
  2. C2

    Create the operation

    Choose the operation type — IMPORT (vessel → port → warehouse → client collection), EXPORT (stuffing and loading), DOMESTIC (local moves) or CROSS_BOUNDARY (cross-border haulage) — plus container, customer, port name, destination, optional warehouse and port charges. Enter a unique operation number → OPEN.

    Port & Containers → Operations → New Operation
  3. C3

    Link the haulage trips

    Link one or more existing trips to the operation — an operation can span multiple legs. Trips carry the driver, vehicle and costs. You can unlink a trip without deleting it.

    Operations → open the operation → Link Trip
  4. C4

    Advance the container through its lifecycle

    The container moves in a fixed order and you cannot skip a step. Each advance appends a container event with date, time, location and notes.

    Containers → open the container → Advance Status
  5. C5

    Issue the operational documents

    Five tabs: Waybills, Gate Passes, Loading Requests, Delivery Orders and Customs. Cargo documents follow DRAFT → ISSUED → SIGNED → DELIVERED, with VOID as the exit. Customs lets you record BOL, CMR, DECLARATION, DUTY_RECEIPT or OTHER with an uploaded file.

    Port & Containers → Documents → New…
  6. C6

    Bill demurrage when free time is exceeded

    The exposure board shows port and detention days, the free-time countdown, the computed charge, the matched rule and the billing state. Use Bill now, or let the daily background scan raise it. A human approves it in the Approval Queue; on approval the invoice is ISSUED and posts Dr 1200 AR / Cr 4100 Demurrage Income.

    Port & Containers → Demurrage → Exposure
  7. C7

    Sync stock at the gates

    When a container crosses a gate event and its open operation has a warehouse, gate-out writes one ISSUE per cargo line and gate-in writes one RECEIPT per cargo line. The bridge is idempotent.

    Inventory → Movement Ledger
  8. C8

    Link invoices, complete, close

    Link the operation's sales and demurrage invoices so Container Profitability includes the revenue. When the cargo is delivered and all charges are billed, Complete → COMPLETED. Void while still OPEN if the operation was raised in error.

    Operations → open the operation

Container lifecycle and clock effects

Current statusAdvance → new statusEvent recordedClock effect
— (on registration)AT_PORTAT_PORTPort free time starts
AT_PORTIN_TRANSITGATE_OUTPort demurrage stops; detention starts
IN_TRANSITIN_WAREHOUSEGATE_INWarehouse receipt
IN_WAREHOUSEDELIVEREDDELIVERED—
DELIVEREDRETURNEDRETURNEDDetention stops

Watch

Register early, and enter cargo lines

Register a container the moment it is under your control, because the demurrage clock starts at registration. When an advance asks for cargo lines, enter the variant and quantity for each line so stock is recorded — then confirm the direction on the Movement Ledger.

Documents

DocumentUse it forKey fields
WaybillPort to warehouse movement proofWaybill number, from, to
Gate PassPort exit permit tied to a haulage tripPass number, vehicle, driver, valid until
Loading RequestExport or stuffing preparationRequest number, requested date, cargo summary
Delivery OrderImport collection authorisationOrder number, authorised to, release date

Note

Documents never post

Documents are operational records and post no journals. They prove the movement; the invoice proves the money.

Status reference

Container : AT_PORT → IN_TRANSIT → IN_WAREHOUSE → DELIVERED → RETURNED
Operation : OPEN → COMPLETED   (or OPEN → VOID)
Document  : DRAFT → ISSUED → SIGNED → DELIVERED   (any → VOID)
Demurrage : computed → DRAFT invoice + queue → (approve) → ISSUED → PAYMENT
Port module state machines

Reports

ReportAnswers
Container ProfitabilityInvoice revenue − port charges − haulage costs, per container
Demurrage ExposureOpen containers by customer with free-time countdown and computed charge
Demurrage Invoiced vs CollectedBilled demurrage vs cash actually collected

Also useful: Trial Balance and General Ledger for 4100 Demurrage Income, and Invoice Aging for outstanding container and demurrage receivables.

Worked example

Customer Acme; warehouse Main; variant CABLE-10MM.

  1. 01

    Register

    Container MSCU1234567 (size 20GP, customer Acme) → AT_PORT (clock starts).

  2. 02

    Operation

    OP-001: IMPORT, Acme, port Djibouti, destination Warehouse Main, warehouse Main, port charges 300 → OPEN.

  3. 03

    Trip and gate pass

    Link haulage trip TRP-009 (driver and vehicle assigned). Issue a Gate Pass for the truck and driver.

  4. 04

    Advance

    IN_TRANSIT (GATE_OUT), then IN_WAREHOUSE (GATE_IN) with cargo lines → inventory RECEIPT; then DELIVERED, then RETURNED.

  5. 05

    Documents

    Issue the Waybill (signed, delivered), issue the Delivery Order, register the customs Declaration.

  6. 06

    Operation invoice

    1,200 → approve → GL Dr 1200 AR / Cr 4000 Revenue + 2300 Tax. Link the invoice to OP-001; receipt 1,200 → GL Dr 1010 Bank / Cr 1200 AR.

  7. 07

    Demurrage

    Free time 3 days, held 4 → 1 day over @ USD 40 → Bill now → approve → GL Dr 1200 AR 40 / Cr 4100 Demurrage Income 40; receipt 40.

  8. 08

    Complete

    Complete OP-001 → COMPLETED. Check Container Profitability and Demurrage Invoiced vs Collected.

Troubleshooting

Message or symptomFix
A container with this number already existsSearch the Containers list first
A waybill/gate pass/loading request/delivery order with this number already existsUse a unique number per type per workspace
Invalid status transition: X → YAdvance one step at a time
Container has no further status to advance toNo action needed — the container is RETURNED
Container not foundPick from the dropdown
Operation has no linked warehouseEdit the operation and choose a warehouse, or advance without cargo lines
Only draft waybills/gate passes can be issuedFollow DRAFT → ISSUED → SIGNED → DELIVERED
Only issued … can be signedIssue the document first
Cannot complete/void an operation in X statusNothing to do
Vehicle not found in your organization / Driver not foundPick from your own list
Missing chart-of-accounts entries for codes: 4100Reactivate Demurrage Income in Chart of Accounts
No open accounting period found for date…Create or open a period in Accounting Periods

Ledger boundary

  • Containers, operations and documents post nothing — they are operational records.
  • Gate events move stock via the warehouse bridge but post no journal.
  • Only an ISSUED demurrage invoice posts: Dr 1200 AR / Cr 4100 Demurrage Income. Operation and customer invoices post through sales.
  • Demurrage income (4100) must reconcile to issued demurrage invoices — use Demurrage Invoiced vs Collected.

Cheat sheet

Order
Container → Operation → Link trip → Advance (gate in/out) → Documents → Invoice → Demurrage → Collect → Complete
Container under control
Containers → Register Container
Container job
Operations → New Operation
Attach haulage
Operation → Link Trip
Move cargo status
Container → Advance Status
Generate paperwork
Documents → New <type> → Issue → Sign → Deliver
Customs file
Documents → Customs → upload
Container over free time
Demurrage → Exposure → Bill now
Attach revenue
Operation → Link Invoice
Finish a job
Operation → Complete

Rule

Rules that never change

The demurrage clock starts at registration (AT_PORT). Containers move one step at a time: AT_PORT → IN_TRANSIT → IN_WAREHOUSE → DELIVERED → RETURNED. Documents go DRAFT → ISSUED → SIGNED → DELIVERED, with VOID as the exit. Demurrage is billed only through the approval queue, and the scan never double-bills. Gate events sync stock only when the operation has a warehouse.