Draft a purchase order
Drafts a purchase order to a supplier: lines (with Inventory SKUs if you like), currency, delivery date and stock location.
$0.01 a call
From your agent’s balance. A call that fails costs nothing.
An example
Order 40 GN pans at 18.50 each from Nordstahl, plus 95 euros delivery, for early November.
Your agent callspurchasing_create_order$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.
{
"supplier": "Nordstahl Küchentechnik GmbH",
"expected_on": "2026-11-02",
"notes": "Please deliver to the warehouse gate, Billbrookdeich 112.",
"lines": [
{
"sku": "GN-PAN-11",
"quantity": 40,
"unit_cost": "18.50"
},
{
"description": "Delivery",
"unit_cost": "95.00"
}
]
}Use it when
The business is about to buy goods it wants to track until they arrive.
- For a bill for something bought without an order, use
purchasing_create_bill.
What it does
Draft an order to a supplier: lines with an optional Inventory sku (received stock then comes into Inventory at the line's unit cost), a description, quantity, unit cost and tax rate; the currency (default the supplier's), the expected delivery date and the stock location deliveries go to (default Main). A draft changes freely (purchasing_update_order) until it is sent; it has no number yet.
What comes back
order: the draft with its order_id, supplier, status, currency, lines, totals, expected date and location. Every reply also carries cost_usd and balance_usd.
Inputs
| Name | Type | What it is |
|---|---|---|
supplierRequired | integer or string | A supplier_id, or the supplier's name. 1 to 200 characters, at least 1. |
linesRequired | array of objects | 1 to 200 items. |
lines[].sku | string | An Inventory item's SKU: received stock comes into Inventory. Its name is the default description. Up to 64 characters. |
lines[].description | string | What is bought. Lines after the first print smaller, underneath. Up to 2,000 characters. |
lines[].quantity | number or string | Default 1. Up to 6 decimals. Up to 24 characters. |
lines[].unit_costRequired | number or string | The cost of one before tax, e.g. "12.50". Up to 24 characters. |
lines[].tax_rate | number or string | Tax percent on the line, e.g. 19. Default 0. Up to 24 characters. |
currency | string | ISO 4217, e.g. "EUR". Default: the supplier's. Matches ^[A-Za-z]{3}$. |
expected_on | string | When delivery is expected, YYYY-MM-DD. Matches ^\d{4}-\d{2}-\d{2}$. |
location | string | An Inventory location for received stock. Default: Main. Up to 120 characters. |
notes | string | Printed above the lines, e.g. delivery instructions. Up to 5,000 characters. |
The call
Over MCP, call purchasing_create_order on https://api.conecto.chat/mcp/purchasing. Over REST:
curl -X POST https://api.conecto.chat/v1/tools/purchasing_create_order \
-H "Authorization: Bearer $CONECTO_KEY" \
-H "Content-Type: application/json" \
-d '{"supplier":"Nordstahl Küchentechnik GmbH","expected_on":"2026-11-02","notes":"Please deliver to the warehouse gate, Billbrookdeich 112.","lines":[{"sku":"GN-PAN-11","quantity":40,"unit_cost":"18.50"},{"description":"Delivery","unit_cost":"95.00"}]}'When it refuses
A refused call costs nothing and says what to do next.
| Code | When | What to do |
|---|---|---|
not_found404 | No supplier of the business has that supplier_id or name. | Call purchasing_list_suppliers, or add the supplier with purchasing_save_supplier. |
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. |
invalid_input400 | A date or currency is not valid. | Send dates like 2026-11-02 and currencies like EUR. |
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 - 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 - Receive a delivery
purchasing_receiveRecords what arrived on a sent order; lines with a SKU come into Inventory at the ordered cost.$0.01 a call
Give this to your agent.
Set up Conecto from https://conecto.chat/SKILL.md