Tallyproof Bank Statements
Bank statement to spreadsheet
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"statement-converter": {
"url": "https://statement-converter.zovo.one/mcp"
}
}
}Puntos de conexión remotos
https://statement-converter.zovo.one/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (2)
🟢convert_bank_statement(file, account_type, statement_year, opening_balance, closing_balance, ...)
Use this when the user attaches a bank or credit card statement (text PDF, or the bank's CSV/Excel export) and wants it converted to Excel or CSV: "convert bank statement to excel", "bank statement pdf to csv", "import my statement into QuickBooks", "does my statement balance". Extracts each transaction (date, description, signed amount, running balance), reconciles opening + transactions = closing to the cent, points to missing or duplicated rows, suggests categories, and returns Excel, CSV and QuickBooks CSV downloads. Does not read scanned images (needs OCR first), does not connect to bank accounts, and is not for non-financial PDFs or general PDF editing.
Esquema de entrada
{
"type": "object",
"properties": {
"file": {
"type": "object",
"properties": {
"download_url": {
"type": "string",
"description": "Temporary download link for the file, supplied by ChatGPT."
},
"file_id": {
"type": "string",
"description": "ChatGPT file id, e.g. file_abc123."
},
"mime_type": {
"description": "Media type if known, e.g. application/pdf.",
"type": "string"
},
"file_name": {
"description": "Original file name if known, e.g. statement.pdf.",
"type": "string"
}
},
"required": [
"download_url",
"file_id"
],
"description": "The statement to convert: a text PDF downloaded from the bank or card website, or the bank's CSV or Excel (.xlsx) transaction export, e.g. september-statement.pdf."
},
"account_type": {
"description": "auto (default): a PDF is classified from its text; pasted rows and CSV/Excel exports count as bank unless the balances or the sign pattern show a credit card (the result says so). bank: checking or savings. credit_card: charges are money out and the statement shows a previous and new balance owed. Example: credit_card.",
"type": "string",
"enum": [
"auto",
"bank",
"credit_card"
]
},
"statement_year": {
"description": "Closing year of the statement, used for dates printed without a year when the period is not on the file, e.g. 2026 (a December-January statement uses the January year).",
"type": "integer",
"minimum": 1990,
"maximum": 2100
},
"opening_balance": {
"description": "Opening (beginning or previous) balance in dollars, e.g. 4123.55. Only needed when the file has none, such as a CSV export without a balance column, or to override.",
"type": "number",
"minimum": -10000000000,
"maximum": 10000000000
},
"closing_balance": {
"description": "Closing (ending or new) balance in dollars, e.g. 5034.47. Used with opening_balance to prove the total to the cent.",
"type": "number",
"minimum": -10000000000,
"maximum": 10000000000
},
"flip_signs": {
"description": "Only for CSV/Excel exports that list purchases as positive and payments as negative (common in credit card exports): true flips each amount so money out is negative. Default false.",
"type": "boolean"
},
"date_order": {
"description": "Order of numeric dates in a CSV/Excel export: MDY (US, 09/02/2026, default) or DMY (02/09/2026). Detected automatically when a day is above 12.",
"type": "string",
"enum": [
"MDY",
"DMY"
]
}
},
"required": [
"file"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"source": {
"type": "object",
"properties": {
"file": {
"type": "string"
},
"type": {
"type": "string"
},
"pages": {
"type": "number"
},
"layout": {
"type": "string"
}
},
"required": [
"file",
"type",
"pages",
"layout"
],
"additionalProperties": false
},
"account": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"number": {
"type": [
"string",
"null"
]
}
},
"required": [
"type",
"number"
],
"additionalProperties": false
},
"period": {
"type": "object",
"properties": {
"start": {
"type": [
"string",
"null"
]
},
"end": {
"type": [
"string",
"null"
]
}
},
"required": [
"start",
"end"
],
"additionalProperties": false
},
"transactions": {
"type": "number"
},
"reconciliation": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"PASS",
"DIFFERENCE",
"UNVERIFIED"
]
},
"opening_balance": {
"type": [
"number",
"null"
]
},
"closing_balance": {
"type": [
"number",
"null"
]
},
"computed_closing": {
"type": [
"number",
"null"
]
},
"difference": {
"type": [
"number",
"null"
]
},
"money_in": {
"type": "number"
},
"money_out": {
"type": "number"
},
"net": {
"type": "number"
},
"formula": {
"type": "string"
},
"balances_from": {
"type": "string"
},
"running_balance_breaks": {
"type": "number"
},
"suspects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"row": {
"type": "number"
},
"date": {
"type": "string"
},
"description": {
"type": "string"
},
"amount": {
"type": "number"
},
"reason": {
"type": "string"
}
},
"required": [
"row",
"date",
"description",
"amount",
"reason"
],
"additionalProperties": false
}
},
"checks": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"status",
"opening_balance",
"closing_balance",
"computed_closing",
"difference",
"money_in",
"money_out",
"net",
"formula",
"balances_from",
"running_balance_breaks",
"suspects",
"checks"
],
"additionalProperties": false
},
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"category": {
"type": "string"
},
"money_in": {
"type": "number"
},
"money_out": {
"type": "number"
},
"count": {
"type": "number"
}
},
"required": [
"category",
"money_in",
"money_out",
"count"
],
"additionalProperties": false
},
"description": "Suggested categories from keyword rules; review before filing."
},
"months": {
"type": "array",
"items": {
"type": "object",
"properties": {
"month": {
"type": "string"
},
"money_in": {
"type": "number"
},
"money_out": {
"type": "number"
},
"net": {
"type": "number"
},
"count": {
"type": "number"
}
},
"required": [
"month",
"money_in",
"money_out",
"net",
"count"
],
"additionalProperties": false
}
},
"preview": {
"type": "array",
"items": {
"type": "object",
"properties": {
"row": {
"type": "number"
},
"date": {
"type": "string"
},
"description": {
"type": "string"
},
"amount": {
"type": "number"
},
"balance": {
"type": [
"number",
"null"
]
},
"category": {
"type": "string"
}
},
"required": [
"row",
"date",
"description",
"amount",
"balance",
"category"
],
"additionalProperties": false
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"downloads": {
"type": "object",
"properties": {
"xlsx": {
"type": "string"
},
"csv": {
"type": "string"
},
"quickbooks_csv": {
"type": "string"
}
},
"required": [
"xlsx",
"csv",
"quickbooks_csv"
],
"additionalProperties": false
},
"note": {
"type": "string"
}
},
"required": [
"source",
"account",
"period",
"transactions",
"reconciliation",
"categories",
"months",
"preview",
"warnings",
"downloads",
"note"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢summarize_transactions(transactions, account_type, statement_year, opening_balance, closing_balance)
Use this when the user pastes or lists bank or credit card transactions (date, description, amount) and wants them reconciled, totaled by month or category, or exported: "does my statement balance", "money in and out by month", "categorize these transactions", "make a QuickBooks CSV from these". Checks opening + transactions = closing to the cent and the running balance row by row, points to the rows that break it, suggests categories, and returns Excel, CSV and QuickBooks CSV downloads. Do not use when a statement file is attached (use convert_bank_statement); does not give tax or accounting advice.
Esquema de entrada
{
"type": "object",
"properties": {
"transactions": {
"minItems": 1,
"maxItems": 5000,
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"maxLength": 40,
"description": "Transaction date, e.g. 2026-09-02, 09/02/2026, or 09/02 with statement_year."
},
"description": {
"type": "string",
"maxLength": 300,
"description": "Payee or description as printed, e.g. PAYROLL DEPOSIT ACME INC."
},
"amount": {
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000,
"description": "Signed amount in dollars: money in positive, money out negative, e.g. -45.10. For credit cards, charges negative and payments positive."
},
"balance": {
"description": "Running balance after this row if the statement shows one, e.g. 4078.45.",
"type": "number",
"minimum": -10000000000,
"maximum": 10000000000
}
},
"required": [
"date",
"description",
"amount"
]
},
"description": "The transactions in statement order, e.g. [{\"date\":\"2026-09-02\",\"description\":\"PAYROLL ACME INC\",\"amount\":2450}, {\"date\":\"2026-09-03\",\"description\":\"GREENLEAF MARKET\",\"amount\":-82.17}]."
},
"account_type": {
"description": "auto (default): a PDF is classified from its text; pasted rows and CSV/Excel exports count as bank unless the balances or the sign pattern show a credit card (the result says so). bank: checking or savings. credit_card: charges are money out and the statement shows a previous and new balance owed. Example: credit_card.",
"type": "string",
"enum": [
"auto",
"bank",
"credit_card"
]
},
"statement_year": {
"description": "Closing year of the statement, used for dates printed without a year when the period is not on the file, e.g. 2026 (a December-January statement uses the January year).",
"type": "integer",
"minimum": 1990,
"maximum": 2100
},
"opening_balance": {
"description": "Opening (beginning or previous) balance in dollars, e.g. 4123.55. Only needed when the file has none, such as a CSV export without a balance column, or to override.",
"type": "number",
"minimum": -10000000000,
"maximum": 10000000000
},
"closing_balance": {
"description": "Closing (ending or new) balance in dollars, e.g. 5034.47. Used with opening_balance to prove the total to the cent.",
"type": "number",
"minimum": -10000000000,
"maximum": 10000000000
}
},
"required": [
"transactions"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"source": {
"type": "object",
"properties": {
"file": {
"type": "string"
},
"type": {
"type": "string"
},
"pages": {
"type": "number"
},
"layout": {
"type": "string"
}
},
"required": [
"file",
"type",
"pages",
"layout"
],
"additionalProperties": false
},
"account": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"number": {
"type": [
"string",
"null"
]
}
},
"required": [
"type",
"number"
],
"additionalProperties": false
},
"period": {
"type": "object",
"properties": {
"start": {
"type": [
"string",
"null"
]
},
"end": {
"type": [
"string",
"null"
]
}
},
"required": [
"start",
"end"
],
"additionalProperties": false
},
"transactions": {
"type": "number"
},
"reconciliation": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"PASS",
"DIFFERENCE",
"UNVERIFIED"
]
},
"opening_balance": {
"type": [
"number",
"null"
]
},
"closing_balance": {
"type": [
"number",
"null"
]
},
"computed_closing": {
"type": [
"number",
"null"
]
},
"difference": {
"type": [
"number",
"null"
]
},
"money_in": {
"type": "number"
},
"money_out": {
"type": "number"
},
"net": {
"type": "number"
},
"formula": {
"type": "string"
},
"balances_from": {
"type": "string"
},
"running_balance_breaks": {
"type": "number"
},
"suspects": {
"type": "array",
"items": {
"type": "object",
"properties": {
"row": {
"type": "number"
},
"date": {
"type": "string"
},
"description": {
"type": "string"
},
"amount": {
"type": "number"
},
"reason": {
"type": "string"
}
},
"required": [
"row",
"date",
"description",
"amount",
"reason"
],
"additionalProperties": false
}
},
"checks": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"status",
"opening_balance",
"closing_balance",
"computed_closing",
"difference",
"money_in",
"money_out",
"net",
"formula",
"balances_from",
"running_balance_breaks",
"suspects",
"checks"
],
"additionalProperties": false
},
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"category": {
"type": "string"
},
"money_in": {
"type": "number"
},
"money_out": {
"type": "number"
},
"count": {
"type": "number"
}
},
"required": [
"category",
"money_in",
"money_out",
"count"
],
"additionalProperties": false
},
"description": "Suggested categories from keyword rules; review before filing."
},
"months": {
"type": "array",
"items": {
"type": "object",
"properties": {
"month": {
"type": "string"
},
"money_in": {
"type": "number"
},
"money_out": {
"type": "number"
},
"net": {
"type": "number"
},
"count": {
"type": "number"
}
},
"required": [
"month",
"money_in",
"money_out",
"net",
"count"
],
"additionalProperties": false
}
},
"preview": {
"type": "array",
"items": {
"type": "object",
"properties": {
"row": {
"type": "number"
},
"date": {
"type": "string"
},
"description": {
"type": "string"
},
"amount": {
"type": "number"
},
"balance": {
"type": [
"number",
"null"
]
},
"category": {
"type": "string"
}
},
"required": [
"row",
"date",
"description",
"amount",
"balance",
"category"
],
"additionalProperties": false
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"downloads": {
"type": "object",
"properties": {
"xlsx": {
"type": "string"
},
"csv": {
"type": "string"
},
"quickbooks_csv": {
"type": "string"
}
},
"required": [
"xlsx",
"csv",
"quickbooks_csv"
],
"additionalProperties": false
},
"note": {
"type": "string"
}
},
"required": [
"source",
"account",
"period",
"transactions",
"reconciliation",
"categories",
"months",
"preview",
"warnings",
"downloads",
"note"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Comunidad
Evidencia