{
  "id": "data.invoice",
  "object": "tool",
  "name": "Extract invoices",
  "summary": "Invoices and receipts to typed fields.",
  "description": "Reads an invoice or receipt (PDF or photo) into fixed, typed fields: vendor name, address and VAT id, invoice number, dates, currency, subtotal, tax lines, total, line items, payment terms and IBAN. Checks the arithmetic (line items against subtotal, subtotal plus tax against total) and reports mismatches as warnings.",
  "category": "data",
  "hosted_by": "Opentools",
  "runtime": "ai",
  "side_effects": false,
  "status": "live",
  "credits": 4,
  "price": "$0.0040",
  "providers": [
    {
      "id": "opentools",
      "name": "Opentools",
      "price": "$0.0040"
    }
  ],
  "mcp_name": "data_invoice",
  "input_schema": {
    "type": "object",
    "properties": {
      "file": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "format": "uri",
                "description": "Public http(s) URL of the file"
              }
            },
            "required": [
              "url"
            ]
          },
          {
            "type": "object",
            "properties": {
              "file_id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
                "description": "An id returned by POST /v1/files"
              }
            },
            "required": [
              "file_id"
            ]
          },
          {
            "type": "object",
            "properties": {
              "base64": {
                "type": "string",
                "description": "Base64-encoded file bytes (up to 10 MB)"
              },
              "name": {
                "type": "string",
                "description": "File name, e.g. invoice.pdf"
              },
              "content_type": {
                "type": "string"
              }
            },
            "required": [
              "base64",
              "name"
            ]
          },
          {
            "type": "object",
            "properties": {
              "connection": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64,
                "description": "A storage connection id or name (see storage.connections)"
              },
              "path": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024,
                "description": "Path of the file in that connection, e.g. reports/q3.pdf"
              }
            },
            "required": [
              "connection",
              "path"
            ]
          }
        ],
        "x-file": true,
        "description": "The invoice or receipt: PDF or image"
      }
    },
    "required": [
      "file"
    ]
  },
  "kind": "tool"
}