Invoice Table

Review invoice records, flag duplicates, validate totals, and prepare spreadsheet-safe CSV.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
80%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,500Tokens (tool definitions)
~5.6 KBTypical response size
Moderate attention impact (1.17% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "invoice-table": {
      "url": "https://invoicetable.app/api/mcp"
    }
  }
}

Remote endpoints

https://invoicetable.app/api/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢analyze_invoice_text(documents)

Extract common invoice fields from user-supplied text, check dates and subtotal-plus-tax arithmetic, flag likely duplicates, and return a review queue. Human source review is required.

Input Schema

{
  "type": "object",
  "properties": {
    "documents": {
      "type": "array",
      "minItems": 1,
      "maxItems": 25,
      "items": {
        "type": "object",
        "properties": {
          "filename": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "filename",
          "text"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "documents"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "records": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "filename": {
            "type": "string"
          },
          "vendor": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoiceNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoiceDate": {
            "type": [
              "string",
              "null"
            ]
          },
          "dueDate": {
            "type": [
              "string",
              "null"
            ]
          },
          "poNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "currency": {
            "type": [
              "string",
              "null"
            ]
          },
          "subtotal": {
            "type": [
              "number",
              "null"
            ]
          },
          "tax": {
            "type": [
              "number",
              "null"
            ]
          },
          "total": {
            "type": [
              "number",
              "null"
            ]
          },
          "category": {
            "type": "string"
          },
          "duplicate": {
            "type": "boolean"
          },
          "duplicateOf": {
            "type": [
              "string",
              "null"
            ]
          },
          "issues": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "confidence": {
            "type": "number"
          },
          "valid": {
            "type": "boolean"
          },
          "reviewStatus": {
            "type": "string",
            "enum": [
              "ready",
              "review",
              "blocked",
              "duplicate"
            ]
          },
          "reviewReasons": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "filename",
          "category",
          "duplicate",
          "issues",
          "warnings",
          "confidence",
          "valid",
          "reviewStatus",
          "reviewReasons"
        ],
        "additionalProperties": true
      }
    },
    "summary": {
      "type": "object",
      "properties": {
        "invoiceCount": {
          "type": "integer"
        },
        "readyCount": {
          "type": "integer"
        },
        "reviewCount": {
          "type": "integer"
        },
        "blockedCount": {
          "type": "integer"
        },
        "duplicateCount": {
          "type": "integer"
        },
        "arithmeticCheckedCount": {
          "type": "integer"
        },
        "arithmeticMismatchCount": {
          "type": "integer"
        },
        "accountingEligibleCount": {
          "type": "integer"
        },
        "totalsByCurrency": {
          "type": "object",
          "additionalProperties": {
            "type": "number"
          }
        }
      },
      "required": [
        "invoiceCount",
        "readyCount",
        "reviewCount",
        "blockedCount",
        "duplicateCount",
        "arithmeticCheckedCount",
        "arithmeticMismatchCount",
        "accountingEligibleCount",
        "totalsByCurrency"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "records",
    "summary"
  ],
  "additionalProperties": false
}
🟢validate_invoice_records(records)

Recheck structured invoice records for missing fields, invalid dates, arithmetic mismatches, and likely duplicates without reading files.

Input Schema

{
  "type": "object",
  "properties": {
    "records": {
      "type": "array",
      "minItems": 1,
      "maxItems": 1000,
      "items": {
        "type": "object",
        "properties": {
          "filename": {
            "type": "string"
          },
          "vendor": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoiceNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoiceDate": {
            "type": [
              "string",
              "null"
            ]
          },
          "dueDate": {
            "type": [
              "string",
              "null"
            ]
          },
          "currency": {
            "type": [
              "string",
              "null"
            ]
          },
          "subtotal": {
            "type": [
              "number",
              "null"
            ]
          },
          "tax": {
            "type": [
              "number",
              "null"
            ]
          },
          "total": {
            "type": [
              "number",
              "null"
            ]
          },
          "category": {
            "type": "string"
          }
        },
        "additionalProperties": true
      }
    }
  },
  "required": [
    "records"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "records": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "filename": {
            "type": "string"
          },
          "vendor": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoiceNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoiceDate": {
            "type": [
              "string",
              "null"
            ]
          },
          "dueDate": {
            "type": [
              "string",
              "null"
            ]
          },
          "poNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "currency": {
            "type": [
              "string",
              "null"
            ]
          },
          "subtotal": {
            "type": [
              "number",
              "null"
            ]
          },
          "tax": {
            "type": [
              "number",
              "null"
            ]
          },
          "total": {
            "type": [
              "number",
              "null"
            ]
          },
          "category": {
            "type": "string"
          },
          "duplicate": {
            "type": "boolean"
          },
          "duplicateOf": {
            "type": [
              "string",
              "null"
            ]
          },
          "issues": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "confidence": {
            "type": "number"
          },
          "valid": {
            "type": "boolean"
          },
          "reviewStatus": {
            "type": "string",
            "enum": [
              "ready",
              "review",
              "blocked",
              "duplicate"
            ]
          },
          "reviewReasons": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "filename",
          "category",
          "duplicate",
          "issues",
          "warnings",
          "confidence",
          "valid",
          "reviewStatus",
          "reviewReasons"
        ],
        "additionalProperties": true
      }
    },
    "summary": {
      "type": "object",
      "properties": {
        "invoiceCount": {
          "type": "integer"
        },
        "readyCount": {
          "type": "integer"
        },
        "reviewCount": {
          "type": "integer"
        },
        "blockedCount": {
          "type": "integer"
        },
        "duplicateCount": {
          "type": "integer"
        },
        "arithmeticCheckedCount": {
          "type": "integer"
        },
        "arithmeticMismatchCount": {
          "type": "integer"
        },
        "accountingEligibleCount": {
          "type": "integer"
        },
        "totalsByCurrency": {
          "type": "object",
          "additionalProperties": {
            "type": "number"
          }
        }
      },
      "required": [
        "invoiceCount",
        "readyCount",
        "reviewCount",
        "blockedCount",
        "duplicateCount",
        "arithmeticCheckedCount",
        "arithmeticMismatchCount",
        "accountingEligibleCount",
        "totalsByCurrency"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "records",
    "summary"
  ],
  "additionalProperties": false
}
🟢export_invoice_records(records)

Prepare reviewed invoice records as spreadsheet-safe CSV text. Invalid and duplicate rows remain visible in the review export.

Input Schema

{
  "type": "object",
  "properties": {
    "records": {
      "type": "array",
      "minItems": 1,
      "maxItems": 1000,
      "items": {
        "type": "object",
        "properties": {
          "filename": {
            "type": "string"
          },
          "vendor": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoiceNumber": {
            "type": [
              "string",
              "null"
            ]
          },
          "invoiceDate": {
            "type": [
              "string",
              "null"
            ]
          },
          "dueDate": {
            "type": [
              "string",
              "null"
            ]
          },
          "currency": {
            "type": [
              "string",
              "null"
            ]
          },
          "subtotal": {
            "type": [
              "number",
              "null"
            ]
          },
          "tax": {
            "type": [
              "number",
              "null"
            ]
          },
          "total": {
            "type": [
              "number",
              "null"
            ]
          },
          "category": {
            "type": "string"
          }
        },
        "additionalProperties": true
      }
    }
  },
  "required": [
    "records"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "filename": {
      "type": "string"
    },
    "mediaType": {
      "type": "string",
      "const": "text/csv"
    },
    "csv": {
      "type": "string"
    },
    "summary": {
      "type": "object",
      "properties": {
        "invoiceCount": {
          "type": "integer"
        },
        "readyCount": {
          "type": "integer"
        },
        "reviewCount": {
          "type": "integer"
        },
        "blockedCount": {
          "type": "integer"
        },
        "duplicateCount": {
          "type": "integer"
        },
        "arithmeticCheckedCount": {
          "type": "integer"
        },
        "arithmeticMismatchCount": {
          "type": "integer"
        },
        "accountingEligibleCount": {
          "type": "integer"
        },
        "totalsByCurrency": {
          "type": "object",
          "additionalProperties": {
            "type": "number"
          }
        }
      },
      "required": [
        "invoiceCount",
        "readyCount",
        "reviewCount",
        "blockedCount",
        "duplicateCount",
        "arithmeticCheckedCount",
        "arithmeticMismatchCount",
        "accountingEligibleCount",
        "totalsByCurrency"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "filename",
    "mediaType",
    "csv",
    "summary"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools