Receive a delivery
Records what arrived on a sent order; lines with a SKU come into Inventory at the ordered cost.
$0.01 a call
From your agent’s balance. A call that fails costs nothing.
An example
25 of the 40 GN pans arrived today. The rest come next week.
Your agent callspurchasing_receive$0.01 a call
The example business is Hansen & Voss, a restaurant-equipment wholesaler in Hamburg with 60 staff. The reply is the one the tool really gives.
{
"order": "PO-0001",
"lines": [
{
"line": 1,
"quantity": 25
}
]
}Use it when
A delivery from a supplier arrived, in full or in part.
- For stock that came in without an order, use
inventory_move.
What it does
Record what arrived on a sent order: lines [{line, quantity}] (line numbers as the order lists them), or all: true for everything still to come. Lines with a SKU come into Inventory as receive moves at the ordered unit cost, at the order's location (or location); when the order's currency is not the item's, give that line's unit_cost in the item's currency. More than ordered is refused (take the extra in with inventory_move). All lines or none. The order becomes partial, or received when nothing is left to come.
What comes back
order: the order with what each line has received, now partial or received; received: the lines taken in; stock_moves: the Inventory moves made. Every reply also carries cost_usd and balance_usd.
Inputs
| Name | Type | What it is |
|---|---|---|
orderRequired | string | The order_id, or the order's number like "PO-0007". 1 to 40 characters. |
lines | array of objects | 1 to 200 items. |
lines[].lineRequired | integer | 1 to 200. |
lines[].quantityRequired | number or string | Up to 24 characters. |
lines[].unit_cost | number or string | Only when the item is valued in another currency: the cost of one in that currency. Up to 24 characters. |
all | boolean | Receive everything still to come. Default: false. |
location | string | Where the stock goes, instead of the order's location. Up to 120 characters. |
date | string | When it arrived. Default today. Matches ^\d{4}-\d{2}-\d{2}$. |
The call
Over MCP, call purchasing_receive on https://api.conecto.chat/mcp/purchasing. Over REST:
curl -X POST https://api.conecto.chat/v1/tools/purchasing_receive \
-H "Authorization: Bearer $CONECTO_KEY" \
-H "Content-Type: application/json" \
-d '{"order":"PO-0001","lines":[{"line":1,"quantity":25}]}'When it refuses
A refused call costs nothing and says what to do next.
| Code | When | What to do |
|---|---|---|
not_found404 | No purchase order has that order_id or number. | Find it with purchasing_list_orders. |
not_found404 | A line's SKU is not an Inventory item, or the location does not exist. | Add the item with inventory_save_items, or leave the SKU out. |
archived409 | The supplier, item, location or account is archived. | Bring the supplier back with purchasing_save_supplier archived: false, or use another one. |
order_closed409 | The order is closed. | Draft a new order. |
order_cancelled409 | The order is cancelled. | Draft a new order. |
not_sent409 | The order is still a draft. | Send it, or mark it sent with purchasing_update_order. |
already_received409 | Everything on the order was received. | Nothing more to receive. |
nothing_to_receive409 | Nothing is left to receive. | Nothing more to receive. |
more_than_ordered409 | A line would receive more than was ordered. | Receive at most what is left, and take the extra in with inventory_move. |
currency_mismatch409 | The order's currency differs from the item's. | Give that line's unit_cost in the item's currency. |
invalid_input400 | Neither lines nor all was given, or a quantity or date is not valid. | Send lines or all: true. |
More Purchasing tools
All 25 tools- Add or change a supplier
purchasing_save_supplierAdds a supplier or changes one: contact, email for orders, address, currency, payment terms and the book account their bills go to.$0.01 a call - List suppliers
purchasing_list_suppliersSuppliers by name, each with what is owed to them on open bills and how many orders are open.Free* - Say what a supplier sells
purchasing_save_supplier_itemsSays which Inventory items a supplier sells: their code, cost, pack size, minimum order, lead time and a fixed reorder quantity.$0.005 per item saved - List what suppliers sell
purchasing_list_supplier_itemsWhat suppliers sell: codes, costs, packs, minimums, lead times and the preferred supplier, for one supplier or one SKU.Free* - Draft reorders for low stock
purchasing_draft_reordersDrafts one purchase order per supplier for every item at or below its reorder point, counting what is already on order.$0.01 per draft order - Draft a purchase order
purchasing_create_orderDrafts a purchase order to a supplier: lines (with Inventory SKUs if you like), currency, delivery date and stock location.$0.01 a call - Change a draft order, or mark it sent
purchasing_update_orderChanges a draft order, or records it as sent without emailing it.$0.01 a call - Email a purchase order
purchasing_send_orderEmails an order to the supplier with a link to its PDF; a draft takes the next number first.$0.10 a call
Give this to your agent.
Set up Conecto from https://conecto.chat/SKILL.md