erp-connector

Read work orders, BOMs, and inventory from Odoo and ERPNext via unified adapter interface.

1|Updated Jun 21, 2026
One-click install
npx skills add https://github.com/tapway/shogun-os --skill erp-connector-tapway
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: erp-connector
Source: https://github.com/tapway/shogun-os/tree/main/skills/manufacturing/erp-connector
Command: npx skills add https://github.com/tapway/shogun-os --skill erp-connector-tapway

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Manufacturing teams need production data from ERP systems, but each ERP (Odoo, ERPNext) exposes a different API and data model. This Skill provides a single unified interface to read work orders, bills of materials, and inventory levels regardless of the backend, with credentials managed through environment variables. ## Core Features & Use Cases - Multi-Adapter Architecture: Connect to Odoo via XML-RPC or ERPNext via Frappe REST API through one abstract ERPAdapter interface with a factory function. - Manufacturing Data Reads: Fetch work orders, production orders, BOMs with component lines, inventory levels, work centers, and product catalogs in normalized dictionary formats. - Connection Diagnostics: Test connectivity and authentication with a built-in test_connection method before running syncs. - Use Case: A production manager asks the agent to list all in-progress work orders due this week; the Skill authenticates to Odoo, queries mrp.production, and returns normalized order records for scheduling decisions. ## Quick Start Ask the agent to test the ERP connection and list the five most recent in-progress work orders from your Odoo or ERPNext server.

Frequently Asked Questions about erp-connector

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I connect Odoo to read work orders via XML-RPC?

Set ODOO_URL, ODOO_DB, ODOO_USER, and ODOO_PASSWORD environment variables, then call get_adapter("odoo") and connect(). The adapter authenticates via the /xmlrpc/2/common endpoint and reads work orders from the mrp.production model with optional status and date filters.

How do I read BOMs and inventory from ERPNext REST API?

Configure ERPNEXT_URL, ERPNEXT_API_KEY, and ERPNEXT_SECRET, then use the ERPNext adapter's read_boms and read_inventory methods. BOMs are fetched from the BOM and BOM Item doctypes, and inventory comes from Bin records filtered by warehouse.

Odoo vs ERPNext adapter: which should I use?

Use the Odoo adapter if your ERP is Odoo, since it speaks XML-RPC against models like mrp.production and stock.quant. Use the ERPNext adapter for Frappe-based systems, which exposes REST resources like Work Order and Bin. Both return the same normalized record format.

Can this connector write data back to the ERP system?

The connector is primarily read-only for work orders, BOMs, and inventory. The only write operation is update_work_order_status, which changes a work order's state (draft, confirmed, in_progress, done, cancel) on either backend.

Why does my ERP connection fail with an authentication error?

Authentication failures usually mean wrong credentials, an incorrect database name for Odoo, or an expired API key. Verify the environment variables are set, confirm network connectivity to the ERP host and port, and check that the API user has read permissions on manufacturing models.

What are the limitations of this ERP connector?

It supports only Odoo and ERPNext backends (SAP B1 is stubbed in the factory but not implemented here). It does not handle MES/SCADA real-time data, and full syncs can hit API rate limits, so incremental timestamp-based sync is recommended.