Odoo Community es una de las soluciones ERP de código abierto más extendidas en España y Europa. A diferencia de los ERPs tradicionales basados en archivos Access (.accdb/.mdb) o instancias SQL directas, Odoo expone su capa de negocio a través de un servicio JSON-RPC 2.0 nativo en el puerto 8069. El Conector Odoo de Bentian ERP Bridge interactúa directamente con este endpoint oficial, garantizando que todas las reglas de negocio, stock y tarifas sean procesadas por el ORM de Odoo sin tocar la base de datos PostgreSQL por detrás.
1. Arquitectura y Protocolo JSON-RPC 2.0
Bentian se comunica con la instancia local o remota de Odoo realizando peticiones POST a http://127.0.0.1:8069/jsonrpc. Este mecanismo ofrece tres ventajas fundamentales:
- Cero riesgo de corrupción de datos: Toda escritura pasa por los modelos oficiales (
res.partner,sale.order,stock.quant). - Compatibilidad Docker y Cloud: Funciona tanto en instalaciones locales en Windows como en contenedores Docker o servidores VPS Linux.
- Cálculo automático de impuestos: Al generar un pedido, Odoo calcula el IVA correspondiente (21%, 10%, 4%) según la posición fiscal del cliente.
2. Autenticación con common.authenticate
El conector inicia la sesión llamando al servicio common con el método authenticate, recibiendo el identificador numérico de usuario (uid):
{
"jsonrpc": "2.0",
"method": "call",
"params": {
"service": "common",
"method": "authenticate",
"args": ["nombre_base_datos", "admin", "clave_o_api_key", {}]
},
"id": 1
}
3. Mapeo de Catálogo, Variantes y Stock
La lectura de productos se realiza contra el modelo product.product mediante execute_kw. El adaptador extrae el código SKU (default_code), precio de venta (list_price), código de barras (barcode) y stock disponible libre (free_qty o qty_available), sincronizándolo de inmediato con WooCommerce o PrestaShop.
4. Creación Atómica de Pedidos en sale.order
Cuando entra un nuevo pedido desde la web:
- Búsqueda de cliente: Se busca en
res.partnerpor email. Si no existe, se crea automáticamente con su nombre fiscal. - Líneas de pedido: Se construyen las tuplas Odoo
[0, 0, { product_id, product_uom_qty, price_unit }]. - Transacción única: Se crea el pedido en
sale.ordery Bentian obtiene el número correlativo oficial (ej.S00001).
5. Configuración en Bentian Agent y Pruebas
Para conectar Odoo, abre el panel local de Bentian (http://127.0.0.1:39281), selecciona el proveedor Odoo ERP en el desplegable y rellena:
• Base de Datos: nombre_de_tu_bd_odoo
• Usuario: tu_usuario_odoo (ej. admin o correo)
• Contraseña / API Key: tu contraseña de acceso o clave API
Pulsa «Probar Conexión» para validar que el servicio responde y comenzar a sincronizar tu catálogo al instante.