# Purchase Order Generator — MCP tool `findutils:purchase_order_generator`

Return a purchase order as structured data and as Markdown text: line items with amounts, subtotal, tax, shipping, and total, plus company, vendor, shipping, dates, notes, and terms. Amounts use 2 decimals. This tool does not produce a PDF.

- Category: generators
- MCP server: https://mcp.findutils.com/ (Streamable HTTP, no API keys, 120 req/min per IP)
- REST endpoint: POST https://api.findutils.com/api/tools/purchase-order-generator/execute (no API keys, 60 req/min per IP)
- Reference page: https://findutils.com/mcp/purchase-order-generator/
- Same tool on the other surface: https://findutils.com/api/purchase-order-generator/

## Connect

```bash
claude mcp add findutils --transport http https://mcp.findutils.com/
```

Claude Desktop (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "findutils": {
      "url": "https://mcp.findutils.com/"
    }
  }
}
```

## Call the tool (verified example)

```bash
curl -X POST https://mcp.findutils.com/ \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "purchase_order_generator",
      "arguments": {
        "company_name": "Acme Ltd",
        "vendor_name": "Widgets Inc",
        "po_number": "PO-000123",
        "po_date": "2026-01-15",
        "currency": "USD",
        "items": [
          {
            "description": "Widget",
            "quantity": 2,
            "unit_price": 10
          }
        ],
        "tax_rate": 10,
        "shipping_cost": 3
      }
    }
  }'
```

## Input schema

| Argument | Type | Required | Description |
|---|---|---|---|
| `company_name` | string | no | Buyer company name. |
| `company_address` | string | no | Buyer address; newlines separate lines. |
| `vendor_name` | string | no | Vendor name. |
| `vendor_address` | string | no | Vendor address. |
| `vendor_contact` | string | no | Vendor contact (email or phone). |
| `po_number` | string | no | Purchase order number. Default: PO-<timestamp>. |
| `po_date` | string | no | Order date as YYYY-MM-DD. Default: today (UTC). |
| `delivery_date` | string | no | Requested delivery date as YYYY-MM-DD. |
| `currency` | string (USD \| EUR \| GBP \| TRY \| CAD \| AUD) | no | Currency code. Default: USD. |
| `shipping_address` | string | no | Ship-to address when it differs from the buyer address. |
| `shipping_method` | string | no | Shipping method. |
| `items` | array | yes | Line items: { description, quantity, unit_price, item_number?, unit? }. 1-200 items. |
| `tax_rate` | number | no | Tax rate in percent applied to the subtotal. Default: 0. |
| `shipping_cost` | number | no | Shipping cost added after tax. Default: 0. |
| `notes` | string | no | Notes printed on the order. |
| `terms` | string | no | Terms and conditions. |

Example arguments (verified):

```json
{
  "company_name": "Acme Ltd",
  "vendor_name": "Widgets Inc",
  "po_number": "PO-000123",
  "po_date": "2026-01-15",
  "currency": "USD",
  "items": [
    {
      "description": "Widget",
      "quantity": 2,
      "unit_price": 10
    }
  ],
  "tax_rate": 10,
  "shipping_cost": 3
}
```

## Also a REST endpoint

```bash
curl -X POST https://api.findutils.com/api/tools/purchase-order-generator/execute \
  -H "Content-Type: application/json" \
  -d '{
    "company_name": "Acme Ltd",
    "vendor_name": "Widgets Inc",
    "po_number": "PO-000123",
    "po_date": "2026-01-15",
    "currency": "USD",
    "items": [
      {
        "description": "Widget",
        "quantity": 2,
        "unit_price": 10
      }
    ],
    "tax_rate": 10,
    "shipping_cost": 3
  }'

# Parameter schema
curl https://api.findutils.com/api/tools/purchase-order-generator
```

Full REST reference: https://findutils.com/api/purchase-order-generator/ · OpenAPI 3.1 spec: https://findutils.com/api/openapi.json

---
Full catalog: POST https://mcp.findutils.com/ with method `tools/list` · https://findutils.com/mcp/ · https://findutils.com/llms.txt
