Use ExpenseBot as the receipt-capture and evidence source, Viktor as the review and reconciliation layer, and Zoho Books as the accounting source of truth.
This is the operating model an accounting firm described after successfully connecting ExpenseBot to Viktor. The connection is proven; the full reconciliation routine should still be validated on that firm's own books. It does not imply that ExpenseBot has a direct Zoho API integration.
Connect ExpenseBot to Viktor
- Open Viktor → Integrations → Add custom MCP.
- Add
https://mcp.expensebot.ai/mcp. - Prefer browser OAuth when Viktor offers it. ExpenseBot supports OAuth discovery, Dynamic Client Registration, and PKCE, so manual OAuth client credentials are not required.
- If Viktor requests a static credential instead, sign in to ExpenseBot and open AI Assistant Tokens. Generate a revocable token named Viktor and place it only in Viktor's secure credential field. Never paste or send it in chat or email.
- Verify read-only access first: "Show my top five expense categories this month. Do not change anything."
The complete visual setup guide is at expensebot.ai/mcp#setup-viktor.
Give Viktor a review-first accounting contract
Use ExpenseBot as the receipt-capture and evidence source, and Zoho Books as the accounting source of truth.
For each new or unsubmitted ExpenseBot receipt, look for the corresponding Zoho Books or bank-feed transaction using vendor, date, amount, currency, and available reference details. Classify it as exact match, ambiguous match, or no match. For an exact match, recommend attaching the receipt to the existing transaction instead of creating a duplicate. For ambiguity or no match, show the evidence and ask before changing Zoho Books. Reuse verified vendor and account mappings when available; do not infer a new account code from merchant name alone. Keep both ExpenseBot and Zoho identifiers in the result.
Start read-only. Show proposed matches and exceptions; do not create, attach, recode, or post anything until I approve.
What each system is responsible for
- ExpenseBot: captures receipts from Gmail, images, PDFs, forwarding, and other supported intake paths; preserves the receipt evidence and expense record.
- Viktor: applies the accounting firm's instructions across connected systems, proposes matches, and presents exceptions for review.
- Zoho Books: remains the final accounting ledger and bank-feed source of truth.
ExpenseBot's current Zoho workflow can create a reviewed import file from an exact report. ExpenseBot does not currently inspect Zoho bank-feed candidates or attach receipts to existing Zoho transactions itself. If Viktor can do that through its Zoho connection, it should still follow the match-first, approval-first rules above.
A useful recurring task
After the first read-only run is correct, schedule Viktor to review new ExpenseBot receipts against Zoho Books and return three short lists: exact matches ready for approval, ambiguous matches requiring a decision, and receipts with no Zoho match. Keep all writes behind explicit approval until the workflow has been validated on the firm's own books.
To revoke access, revoke the named Viktor token in AI Assistant Tokens, or disconnect the OAuth connection from Viktor and ExpenseBot.
