Accounting · asked in Claude

“What's our inventory worth by warehouse?”

$53,860.77 at average cost, broken down across four warehouses.

Fishbowl MCP connectedin Claude
What's our inventory worth by warehouse?
✓Checked your Fishbowl data · 3 read-only queries · 0.4 s

Total inventory on hand is worth $53,860.77 at average cost, across four warehouses in the DEMO Fishbowl database:

WarehouseParts stockedQty on handValueShare
LA5082,238.06$22,420.1341.6%
MI5057,294.25$18,292.6334.0%
Main3025,889.44$10,507.6319.5%
SLC63,461.00$2,640.384.9%
Total$53,860.77
  • Method: each warehouse's on-hand quantity is multiplied by the part's company-wide average cost; the company's costing method is Average Costing. Every stocked part has a cost.
  • Cross-check: the four warehouses sum exactly to Fishbowl's own company-wide part cost total.
  • Discrepancy: open cost layers total $59,120.36, about $5,260 more than the average-cost figure. I haven't traced which parts account for the gap.
  • Scope: on-hand includes everything physically in each warehouse, including stock in receiving or other locations not counted as available. Quantities mix units of measure, so that column is only a rough size indicator.
A real 30-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.4 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 · INVENTORY.md
  4. 4
    Read Fishbowl notes · ACCOUNTING.md
  5. 5
    Total inventory value broken down by warehouse (location group), at average cost
    ✓ passed read-only checkrow cap applied
    Show the SQL
    SELECT lg.name AS locationGroup, COUNT(DISTINCT q.PARTID) AS parts, ROUND(SUM(q.QTY), 2) AS qtyOnHand, ROUND(SUM(q.QTY * pc.avgCost), 2) AS valueAtAvgCost, SUM(CASE WHEN pc.partId IS NULL OR pc.avgCost = 0 THEN 1 ELSE 0 END) AS partsWithNoCost
    FROM qtyonhand AS q
    JOIN locationgroup AS lg ON lg.id = q.LOCATIONGROUPID
    LEFT JOIN partcost AS pc ON pc.partId = q.PARTID
    WHERE q.QTY <> @zero
    GROUP BY lg.name
    ORDER BY valueAtAvgCost DESC
    LIMIT 101
    4 rows · 256 ms
  6. 6
    Confirm the costing method and company-wide inventory value to cross-check the by-warehouse totals
    Cross-check: costing method plus company-wide totals from partcost and open cost layers
    ✓ passed read-only checkrow cap applied
    Show the SQL
    ? rows · ? ms
  7. 7
    Confirm the costing method and company-wide inventory value to cross-check the by-warehouse totals
    Retry of cross-check after a connection error: costing method plus company-wide totals from partcost and open cost layers
    ✓ passed read-only checkrow cap applied
    Show the SQL
    SELECT (SELECT sysValue
    FROM sysproperties
    WHERE sysKey = @k) AS costingMethod, (SELECT ROUND(SUM(totalCost), 2)
    FROM partcost) AS partcostTotal, (SELECT ROUND(SUM(totalCost), 2)
    FROM costlayer
    WHERE statusId = @open) AS openLayerTotal
    LIMIT 101
    1 row · 190 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.