Odoo ERP integration via
. Connect, query, and automate.
typescript
import { createClient } from '@marcfargas/odoo-client';
const client = await createClient(); // reads ODOO_URL, ODOO_DB, ODOO_USER, ODOO_PASSWORD
// Core CRUD — directly on client
const partners = await client.searchRead('res.partner', [['is_company', '=', true]], {
fields: ['name', 'email'],
limit: 10,
});
// Chatter — via client.mail service accessor
await client.mail.postInternalNote('crm.lead', 42, '<p>Called customer.</p>');
await client.mail.postOpenMessage('res.partner', 7, 'Order shipped.');
// Module management — via client.modules accessor
if (await client.modules.isModuleInstalled('sale')) { /* ... */ }
Core CRUD (
,
,
,
, etc.) stays directly on
.
Load as needed by reading
:
Skills for Odoo's mail system. Load by reading
:
Note: The
module is part of base Odoo and is typically always installed.
Breaking changes between Odoo versions are documented in
:
Skills that require specific Odoo modules to be installed. Before loading, verify the required modules are present using
client.modules.isModuleInstalled()
.