Skip to main content
Glama

Zovo Bank File Converter

Make a QBO file from transactions

generate_qbo_file
Read-only

Use this when the user wants to convert bank statement rows to a QBO, OFX or QIF file from rows they pasted, typed or showed in a statement photo or table: "convert csv to qbo", "bank statement to qbo converter". First convert what the user gave into transaction objects (date, description, signed amount or withdrawal/deposit, optional balance and check number); pass raw text in text only if you cannot. Returns QBO, OFX 1.0.2, OFX 2, QIF, QuickBooks CSV and an Excel review sheet with unique FITIDs and the ending balance. Do not use when a statement file is attached (use convert_statement_to_qbo); does not connect to banks or QuickBooks.

Input Schema

NameRequiredDescriptionDefault
textNoFallback only: pasted statement text or CSV when you cannot build the objects.
bank_idNoOptional BANKID for the OFX files: the bank's 9-digit ABA number printed on checks, e.g. 121000248. Default 000000000.
currencyNoISO currency code, e.g. USD (default), CAD, GBP.
intu_bidNoQuickBooks Web Connect bank id (INTU.BID) for the .qbo file. Default 3000. Use the id of your own bank if QuickBooks Desktop asks for a supported bank.
date_orderNoOrder of numeric dates: MDY (default, US) or DMY. Detected from the file when a day is above 12.
account_typeNochecking (default), savings, money_market, credit_card or line_of_credit. auto reads it from a PDF statement. Example: credit_card.
transactionsNoRows as objects in statement order, e.g. [{"date":"09/02/2026","description":"PAYROLL ACME INC","amount":2450},{"date":"09/03/2026","description":"GREENLEAF MARKET","amount":-82.17}]. Pasted CSV text is also accepted.
account_last4NoLast 4 digits of the account (or any short label) used as the account id QuickBooks links to, e.g. 4821. Default 0000. Never send the full account number.
statement_yearNoYear for dates printed without one, e.g. 2026.
closing_balanceNoEnding balance for LEDGERBAL, e.g. "$5,034.47". If unknown, the files say so (see result).
opening_balanceNoOpening balance if the file has none, e.g. 4123.55. With closing_balance it proves no row is missing.
qif_date_formatNoDate order inside the QIF file: MDY (default, Quicken US) or DMY (Quicken UK, MoneyDance in Europe).

Output Schema

NameRequiredDescriptionDefault
periodYes
sourceYes
totalsYes
accountYes
previewYes
warningsYes
downloadsYes
file_checkYes
import_stepsYes
transactionsYes
unread_linesYes
not_convertedYes
preview_countNo
ending_balanceYes
reconciliationYes
not_converted_countYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, and the description adds genuinely new behavior: which output formats come back, that FITIDs are unique and the ending balance is included, and the precondition to build transaction objects first with raw `text` only as a fallback.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single paragraph is front-loaded with the when-to-use condition, then the required data shape, then outputs, then exclusions — every sentence carries information. Minor cost from the embedded example user queries, but they aid matching rather than padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter conversion tool with an output schema, the description covers the missing pieces an agent needs: the preferred input construction (structured transaction objects before raw text), the range of returned formats, and the boundary against file-attachment conversion and bank connectivity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real guidance beyond the schema: it prescribes the order of dates/amounts in the transaction objects and warns to use `text` only when objects cannot be constructed. It does not, however, touch the many formatting parameters (intu_bid, account_last4, date_order), leaving those to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (convert pasted/typed statement rows into a QBO/OFX/QIF file) and distinguishes itself from the sibling by naming convert_statement_to_qbo as the tool for attached statement files. An agent can pick between the two without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use (rows the user pasted, typed, or showed in a photo/table, plus example user phrasings like "convert csv to qbo") and explicit when-not-to-use (statement file attached → convert_statement_to_qbo). It also bounds scope by saying it does not connect to banks or QuickBooks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources