FrancodesystemsFran<code>systems
AI / LLMsCustom integration

Holded Claude (Anthropic) integration

Claude connected to Holded to classify expenses, draft invoices and answer questions with real context.

HoldedHolded
Claude (Anthropic)

Implementation time · 6-12 días laborables

Diagnosis

The problem

Generative AI promises a lot but, connected badly, it does expensive silly things: it hallucinates amounts, proposes categories that do not exist in your chart of accounts, invoices things it should not. The difference between a 'useful LLM' and a 'dangerous LLM' is context and guardrails. Our approach: an LLM with controlled access to your Holded via tools (we do not train on your data), with guardrails that validate output before touching anything in production, and with human-in-the-loop on critical operations.

Proposal

The solution

Claude (Anthropic) is one of the most capable LLMs for reasoning over structured data and producing reliable output. We connect it to Holded for practical cases: automatic expense classification (receipts into accounting categories), drafting invoice descriptions consistent with your style, a conversational assistant with real Holded context (clients, invoices, debts), spending pattern analysis and natural language reporting. Claude Sonnet or Haiku model depending on latency and cost.

Scope

What we automate

  • Automatic expense classification: PDF receipt to Holded accounting category with a confidence score
  • Drafting of invoice descriptions consistent with your historical style
  • Conversational assistant with Holded context (clients, invoices, debts)
  • Spending pattern analysis and smart alerts
  • Natural language reporting: 'how is the month going', 'top 5 clients in debt'
  • Semi-automatic bank reconciliation with suggestions from the LLM
  • Generation of replies to recurring emails with client context
  • Guardrails: output validation, human-in-the-loop on critical operations
Who uses it

Real use cases

These are the profiles that most ask us for the HoldedClaude (Anthropic) integration and what they get in the end.

Case 01

Accounting firm with 50 clients receiving receipts by email

Before: The receptionist spends 2 days a month classifying receipts manually.

After: Claude classifies with 90%+ accuracy. The receptionist only reviews the uncertain ones. 2 days to 2 hours.

Case 02

Company with a director who asks 'how are we doing'

Before: The controller spends 1 hour a week answering ad-hoc questions from the director.

After: The director queries the Claude assistant directly with Holded access. The controller is freed up.

Case 03

SMB with lots of supplier emails

Before: Every email required looking up the client or supplier in Holded before replying.

After: Claude drafts a reply with Holded context. A human reviews and sends in 30 seconds.

Before / After

What changes exactly

Without the integration

  • Manual classification of receipts
  • The director waiting for answers from the controller
  • Pattern analysis impossible to do by hand
  • Risk of a 'cowboy' LLM with no guardrails

With the integration

  • Automatic classification with a confidence score per entry
  • An assistant with real context, not hallucinated
  • Analysis and reporting in natural language
  • Guardrails and human-in-the-loop on critical operations
Architecture

How we build it

Anthropic API (Claude Sonnet 4.6 or Haiku 4.5 depending on the case) plus tools that expose controlled read access to Holded (no direct writes without confirmation). Prompts versioned in git. Guardrails: type validation, numeric ranges, whitelists of categories. For production, a log of every LLM decision with its input and output for auditing. GDPR compliance: data sent to Anthropic under a DPA with zero retention.

flow.ts
webhook claude (anthropic).event
queue.enqueue(jobId)
worker.handle() // idempotent
holded.api.call() // retries with backoff
log.emit({ status: 'ok' })
FAQ

Frequently asked questions

Does Anthropic keep my data to train on?

No. Under the standard Anthropic DPA plus zero retention, your data does not train models. Contractually documented.

Why Claude and not GPT-5 or Gemini?

Claude stands out at reasoning over structured data and following precise instructions. It is our default recommendation, but if you prefer GPT-5 (OpenAI) or Gemini (Google) for stack reasons, we support those too.

Claude Sonnet or Haiku?

It depends on the case. Haiku 4.5 is cheaper and faster (simple classification, standard replies). Sonnet 4.6 reasons better (financial analysis, ambiguous cases). We mix them based on cost.

What about the guardrails?

Output validation: correct types, amounts within range, whitelisted categories. For critical operations (create an invoice, modify a client), human-in-the-loop is mandatory. No exceptions.

GDPR compliance?

Anthropic with a DPA, zero retention, EU transfer. Personal data is minimised before being sent to the LLM (pseudonymisation where possible). Documented for your DPO.

How long does it take and how much does usage cost?

Implementation: 6-12 days depending on the use cases. Claude usage cost: highly variable, typically 30-150 euros a month for an SMB. We size it during the assessment.

Shall we talk about your Claude (Anthropic) integration?

A 30-minute call, no strings. You leave with scope and a price.