Eight things a customer came here to do.

Watch shipments in progress, accept a quotation, submit a shipment request, book a pickup, open documents, open the invoices that still carry a balance, read their rates, keep an address book. That is the list. There is no ninth tab that opens a sales page.

What it does

It opens on what is waiting for them.

A quotation nobody accepted is money standing still, and an invoice nobody opened is money standing still in the other direction. Both are on the first screen, with a count.

Fig. 1 — One telephone call, or one lookup.lib/portal-today.ts
“Where is my cargo?” on the phone, to your desk and what the desk was doing it does not pick up where it left off The customer looks it up on your public site, in your name Kim Trading Co — signed in Where the cargo is The documents on it The invoices with a balance Quotations waiting to be accepted The public site tracks without a login. Behind the login: quotations, documents, and the balance.
The customer spends the same ten seconds either way — the difference is whose ten seconds they are, and whether anyone had to be interrupted to spend them.
Kim Trading Co — signed in 02 Sep 08:31 PDT
2 quotations are waiting to be acceptedOne expires Friday
4 shipments in progress2 ocean · 2 air
1 shipment request submitted — not confirmed yet28 Aug
1 pickup booked — Vernon, after 14:00Thu 03 Sep
3 invoices with a balance$4,182.50
Also on the menu: documents, the customer’s rates, the address book.
Why the invoice count is three, not forty
The invoice list is the ones that still carry a balance. Paid invoices are not a task, and this screen is a list of tasks.

The quotation is the same object the desk sent.

When they press accept, nothing is re-keyed and nothing is re-priced. The quotation was built in SCM off the rate tables in QMS, inside their validity dates, with the margin rule for that customer class already applied — and accepting it turns it into the shipment they will watch on this same screen tomorrow.

How a request becomes that quotation →

Recording — 12 s, silent, loops R-06 · not yet shot
What it shows A customer answering their own “where is my cargo” — without a single staff screen being opened.
Where to shoot it Kim Trading Co — signed in, the customer portal of the demo company. Sign in as the customer, not as staff.
The take
  1. Sign in as Kim Trading Co and land on what is waiting: 2 quotations, 4 shipments, 3 invoices.
  2. Open one of the four shipments and let the tracking dates draw.
  3. Open Documents and download one. Stop when the file lands.
Why here This whole section rests on the customer doing it alone. Shot from the staff side it proves nothing; shot from their own login it proves the entire claim.
One rule

A list that got cut short has to say so.

Two of the twenty release checks exist for this alone — check_row_caps and check_rest_cap. A list may be capped. A list may not be capped quietly.

1,955
Invoice lines that existed
Measured on the demo company: 88 of 176 invoices drew the words “Lines 0” on the screen.

Zero is a number. It should not stand in for an unknown.

The read for those lines had failed, and the screen drew what a failed read returns: nothing, rendered as zero. An empty invoice is not a strange sight to a customer — they assume the forwarder has not finished it. So they wait, and the office waits, and the reason nobody chases it is that the screen never admitted it was missing anything.

That is also why a third check, check_silent_errors, fails a release for drawing a zero when the read behind it broke. On these fifteen screens the rule matters more than it does on the staff screens: a customer cannot walk to the next desk and ask whether the number is real.

What it does not do

Before anything is promised to a customer.

Old invoices are not here
Historic invoices do not come across in a migration to CBMGO. They are best left with the existing accounting system — CBMGO connects to QuickBooks both ways, and payments read back and flip an invoice to paid.
English only
These screens are in English. The only ones translated are the eleven in the driver’s field app, which runs in four languages.
No screens for brokers or overseas agents
A customs broker portal and a destination agent operations screen are both absent on purpose. Brokers get a mailed document bundle; agents settle through the partner ledger.
No sales pipeline behind it
Leads and opportunities are a deliberate gap. In forwarding a quotation is a document, not a stage in a funnel — so it is filed as one.
Get a demo

The demonstration is seen from the customer’s side.

In the demonstration, a sign-in as one of the forwarder’s customers accepts a real quotation, then opens the invoice it turned into. Forty-five minutes, one shipment, quotation to invoice.