Help centre

Everything you need, in one place.

How to get set up, how to point the agent at your own Odoo, what every setting does, what to type to test each feature, and what to do when something looks wrong.

Section 1

Get started in about five minutes

erpAIbridge has two halves: a desktop AI agent that runs on your computer, and our hosted MCP server that gives it safe access to Odoo. You install the first and simply point it at the second — there is no server for you to run and nothing to install inside Odoo.

  1. Get your access token

    Fill in the short form on the contact page. You'll get an email with your personal token (it starts with trial_), the server address, and your download links. Lost the email? Submit the same address again and it returns the same token rather than creating a new one.

  2. Install the desktop agent

    Download and install the agent for Windows or macOS using the link in your email. This is the app you actually chat with — it runs locally on your machine, and your Odoo data is never stored in it.

  3. Add your own AI provider key

    Open Settings → Providers → API keys and paste a key from OpenAI, Anthropic (Claude), OpenRouter or any supported provider. This is what people mean by "bring your own key" (BYOK): erpAIbridge's trial covers the Odoo connection only — the AI model itself is a separate account you already have or can create in a couple of minutes on that provider's own site. You stay in control of which model runs and what it costs, and the key is stored only on your own computer — it never passes through our servers.

  4. Connect erpAIbridge

    Go to Capabilities → MCP → Add server and paste the configuration below, replacing the token with your own. If the app asks for the URL and token as separate fields, use the two values directly.

    MCP server configuration
    {
      "mcpServers": {
        "odoo-bridge": {
          "url": "https://demo.odooaibridge.com/mcp",
          "headers": {
            "Authorization": "Bearer trial_YOUR_TOKEN_HERE"
          }
        }
      }
    }
  5. Ask your first question

    Start a new chat and type "List our customers in India." If you get a real answer back, everything is wired up correctly. Out of the box you're talking to our sample Odoo full of demo data — so you can try anything, including changes, without touching real records.

Ready for your real data?

Once the demo makes sense, point the very same token at your own Odoo — no reinstalling, no new settings in the agent. See Connect your own Odoo below.

Section 2

Connect your own Odoo instance

There are four ways to use your own data, differing in one important way: where your Odoo credentials live. Pick the one that matches how careful your organisation needs to be — the honest one-line version is: hosted is for trying it, local is for trusting it. For a side-by-side showcase see all four options; the setup steps for each are below.

You wantUseYour credentials live
A quick evaluation, any AI client (incl. ChatGPT) 1 · Hosted connect (the form below) On our server, encrypted
An app that keeps everything local, no terminal 2 · Desktop agent Your device's keychain
Claude Desktop / Cursor / Gemini and credentials that never leave your machine 3 · Self-hosted bridge Your machine / network
Company-wide, governed, inside your infrastructure 4 · Enterprise Your infrastructure

Why the split? ChatGPT's connectors can only call a hosted server — that's an OpenAI constraint. Claude Desktop, Cursor and Gemini can also run the bridge as a local process, so for those clients nothing ever needs to touch our infrastructure. Whichever path you choose, the blast radius is bounded the same way: create a dedicated Odoo user with only the access you want the AI to have, and revoke its API key in Odoo at any time.

Path 1 — Hosted connect (recommended for evaluation)

Keep using our hosted server and the token you already have — you simply tell it which Odoo to talk to. Nothing changes in your AI client. This is the fastest path and the only one that works with ChatGPT. We recommend it for evaluating against your data with a scoped user; when you move to production, switch to a private path below or a private deployment — same tools, no credentials held by us.

Step 0 — create a limited Odoo user (2 minutes, worth it)

Don't connect an admin account. In Odoo: Settings → Users → New, give it read access to just the apps you want to test (say Sales and Invoicing), and sign in as that user for the next step. Odoo's own record rules then bound everything the AI can ever see or do — no matter what.

Then create an API key for that user

An API key is safer than a password: it is scoped to one user, and you can revoke it at any time without changing anyone's login.

  1. Signed in as that limited user, click the avatar (top-right) → My ProfileAccount Security tab.
  2. Choose New API Key, name it something like erpAIbridge, and copy the key. Odoo shows it only once.
  3. Note your database name — on Odoo Online it is usually the first part of your address, for example mycompany in mycompany.odoo.com.

Then connect it here

Paste your details below. We verify them against your Odoo before saving anything, so a typo fails here with a clear message rather than halfway through a chat.

What happens to what you type here

Verified before saving — we sign in to your Odoo once to check the details work. · Encrypted at rest — the API key is encrypted before it touches disk and is never displayed again. · Used only for your token — no other account can reach your connection. · Deleted on disconnect — one click below removes it from our server. · Revocable from your side — deleting the API key in Odoo cuts access instantly, without asking us.

From your welcome email. Used to identify your account — nothing else.

The address you sign in at. Must be reachable from the internet.

Encrypted before it is stored, and only ever used to serve your own requests.

That's it. Start a new chat and ask something you know the answer to — "How many customers do we have?" — to confirm you're seeing your own records. Disconnect at any time to delete your stored credentials and return to the sample database.

Prefer to do it from a terminal?

Connect via API
curl -X POST https://odooaibridge.com/api/connect-odoo \
  -H "Authorization: Bearer trial_YOUR_TOKEN_HERE" \
  -H "Content-Type: application/json" \
  -d '{
    "odoo_url": "https://mycompany.odoo.com",
    "odoo_db": "mycompany",
    "odoo_login": "[email protected]",
    "odoo_api_key": "YOUR_ODOO_API_KEY"
  }'

How your credentials are handled

  • Encrypted at rest. Your Odoo API key is encrypted before it is written to disk, never stored as plain text, and never shown back to you or anyone else.
  • Only for your token. Each request is served using the connection attached to the calling token, so your data is only ever reachable with your own key.
  • Yours to remove. Disconnecting deletes the stored credentials. Revoking the API key inside Odoo cuts access instantly and independently of us.
  • Scoped by Odoo itself. We sign in as the user you nominate, so that user's permissions and record rules bound everything the agent can do.
Odoo behind a firewall or VPN?

The hosted path needs to reach your Odoo over the internet. If yours is private, use the desktop agent or the self-hosted bridge below — the bridge runs next to your Odoo, and nothing needs to be exposed.

Path 2 — Desktop agent (fully local, no terminal)

The erpAIbridge desktop app runs the bridge on your own machine and stores your Odoo connection in your operating system's keychain (Apple Keychain / Windows Credential Locker). Nothing reaches our servers, your Odoo needn't be on the internet, and there's no config file to edit — a screen in the app does it for you. This is the easiest fully-local option.

  1. Create a limited Odoo API key

    As above (Step 0 + the API-key steps) — a dedicated read-only user is the safest choice.

  2. Open Capabilities → MCP in the app

    At the top of the server list you'll see the Connect your own Odoo — fully local & private card. Click Connect…

  3. Enter your details and verify

    Fill in your Odoo URL, database, login, API key and erpAIbridge licence, then Verify & connect. The app checks the credentials against your Odoo and, on success, stores the credentials and licence encrypted in your keychain — never in a file, never on our servers. It registers a licensed local connection automatically and pauses the hosted demo, so only one Odoo is ever active.

  4. Start a new chat

    Ask about your data — the agent now uses your Odoo. Disconnect on the same card erases the credentials from your keychain and switches back to the demo.

Add your AI provider key under Settings → Providers → API keys as usual — the app brings the Odoo connection, you bring the AI. Odoo workflow skill packs and cron blueprints are delivered by the connected bridge and require the skills feature on paid licences; proprietary prompt files are not installed on your machine.

Path 3 — Self-hosted bridge (Claude, Cursor, Gemini — credentials never leave your machine)

Prefer to keep using Claude Desktop, Cursor or Gemini? erpAIbridge is a single small program. Instead of using our hosted copy, your MCP client starts it on your own machine as a local process: your AI client talks to the local bridge, the bridge talks to your Odoo, and your URL, database, login and API key exist only in your own configuration. We never see them — there is nothing on our side to trust. Works with Claude Desktop, Cursor, VS Code and Gemini CLI (ChatGPT can't launch local processes — that's the one client that needs Path 1). Your Odoo can be on a private network; internet exposure isn't needed.

The private self-host package is the compiled, source-free erpAIbridge image — no Python source of ours, machine-bound licence, hardened container. To get it, choose “Private MCP” on the signup form. We review the request, then email you a secure download link, a licence key (starts with ob1.), and the install steps below. Already have a licence? Fetch the package any time with your token:

Fetch the package with your licence
curl -X POST https://odooaibridge.com/api/self-host-download \
  -H "Content-Type: application/json" \
  -d '{"license": "ob1.YOUR_LICENSE_TOKEN"}'
# → returns a time-limited download link for the compiled image bundle
Install the private MCP (team container)
docker load < odoobridge-selfhost-*.tar.gz          # load the compiled image
odoo-bridge-admin activate --bundle license.bundle   # verify + install your licence
# .env:  BRIDGE_MACHINE_ID=$(cat /etc/machine-id)     # bind to this host
docker compose -f docker-compose.protected.yml up -d # digest-pinned, hardened
curl http://localhost:8072/health

The licence is machine-bound — it runs on the host it was activated for, and the audit trail, before/after values and dashboards all stay on your infrastructure. Migrating hardware? Run odoo-bridge-admin activation-request and send us the fingerprint; we re-issue free.

Prefer to keep it single-user on Claude Desktop / Cursor / Gemini instead of a team container? Use the same licence with a local config block:

Claude Desktop — claude_desktop_config.json
{
  "mcpServers": {
    "odoo": {
      "command": "odoo-bridge",
      "env": {
        "BRIDGE_TRANSPORT": "stdio",
        "ODOO_URL": "https://odoo.internal.mycompany.com",
        "ODOO_DB": "mycompany",
        "ODOO_USER": "[email protected]",
        "ODOO_API_KEY": "YOUR_ODOO_API_KEY",
        "BRIDGE_LICENSE": "ob1.YOUR_LICENSE_TOKEN"
      }
    }
  }
}

Cursor and VS Code use the same command/env block in their MCP settings; Gemini CLI takes it in ~/.gemini/settings.json under mcpServers. Running it for a whole team instead? The same package runs as a small always-on container inside your network — your clients then use its private URL. Both variants are covered in the guide that comes with the package.

Path 4 — Enterprise deployment

For company-wide, governed use — a private, secure MCP server inside your infrastructure (on-premise, private cloud, dedicated appliance or air-gapped), with role-based access, a complete audit trail and AI-provider independence. See erpAIbridge Enterprise, or talk to us and we'll scope and deploy it with you.

You can move between options later

Start hosted to evaluate, then switch to the desktop agent or self-hosted bridge for production — the tools and safety rails are identical, only where the bridge runs changes. See the four options compared.

Section 2b

Ask your Odoo from WhatsApp

Link WhatsApp once and you can ask the same questions from your phone — "what did we invoice yesterday?", "is the Patio Umbrella back in stock?" — without opening the app. The assistant replies in your own Message yourself chat, and it only ever reads that chat.

What this is, plainly

Your own WhatsApp — you scan a QR and erpAIbridge becomes a linked device, exactly like WhatsApp Web. · Self-chat only — the assistant never reads your other conversations, contacts, or groups. · Nothing changes without your YES — any create, update or delete is described first and applied only when you reply YES. · Remove it any time — unlink below, or remove the device from WhatsApp on your phone (Settings → Linked devices).

Honest about the limits

This uses WhatsApp's linked-device mechanism, the same one WhatsApp Web uses. It is not an official WhatsApp Business integration, so we don't put an uptime promise on it, and it is for your own assistant — not for messaging your customers. If you need an official WhatsApp Business number with a service level, that's Enterprise.

Link it

Keep this page open while you scan — the code refreshes every few seconds until your phone picks it up.

The same token from your welcome email.

Then try it

Open WhatsApp, go to the chat with yourself, and send "how many open quotations do we have?". Send help at any time for the short command list, or unlink to disconnect from your phone.

Section 3

Configuration reference

What you set in the desktop agent

SettingWhereWhat it does
AI provider keySettings → Providers → API keysWhich AI runs your chats, and whose account pays for them. Yours, not ours.
MCP server URLCapabilities → MCPhttps://demo.odooaibridge.com/mcp — the hosted bridge.
Authorization headerCapabilities → MCPBearer trial_… — identifies you and applies your limits and Odoo connection.

What we control on the server

These are set for you on the hosted service. They matter because they explain what the agent will and won't agree to do — and they're the same switches you'd set yourself if you self-host.

CapabilityDefaultMeaning
ReadingAlways onSearch, read, group and summarise records. The read path physically cannot write.
WritingOn, with approvalCreate and update records — always previewed and approved by a person first.
Business actionsAllow-listedOnly named operations such as confirming a quotation or posting an invoice. Never arbitrary code.
DeletingOffDisabled entirely on the hosted trial. When enabled at all, it is restricted to named models.
AttachmentsOn, size-cappedRead and add file attachments within a size limit.
Model allow-listCore business modelsWhich Odoo models are reachable — customers, sales, invoices, products, stock and similar.
Audit logOnEvery call recorded — who, which tool, which model, outcome. Field names only, not your record values.

Need a different combination for a client — extra models, specific actions allow-listed, deletes enabled under supervision? That's a normal request. Tell us what you need.

If you self-host instead

erpAIbridge is one stateless container. You point it at your Odoo with environment variables and run it next to your other services — useful when Odoo isn't reachable from the internet, or policy requires everything to stay inside your network.

Core environment variables
ODOO_URL=https://mycompany.odoo.com
ODOO_DB=mycompany
[email protected]
ODOO_API_KEY=your_odoo_api_key

BRIDGE_API_KEY=pick_a_long_random_secret   # what your agent sends as Bearer
BRIDGE_ENABLE_WRITES=1                     # writes off unless set
BRIDGE_WRITE_CONFIRMATION=elicit           # ask a human before saving

The container then serves MCP on port 8072 at /mcp, with /health for monitoring. Contact us for the image and licence terms.

Section 4

What to test, and what you should see

Copy any of these straight into the chat. They're grouped so you can work through every capability deliberately — and see the safety behaviour as clearly as the useful behaviour. Use your own wording too; plain language is the point.

Ask questions

always safe · only looks, never changes

List our customers in India.

A filtered list, without you touching a single filter or view.

Show me everything about Northwind Trading.

A tidy summary of one customer — contact details pulled from their record. Try any name you know.

Find the invoices for Bistro Provence.

Their invoices with numbers, dates, amounts and payment state.

What's low on stock right now?

Products below their reordering rules — the kind of check that usually means opening three screens.

Analysis and reporting

safe · maths done for you

What were our total confirmed sales this year, broken down by salesperson?

A total plus a per-person breakdown — a report you'd normally build by hand.

Which customers have overdue invoices, and how much do they owe?

A ranked list of who's late and by how much, totalled. The heart of chasing money.

What are our biggest open sales opportunities?

Your pipeline sorted by value, with stage and expected close.

Give me a snapshot of Crownmark Interiors — orders, invoices and open deals.

One answer assembled from several parts of Odoo at once.

Your own fields and modules

safe · proves it reads your setup

What fields does a customer record have in our system?

The live field list from your database — including custom fields you added. Nothing is hard-coded.

Which apps and modules do we have installed?

What's actually installed, so you can see it understands your particular Odoo.

Are you connected, and to which database?

A connection check naming the Odoo version and database — the fastest way to confirm you're on your own data.

Make changes

asks first · nothing saves without your approval

Create a quotation for Koala Home Living: 10 Ergonomic Office Chairs and 2 Executive Desks.

A preview of the quotation with lines and prices, and a question: save this? Nothing is written until you say yes.

Confirm that quotation.

Runs the real Odoo confirm action — after asking. Only named actions like this are permitted.

Update Merlion Ventures' phone number to +65 6555 0000.

Shows you the before and after, then waits for approval.

Log a note on that customer and remind me to call them on Friday.

Posts a note in the record's chatter and schedules a real activity — the follow-ups people forget.

Draft a polite payment reminder for our most overdue customer.

Finds who's most overdue, then writes the message for you to edit and send. Nothing is sent on your behalf.

Try to break it

these should be refused — that's the test

Delete all our invoices.

Refused. Deleting is switched off entirely — there is no phrasing that talks it into this.

Send that same quotation for Koala again.

Recognised as a repeat and skipped rather than silently creating a duplicate.

Change every customer's credit limit to 1,000,000.

Sweeping changes need approval and are shown in full first — you see the blast radius before anything happens.

Show me all employee salaries.

Refused unless the Odoo user you connected can already see them. The agent never exceeds that person's access.

A good 15-minute evaluation

Ask two questions you already know the answer to (to check accuracy), one report that normally takes you ten minutes (to see the time saved), one change with approval (to feel the safety gate), and one deliberate "delete everything" (to watch it refuse). That covers accuracy, value and safety in a handful of prompts.

Section 5

What it can do

Everything below works in plain language — these are capabilities, not commands you have to memorise.

FIND

Search & read

Find records by any criteria and read them back in clean summaries instead of raw database dumps.

COUNT

Totals & breakdowns

Sums, counts and groupings — sales by person, debt by customer, stock by location — computed on the fly.

LOOK

Understands your setup

Reads your live schema, so your custom fields and third-party modules work without configuration.

DRAFT

Create & update

Quotations, customers, corrections — always previewed, always approved by a person before saving.

DO

Business actions

Confirm a quotation, post an invoice — real Odoo operations, restricted to an explicit allow-list.

NOTE

Notes & follow-ups

Post to a record's chatter and schedule activities so decisions and next steps live in Odoo, not a notepad.

FILE

Attachments

Read documents attached to records, and attach new ones, within a size limit.

OUT

Export

Pull a result set out as a table when you want it in a spreadsheet.

CHECK

Diagnostics

Ask whether it's connected and to what — version, edition and database, for quick sanity checks.

TRAIL

Audit trail

Every action recorded — who, what, when, and on your own deployments each field's old and new value. Review it in chat or in the built-in viewer. How it works →

Section 6

Why it's safe to point at real data

This is the question every finance and IT team asks, so here is the honest mechanical answer — these are structural properties, not promises about the AI behaving well.

  • Reading can't write. The read path has no write capability at all, so no clever prompt can turn a question into a change.
  • Changes are drafted, not applied. Every create or update is previewed and waits for a person to approve it. You see exactly what will change before it does.
  • Deleting is off. Not discouraged — disabled. Where it is ever enabled, it is limited to named models and still requires approval.
  • Actions are allow-listed. The agent can only run operations we have explicitly permitted, such as confirming a quotation. It cannot execute arbitrary code in Odoo.
  • Odoo's own permissions apply. We sign in as a real Odoo user, so that user's access rights and record rules govern everything. The agent is never a super-user.
  • Duplicate protection. If the AI calls the same write twice, the second is recognised and skipped instead of creating a duplicate record.
  • Everything is logged. Each call is recorded with who, which tool and the outcome — on the hosted service that log holds field names only, never your record values.

Reviewing what the agent did — the audit trail

Every action through erpAIbridge is recorded, and you can review it three ways:

  • Ask in chat. "What did you change on Acme last week?" — the agent reads its own trail and answers with a timeline. Works in any connected AI client.
  • Open the viewer. A built-in web page (no install) with the full timeline — filter by user, record or date, and export CSV. In the desktop agent, click View audit trail on your Odoo connection card; on the hosted service, open demo.odooaibridge.com/audit and sign in with your token.
  • Restore a value. On deployments that record before-and-after values (desktop and self-host, where the log stays on your own machine), any changed field shows its previous value — restoring it is one approved change, itself audited.

Who sees what is decided by your role in Odoo itself, not by any app setting: administrators and managers can review the whole organisation's activity; everyone else sees only their own. Worth knowing: standard Odoo keeps no comparable who-changed-what history — this trail exists because every action passes through one governed gateway.

Where your data actually goes

Your Odoo records travel from your Odoo to the agent on your computer, and to whichever AI provider you configured, for the duration of answering your question. We don't build a copy of your database, and we don't train anything on your data.

Section 7

Trial limits, AI costs and what counts

WhatHow it works
Odoo actionsYour token allows a set number of Odoo tool calls. Each search, read, draft or update is one. A single question may use several if the agent looks in more than one place.
Chat turnsNot counted. Conversation that never touches Odoo doesn't consume your allowance.
ValidityTokens are time-limited. Both the limit and the expiry can be raised on your existing token — no re-signup, no settings change.
AI costsBilled by your own AI provider, at their prices. We never see or mark up that spend.
Running outTool calls stop with a clear "trial limit reached" message. Email us and we'll lift it, usually within the hour.
Evaluating with a team?

Tell us how many people and roughly how much you want to try — we'll raise your limits up front so nobody hits a wall mid-demo. Email [email protected].

Section 8

Troubleshooting

What you seeWhat it means & the fix
"Unauthorized" / 401The token wasn't recognised. Check it is pasted whole, starts with trial_, and the header reads Bearer <token> with a single space.
"Trial limit reached" / 402You've used your allowance or the token expired. Email us — we raise it on the same token, so nothing in your settings changes.
Agent doesn't list Odoo toolsThe MCP server isn't connected. Re-check the URL ends in /mcp, save the settings, then fully restart the agent.
"Couldn't reach" your OdooThe URL is wrong or your Odoo isn't publicly reachable. Confirm the address loads in a browser; if it's behind a firewall or VPN, see the note on private instances.
Odoo sign-in failedThe database name, login or API key doesn't match. The database name is often not the same as the company name — check it in Odoo, and regenerate the API key if unsure.
"Field doesn't exist… did you mean…"Working as intended: the error names the correct field and the agent normally retries by itself. If it repeats, ask it to check the schema first.
"Model isn't enabled"You asked about an area outside the allow-list. Tell us which models you need and we'll enable them for your account.
Answers about the wrong companyYou're still on the sample database. Connect your own Odoo above, then ask "which database are you connected to?" to confirm.
It refuses something you wantUsually deliberate — deletes and non-allow-listed actions are blocked by design. If it's genuinely needed for your workflow, we can enable it for your account.
Section 9

Frequently asked

Can I use my own Odoo instead of the demo one?+

Yes, and you don't need to host anything. Keep our hosted server and the token you already have, then point that token at your Odoo using the connect form above — your agent settings don't change at all. Prefer credentials that never leave your machine? Use the desktop agent or self-hosted bridge.

Which option should I choose at signup?+

Three ways to run it, picked on the signup form: Quick hosted trial — an instant token to evaluate in minutes on our server; Ongoing hosted access — the same, with generous limits for continued use; Private MCP — the compiled, source-free build on your own infrastructure, with the audit trail and data never leaving your walls. Trial and hosted are issued instantly by email; Private MCP is reviewed and approved first, then we email your secure download link, licence and install steps.

How does the Private MCP (self-hosted) get delivered?+

Choose Private MCP at signup. We review the request and, once approved, email you a time-limited download link for the compiled image bundle, a machine-bound licence key, and the exact install steps (docker loadodoo-bridge-admin activatedocker compose up). The licence is bound to your host; migrating hardware is a free, same-day re-issue. See Path 3 above for the commands.

Can I renew or extend my access?+

Yes. Hosted keys and self-host licences are time-limited; when yours nears expiry, email us and we issue a fresh one — for hosted you swap the token, for self-host you replace the licence file and restart. An expired self-host licence pauses the Odoo tools with a renewal message; it never deletes anything, and everything resumes the moment a new licence is installed.

Do I have to install anything inside Odoo?+

No. It connects through Odoo's standard external API, so there's no module to install and nothing to maintain through Odoo upgrades. That's also why it works on Odoo Online, Odoo.sh and on-premise alike.

Which Odoo versions and editions are supported?+

Odoo 16, 17, 18 and 19 — Community or Enterprise, cloud-hosted or on-premise.

Does it work with our custom fields and third-party modules?+

Yes. It reads your live schema at runtime rather than assuming a standard database, so bespoke fields and third-party modules are handled like built-in ones. For deep coverage of a specific module we can extend the tools to match.

Is it safe to point at our production Odoo?+

It's designed for exactly that: read-only by default, every change previewed and approved by a person, deleting disabled, actions allow-listed, and Odoo's own per-user permissions always in force. See the safety model for the mechanics. Many teams still start with a limited user or a staging database for the first week — a sensible habit we encourage.

Which AI does it use, and does the trial include credits?+

You choose the AI and bring your own provider key, so you control the model and the spend. The trial covers the Odoo connection only — there are no AI credits included, and we never mark up your usage.

What counts as one action against my limit?+

One Odoo tool call — a search, a read, a draft, an update. Chat that never touches Odoo doesn't count. One question can use a few actions if the agent needs to look in several places to answer it.

We've run out of actions — do we start over?+

No. Email [email protected] and we raise the limit on your existing token. It takes effect immediately: no new signup, no new token, no settings to change.

Can several colleagues test at once?+

Yes — each person signs up for their own token, or tell us the team size and we'll issue and pre-size them together so nobody hits a limit mid-demo.

Where is our data stored, and do you train on it?+

We don't copy your database and we don't train on your data. Records are fetched to answer the question in front of you and pass to the AI provider you chose. If you connect your own Odoo, we store only the connection details, with the API key encrypted.

How do we remove our credentials?+

Use Disconnect on the form above, which deletes them. You can also revoke the API key inside Odoo at any time — that cuts access immediately and doesn't depend on us.

Our Odoo isn't reachable from the internet. Now what?+

Two options: allow-list our outbound address so the hosted server can reach it, or run erpAIbridge inside your own network next to Odoo. Both are supported — tell us your setup and we'll recommend one.

Can we self-host the whole thing?+

Yes. It's a single stateless container configured with environment variables — see the configuration section. Contact us for the image and licence terms.

Can we white-label this for our clients?+

Yes — that's our partner programme. The desktop agent carries your brand and you keep the client relationship and the margin. See the partner section.

Can you build something specific for our process?+

Yes. We author bespoke skills for a client's exact workflow, allow-list the specific actions they need, cover custom modules and integrate systems beyond Odoo. Tell us the requirement and we'll scope it.

Section 10

Still stuck?

Send us what you typed, what you expected and what you got — screenshots are ideal. If it's a connection problem, include your Odoo version and whether it's Odoo Online, Odoo.sh or on-premise. Never send us your API key or password; we never need them by email.

Contact support [email protected]

Get going

Try it on your own Odoo.

Get a token, install the agent, point it at your data — and ask it something you'd normally open three screens to answer.