One system, from the purchase decision to the ledger.

Built for commodity importers. One container, followed all the way through.

The goods
What you bought, what it cost, what you sell it for.
01

Where are the containers?

Live from a carrier-tracking vendor by API — no one types a milestone.carrier feed · Jul 25, 2026
GHT-2026-118Cleared
Paranagua, Brazil → Jebel Ali, UAE
MSC CAROLINA / 421W
Arrived Jebel Ali, UAE
Jul 24, 2026
Purchase order confirmed
Paranagua
Apr 18, 2026
Loaded on board
Paranagua
May 18, 2026
Vessel departure
Paranagua
May 19, 2026
Arrival at transhipment
Algeciras
TranshipmentJun 24, 2026
Vessel departure
Algeciras
Jun 27, 2026
Vessel arrival
Jebel Ali
Jul 24, 2026
Container discharged
Jebel Ali
Jul 25, 2026
Gate out — full
Jebel Ali
ProjectedJul 30, 2026

On the water

Matched onBL MEDU8820147MSCU7741820MSCU7741835
RefSupplierFromCBMETAStatus
GHT-2026-121Araucaria Madeiras LtdaParanagua96.2Aug 27, 2026In transit
GHT-2026-122Nordic Timber ASRiga62.8Sep 2, 2026In transit
GHT-2026-123Araucaria Madeiras LtdaItajai141Sep 14, 2026Booked
02

What did it actually cost?

GHT-2026-118Cleared
Brazil Pine · Clear, KD 12% · 102 CBM · Paranagua, Brazil → Jebel Ali, UAE
5 files · 31 fields read · nothing typed
Documents filed against this shipment
Drop invoices, bills of lading, packing lists or clearing bills
PDF, image or spreadsheet · from the shipment, the bill, the expense or the chat
INV-AM-4471.pdfSupplier invoice11 fields
BL-MEDU8820147.pdfBill of lading8 fields
PackingList-4471.xlsxPacking list1 field
Agent-inv-7719.pdfClearing invoice6 fields
COO-BR-2026-4471.pdfCertificate of origin5 fields
Read off the supplier invoice
SupplierAraucaria Madeiras Ltda
Invoice no.AM-4471
Invoice valueUSD 35,700.00
Volume102.000 CBM
IncotermFOB Paranagua
Payment terms30% deposit, 70% against BL
Each value keeps the line of the document it came from, and is confirmed once before it posts.
Landed costAED 151,124
ChargeFromRateAmountPer CBM
Goods — 102 CBM at USD 350INV-AM-4471.pdf—AED 131,412AED 1,288
Customs dutyBayan 2026-4419025%AED 6,571AED 64
Clearing chargesAgent inv 77198%AED 10,513AED 103
Wastage allowancePackingList-4471.xlsx2%AED 2,628AED 26
Allocated per CBMAED 151,124AED 1,482
Exchange rate used
3.6810
USD → AED · what the bank charged
3.6725
market on the day
+AED 304
cost of the spread
Taken from Drawdown DRAW-2026-041 — principal divided by the supplier invoice, not a market quote.
Ordered Apr 18, 2026 · sailed May 19, 2026 · arrived Jul 24, 2026 · 31 days lead, 66 days transit
03

What do you sell it for?

Built on GHT-2026-118 · landed AED 1,482 / CBM

Cost steps

Adjust a value to preview price impact — nothing is saved

Landed costfrom the documentsAED 1,482
Margin10%AED 148
Delivery2%AED 33
Selling priceAED 1,663 / CBM
Same rate for every size
Price list
Signed in as a sales user · no cost, margin or landed value visible
ItemPer CBMPer piece
CreditCashCreditCash
Brazil Pine Clear KD 20 x 80mm x 3.0mAED 1,663AED 1,630AED 7.98AED 7.82
Brazil Pine Clear KD 40 x 80mm x 3.0mAED 1,663AED 1,630AED 15.96AED 15.65
Brazil Pine Clear KD 90 x 90mm x 3.0mAED 1,663AED 1,630AED 40.41AED 39.61
Same rate per CBM for every size — the piece price follows the volume. Delivery included.
The money
What you owe, and when it falls due.
04

What is drawn, and what falls due

Outstanding
AED 798,000
3 active loans
Overdue
1
Past maturity, not yet repaid
Available
AED 1,502,000
of AED 2,300,000 across 3 facilities
Cost of funds
7.78%
Weighted, at the rates the banks actually charged
Finance cost YTD
AED 68,412
Interest and bank fees
Maturity ladder
AED 118,000
Overdue
1
AED 180,000
Aug
1
AED 240,000
Sep
1
—
Oct
—
Nov
—
12m+
ReferenceFacilityAmountMaturesAgainstStatus
DRAW-2026-041Facility AAED 180,000Aug 27, 2026GHT-2026-118Active
DRAW-2026-044Facility AAED 240,000Sep 13, 2026GHT-2026-121Active
DRAW-2026-039Facility CAED 118,000Aug 7, 2026—Overdue
Facilities
Facility A — Trade financeAED 680,000 of AED 1,200,000 · 57%
Measured 7.5% from what the bank actually charged
Facility B — Import LCAED 0 of AED 800,000 · 0%
6.9% quoted — no drawings yet to measure
Facility C — OverdraftAED 118,000 of AED 300,000 · 39%
Measured 9.4% from what the bank actually charged
The decision
What all of it adds up to.
05

So what needs you today

Month over budget
1
AED 50,341
Oct 26 is over budget on confirmed commitments alone
Confirmed commitmentsAED 733,579
Top of your rangeAED 683,238
Loans maturing
3
AED 538,000
1 past maturity, not yet repaid
Facility A · Aug 27, 2026in 12d
Facility A · Sep 13, 2026in 29d
Facility C · Aug 7, 2026overdue
Shipments needing attention
1
1
No clearing agent assigned
GHT-2026-121 · ParanaguaETA Aug 27, 2026
GHT-2026-122 · RigaETA Sep 2, 2026
On the water
2
159.0 CBM in transit
Cleared this monthGHT-2026-118
Awaiting your approval
1
1
Document read, no ledger entry yet
Certificate of originCOO-BR-2026-4471.pdf
06

How it is built

Single-tenant data, multi-tenant platformEU-hostedRead-only APIs
Platform
Application
Next.js, server-rendered. Hosted on Vercel, EU region, with instant rollback
Database
Google Cloud Firestore. One document tree per enterprise — no shared tables
Tenant isolation
The tenant is derived from the signed session on every request, never from the client. Enforced by server-side route guards
Identity and access
Sign-in
Email + password (bcrypt) or Google. Two-factor (TOTP) on administrative accounts
Sessions
Signed JWT in an httpOnly, Secure cookie; revocable per user, effective on the next request
Roles
Primary admin, admin, sales, external — with per-module permissions beneath the role
Integrations
Read-only for now
Carrier integrations use read-only API access today. Your existing systems remain the book of record
Carrier tracking
Vessel and container milestones by API, covering 160+ carriers. No account of your own is needed
Your ledger stays yours
Landed cost is assembled from the documents, not from your accounts. Nothing here asks to become your book of record
AI and data
Where AI is used
Reading uploaded documents into fields. It never approves, posts or pays anything — a person confirms every value
Training
Your documents are not used to train any model
Change control
Every change runs the full test suite before it can deploy; money logic requires a test and a visible “show the workings” path