- One company
- One agent on shift
- 10 Runs to start
- Three connected tools, one bank account
- Approvals inbox
- Guarded by Bernina
This is the back office, run by agents
Take the company further with a staff designed for the work you never had time for, and built to stop at your signature.
The all-in-one back office
Close the month, prepare the return, fill the pipeline and write the board pack — with one approvals queue and no meter.
They hand the work to each other.
One thread. Dom routes, the others do their part, Bernina checks every step — and the last stop is always you.
Agents prepare. You file, sign and pay.
One run, start to finish.
Säntis closes August. Watch where it stops.
Today 09:12
Prepared in Xero and left unsigned. Box 1 due CHF 9,642.00.
Approving prepares it. You file this with the tax authority yourself.
The return is prepared and left unsigned. Filing it is yours — by design, and by law.
More than just the essentials
From the moment the company is on Zuger, everything a back office does is prepared for you — and stops for you.
- Reconcile every account nightly from a read-only bank feed.
- Prepare VAT and annual returns, left unsigned for you to file.
- Read every contract before you sign it, and redline the clause that would breach a covenant.
- Build the pipeline overnight and draft outreach in your voice. Nothing sends itself.
- Run the company's voice on X, LinkedIn and the rest, posting only what you approved.
- Connect Xero, Stripe, Gmail, Notion, HubSpot and the rest. 12 tools at launch, more monthly, read-only by type.
For developers
One API.
Every agent.
Hire an agent with a mandate, tools and a threshold, start a run, and stream it live — from Python, TypeScript or a shell. The same approvals gate applies: nothing binding leaves the API either.
from zuger import Company
co = Company(api_key=os.environ["ZUGER_API_KEY"])
ledger = co.hire(
"ledger",
mandate="Close the month and prepare VAT.",
tools=["qonto", "stripe", "xero"],
approval="anything binding or over EUR 500",
)
run = ledger.run("August")
for event in run.stream():
print(event.actor, event.action, event.status)
# ledger reconcile done
# ledger file_vat awaiting_signature
import { Company } from "@zuger/sdk";
const co = new Company({ apiKey: process.env.ZUGER_API_KEY });
const ledger = await co.hire("ledger", {
mandate: "Close the month and prepare VAT.",
tools: ["qonto", "stripe", "xero"],
approval: "anything binding or over EUR 500",
});
for await (const e of ledger.run("August")) {
console.log(e.actor, e.action, e.status);
}
curl https://api.zuger.ai/v1/agents \
-H "Authorization: Bearer $ZUGER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent": "ledger",
"mandate": "Close the month and prepare VAT.",
"tools": ["qonto","stripe","xero"],
"approval": "anything binding or over EUR 500"
}'
Automate the work, end to end
Cut out the manual back office and save yourself a third of the week. Nothing binding leaves without you.
Find your perfect plan
One price per company. Every plan carries a fair-use allowance of Runs; at the limit the agents queue and ask you to upgrade — nothing is ever billed on demand.
- One company
- Three agents on shift
- 120 Runs a month≈ a month-end close, two contracts and a pipeline refresh
- Overnight runs and routines
- Ten connected tools, two bank accounts
- EU data residency
- Guarded by Bernina
- One company
- Unlimited agents, in parallel
- 600 Runs a month≈ five closes, ten contracts, weekly research
- All connected tools, five bank accounts
- EU data residency
- Audit log export
- Board pack every Monday
- Priority support
- Guarded by Bernina
- Five client companies included
- 2,500 Runs a month across them≈ the full back office for five companies
- All connected tools, five bank accounts per client company
- EU data residency
- One approvals inbox for all of them
- SSO, roles, delegated approvals
- Cross-border consolidation
- Named onboarding engineer
- Guarded by Bernina
Prices exclude VAT. Reverse charge applies to VAT-registered EU businesses. Invoiced by Zuger Technologies OÜ, Tallinn.
Choose how to get started
Run it yourself
Put the company on Zuger tonight, with:
- One agent on shift on the Free plan, no card
- Every binding act stopping in one approvals queue
- Passkeys only — no passwords, no stored logins
- The API and both SDKs, from day one
Get extra support
Agencies, multi-entity groups and procurement questions.
- Five client companies under one back office
- Onboarding with a person, not a wizard
- Security review, DPA and subprocessor list
- Invoiced monthly, in CHF or EUR
Have questions?
Does an agent ever file, sign or pay?
No. Agents prepare, draft and queue. Filing with a registry, signing a contract and releasing money stay yours — by design, and by law. There is no endpoint that does them.
What happens when I hit my Run limit?
The agents queue and ask you to upgrade. Nothing is ever billed on demand.
What is Bernina?
Bernina is Zuger's guardian layer, named after Piz Bernina in Graubünden. It isn't an agent you hire; it inspects every Run the agents make. It's on by default and can't be switched off.
Does Bernina read my data?
Bernina inspects documents and outputs inside the same isolated Run as the agent and stores only a verdict — pass, redacted, blocked or escalated — plus references to the evidence. Redacted values are never shown in the app.
Is it per seat?
No. One price per company. Invite your co-founder, your accountant and your lawyer at no extra cost.
Who am I buying from?
Zuger Technologies OÜ, Tallinn, Estonia. Estonian law, the GDPR in full, data in the EU.
Can my agents hire other agents?
Yes. A free listing is taken inside the run; a priced one is money out, so it stops in your approvals like any other spend.