Emerging Tech19 min readSeptember 17, 2026

AI Agents Inside Your ERP: NetSuite, Odoo and SAP Business One (2026)

Bhavesh Barot - Author

Bhavesh Barot

Founder & CEO

A desk with a tray of printed purchase orders and invoices beside a monitor showing a table of ERP records

"What an AI agent inside NetSuite, Odoo or SAP Business One really does, the APIs and limits it has to live with, when the ERP's own AI is enough, and who should build the rest. Every limit here was checked against vendor documentation on September 17, 2026."

Key Takeaways

  • 1An AI agent inside your ERP reads documents and questions, then reads and writes records only through the ERP's official APIs, signed in as its own limited integration user. Anything that changes money, prices or inventory waits for a person to approve.
  • 2NetSuite: build new agents on REST web services with OAuth 2.0. NetSuite's help center says new integrations using token-based authentication or SOAP can't be built from the 2027.1 release, and all SOAP endpoints are disabled with 2028.2.
  • 3NetSuite limits how many requests run at once across the whole account: 5 on the Standard service tier, 15 on Premium and 20 on Enterprise or Ultimate, plus 10 per SuiteCloud Plus license. Third-party connectors, such as your store integration, and your agent draw from the same pool.
  • 4Odoo 19 added the External JSON-2 API with API keys and deprecated XML-RPC and JSON-RPC, which are scheduled for removal in Odoo 22. On Odoo's hosted plans, external API access needs the Custom plan, and Odoo Online can't run custom modules.
  • 5SAP Business One agents should use the Service Layer, not the COM-based DI API. It supports SAP HANA and Microsoft SQL Server, cannot hold a transaction across requests, and gained webhooks in feature pack 2602.
  • 6Use the vendor's built-in AI first when the work stays inside the ERP, such as NetSuite Bill Capture or Odoo 19's AI agents. Build a custom agent when documents arrive from outside, the job spans several systems, or you need your own approvals and test results.
  • 7Before an agent writes anything, test it in a sandbox, score it on a set of past documents with known answers, and run it in shadow mode next to your team.

By Bhavesh Barot | API details checked against Oracle NetSuite, Odoo and SAP documentation on September 17, 2026 | 19 min read

Quick Answer

An AI agent inside your ERP is software that reads emails, PDFs or questions, then reads and writes ERP records only through the ERP's official APIs. It signs in as its own integration user with the smallest set of permissions the job needs. Anything that changes money, prices or inventory waits for a person to approve it.

This guide is for operations, finance and IT leads at mid-market companies on NetSuite, Odoo or SAP Business One. If you run SAP S/4HANA or Epicor Kinetic, read our enterprise ERP AI agent implementation guide instead. We build AI agents and ERP integrations, so we have a stake here. To keep this useful, every limit, version and date below comes from the vendors' own documentation, and we say where a vendor's built-in AI beats hiring anyone, including us.

What an AI Agent Inside Your ERP Actually Does

An ERP (enterprise resource planning system) holds your orders, stock, prices and accounting. An AI agent uses a large language model to read messy inputs and call tools that take actions. Together, an ERP agent turns an emailed purchase order into a sales order, a PDF bill into a vendor bill, or a customer's question into an answer from live records. What makes one safe is not the model. It is three rules.

  1. Official APIs only.An API (application programming interface) is the door a vendor builds for other software: NetSuite's REST web services, Odoo's JSON-2 API or the SAP Business One Service Layer. No screen scraping, and no direct database writes that skip the ERP's own checks.
  2. Its own integration user. The agent signs in as a dedicated user whose role allows only what the job needs, a rule called least privilege. If a key leaks, the damage stops at that role.
  3. A person approves money, prices and inventory. The agent saves work in a state the ERP already treats as unapproved: a NetSuite sales order in Pending Approval, an Odoo quotation in draft, or a SAP Business One draft document. A human commits it.

Who Implements AI Agents Inside NetSuite, Odoo and SAP Business One?

Four kinds of teams do this work, and good projects usually combine two of them.

  • The ERP vendor's built-in AI. NetSuite and Odoo ship AI features your admin or partner can switch on. It is usually the cheapest route when a job starts and ends inside the ERP.
  • Your ERP implementation partner. It knows your custom fields, scripts, roles and approval rules, and should own configuration and upgrades. If a partner also builds agents, ask to see one running on real documents.
  • An integration platform. iPaaS (integration platform as a service) tools like Celigo and Boomi move data between systems on rules you configure, and both now market AI agent features too. Their core strength is syncing orders, customers and stock.
  • An AI engineering team. This is what FactoryJet does. A custom agent earns its cost when inputs are unstructured, the work crosses systems, or you need your own approval screens, test sets and logs.

The split we recommend: your ERP partner sets up the integration role, custom fields and approval workflow, and the agent builder owns the agent, its tools, its evaluation set and its monitoring. Our ERP work so far includes a custom ERPNext implementation for GroFresh Agro, a food processing manufacturer that had run on Tally and spreadsheets, and the Sow Easy WooCommerce and Odoo build described below.

NetSuite: REST Web Services, RESTlets and One Shared Request Pool

Which NetSuite API an Agent Should Call

Start with SuiteTalk REST web services. They let an outside program create, read, update and delete records, run SuiteQL queries (NetSuite's SQL-style query language) and transform one record into another, with no scripts to deploy. A RESTlet is a SuiteScript you call from outside NetSuite. Use one when a single request must do several things on the server under your rules, such as checking a purchase order against contract prices before creating the sales order. Each RESTlet execution gets up to 5,000 usage units, NetSuite's meter for script work, against 1,000 for a Suitelet.

Authentication: OAuth 2.0, Not Token-Based Authentication

Check the date on any guide that recommends token-based authentication (TBA). NetSuite's SOAP removal FAQ says new integrations should use REST web services with OAuth 2.0 from the 2026.1 release. From 2027.1 you can't build new integrations with TBA or SOAP, and with 2028.2 all SOAP endpoints are disabled.

For an unattended agent, use the OAuth 2.0 client credentials flow, which NetSuite describes as machine-to-machine with no user interaction. You upload the public part of a certificate and map it to an entity, a role and the application. One sandbox trap: tokens and OAuth 2.0 authorizations are not copied when a sandbox is refreshed, so the test agent stops authenticating until you set it up again.

Concurrency: Every Integration Shares One Pool

Concurrency means requests running at the same time, and NetSuite caps it for web services and RESTlet requests combined across the whole account. NetSuite's concurrency governance table sets the base by service tier: 5 for Standard, 15 for Premium and 20 for Enterprise or Ultimate, plus 10 per SuiteCloud Plus license. On a Standard account, those 5 slots are shared by third-party store connectors, your 3PL (third-party logistics) feed, any assistant using the AI Connector Service, and your agent. A few Oracle apps are exempt, including NetSuite's own NetSuite Connector, so their requests don't count toward the limit.

When the pool is full, NetSuite blocks the request rather than queuing it. REST web services return HTTP 429 with CONCURRENCY_LIMIT_EXCEEDED, but RESTlets return HTTP 400 with SSS_REQUEST_LIMIT_EXCEEDED, so a retry handler that only watches for 429 misses RESTlet failures. You can reserve part of the limit for specific integrations, and REST requests running past 15 minutes time out.

Stopping Duplicate Orders in NetSuite

Customers sometimes email the same purchase order twice, and agents retry. NetSuite's upsert operation creates or updates a record when you send a PUT request with an external ID in the URL, so a repeat send updates the same record instead of creating another. Build that ID from something stable, like the customer ID plus the customer's PO number. For asynchronous jobs, the X-NetSuite-Idempotency-Key header makes NetSuite reject a repeat with IDEMPOTENCY_ERROR and point to the original job.

NetSuite's Own AI, and When It Is Enough

NetSuite's help center lists AI features including Bill Capture, Transaction Matching Assistant, Intelligent Close Manager, Item Creation Assistant and Text Enhance. Two matter most for an agent decision.

  • Bill Capture reads vendor bills you email or upload as PDF, JPEG or PNG files. Each lands on a Scanned Vendor Bills page for a person to review before a bill is created. If supplier bills are your main pain, try it before paying for a build.
  • The NetSuite AI Connector Service connects outside assistants through the Model Context Protocol (MCP), an open standard for letting AI apps use tools. NetSuite's AI Connector FAQ says it is not a paid feature, works with MCP clients such as Claude and ChatGPT, respects role permissions, refuses Administrator roles, and can create, read and update records. Its requests use the same concurrency pool, and data sent to the AI provider falls under that provider's privacy policy.

Oracle also notes its AI features have not been assessed for HIPAA compliance, so keep protected health information out of them. Use the built-in options when a person works with the AI in real time or the job stays inside NetSuite. Build a custom agent when the work starts outside NetSuite (a shared inbox of PDF purchase orders, a supplier portal, a Shopify store), runs unattended at volume, or needs approval rules and a test set you control.

Odoo: The JSON-2 API, API Keys and Plan Limits

Which Odoo API an Agent Should Call

Odoo 19 introduced the External JSON-2 API: a POST request to /json/2/<model>/<method>, such as /json/2/sale.order/search_read, with an API key as a bearer token. Odoo's JSON-2 API documentation says the older XML-RPC and JSON-RPC endpoints are scheduled for removal in Odoo 22 (fall 2028). On Odoo 17 or 18, XML-RPC is still the route, with an API key in place of the password, so plan the switch into your next upgrade.

Your Plan and Hosting Decide What Is Possible

On Odoo's subscription plans, external API access is only on the Custom plan, not One App Free or Standard. Odoo Online is incompatible with custom modules, so you can't add server-side code there; Odoo.sh and on-premise installs can run them. For testing, Odoo.sh staging branches make neutralized copies of production with outgoing emails caught and payment and shipping connectors in test mode. On Odoo Online, a duplicate made for testing disables external actions and expires after 15 days.

The Bot User and One Transaction Per Call

Every JSON-2 call is checked against the calling user's access rights, record rules (Odoo's row-level filters) and field access. Odoo recommends a dedicated bot user with only the permissions it needs and an empty password, so nobody can log in as it. By default, Odoo 19 limits API keys for non-admin users to three months, so schedule key rotation before go-live.

The detail that agent builders miss most: each JSON-2 call runs in its own database transaction, and calls can't be chained into one. If an agent creates an order in one call and confirms it in another, someone else can change the stock in between. Odoo's advice is to call a single method that does the related work, such as action_confirmon a sales order, or to write one in a custom module, which Odoo Online doesn't allow.

Stopping Duplicate Orders in Odoo

Put the customer's PO number in the sales order's Customer Reference field (client_order_ref) and have the agent search for it before creating anything. Odoo 18 and 19 add a safety net: a draft order shows “this order might be a duplicate of” when another order for the same customer that is not cancelled has the same reference. That warning helps the approver but does not stop the agent, so keep the search.

Odoo's Own AI, and When It Is Enough

Odoo 19, released in September 2025, added AI agents that learn from your documents and perform actions, AI fields that fill themselves in, natural-language search, AI steps in server actions (Odoo's automation rules), a live chat agent that can create leads, and AI prompts in Documents that sort files and trigger actions, plus a new server action type that creates vendor bills and customer invoices from documents. Agents run on ChatGPT or Gemini models. The standard Ask AI agent can't change data, and any agent needs topics with tools before it can complete tasks. Use Odoo's AI for work inside Odoo with a person watching. Build outside it when input arrives elsewhere, the job touches another system such as a WooCommerce or Shopify store, or you need an approval queue and test results you can audit.

What We Are Building With Odoo Today

FactoryJet is currently building Sow Easy's B2B WooCommerce store with Odoo integration. Odoo is the source of stock, pricing and SKU data, and development and testing happen against Odoo staging before launch. The build is in progress and no results are reported yet. It is an ecommerce and ERP integration, not an AI agent deployment, but it is the same plumbing an agent depends on: one system owns the data, and the store reads from it instead of keeping its own copy. Read the Sow Easy case study.

// ERP agent scoping

Not Sure Which API Your Agent Should Use?

Tell us your ERP, its version and the document type you want automated. We will map the API route, the limits you will hit and where approvals belong, and give you that scope in writing before any build starts.

SAP Business One: Build on the Service Layer

Service Layer First, DI API Only When You Must

The Service Layer is SAP's web API for Business One, built on HTTP and OData (a standard for REST-style data APIs). SAP's Working with SAP Business One Service Layer guide says it supports OData version 3 at /b1s/v1 and version 4 at /b1s/v2, runs on SUSE Linux Enterprise or Microsoft Windows, and works with SAP HANA and Microsoft SQL Server. The older DI API is built on Microsoft COM technology, which SAP says fits best in the Windows native environment. That makes it awkward for an agent running on a cloud server.

Sessions, Transactions and Database Differences

An agent logs in with a POST to /Loginand gets a B1SESSION cookie with an idle timeout (30 minutes in SAP's example). SAP calls login a heavy job, so reuse sessions. Lists return 20 records per page unless you ask for more.

Service Layer transactions cannot cross requests. To make related changes succeed or fail together, send a batch request with a change set, which SAP treats as one atomic unit that rolls back entirely if any part fails. New user-defined fields and objects stay invisible until the Service Layer restarts, so add custom fields well before testing.

The two databases differ in places. On SAP HANA, queries are case-sensitive by default because of HANA's default collation, so match names and reference numbers carefully. Semantic Layer views exist only on HANA, while automatic exposure of custom SQL views works only on SQL Server.

Webhooks, Drafts and Approvals

A webhook is a message a system sends the moment something happens, so the agent doesn't have to keep checking. As of SAP Business One 10.0 feature pack 2602, the Service Layer supports webhooks for events such as creating or updating business objects. They are disabled by default for each company. On older versions, the agent polls on a schedule.

Business One already has the approval step an agent needs. The Service Layer exposes Drafts, a draft becomes a real document through SaveDraftToDocument, and approval requests are available through the API. Have the agent create drafts, let your approval procedures route them, and store the customer's own reference number in the NumAtCard field so the agent can check for repeats.

SAP's AI and Business One

SAP's AI assistant is Joule, part of what SAP calls SAP Business AI. SAP's quarterly SAP Business AI release highlights from Q3 2025 through Q2 2026 mention S/4HANA many times and SAP Business One not once. Ask your partner what your feature pack includes before planning around built-in AI, and build agents that change data on the Service Layer.

NetSuite vs Odoo vs SAP Business One for AI Agents

Here is how the same agent design lands on each ERP, from vendor documentation checked on September 17, 2026.

What mattersNetSuiteOdooSAP Business One
API for agentsSuiteTalk REST web services, plus RESTlets for custom server logicExternal JSON-2 API on Odoo 19; XML-RPC or JSON-RPC on older versionsService Layer (OData version 3 and 4); the COM-based DI API suits Windows-native programs
AuthenticationOAuth 2.0; no new token-based authentication integrations from 2027.1API key as a bearer token; keys for non-admin users last up to three months by defaultLogin creates a B1SESSION cookie with an idle timeout
Main limit to plan forOne account-wide concurrency pool: 5, 15 or 20 by tier, plus 10 per SuiteCloud Plus licenseExternal API only on the Custom plan for hosted Odoo; one transaction per callNo transactions across requests; 20 records per page by default
Where the agent parks work for approvalSales order in Pending ApprovalQuotation left in draftDraft document, converted with SaveDraftToDocument
Duplicate protectionUpsert by external ID; idempotency key on asynchronous requestsSearch Customer Reference first; Odoo 18 and later warn on likely duplicate draftsCheck the NumAtCard reference; group related changes in an atomic change set
Safe place to testSandbox account; re-create tokens and OAuth 2.0 authorizations after each refreshOdoo.sh staging branch, or a testing duplicate on Odoo Online that expires after 15 daysA copy of the company database on the same database type as production
Built-in AIBill Capture, AI Connector Service over MCP, SuiteScript N/llm moduleOdoo 19 AI agents, AI fields and AI server actionsSAP Business AI highlights we read did not mention Business One; ask your partner
Gotcha that bites firstRESTlets report overload as HTTP 400, not 429Odoo Online cannot run the custom module a safe multi-step write may needNew user-defined fields are invisible until the Service Layer restarts

8 Agent Jobs That Fit Mid-Market ERP Users

For each job: what the agent reads, what it writes, and where a person signs off.

  1. Quote drafting from emailed requests for quote (RFQs). Reads the customer, items, customer prices (price levels in NetSuite, pricelists in Odoo, price lists in SAP Business One) and stock. Writes a draft quote: a NetSuite estimate, an Odoo quotation or a SAP Business One sales quotation draft. A person approves prices, discounts and lead times. Manufacturers quoting from drawings should read our RFQ quoting agent architecture.
  2. Sales order entry from PDF purchase orders.Reads the customer, ship-to addresses, item numbers, prices and credit status. Writes a sales order held for approval. A person approves any line where price, item or address doesn't match.
  3. Vendor bill capture and matching. Reads purchase orders and receipts. Writes a draft vendor bill (an A/P invoice draft in SAP Business One). A person approves price or quantity differences and releases payment. On NetSuite, try Bill Capture first.
  4. Supplier acknowledgement reconciliation.Reads open purchase orders and the supplier's confirmation. Writes confirmed ship dates or a note for the buyer. A person approves any price or quantity change.
  5. Inventory and reorder questions. Reads stock by location and open purchase and sales orders. Writes nothing, or a draft purchase order that a person approves.
  6. Collections follow-up. Reads open invoices, payment history and contacts. Writes activity notes and draft reminders. A person approves messages to disputed or key accounts, and any credit memo.
  7. Order status answers. Reads sales orders, shipments and tracking numbers. Writes a log of what it answered. Routine answers need no approval, but the agent must confirm who is asking first.
  8. Item data cleanup. Reads item records and supplier catalogs. Writes proposed fixes to descriptions, weights and categories, applied after a person approves them. For new items, NetSuite also ships an Item Creation Assistant.

Architecture: How to Build an ERP Agent That Cannot Do Serious Damage

Least Privilege, Read Tools and Write Tools

Create one user and role per agent. In NetSuite, use a custom role, not Administrator; Oracle's own AI Connector Service refuses Administrator roles too. In Odoo, create the bot user Odoo recommends, so access logs show the bot rather than a person. In SAP Business One, give the Service Layer user only the permissions its documents need.

Then split the agent's abilities. Read tools look things up and can run freely. Write tools should be few, narrow and boring: create a draft sales order, add a note, set a confirmed ship date. No write tool should post a payment, change a price list or adjust stock by itself. In plain terms, a write tool contract looks like this:

tool:         create_sales_order_draft
reads:        customer, ship-to, items, customer prices, credit status
writes:       one sales order, status = awaiting approval
unique key:   customer ID + customer PO number (check before writing)
refuse when:  price differs from the price list, new ship-to address,
              customer on credit hold, any item not found
log:          source file, extracted fields, API request, API response

Idempotency, Retries and Audit Logs

Idempotency means doing something twice has the same effect as doing it once. Give every inbound document a stable key, check for it before writing, and use each ERP's own protections: external IDs and idempotency keys in NetSuite, Customer Reference in Odoo, NumAtCard in SAP Business One.

Retry with exponential backoff (waiting longer after each failure) plus a small random delay, and treat NetSuite's 429 and RESTlet 400 limit errors as signals to slow down. Reuse SAP Business One sessions. In Odoo, never resume a multi-call sequence halfway; read the record again first. Log every run: the source document, what the model extracted, each tool call and ERP response, and who approved it and when. That log is what settles a disputed order months later.

Sandbox, Shadow Mode and an Evaluation Set

Shadow mode means the agent works on real documents but its output is only compared, never saved. An evaluation set is a fixed collection of past documents with known correct answers, used to score every change. Go live in this order:

  1. Build and test in a sandbox: a NetSuite sandbox account, an Odoo.sh staging branch or Odoo Online testing duplicate, or a copy of your SAP Business One company database.
  2. Assemble an evaluation set of a few hundred real past documents with the correct ERP result for each, including the ugly scans and odd formats.
  3. Run shadow mode in production: the agent reads live documents and proposes records while people keep doing the real entry. Compare the two every day.
  4. Turn on write tools, behind approval, once the agent matches your team on the evaluation set and in shadow mode.
  5. Keep measuring: the share of drafts approved without edits, the exceptions caught, and the time from document received to record created.

Build vs Buy: Native ERP AI, Integration Platforms or a Custom Agent

There are three routes, each with real limits. FactoryJet builds the third, so weigh our view accordingly.

Native ERP AI

It wins when work happens inside the ERP with a person present: Bill Capture for supplier bills, the AI Connector Service for staff questions under their own role, and Odoo 19 agents and AI fields for in-app tasks. The limits: you get the vendor's scope and roadmap, and data sent to outside models follows that provider's terms.

Integration Platforms and Workflow Tools

They win when rules are fixed and data is clean, such as syncing orders, customers and stock between a store and the ERP. Coverage is uneven, so check each tool's own pages. On September 17, 2026 they showed:

  • Celigo, which calls itself an iPaaS for NetSuite and beyond, sells prebuilt Shopify to NetSuite and Shopify to SAP Business One integrations and lists AI agents among its platform capabilities.
  • Boomi offers a prebuilt NetSuite connector over REST or SOAP, plus Agentstudio for agents.
  • n8n has a built-in Odoo node. We found no built-in NetSuite or SAP Business One node, so those need its general HTTP Request node.
  • Zapier's NetSuite app is a premium app with SuiteQL and record actions. Its Odoo app covers Odoo CRM leads and contacts only, and Zapier lists SAP Business One as not yet supported.
  • Make has a verified Odoo app, and its NetSuite app is only available on Make's Enterprise plan.

The limits: the core of each tool is rule-based flows you configure. If you already use Celigo or Boomi, their newer agent features are worth testing, but check them against your messiest documents, your approval steps and a real test set before you rely on them. Our n8n vs Zapier vs Make comparison covers those three in depth.

A Custom Agent

It wins when inputs are unstructured, the job crosses systems, or approvals and audit trails must fit your process. The limits: you pay for the build and the ongoing care, and it still depends on your ERP partner for roles and fields. A sensible setup is often both: an integration platform for the fixed syncs and an agent for the judgment calls.

How to Start Without Betting the Business

  1. Pick one queue you can count, such as PDF purchase orders from your 20 largest customers.
  2. Confirm API access: OAuth 2.0 and spare concurrency in NetSuite, the Custom plan and your version in Odoo, or the Service Layer version and database type in SAP Business One.
  3. Ask your ERP partner to create the integration role, fields and approval workflow.
  4. Build the read tools and the evaluation set first.
  5. Run shadow mode, then switch on draft-only writes behind approval.
  6. Review exceptions every week and add one document type at a time.

If you want help, our AI integration services team connects agents to ERPs, our AI agent development team builds the agent itself, and AI workflow automation covers the rule-based flows around it.

// For NetSuite, Odoo and SAP Business One teams

Map Your First ERP Agent in 30 Minutes

Bring one document type and your ERP version. Bhavesh Barot will walk through the API access, limits and approval step it needs, and tell you plainly whether native ERP AI, an integration platform or a custom agent fits best.

Sources checked on September 17, 2026: Oracle NetSuite Help Center pages on SOAP removal, token-based authentication, OAuth 2.0, concurrency governance, REST errors, upsert, idempotency, RESTlets, Pending Approval, sandbox refresh and AI features; Odoo 18 and 19 documentation, release notes, pricing and source code; SAP's Service Layer guide (updated July 27, 2026), SAP Business One SDK help, the SAP Business One product page and SAP Business AI release highlights; and the Celigo, Boomi, n8n, Zapier and Make integration pages.

Want this done for you?

Get a free, no-pitch plan for your site.

Tell us where to send it. Bhavesh, the founder, reviews every request himself and replies within 24 hours, often the same day. Most sites ship in about 7 days.

Founder replies within 24 hours. No spam, no obligation.

Frequently Asked Questions

How can AI be used in ERP?
Mostly in three ways. It answers questions from live ERP data, such as stock by location or a customer's open orders. It turns documents into draft records: purchase orders into sales orders, supplier bills into vendor bills, emailed requests for quote into quotes. And it handles routine follow-ups, like reminders on overdue invoices. The safe pattern is the same in NetSuite, Odoo and SAP Business One: the AI reads and drafts through official APIs, and a person approves anything that moves money, prices or stock.
Which AI is best for ERP?
Start with the AI your ERP vendor already ships, because it works inside the ERP's own permissions. NetSuite offers Bill Capture for supplier bills and the NetSuite AI Connector Service for assistants such as Claude and ChatGPT. Odoo 19 includes AI agents that run on ChatGPT or Gemini models. No model is best for every ERP. What decides the result is which records the AI can reach, what it is allowed to change, and how well you test it. A custom agent makes sense when the work spans several systems.
Is AI replacing ERP systems?
No. AI agents depend on the ERP. Your ledger, stock counts, prices and approval history still live in NetSuite, Odoo or SAP Business One, and an agent is only useful because it can read and write those records through the APIs. What AI is replacing is the typing between systems: rekeying purchase orders, copying supplier ship dates by hand, and answering routine order status emails. NetSuite and Odoo are both building AI into the ERP itself rather than offering it as a replacement.
What is human-in-the-loop authorization for AI agents?
It means an agent can prepare an action but cannot complete it until a person approves. In an ERP this usually maps to a status the ERP already has: a NetSuite sales order saved as Pending Approval, an Odoo quotation left in draft, or a SAP Business One draft document. NetSuite's help center says a Pending Approval order must be approved by someone with the right permissions before NetSuite can process it. The agent drafts, and the human commits.
Is ChatGPT a type of AI agent?
On its own, ChatGPT is an assistant that answers and writes. It starts acting like an agent when it is connected to tools that take actions. NetSuite's AI Connector Service is one example: MCP-compatible clients, including ChatGPT and Claude, can create, read and update NetSuite records within the user's role permissions. A production ERP agent usually adds more around the model: one defined job, its own integration user, approval steps, logs and a test set.
How can AI be used to automate accounts payable tasks?
The first job is capture: reading supplier bills from email or PDF and turning them into draft vendor bills. NetSuite has this built in as Bill Capture, which accepts PDF, JPEG and PNG files and shows them on a Scanned Vendor Bills page for review before a bill is created. The next jobs are matching bills to purchase orders and receipts, flagging price or quantity differences, and routing exceptions to the right person. Releasing payments should stay with a person.
How can I automate the purchase order process?
Break it into steps and automate the data entry first. An agent can draft purchase orders from an approved reorder list for a buyer to review. After the order goes out, it can read the supplier's acknowledgement and compare price, quantity and ship date against the open purchase order in NetSuite, Odoo or SAP Business One. Filling in a confirmed ship date can be automatic. A change in price or quantity should wait for the buyer to approve it.
How do I connect AI to NetSuite?
There are two official routes. For staff chatting with an assistant, use the NetSuite AI Connector Service: install the free MCP Standard Tools SuiteApp and connect an MCP-compatible client with a non-administrator role. For unattended agents, call SuiteTalk REST web services or a RESTlet from your own service, authenticated with OAuth 2.0. NetSuite's help center says new integrations should use REST web services with OAuth 2.0 starting with the 2026.1 release.
Does NetSuite have an MCP server?
Yes. NetSuite adopted the Model Context Protocol through the NetSuite AI Connector Service. Oracle provides the MCP Standard Tools SuiteApp with ready-made tools, and you can build your own. NetSuite's FAQ says it works with clients that support remote MCP and OAuth 2.0, and names Claude (Pro plan or higher) and ChatGPT as examples. It does not support Administrator roles, so connect it with a custom or other non-administrator role.
Is the NetSuite AI Connector Service free?
NetSuite's FAQ says the AI Connector Service is not a paid feature and the MCP Standard Tools SuiteApp is free, although you may need a paid subscription for your AI client. Plan for two indirect costs. Its requests count against your account's concurrency limit, the same pool your other integrations use. And data sent to a third-party AI model is governed by that provider's privacy policy, not Oracle's terms.
Does NetSuite have a REST API?
Yes. SuiteTalk REST web services let you create, read, update and delete records, run SuiteQL queries, and run record actions and transformations without deploying scripts. RESTlets are the other REST option: SuiteScript code you write and call from outside NetSuite. NetSuite is also retiring SOAP. Its help center says you can't build new SOAP integrations from the 2027.1 release, and all SOAP endpoints are disabled with 2028.2.
What is a RESTlet in NetSuite?
NetSuite defines a RESTlet as a SuiteScript you can call from outside NetSuite or from another script. It only runs when called and can return a value. For agents, RESTlets help when one request must do several things on the server under your rules, such as checking a purchase order against contract prices before creating the sales order. Each RESTlet execution can use up to 5,000 usage units, and RESTlet calls share the account concurrency limit.
What are the API limitations in NetSuite?
Four matter most for agents. Web services and RESTlet requests share one account-wide concurrency limit set by your service tier and SuiteCloud Plus licenses. Scripts are metered in usage units, and a RESTlet gets 5,000 per execution. REST web services requests that run longer than 15 minutes time out. And authentication is changing: from the 2027.1 release you can't create new integrations that use token-based authentication, so new work should use OAuth 2.0.
What does it mean when the NetSuite concurrency limit is reached?
It means your account already has as many web services and RESTlet requests running at once as its limit allows, so NetSuite blocks the next request instead of queuing it. The base limit is 5 for Standard, 15 for Premium and 20 for Enterprise or Ultimate, plus 10 per SuiteCloud Plus license, shared by your web services and RESTlet integrations. The fixes are to retry with increasing waits, reserve part of the limit for key integrations, spread batch jobs out, or add licenses.
How do I set up OAuth 2.0 client credentials in NetSuite?
In outline: turn on the OAuth 2.0 feature, create an integration record that uses the client credentials flow, which NetSuite describes as machine-to-machine with no user interaction, upload the public part of your certificate, and map it to an entity, a role and the application. Your service then posts to the token endpoint to get an access token. Each integration record can hold up to five active certificates. Redo sandbox authorizations after every sandbox refresh.
Does NetSuite have an AI platform?
NetSuite builds AI into many parts of the product. Its help center lists features such as Bill Capture, Transaction Matching Assistant, Intelligent Close Manager, Item Creation Assistant and Text Enhance. Developers get the SuiteScript N/llm module, which calls Oracle Cloud Infrastructure Generative AI and uses AI Units, and the NetSuite AI Connector Service connects outside assistants over MCP. Oracle notes these AI features have not been assessed for HIPAA compliance.
Does Odoo have AI capabilities?
Yes. Odoo 19, released in September 2025, added AI agents that learn from your documents and perform actions, AI fields that fill themselves in, natural-language search, AI inside server actions, and a live chat agent that can create leads. Agents run on ChatGPT or Gemini models. Odoo's documentation notes the standard Ask AI agent cannot change data, and an agent needs topics with tools before it can complete tasks.
Is the Odoo API free?
It depends on how you run Odoo. On Odoo's subscription plans, the documentation says external API access is only available on the Custom plan, not on One App Free or Standard. Self-hosted Odoo Community ships the RPC endpoints module under the LGPL-3 license, so there is no API fee there. Either way, budget for the work around it: mapping fields, setting access rights and rotating API keys, which Odoo 19 limits to three months by default for non-admin users.
How can I integrate with the API in Odoo?
On Odoo 19, use the External JSON-2 API. Send a POST request to /json/2/ followed by the model and method, with an API key in the Authorization header as a bearer token. Create the key under Preferences, Account Security, New API Key, ideally for a dedicated bot user that has only the permissions the integration needs. Every call is checked against that user's access rights and record rules. Versions before 19 use XML-RPC or JSON-RPC instead.
How do I use XML-RPC in Odoo?
Call authenticate on the common endpoint to get a user ID, then call execute_kw on the object endpoint with the database, user ID, password, model, method and arguments. Since Odoo 14 you can put an API key in place of the password. It still works, but Odoo 19 deprecates the /xmlrpc, /xmlrpc/2 and /jsonrpc endpoints and schedules their removal for Odoo 22 in fall 2028. On Odoo 19 or later, build new integrations on JSON-2.
What is Odoo.sh vs Odoo Online?
Odoo Online is hosting that Odoo manages for you, and Odoo's documentation says it is incompatible with custom modules or modules from the Odoo Apps Store. Odoo.sh is Odoo's cloud platform for projects with custom code, with development, staging and production branches and SSH access. For AI agents the difference matters: on Odoo.sh or on-premise, a developer can add a custom method that does several steps in one transaction. On Odoo Online, you can't.
What does Odoo integrate with?
Anything that can call its API, plus ready-made connectors in automation tools. n8n ships a built-in Odoo node for contacts, opportunities, notes and custom resources. Make has a verified Odoo app. Zapier's Odoo CRM app is narrow: a new lead trigger plus create lead and find contact actions. For stock, pricing and orders, we usually integrate through the API directly, which on Odoo's hosted plans requires the Custom plan.
What is the disadvantage of using Odoo?
For integrations and AI agents, four things stand out. External API access on Odoo's hosted plans needs the Custom plan. Odoo Online can't run custom modules, which limits server-side logic. Each JSON-2 call runs in its own transaction, so multi-step changes need a single business method. And the API is changing: XML-RPC and JSON-RPC are deprecated in Odoo 19, so older connectors need rework before Odoo 22.
What is the API for SAP Business One?
The main one is the Service Layer, a web API built on HTTP and OData that exposes SAP Business One's business objects. It supports OData version 3 at /b1s/v1 and version 4 at /b1s/v2. The older DI API is built on Microsoft COM technology, and SAP says it fits best in the Windows native environment. For an AI agent calling from a server in the cloud, SAP's web-based Service Layer is the better fit.
Is SAP Business One still available?
Yes, and SAP is still developing it. SAP updated its Service Layer guide on July 27, 2026, and feature pack 2602 of SAP Business One 10.0 added webhooks to the Service Layer. SAP's product page describes it as ERP software for small businesses. If you are choosing between SAP Business One versions or hosting options, confirm what your region and partner offer before planning integrations.
Is SAP B1 outdated?
Its integration layer is more current than its reputation. The Service Layer offers REST-style OData APIs, runs on Linux or Windows, and works with both SAP HANA and Microsoft SQL Server databases. Webhooks arrived with feature pack 2602. The dated part is the DI API, which is built on Microsoft COM and, by SAP's own description, fits best in the Windows native environment. A Business One system can support AI agents well if you build on the Service Layer and keep your version current.
Is SAP Business One different from SAP?
Yes. SAP Business One is a specific SAP product that SAP describes as ERP software for small businesses. It has its own integration APIs, the Service Layer and the DI API, so connectors and agents built for other SAP ERP products, such as S/4HANA, do not carry over without rework. When someone on your team says SAP, confirm which product and version they mean before anyone scopes an integration.
Does SAP have an AI tool?
Yes. SAP's AI assistant is Joule, part of what SAP calls SAP Business AI. Check which products it covers, though. SAP's quarterly SAP Business AI release highlights from Q3 2025 through Q2 2026 mention S/4HANA many times and SAP Business One not once. If you run SAP Business One, ask your partner what AI your feature pack includes, and plan any agent that changes data on the Service Layer.
What are some alternatives to Celigo?
For NetSuite and SAP Business One, common alternatives are Boomi, which offers a prebuilt NetSuite connector over REST or SOAP; Make, whose NetSuite app is only on its Enterprise plan; Zapier, whose NetSuite app is a premium app; n8n, which has no built-in NetSuite node, so you use its HTTP Request node; and custom code against the ERP's APIs. Choose on your ERP, the prebuilt flows you need and who will maintain it.
Bhavesh Barot - Founder & CEO
Written by

Bhavesh Barot

Founder & CEO

Founder & CEO of FactoryJet, a web design and e-commerce agency serving 500+ US, UK, and UAE businesses. Expert in small business website strategy, Shopify development, and Core Web Vitals optimization.

Free quote
Founder replies in 24h