Receipts you've read to Excel, CSV, Xero or QuickBooks files, VAT split per rate. Free.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Turn receipts you have read into an Excel (.xlsx), CSV, Xero or QuickBooks import file, with VAT split into one column per rate. Returns totals per currency and VAT rate, warnings where net + VAT doesn't match the total, and a download link valid for 24 hours. Up to 200 receipts per call.
xlsx (Excel), csv, xero (bank statement CSV) or quickbooks (bank upload CSV)
For csv only: standard = comma-separated with dot decimals; european = semicolons with comma decimals (Excel in most EU countries)
Also convert every total to this currency at the ECB rate of the receipt date, e.g. EUR
xlsx: add a Line items sheet; csv: one row per line item
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http invoicesnap https://getinvoicesnap.com/api/mcp
Turn receipts you have read into an Excel (.xlsx), CSV, Xero or QuickBooks import file, with VAT split into one column per rate. Returns totals per currency and VAT rate, warnings where net + VAT doesn't match the total, and a download link valid for 24 hours. Up to 200 receipts per call.
| Argument | Type | Description |
|---|---|---|
| format | string | xlsx (Excel), csv, xero (bank statement CSV) or quickbooks (bank upload CSV) |
| csvStyle | string | For csv only: standard = comma-separated with dot decimals; european = semicolons with comma decimals (Excel in most EU countries) |
| receipts* | array | |
| totalsCurrency | string | Also convert every total to this currency at the ECB rate of the receipt date, e.g. EUR |
| includeLineItems | boolean | xlsx: add a Line items sheet; csv: one row per line item |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"receipts"
],
"properties": {
"format": {
"enum": [
"xlsx",
"csv",
"xero",
"quickbooks"
],
"type": "string",
"default": "xlsx",
"description": "xlsx (Excel), csv, xero (bank statement CSV) or quickbooks (bank upload CSV)"
},
"csvStyle": {
"enum": [
"standard",
"european"
],
"type": "string",
"default": "standard",
"description": "For csv only: standard = comma-separated with dot decimals; european = semicolons with comma decimals (Excel in most EU countries)"
},
"receipts": {
"type": "array",
"items": {
"type": "object",
"required": [
"vendor",
"date",
"currency",
"total"
],
"properties": {
"vat": {
"type": "array",
"items": {
"type": "object",
"required": [
"rate",
"amount"
],
"properties": {
"rate": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "VAT rate in percent, e.g. 21 (not 0.21)"
},
"amount": {
"type": "number",
"description": "VAT amount at this rate",
"exclusiveMaximum": 1000000000,
"exclusiveMinimum": -1000000000
}
}
},
"maxItems": 10,
"description": "One entry per VAT rate printed on the receipt. Leave out if the receipt shows no VAT"
},
"date": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
"description": "Receipt date, YYYY-MM-DD"
},
"total": {
"type": "number",
"description": "Amount paid, VAT included",
"exclusiveMaximum": 1000000000,
"exclusiveMinimum": -1000000000
},
"vendor": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Shop or supplier name as printed"
},
"category": {
"type": "string",
"maxLength": 100,
"description": "Expense category, e.g. Meals, Travel, Office"
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "ISO 4217 code, e.g. EUR, GBP, USD"
},
"subtotal": {
"type": "number",
"description": "Amount before VAT, if printed. Left out: we derive it from total minus VAT",
"exclusiveMaximum": 1000000000,
"exclusiveMinimum": -1000000000
},
"lineItems": {
"type": "array",
"items": {
"type": "object",
"required": [
"description",
"qty",
"price"
],
"properties": {
"qty": {
"type": "number",
"maximum": 1000000,
"minimum": 0
},
"price": {
"type": "number",
"description": "What the line cost (qty × unit price), not the unit price",
"exclusiveMaximum": 1000000000,
"exclusiveMinimum": -1000000000
},
"description": {
"type": "string",
"maxLength": 300
}
}
},
"maxItems": 200
}
}
},
"maxItems": 200,
"minItems": 1
},
"totalsCurrency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "Also convert every total to this currency at the ECB rate of the receipt date, e.g. EUR"
},
"includeLineItems": {
"type": "boolean",
"default": false,
"description": "xlsx: add a Line items sheet; csv: one row per line item"
}
}
}The European Central Bank reference rate for a currency on a date (the last published rate on or before it), and the converted amount.
| Argument | Type | Description |
|---|---|---|
| to* | string | |
| date* | string | YYYY-MM-DD, usually the receipt date |
| from* | string | |
| amount* | number |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"amount",
"from",
"to",
"date"
],
"properties": {
"to": {
"type": "string",
"pattern": "^[A-Za-z]{3}$"
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD, usually the receipt date"
},
"from": {
"type": "string",
"pattern": "^[A-Za-z]{3}$"
},
"amount": {
"type": "number"
}
}
}Link to InvoiceSnap's own scanner, for when receipt photos are hard to read or there are many: it reads photos and PDFs (up to 50 at once) and exports the same files.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 5, 2026.