Using Snapbooks with AI Assistants

Overview

Snapbooks supports the Model Context Protocol (MCP), which allows AI assistants like Claude to help you with your accounting tasks using natural language.

With MCP enabled, you can ask Claude to:

  • Search and analyze journal entries
  • Find documents and read what they say
  • Prepare payments of supplier invoices and partner balances
  • Look up business partners and customers
  • Generate trial balance reports
  • Query bank transactions
  • Check upcoming reporting deadlines
  • Search the Snapbooks help documentation

Claude will interact with your Snapbooks data securely and only show information you have permission to access.

Connecting Claude

Snapbooks MCP uses OAuth 2.1 with automatic client registration and discovery — you only need the server URL. Claude handles registration, authorization, and token refresh for you.

Server URL:

https://api.snapbooks.com/mcp

claude.ai (web) and Claude Desktop:

  1. Go to Settings → Connectors
  2. Choose Add custom connector
  3. Enter the server URL above and save
  4. Click Connect — you’ll be redirected to Snapbooks to log in and authorize access
  5. Once authorized, Claude can securely access your Snapbooks data

Claude Code (CLI):

claude mcp add --transport http snapbooks https://api.snapbooks.com/mcp

Then authenticate with /mcp inside the session.

Other MCP clients:

Any MCP client that supports the streamable HTTP transport and OAuth 2.1 can connect. The client discovers everything it needs from the standard metadata endpoints — see OAuth Discovery:

  • /.well-known/oauth-authorization-server — authorization, token, and registration endpoints
  • /.well-known/oauth-protected-resource — protected resource metadata for the MCP endpoint

Tokens are audience-bound to the MCP endpoint (RFC 8707), so a token issued for another resource will be rejected.

Revoking access:

You can revoke an assistant’s access anytime by deleting its client under API access in your profile menu in the Snapbooks web app.

Available Tools

When connected, the assistant sees who you are and which client accounts you can access, and gets these tools:

Read-only tools

Tool Description
get_user_context Your user identity and the client accounts you can access
search_journal_entries Find journal entries by date range, account code, document, payment, kind of entry, amount or free text
search_business_partners Find customers and suppliers by name, organization number, or country
search_bank_transactions Find bank transactions by bank account, date, amount, category, or free text
get_gl_accounts Look up the chart of accounts, filtered by code range or search term
get_tax_codes List VAT/tax codes with rates and associated accounts
get_trial_balance_report Trial balance for a period, per account: opening balance, movements, closing balance
get_calendar_events Upcoming reporting deadlines (VAT returns and other events)
search_documents Find documents (supplier invoices, receipts, sales invoices, payslips, …) by direction, keyword or meaning, likeness to another document, partner, type and date; unpaid_only / overdue_only give the open payables and receivables
read_document One document’s extracted details, item lines, payment lines and requests, reconciliation lines, journal entry, open questions and full text (chunked)
search_payment_requests Payment requests to the bank by status, document, partner or payment date, with what each pays and any rejection reason
search_items The company’s items (products and services) with unit, VAT code and price
get_open_questions The accountant’s open questions, each linked to a voucher or bank transaction
search_documentation Semantic search across the Snapbooks help documentation
read_documentation Read a help document, or list the available documents

Search results for journal entries, documents and bank transactions, and open questions about a document or bank transaction, include a link of the form snapbooks://<record-type>/<id> that Snapbooks clients resolve to the record; other consumers can treat it as an opaque reference.

Action tools

Tool Description
create_journal_entry Prepare a journal entry with balanced debit/credit lines
cancel_journal_entry Prepare a reversing entry to cancel an existing journal entry
create_business_partner Prepare a new customer or supplier
patch_business_partner Prepare changes to an existing business partner
create_item Prepare a new item (product or service) for invoicing
create_invoice Prepare a sales invoice; on approval it is numbered, booked and sent
create_payment_request Prepare a bank payment of open payables or of a balance owed to a partner; on approval it is sent to the bank for signing
reconcile_line Prepare the reconciliation of a statement or annual report line (from read_document) with the books: a balance against account balances or sub-balances by dimension, a movement against its postings, with reconciling items for an explained difference
send_email Draft an email to be sent on your behalf
contact_snapbooks_support Draft feedback, a bug report or a question for the Snapbooks developers; they reply to you by email

Action tools require the write scope. A token granted only read gets the read-only tools; the action tools are neither listed nor callable. See Authentication for the scope model.

Action tools run in preview mode. They validate the request and return exactly what would be created or changed, but they do not commit anything to your books or send anything on your behalf. Use them to have the assistant prepare and validate work — the numbers, accounts, and VAT codes — and then record the result yourself in the Snapbooks app. Committed writes over MCP may be enabled in a future release.

Usage Examples

Once connected, you can interact with Snapbooks through Claude using natural language:

Example 1: Search Journal Entries

You: Show me all journal entries from January 2025 for my company

Claude: I'll search for those journal entries. I found 15 entries from January 2025.
Here are the highlights:
- 5 sales transactions totaling 125,000 NOK
- 3 expense entries for office supplies
- 7 bank reconciliation entries
Would you like me to show you the details of any specific entry?

Example 2: Prepare a Journal Entry

You: Prepare a journal entry for a 1,000 NOK customer payment to the bank

Claude: Here's the validated entry:
- Debit Bank (1920): 1,000.00 NOK
- Credit Sales (3000): 1,000.00 NOK
- Description: Customer payment
The entry balances and the accounts exist in your chart of accounts.
Record it in the Snapbooks app to post it to your books.

Example 3: Check Deadlines

You: What reporting deadlines do I have coming up this quarter?

Claude: You have two deadlines in this period:
- VAT return (3rd period) due 31 August, covering May–June
- VAT return (4th period) due 10 October, covering July–August

Security & Privacy

  • Claude can only access client accounts that your Snapbooks user has access to
  • All operations respect your account’s access controls
  • Action tools run in preview mode — nothing is committed to your books over MCP
  • Tokens are audience-bound to the MCP endpoint and refreshed automatically
  • You can revoke access anytime under API access in the Snapbooks web app

Troubleshooting

Authorization Issues

Problem: The connect/authorize flow doesn’t start or fails

Solutions:

  1. Check that you entered exactly https://api.snapbooks.com/mcp (HTTPS, no trailing path)
  2. Try removing the connector and adding it again to trigger a fresh registration
  3. Make sure you complete the Snapbooks login in the browser window that opens

Problem: “Token audience validation failed” error

Solutions:

  1. This means the token wasn’t issued for the MCP endpoint
  2. Disconnect and reconnect the connector to trigger a new OAuth flow with the correct resource parameter

Connection Issues

Problem: Claude shows “Connection failed” or the tools don’t appear

Solutions:

  1. Make sure you’ve completed the authorization flow (the connector shows as connected)
  2. In Claude Desktop, restart the app completely after connecting
  3. Check the connector is enabled for the current conversation (tools can be toggled per chat)

Authentication Errors

Problem: Getting “Unauthorized” or 401 errors after it previously worked

Solutions:

  1. Tokens are refreshed automatically, but a revoked or expired grant requires re-authorizing — disconnect and reconnect the connector
  2. Check that your Snapbooks user still has access to the client accounts you’re querying

Need More Help?

If you’re still having issues:

  • Contact your Snapbooks administrator
  • Reach out to Snapbooks support at hei@snapbooks.no

Learn More