Mabit / Purchasing
sample data
Showing only
Demo feed — simulated syncs every 4 seconds. POs advance, free time runs down, records go stale. Nothing is connected to SellerCloud yet.
Pipeline
Last 30 days
throughput, not a snapshot

SBO performance

booking, consolidation, record keeping

Needs attention
past target, missing dates, or stale
POStageDays in stage ValueIssueContainers
Active containers
Container / bookingPOsWhere SailedArrival Free timeCBM / value
Vendor scorecard
measured to cargo ready only
VendorOpen POsOpen value Ready on timeAvg days late RevisionsShortCycle
Vendor accountability stops at cargo ready. Everything after that is SBO's routing decision and the carrier's performance, not the vendor's — consolidated containers can't be attributed to one supplier.

Data source & targets

Leave the endpoint as /api/data to use the built-in proxy. Stage targets define what counts as stalled. The clean-data cutoff excludes POs created before your split-PO process change from all timing figures.

Sent
Cargo ready
Booked
Ocean
At port
Receiving
Expected shape
{
  "pos": [{
    "po":"8138", "company":"Rikkel Corp US", "vendor":"Xiamen Yamat",
    "goods":"6oz White Paper Cups", "units":216000, "value":52400,
    "ordered_date":"2026-06-02",
    "requested_on":"2026-07-12", "requested_on_original":"2026-07-05",
    "requested_revisions":1,
    "cargo_ready_date":"2026-07-16",
    "booked_date":"2026-07-21", "booking_ref":"AF-2026-4471",
    "expected_delivery":"2026-09-01", "expected_delivery_original":"2026-08-24",
    "expected_revisions":1,
    "received_date":null, "received_qty":0,
    "container":"FFAU1381877", "combined":false,
    "last_updated":"2026-07-24"
  }],
  "containers": [{
    "name":"FFAU1381877", "vendor":"Xiamen Yamat", "pos":["8116","8117"],
    "shipped_on":"2026-07-17", "record_created":"2026-07-16",
    "etd":null, "atd":null, "eta":"2026-08-04", "ata":null,
    "exited_port":null, "empty_due":null, "empty_returned":null,
    "lfd":null, "telex_release":false, "cbm":61.53
  }]
}

One PO sits on exactly one container; a container carries many POs.
A PO referencing two containers is flagged as a data error, not merged.
booked_date is the Always Forwarding booking, before any container number.

Two penalty clocks, tracked separately:
  lfd        demurrage — box at the terminal, not yet collected
  empty_due  detention — box with us, empty not yet returned

Stage is derived, never read from PO Status.
Original promise dates come from the change log's first value.