Sales · asked in Claude

“Which orders shipped later than their scheduled date?”

13 of the 41 shipped sales orders in the DEMO Fishbowl database went out after their scheduled date.

Fishbowl MCP connectedin Claude
Which orders shipped later than their scheduled date?
✓Checked your Fishbowl data · 2 read-only queries · 0.5 s

13 of the 41 shipped sales orders in the DEMO Fishbowl database went out after their scheduled date. Five of them were more than four months late and all shipped on the same day, July 15; the other eight were 1 to 4 days late.

SOCustomerScheduledShippedDays late
1026Candie WalkerJan 4Jul 15192
1027Eric WashburnFeb 4Jul 15161
1029Baker FrontierFeb 7Jul 15158
1030Candie WalkerFeb 21Jul 15144
1031Mark BennettFeb 28Jul 15137
1043Mark BennettJan 24Jan 284
1015Jim RaynorMay 31Jun 33
1044Mark BennettJan 27Jan 292
1000Allen's GroceriesApr 10Apr 111
1003Karen SmithApr 25Apr 261
1013Mountaineer CateringMay 28May 291
1042Eric WashburnJan 17Jan 181
1053Mark BennettFeb 2Feb 31

All dates are 2026. The five July 15 shipments look like a single batch (possibly a backlog cleared or demo data loaded that day) rather than five independent delays.

"Late" here means the shipment's ship date fell on a later calendar day than the line's scheduled fulfillment date. Orders that are overdue but still unshipped are not included.

A real 24-second session on our demo Fishbowl, replayed faster.

Behind the scenes

What your admin sees in the query log for this conversation.

2read-only queries
0.5 stotal query time
0changes to your data
0rows stored

Every step the AI took

  1. 1
    Checked the saved queries
    6 saved queries
  2. 2
    Looked up a table · ship
    30 columns
  3. 3
    Looked up a table · so
    66 columns
  4. 4
    List sales orders whose shipments shipped after the scheduled fulfillment date, with days late
    ✓ passed read-only checkrow cap applied
    Show the SQL
    SELECT so.num AS soNum, c.name AS customer, sh.num AS shipNum, DATE(MIN(si.dateScheduledFulfillment)) AS scheduledDate, DATE(sh.dateShipped) AS shippedDate, DATEDIFF(DATE(sh.dateShipped), DATE(MIN(si.dateScheduledFulfillment))) AS daysLate, COUNT(DISTINCT si.id) AS lateLines, DATE(so.dateFirstShip) AS soHeaderSchedDate
    FROM ship AS sh
    JOIN shipitem AS shi ON shi.shipId = sh.id
    JOIN soitem AS si ON si.id = shi.soItemId
    JOIN so ON so.id = si.soId
    JOIN customer AS c ON c.id = so.customerId
    WHERE sh.dateShipped IS NOT NULL AND si.dateScheduledFulfillment IS NOT NULL AND DATE(sh.dateShipped) > DATE(si.dateScheduledFulfillment)
    GROUP BY so.num, c.name, sh.num, sh.dateShipped, so.dateFirstShip
    ORDER BY daysLate DESC, so.num
    LIMIT 1001
    13 rows · 220 ms
  5. 5
    Count total shipped sales orders for context on late-shipment rate
    Companion totals query for context
    ✓ passed read-only checkrow cap applied
    Show the SQL
    SELECT COUNT(DISTINCT sh.id) AS shippedShipments, COUNT(DISTINCT so.id) AS shippedOrders, MIN(DATE(sh.dateShipped)) AS firstShip, MAX(DATE(sh.dateShipped)) AS lastShip
    FROM ship AS sh
    JOIN shipitem AS shi ON shi.shipId = sh.id
    JOIN soitem AS si ON si.id = shi.soItemId
    JOIN so ON so.id = si.soId
    WHERE sh.dateShipped IS NOT NULL
    LIMIT 101
    1 row · 263 ms

Every query is checked before it runs: reads only, no system tables or password fields, and a row cap on every result. The question and the SQL are logged for your admins. The data itself is not stored.

Ask this about your own Fishbowl

We'll set up ILC MCP on your Fishbowl and build the queries your team needs.