# can you set up a new part for us and get a small starter order placed with one of our vendors for it?

> A real Claude session on a Fishbowl database (ILC's demo company, sample data), connected through ILC MCP for Fishbowl. The answer below is what the AI said; the queries are what it ran. Page: https://israellopezconsulting.com/fishbowl-mcp/questions/order-new-part-and-po

## Question

can you set up a new part for us and get a small starter order placed with one of our vendors for it?

### Answer

You have rights to create both the part and the purchase order. Before I create anything, I need these details, since a part is permanent once it's in Fishbowl:

**The part**
- Part number and description
- Unit of measure (each, case, lb…)
- Type: inventory, non-inventory, or service. I'll assume inventory if you don't say.
- Is it tracked by lot, serial, or expiration date? Optional.

**The starter order**
- Vendor. These are your most active ones right now:
  - Rocky Mountain Chocolate
  - Williams Treat Company
  - A&B Distribution
  - Brent's Food Supply
  - Mike's Salt
  - Chuck's Flour Shop
  - Johnson Manufacturing
  - Or any other vendor you name.
- Quantity and unit cost
- The vendor's part number, if it differs from yours. Optional.
- Should the PO go in as a **bid request** (draft) or **issued** (sent to the vendor)? I'd suggest a bid request so you can review it in Fishbowl first.

Once you reply, I'll prepare both and show you a preview. Nothing gets committed until you approve it.

## Follow-up

let's add a new ingredient - Dark Cocoa Powder, call it DARK-COCOA. we buy it by the pound, regular inventory part, nothing tracked. put in a starter order to Brent's Food Supply for 100 lbs at about a dollar a pound, and just make it a bid request so we can look it over first.

### Answer

The part is ready to create. Here's the preview:

**New part: DARK-COCOA**
| Field | Value |
|---|---|
| Description | Dark Cocoa Powder |
| Unit of measure | Pound (lbs) |
| Type | Inventory |
| PO item type | Purchase |
| Tracking | None |
| Active | Yes |

This creates a new part. It doesn't update an existing one.

**Next step: the bid request to Brent's Food Supply.** Fishbowl won't check the PO until the part exists, so I'll prepare it right after this part is created. Here's my plan for it:
- **Line:** 100 lbs of DARK-COCOA at $1.00/lb, for a total of $100.00
- **Status:** Bid Request
- **Location group:** Main
- **Remit-to:** Brent's Food Supply, 777 South Delivery Lane, Salt Lake City, UT 84111
- **Carrier:** Will Call
- **Ship-to:** I'll copy it from your last Brent's PO (#231): "Default Address, Main Street." That looks like a placeholder. If you'd like your real warehouse address on this PO, send it to me. Otherwise I'll use that one so it matches your past orders.

Should I create the part now? The preview expires in about 30 minutes.

## Follow-up

yep, that all looks right - go ahead and create the part, and the placeholder address is fine for now. then go ahead and put the bid request in to Brent's.

### Answer

I created the part and the bid request in Fishbowl:

- **DARK-COCOA (Dark Cocoa Powder)** is a new inventory part, bought in pounds, with no tracking.
- **PO 232** went to Brent's Food Supply as a **Bid Request**. It's for 100 lbs of DARK-COCOA at $1.00/lb, $100.00 total, with Will Call as the carrier, from location group Main.

PO 232 is waiting in Fishbowl for you to review. Once the price is confirmed, issue it from there. You'll also want to put your real warehouse address in place of the placeholder ship-to before it goes to Brent's.

## Behind the scenes

Every step the AI took, as recorded in the query log. All queries are read-only and row-capped.

1. Checked its write permissions — 48 import types you're allowed to write
2. Ran a read-only query: List active vendors with recent purchase order activity so the user can pick one for a starter order — 14 rows, 294 ms

   ```sql
   SELECT v.name, COUNT(p.id) AS po_count, MAX(p.dateIssued) AS last_po
   FROM vendor AS v
   LEFT JOIN po AS p ON p.vendorId = v.id
   WHERE v.activeFlag = 1
   GROUP BY v.id, v.name
   ORDER BY last_po DESC
   LIMIT 15
   ```

3. Checked the available import types
4. Ran a read-only query: Check that part DARK-COCOA doesn't exist yet, find the pound unit of measure, and confirm the exact vendor name for Brent's Food Supply — 1 row, 175 ms

   ```sql
   SELECT (SELECT COUNT(*)
   FROM part
   WHERE num = @num) AS part_exists, (SELECT GROUP_CONCAT(CONCAT(name, '|', code))
   FROM uom
   WHERE code IN ('lb', 'lbs') OR name LIKE '%pound%') AS lb_uoms, (SELECT name
   FROM vendor
   WHERE name LIKE 'Brent%'
   LIMIT 1) AS vendor_name
   LIMIT 101
   ```

5. Read Fishbowl notes (IMPORT_Parts.md)
6. Read Fishbowl notes (ORDER_PurchaseOrder.md)
7. Ran a read-only query: Get remit-to, ship-to, carrier and location group from recent Brent's Food Supply POs to reuse on the new bid request — 3 rows, 188 ms

   ```sql
   SELECT p.num, p.remitToName, p.remitAddress, p.remitCity, p.remitZip, rs.code AS remitState, p.shipToName, p.shipToAddress, p.shipToCity, p.shipToZip, ss.code AS shipState, c.name AS carrier, lg.name AS locationGroup
   FROM po AS p
   JOIN vendor AS v ON v.id = p.vendorId
   LEFT JOIN stateconst AS rs ON rs.id = p.remitStateId
   LEFT JOIN stateconst AS ss ON ss.id = p.shipToStateId
   LEFT JOIN carrier AS c ON c.id = p.carrierId
   LEFT JOIN locationgroup AS lg ON lg.id = p.locationGroupId
   WHERE v.name = @vendor
   ORDER BY p.dateCreated DESC
   LIMIT 3
   ```

8. Ran a read-only query: Find the company's own address to use as the ship-to on the purchase order — ? rows, ? ms

   ```sql
   
   ```

9. Prepared the import (preview) — Parts: 1 row, setting Active, POItemType, PartDescription, PartNumber, PartType, UOM.
10. Committed the import — committed
11. Prepared the order (preview) (admin) — Purchase order to Brent's Food Supply, 1 line(s), total 100.00, status Bid Request.
12. Committed the order — order 232 created

Learn more: https://israellopezconsulting.com/fishbowl-mcp · More examples: https://israellopezconsulting.com/fishbowl-mcp/questions
