Here is the short answer: you connect your AI tool to DeepLedger once, and from then on you can work in any QuickBooks company you have access to. Say "switch to Acme Consulting" and the conversation moves, with a confirmation by name. No disconnecting, no second sign-in, no separate connector per client.
This is a change we made because you asked for it. Firms working ten or twenty client companies told us the same thing: reconnecting for every client turned a two-minute question into a ten-minute chore, and a connector left pointing at the wrong company was a quiet risk. So we separated two facts that used to be welded together.
What Changed Underneath
Until now a DeepLedger connection answered two questions at once: who is calling, and which books they mean. The company was fixed when you signed in, and changing it meant signing in again.
Now the connection answers only the first question. Which company you are working in is a separate, switchable fact that DeepLedger keeps for you as a person:
- The connection identifies you. OAuth for Claude, ChatGPT, and Grok; an API key for Copilot Studio, CrewAI, LangChain, and other headless agents. Either way it reaches the companies you can open in the portal, and nothing more.
- The active company is yours, not the connection's. It is one setting per person, shared by every AI client signed in as you. Switch in Claude and your ChatGPT session follows on its next call.
- Every answer names its company. Each tool result carries the DeepLedger client name, the QuickBooks company name, and the realm id. You never have to infer whose numbers you are looking at.
QuickBooks itself is unchanged. Each client company is still connected once, by a QuickBooks admin, from the DeepLedger portal, through Intuit's own OAuth. What changed is how you move between the companies you have already connected.
Switching in Chat: Claude, ChatGPT, Grok
The same three phrases work in every chat client, because they all reach the same server.
See what you can work in.
Which companies can I work in?
The AI lists every company you can access, with QuickBooks status for each: connected, not connected, or connected but needing a reconnect from the portal. The active one is marked.
Switch.
Switch to Acme Consulting and show me last month's P&L.
The AI switches, reads Acme's company profile back from QuickBooks as proof, confirms the company by name, and then runs the report against it. If a name is ambiguous, say two clients that both start with "Santa Fe," it stops and shows you the candidates rather than guessing.
Check where you are.
Which company am I in?
A plain profile read. The answer includes how many companies your connection can reach, so even a client that has not refreshed its tool list learns that switching exists.
Client specifics:
- Claude (web, desktop, mobile): the DeepLedger connector picks up the new capability on its next tool refresh. If Claude insists it can only see one company, remove the connector and add it again; the Claude setup guide has the steps.
- ChatGPT: same behaviour through the DeepLedger app. See the ChatGPT guide for plan requirements and the connector menu.
- Grok: Grok's custom connectors reach the same server. The Grok guide covers the grok.com setup and the xAI API route.
- Claude Code: switching works from the terminal too, and the DeepLedger plugin's skills now begin every task by confirming the company. See the Claude Code guide.
Switching in Agents: Copilot Studio, CrewAI, LangChain
Headless agents authenticate with an API key, and the key now acts as the person who created it. It reaches every company that person can access and works in their active company.
The switch is a tool call. The tool is qbCompanyProfile, the same tool agents already use to read company settings, with an operation argument:
{ "operation": "list" }
returns the companies the key can reach, and
{ "operation": "switch", "organizationId": "a4126ff8-07e9-42b7-a4a6-8bf71cc72b80" }
makes one of them active. name works in place of organizationId when it matches exactly one company. A switch that lands is reported as a success even when that company's QuickBooks token needs a reconnect; the result says so plainly, and DeepLedger-side tools such as tasks and documents keep working.
For a multi-client sweep, the pattern is: list once, then for each company switch, do the work, and move on. Every result names its company, so the run log reads unambiguously. The CrewAI and LangChain guides show the loop; the Copilot Studio guide covers one agent serving several clients.
One exception, on purpose. The automation credential that runs your organization's scheduled routines stays fixed to its company and cannot switch. Unattended work must never move books because a person clicked something elsewhere.
Setting the Active Company From the Portal
You can also point your AI at a company without opening a chat. In the DeepLedger portal, go to Settings, Companies, and click Use for AI agent on any company card. The card shows which company is active right now, and it updates live when you switch from Claude or another client.
Two design choices worth knowing:
- The portal's own company selector is separate. Browsing client A's tasks in the portal does not move your AI off client B. Moving the AI is always an explicit action, either "switch to" in chat or the button on the card.
- A change from outside is announced once. If the active company is moved from the portal, or from another client, while a conversation is running, the next tool result carries a warning naming the new company and who moved it. The AI confirms with you before recording anything.
Why Not One Connector Per Client?
That was the old model, and for some firms it still sounds tidy: one Claude connector for Acme, another for Beta. It fails in practice for three reasons.
First, connectors drift. A connector left pointing at the wrong client after a busy afternoon is a quiet error, and nothing in the chat tells you. Second, it does not scale past a handful of clients; twenty connectors is twenty things to maintain. Third, it hides the safeguard that matters most: the company name on every answer. With one connection and an explicit switch, the company is always stated, always logged, and always yours to change.
If you want a hard wall between clients for a specific person, the access model still gives you one. A team member assigned to a single client can only ever reach that client, from any AI tool, because the connection reaches what the person can reach and nothing more.
What You Need to Do
Nothing. Existing connections were migrated and point at the company each person used most recently. If an AI tool still says it can only see one company, disconnect and reconnect DeepLedger once so it refreshes its tool list.
If something behaves differently than you expect, reply to the announcement email or write to support@deepledger.ai.