hero background
Claude Connector

Sofritech is the trust layer

Don't waste tokens. Sofritech generates financial reports and intelligence that are verified, repeatable, and auditable. Claude can assist you further.

De-risk Claude and AI without getting left behind. You stay in full control: Claude is your assistant, not the source of truth for the organization you're trying to keep safe.

Connect Claude to Sofritech and ask about P&L, cashflow, runway, and Exact Online data right inside a conversation. Numbers come from Sofritech's verified reports, not from the model guessing. See why teams don't DIY this →

Verified & auditable

Pre-computed P&L, balance sheet, and cashflow/runway: repeatable numbers Claude can query, not invent.

You're in control

Read-only access. Claude can pull numbers into a conversation, but can't post, edit, or delete anything.

Claude as assistant

Use AI on financials without gambling your organization. Sofritech stays the trust layer; Claude helps you work faster.

Claude can try. Here's the part it can't do alone.

Claude is capable enough to try all of this on its own. But Claude is probabilistic by design, and financial reporting can't be. That's exactly why it needs a deterministic layer underneath it, not because Claude is wrong, but because confident isn't the same as consistent.

A number you can't defend

You could ask Claude and get a confident answer, but confidence isn't an audit trail. Sofritech scopes every query to your organization, logs it, and keeps access read-only and revocable, so the number Claude gives you is one you can actually stand behind.

The same question, a different answer

You could ask Claude to compute your P&L or cashflow itself: reading GL transactions, bank entries, and invoices, and adding them up into a statement. But an LLM is probabilistic: ask it again next week, or have someone else ask, and you can get a subtly different number from the same underlying data. For a CFO defending numbers to a board or lender, that's not a rounding error, that's a credibility problem. Sofritech's reports are deterministic: a fixed pipeline computes the same output from the same data, every time, so Claude has one verified number to hand back, not a fresh guess.

When the connection breaks silently

You could ask Claude to just hold onto an API key or export, but Exact Online (and Twinfield, Xero, HubSpot, Moneybird) tokens expire in minutes and refresh tokens rotate or get revoked. Keeping that alive isn't something a chat can do. Sofritech refreshes it automatically and emails your admins the moment it needs re-authorizing, so Claude is always working with a live connection, not a stale one.

Connection details

Add the MCP server URL below as a custom connector in Claude, then click Connect and sign in with your Sofritech account. Access is personal and covers every organization on your account.

Portal
Sofritech
MCP server URL
https://mcp.sofritech.com/mcp
  1. Open Settings → Connectors → Add custom connector on claude.ai.
  2. Name: Sofritech MCP server
  3. URL: https://mcp.sofritech.com/mcp
  4. Click Connect — Claude discovers sign-in automatically.
  5. Sign in with your Sofritech account and approve access.
  1. Open Settings → Connectors → Add custom connector.
  2. Name: Sofritech MCP server
  3. URL: https://mcp.sofritech.com/mcp
  4. Click Connect and sign in with your Sofritech account.
  5. Approve the requested permissions to finish setup.

Run once per machine to register the connector:

claude mcp add --transport http sofritech https://mcp.sofritech.com/mcp

When prompted, sign in with your Sofritech account to complete OAuth.

Natural-language prompts Claude understands once connected:

  • Which organizations do I have access to?
  • Show my portfolio cashflow summary — which organization has the shortest runway?
  • Get the cashflow forecast for organization … (include O/I/F breakdown)
  • What is the net result and revenue trend for organization …? (P&L from Excel)
  • Show the balance sheet for organization … — cash, equity, and debt
  • Compare P&L periods for division … in Exact account … (live Exact, one division)
  • Show consolidated P&L and balance sheet for organization … from the Excel model
  • Refresh the Exact export for organization … and tell me when it is done
  • List open receivables for division … sorted by due date
  • Show purchase invoices over €10,000 this quarter
  • Reconcile bank entries for division … — show entry lines for account …

Claude picks tools from your question. Start with list_organizations, then organization_id. For consolidated P&L or balans (no division named) → get_financial_statements. For cashflow/runway → get_cashflow_forecast. For one Exact division → compare_periods or get_reporting_balance with account_id and division Code from list_divisions (not HID).

Tool When to use
Navigation
list_organizations Organizations on your account — start here for organization_id. Supports limit, offset, and search when you have many orgs.
list_exact_accounts Linked Exact Online accounts; optional filter by organization_id.
list_divisions Exact administrations for an account_id; use field Code as division.
Cashflow reports (Box Excel model)
get_cashflow_forecast Primary cashflow report: history + forecast, O/I/F, scenarios (fall_back, management, growth), runway.
get_portfolio_cashflow_summary Cash runway overview for all organizations — shortest runway first.
get_financial_statements P&L and balans (org-level, Box Excel). Use for omzet, nettoresultaat, equity, schulden, etc. statement: pnl, balance_sheet, or all. Not for cashflow/runway — use get_cashflow_forecast.
Live Exact reports (division level)
compare_periods Live Exact P&L for one division only. For org-level P&L, use get_financial_statements.
get_reporting_balance Live Exact balans for one division only. For org-level balans, use get_financial_statements.
Data refresh
refresh_exact_export Trigger Exact → Box Excel export (async, same as portal refresh).
get_export_refresh_status Poll until can_start is true, then call get_cashflow_forecast again.
Live Exact detail (reconciliation)
get_bank_entries Bank entry headers; JournalCode identifies the bank account.
get_bank_entry_lines Individual bank lines; join to entries via EntryID.
get_gl_transactions GL transaction lines for month-end review.
get_purchase_invoices Purchase entries / AP invoices.
get_receivables Open receivables / debtor follow-up (current balances).
get_payables Open payables / creditor balances.
get_aging_receivables Receivables aging buckets by due date.
get_profit_loss_overview Live Exact P&L for one division.
get_outstanding_invoices Outstanding invoices overview from Exact.
Live Exact org reports
get_expected_cashflows Near-term planned inflows/outflows — not the same as get_receivables or get_cashflow_forecast.
get_sales_summary Monthly revenue totals from sales invoices.
get_customer_concentration Top-N customers as % of revenue (DD / investor reporting).
get_forecast_variance Box forecast vs actual + Exact budget by period.
get_headcount_trend Active employment count + personnel cost aggregates (no salary detail).
get_subscription_summary MRR/ARR when Exact subscriptions are in use; returns has_data=false after a negative probe when the module is unused.
request_mcp_feature Log a missing capability for the Sofritech team — only after the user explicitly agrees to flag it (not automatic).
query_exact_online Read-only OData on allowed paths (financial, purchase, read/financial, bulk/Financial, hrm/Divisions). Prefer curated tools when possible.

Curated tools support odata_filter, odata_top, and odata_skip — use next_skip from the response when truncated is true.

Data handling

The connector does not store data of its own. Every tool call is proxied in real time to Sofritech using your authenticated session, and the response is returned to Claude for that conversation only. See our Privacy Policy for how Sofritech handles your data, and Anthropic's own policies for how Claude handles data you share with it in a conversation.

Revoke access at any time from Claude's connector settings, or from your Sofritech account settings — this immediately invalidates the connector's access token.