Integration · Collect and manage
Odoo and Meteor AI agents
Connect Odoo to Meteor: sales, inventory, invoicing, receivables and purchasing through 36 typed tools compatible with Odoo 17, 18 and 19.
How does Odoo connect to Meteor?
Meteor connects a Met to Odoo through the official API and gives it 36 closed, typed tools for customers and vendors, catalog, pricing, availability, quotes, orders, deliveries, invoices, receivables, payments and purchasing. Odoo 19 and later use JSON-2; Odoo 17 and 18 use JSON-RPC. Every write requires explicit confirmation. The highest-impact steps, including confirming sales or purchase orders, validating deliveries, posting invoices, creating credit notes and registering payments, only work inside the app, never from a channel Met. On Odoo Online the external API requires the Custom plan; on Odoo.sh or self-hosted Odoo, availability depends on the installed modules and the technical user's permissions.
What it automates
What a Meteor Met does with Odoo
Turn a question into a quote with current stock
The Met identifies the customer, finds each variant, checks price and availability and creates a draft quote with totals computed by Odoo. Confirming the sales order remains a separate step reserved for the app.
Follow an order through delivery
After the sale is confirmed in the app, the Met lists the generated delivery, reads its moves and requests a reservation. Final validation never runs from a channel, and when Odoo opens a backorder wizard it stays pending for a human decision.
Invoice, collect and verify the balance
The operator creates a draft invoice, reviews lines and taxes, posts it and registers the payment with the correct journal. The connector reads the invoice and receivables again to report the literal residual balance left by Odoo.
Purchase from RFQ through receipt
The Met identifies the vendor and products, creates a draft RFQ and returns its total. The purchase is confirmed in the app; the generated receipts can then be listed and inspected.
Run multiple companies without mixing documents
Diagnostics returns accessible companies and every read or write accepts an explicit company. The same Met can work across legal entities without assuming one company's warehouse, journal, price list or tax belongs to another.
36 tools
Everything your Met can ask Odoo for
Each one is a real action in the connector. You can switch off the ones you would rather it never used.
| Tool | What it does |
|---|---|
odoo_diagnosticar_conexion | Checks credentials, version, available protocol and accessible companies. |
odoo_listar_companias | Lists the companies the technical user can access in that database. |
odoo_listar_almacenes | Lists warehouses and their main stock locations for the selected company. |
odoo_listar_tarifas | Lists active price lists with their currency and company before quoting. |
odoo_listar_impuestos | Lists configured sales or purchase taxes and their identifiers. |
odoo_listar_diarios | Lists accounting journals and available payment methods for transactions. |
odoo_buscar_tercero | Finds customers or vendors by name, tax ID, email address or phone number. |
odoo_consultar_tercero | Returns the commercial and tax profile of a customer or vendor by id. |
odoo_crear_tercero | Creates a customer, a vendor or both after explicit confirmation. |
odoo_actualizar_tercero | Updates the permitted fields on an already identified customer or vendor. |
odoo_buscar_producto | Finds product variants by name, internal reference or barcode. |
odoo_consultar_producto | Returns the commercial profile of a product variant by id. |
odoo_consultar_precio | Returns base price, cost, currency, unit and configured taxes. |
odoo_consultar_disponibilidad | Returns on hand, free, incoming, outgoing and forecast stock by warehouse. |
odoo_listar_cotizaciones | Lists quotes and sales orders by customer, state, company and date range. |
odoo_consultar_cotizacion | Opens a quote or order with lines, totals, state and portal URL. |
odoo_crear_cotizacion | Creates a draft quote without confirming the order or reserving inventory. |
odoo_confirmar_pedido | Confirms a quote as a sales order inside the app after explicit approval. |
odoo_cancelar_pedido | Cancels a quote or sales order inside the app when Odoo allows it. |
odoo_listar_entregas | Lists deliveries and receipts by sale, purchase, party, state or date. |
odoo_consultar_entrega | Returns a delivery or receipt with its moves and requested and done quantities. |
odoo_reservar_entrega | Asks Odoo to reserve available inventory for a confirmed delivery. |
odoo_validar_entrega | Validates a delivery or receipt in the app and preserves pending wizards. |
odoo_listar_facturas | Lists invoices, credit notes and vendor bills by state and date. |
odoo_consultar_factura | Returns lines, taxes, totals and balance on an invoice or credit note. |
odoo_crear_factura_borrador | Creates a customer invoice or vendor bill without posting or filing it. |
odoo_contabilizar_factura | Posts a draft invoice inside the app after it has been reviewed. |
odoo_crear_nota_credito_borrador | Reverses an invoice with the official wizard and leaves a draft credit note. |
odoo_registrar_pago | Registers and reconciles a payment on an invoice through the official wizard. |
odoo_consultar_cartera | Lists open receivable or payable items with due date, balance and currency. |
odoo_consultar_estado_edi | Returns only the EDI or tax fields installed for an invoice. |
odoo_listar_ordenes_compra | Lists requests for quotation and purchase orders by vendor and state. |
odoo_consultar_orden_compra | Returns lines, totals, receipts and billing for a purchase order. |
odoo_crear_solicitud_cotizacion | Creates a draft purchase request for quotation without confirming it. |
odoo_confirmar_orden_compra | Confirms the request as a purchase order inside the app. |
odoo_listar_recepciones | Lists the receipts Odoo generated for a purchase order. |
The limits
What the Odoo integration does NOT do
We would rather say it here than have you find out during rollout.
-
It does not confirm or cancel sales orders, validate deliveries, post invoices, create credit notes, register payments or confirm purchases from WhatsApp, Instagram or Messenger. Those actions stay inside the app and there is no setting that bypasses the guard.
-
It does not claim that an invoice was accepted by DIAN, SAT or another authority unless the installation returns that state. The EDI check only reports fields installed by that database's modules and localization.
-
It does not expose generic access to any Odoo model or field. The 36 tools have a closed surface; a custom module requires a reviewed extension to the connector.
-
It does not blindly confirm a backorder or immediate quantities. If Odoo returns a wizard while validating a delivery, the tool explains the pending decision and stops.
-
It does not provide one atomic transaction across several tools. Every external API call is independent, so after a failure it reads the document before retrying a write and duplicating it.
-
It does not create products, make manual stock adjustments, file returns or close books. It operates the documents and masters declared by the connector; accounting judgment and Odoo configuration remain with the company.
-
It does not enable the external API on Odoo Online One App Free or Standard. Those require the Custom plan; Odoo.sh and self-hosted Odoo depend on server configuration instead.
Before you start
What you need to connect Odoo
- 1
An Odoo database reachable over HTTPS
Use the URL of your Odoo Online, Odoo.sh or self-hosted server. Meteor refuses plain HTTP except on test localhost so credentials are never sent without encryption.
- 2
The technical database name
This is the database the user opens in Odoo. On Odoo 19 it travels in X-Odoo-Database; on older versions it is part of JSON-RPC authentication.
- 3
A technical user and its API key
Create a key for a dedicated user and grant only the companies, models and operations it needs. The integration does not require an administrator's personal password.
- 4
The sales, inventory, accounting or purchase modules you intend to use
Install and configure journals, warehouses, price lists and taxes in Odoo. A valid connection cannot replace a missing module or grant permissions the user does not have.
Frequently asked questions
Questions about Odoo and Meteor
Odoo 19 and later use JSON-2. Odoo 17 and 18 use the JSON-RPC fallback. Diagnostics detects the version and protocol before operating, and the tools filter fields against what that database actually exposes.
No. Odoo reserves the external API for the Custom plan on Odoo Online; One App Free and Standard do not include it. Self-hosted Odoo and Odoo.sh do not have that plan limit, but still need correct networking, modules and permissions.
No. It can read invoices, balances and EDI status and prepare permitted documents, but posting, creating credit notes and registering payments are blocked for channel Mets. An operator must complete them in the app after reviewing the data.
Yes. It lists accessible companies and warehouses and accepts an explicit company on each flow. Odoo permissions remain authoritative: if the technical user cannot see a legal entity, neither can the connector.
Not automatically. The connector does not accept arbitrary model or field names because that would turn the model into an unrestricted administrative client. A custom module is added as a typed tool with specific permissions, normalization and tests.
The tool does not blindly retry a write. When it cannot know whether Odoo committed it, it returns posiblemente_creada and requires a lookup by party, date or reference before running again, preventing duplicate quotes, invoices or purchases.
Step by step
Automations that use Odoo
Complete tasks, with the steps and the tools that run at each one.
Collect and manage
Other integrations in the same family
Want to see a Met running Odoo?
We will show you with your own account connected, not with a canned demo.