Production · asked in Claude

“Which manufacturing orders are open, and what do they still need?”

Three manufacturing orders are open: 45, 46 and 49.

Fishbowl MCP connectedin Claude
Which manufacturing orders are open, and what do they still need?
✓Checked your Fishbowl data · 3 read-only queries · 0.8 s

Three manufacturing orders are open: 45, 46 and 49. All are in Main, still in Entered status with no work orders, and nothing has been built on any of them, so each still needs its full bill of materials. All three are past their scheduled dates.

MOScheduledBuilds outstanding (1 batch each)
49Jul 7Chocolate Fudge (25 ea)
45Jul 18Chocolate Chip (24 ea), Blue Raspberry Lemonade (12 floz)
46Aug 8Oatmeal Chocolate Chip (200 ea), Chocolate Fudge (25 ea), Sugar Cookie (48 ea), Blue Raspberry Lemonade (12 floz) twice

Main has enough of most raw goods, but six parts have no stock there, and they block every build on all three orders:

Raw goodNeeded in totalNeeded byStock elsewhere
BP203 Butter48.5 ozMO 45 (8 oz), MO 46 (40.5 oz)3,453 oz each in LA, MI and SLC
T1001 Devil's Food Cake mix4 lbsMO 46 (2 lbs), MO 49 (2 lbs)LA 120 lbs, MI 60 lbs
S601 Blue Raspberry Syrup3 ozMO 45 (1 oz), MO 46 (2 oz)LA 182 oz, MI 91 oz
S604 Lemonade Powder Mix3 oz (0.19 lbs)MO 45 (1 oz), MO 46 (2 oz)LA 195 lbs, MI 98 lbs
BP205 Baking Powder0.08 ozMO 46LA 185 oz, MI 92 oz
Water36.33 flozMO 45 (12.33 floz), MO 46 (24 floz)None in any location group
  • Transfers cover five of the six: everything but Water is in stock at LA or MI, so moving it to Main clears those shortages without any purchasing.
  • Water: it is set up as an inventory part with no stock anywhere, so it will show short on these orders until stock is added or the part setup changes.
  • Covered from Main: flour, sugars, eggs, oats, chocolate chips, walnuts, vanilla, baking soda, salt and vegetable oil are all well above what these orders need.
  • MO 46: Blue Raspberry Lemonade is on it as two separate one-build lines, which may be a duplicate entry.

Each need was compared against Main's on-hand stock on its own, without netting out what other orders have already allocated.

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

Behind the scenes

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

3read-only queries
0.8 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
    Read the Fishbowl notes index
    13 topic notes
  3. 3
    Read Fishbowl notes · MANUFACTURING.md
  4. 4
    Looked up a table · mo
    16 columns
  5. 5
    Looked up a table · wo
    23 columns
  6. 6
    Looked up a table · woitem
    14 columns
  7. 7
    Looked up a table · moitem
    26 columns
  8. 8
    List open manufacture orders with their BOMs, build quantities and work order status
    ✓ passed read-only checkrow cap applied
    Show the SQL
    SELECT m.num AS moNum, ms.name AS moStatus, lg.name AS locationGroup, CAST(m.dateCreated as CHAR) AS dateCreated, CAST(m.dateIssued as CHAR) AS dateIssued, CAST(m.dateScheduled as CHAR) AS dateScheduled, so.num AS soNum, b.num AS bomNum, mi.qtyToFulfill AS buildsOrdered, mi.qtyFulfilled AS buildsDone, mis.name AS bomLineStatus, w.num AS woNum, ws.name AS woStatus
    FROM mo AS m
    JOIN mostatus AS ms ON ms.id = m.statusId
    JOIN locationgroup AS lg ON lg.id = m.locationGroupId
    LEFT JOIN so ON so.id = m.soId
    JOIN moitem AS mi ON mi.moId = m.id AND mi.typeId = 50
    JOIN moitemstatus AS mis ON mis.id = mi.statusId
    LEFT JOIN bom AS b ON b.id = mi.bomId
    LEFT JOIN wo AS w ON w.moItemId = mi.id
    LEFT JOIN wostatus AS ws ON ws.id = w.statusId
    WHERE m.statusId IN (10, 20, 50)
    ORDER BY m.dateScheduled, m.num, mi.id
    LIMIT 501
    8 rows · 237 ms
  9. 9
    For each open manufacture order, list finished goods and raw goods still outstanding with stock availability in the MO's location group
    ✓ passed read-only checkrow cap applied
    Show the SQL
    SELECT m.num AS moNum, pb.num AS bomNum, bit.name AS lineType, p.num AS partNum, p.description, mis.name AS lineStatus, mi.qtyToFulfill, mi.qtyFulfilled, mi.qtyToFulfill - mi.qtyFulfilled AS qtyRemaining, lu.code AS lineUom, ROUND((mi.qtyToFulfill - mi.qtyFulfilled) * CASE WHEN mi.uomId <> p.uomId AND uc.id IS NOT NULL THEN uc.multiply / uc.factor ELSE 1 END, 4) AS qtyRemainingStockUom, pu.code AS stockUom, (mi.uomId <> p.uomId AND uc.id IS NULL) AS missingConversion, ROUND(COALESCE(t.QTYONHAND, 0), 4) AS onHandLG, ROUND(COALESCE(t.QTYONHAND, 0) - COALESCE(t.QTYNOTAVAILABLE, 0), 4) AS usableOnHandLG, ROUND(COALESCE(t.QTYALLOCATED, 0), 4) AS allocatedLG, ROUND(COALESCE(t.QTYONORDER, 0), 4) AS onOrderLG
    FROM mo AS m
    JOIN moitem AS mi ON mi.moId = m.id AND mi.typeId IN (10, 20)
    JOIN bomitemtype AS bit ON bit.id = mi.typeId
    JOIN moitemstatus AS mis ON mis.id = mi.statusId
    LEFT JOIN moitem AS par ON par.id = mi.parentId
    LEFT JOIN bom AS pb ON pb.id = par.bomId
    JOIN part AS p ON p.id = mi.partId
    JOIN uom AS pu ON pu.id = p.uomId
    LEFT JOIN uom AS lu ON lu.id = mi.uomId
    LEFT JOIN uomconversion AS uc ON uc.fromUomId = mi.uomId AND uc.toUomId = p.uomId
    LEFT JOIN qtyinventorytotals AS t ON t.PARTID = p.id AND t.LOCATIONGROUPID = m.locationGroupId
    WHERE m.statusId IN (10, 20, 50)
    ORDER BY m.num, par.id, mi.typeId, p.num
    LIMIT 1001
    53 rows · 315 ms
  10. 10
    Check stock in every location group and part type for the raw goods that show zero stock in Main
    ✓ passed read-only checkrow cap applied
    Show the SQL
    SELECT p.num AS partNum, p.description, pt.name AS partType, pu.code AS stockUom, lg.name AS locationGroup, ROUND(t.QTYONHAND, 4) AS onHand, ROUND(t.QTYONHAND - t.QTYALLOCATED - t.QTYNOTAVAILABLE, 4) AS available, ROUND(t.QTYONORDER, 4) AS onOrder
    FROM part AS p
    JOIN parttype AS pt ON pt.id = p.typeId
    JOIN uom AS pu ON pu.id = p.uomId
    LEFT JOIN qtyinventorytotals AS t ON t.PARTID = p.id
    LEFT JOIN locationgroup AS lg ON lg.id = t.LOCATIONGROUPID
    WHERE p.num IN ('BP203', 'Water', 'S601', 'S604', 'T1001', 'BP205')
    ORDER BY p.num, lg.name
    LIMIT 101
    12 rows · 264 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.