Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/NullNaveen/openclaw-odoo-skill
/ functions
Functions
196 in github.com/NullNaveen/openclaw-odoo-skill
⨍
Functions
196
◇
Types & classes
25
↓ 39 callers
Method
search_read
Search and read in a single call (most common operation). Args: model: Odoo model name. domain: Odoo domain filter.
odoo_skill/client.py:241
↓ 36 callers
Function
_field
Format a single label: value line.
odoo_skill/utils/formatting.py:21
↓ 33 callers
Method
read
Read specific records by ID. Args: model: Odoo model name. ids: Single ID or list of IDs. fields: Fields
odoo_skill/client.py:218
↓ 21 callers
Method
create
Create a record. Args: model: Odoo model name. values: Field values for the new record. Returns:
odoo_skill/client.py:272
↓ 20 callers
Function
_money
Format a monetary value.
odoo_skill/utils/formatting.py:15
↓ 20 callers
Method
execute
Execute an Odoo RPC method. Wraps ``execute_kw`` on the ``/xmlrpc/2/object`` endpoint. Args: model: Odoo model name (e.g
odoo_skill/client.py:150
↓ 16 callers
Method
write
Update existing records. Args: model: Odoo model name. ids: Single ID or list of IDs to update. values: F
odoo_skill/client.py:284
↓ 5 callers
Function
_header
(emoji: str, title: str)
odoo_skill/utils/formatting.py:33
↓ 5 callers
Method
_read_lead
Read a single lead/opportunity by ID.
odoo_skill/models/crm.py:202
↓ 5 callers
Method
_respond
(self, status: int, data: dict)
odoo_skill/sync/webhook.py:90
↓ 5 callers
Method
find_or_create_partner
Search for a partner by name. Create if not found. Uses case-insensitive ``ilike`` matching. If multiple matches, returns the best ma
odoo_skill/smart_actions.py:66
↓ 4 callers
Method
_read_mo
Read a single manufacturing order by ID.
odoo_skill/models/manufacturing.py:277
↓ 4 callers
Method
_read_task
Read a single task by ID.
odoo_skill/models/project.py:326
↓ 4 callers
Method
get_po
Get full details of a single purchase order. Args: po_id: The purchase order ID. Returns: Purchase order rec
odoo_skill/models/purchase.py:142
↓ 3 callers
Method
_read_employee
Read a single employee by ID.
odoo_skill/models/hr.py:401
↓ 3 callers
Method
_save_state
Persist last-check timestamps to disk.
odoo_skill/sync/poller.py:208
↓ 3 callers
Function
classify_error
Classify a raw exception into the appropriate OdooError subclass. Examines the fault string from XML-RPC faults and maps known Odoo error pat
odoo_skill/errors.py:68
↓ 3 callers
Method
find_or_create_product
Search for a product by name or internal reference. Create if not found. Args: name: Product name or SKU to search for.
odoo_skill/smart_actions.py:131
↓ 3 callers
Method
get_order
Get full details of a single sales order. Args: order_id: The sale order ID. Returns: Order record dict.
odoo_skill/models/sale_order.py:132
↓ 3 callers
Method
validate
Check that all required fields are populated. Returns: A list of human-readable error strings (empty == valid).
odoo_skill/config.py:53
↓ 2 callers
Function
_divider
()
odoo_skill/utils/formatting.py:37
↓ 2 callers
Method
_read_event
Read a single event by ID.
odoo_skill/models/calendar_ops.py:199
↓ 2 callers
Method
_read_project
Read a single project by ID.
odoo_skill/models/project.py:319
↓ 2 callers
Method
get_invoice
Get full details of a single invoice. Args: invoice_id: The invoice ID. Returns: Invoice record dict, or emp
odoo_skill/models/invoice.py:105
↓ 2 callers
Function
load_config
Load configuration from environment variables with config.json fallback. **Priority order** (highest → lowest): 1. Environment variables (``O
odoo_skill/config.py:82
↓ 2 callers
Method
unlink
Delete records. Args: model: Odoo model name. ids: Single ID or list of IDs to delete. Returns:
odoo_skill/client.py:299
↓ 2 callers
Function
validate_positive_number
Validate that a value is a positive number. Args: value: The value to check. field_name: Human-readable name for error messages.
odoo_skill/utils/validators.py:76
↓ 1 callers
Method
_find_or_create_project
Search for a project by name. Create if not found. Args: name: Project name. **defaults: Additional fields for creati
odoo_skill/smart_actions.py:187
↓ 1 callers
Method
_load_state
Load last-check timestamps from disk.
odoo_skill/sync/poller.py:194
↓ 1 callers
Method
_poll_all
Poll every watched model for changes.
odoo_skill/sync/poller.py:152
↓ 1 callers
Method
_poll_model
Poll a single model for changes since last_check.
odoo_skill/sync/poller.py:165
↓ 1 callers
Method
_read_vehicle
Read a single vehicle by ID.
odoo_skill/models/fleet.py:293
↓ 1 callers
Method
authenticate
Authenticate against Odoo and cache the user ID. Returns: The authenticated user's ID (``uid``). Raises: Odo
odoo_skill/client.py:116
↓ 1 callers
Method
create_department
Create a new department. Args: name: Department name. parent_id: Parent department ID for hierarchical org.
odoo_skill/models/hr.py:180
↓ 1 callers
Method
create_employee
Create a new employee record. Args: name: Employee's full name. job_title: Job title/position. department
odoo_skill/models/hr.py:69
↓ 1 callers
Method
create_event
Create a calendar event. Args: name: Event title/subject. start: Start datetime as ``YYYY-MM-DD HH:MM:SS`` or
odoo_skill/models/calendar_ops.py:43
↓ 1 callers
Method
create_invoice
Create a customer invoice. Args: partner_id: Customer ID. lines: List of line dicts, each containing at minimum
odoo_skill/models/invoice.py:40
↓ 1 callers
Method
create_lead
Create a new CRM lead. Args: name: Lead title / subject. contact_name: Contact person name. email: Contac
odoo_skill/models/crm.py:40
↓ 1 callers
Method
create_project
Create a new project. Args: name: Project name. partner_id: Customer associated with the project. descrip
odoo_skill/models/project.py:58
↓ 1 callers
Method
create_purchase_order
Create a new purchase order (RFQ). Args: partner_id: Vendor/supplier partner ID. lines: List of line dicts, each cont
odoo_skill/models/purchase.py:50
↓ 1 callers
Method
create_quotation
Create a new sales quotation. Args: partner_id: Customer ID. lines: List of line dicts, each containing at minimum
odoo_skill/models/sale_order.py:45
↓ 1 callers
Method
create_task
Create a task within a project. Args: project_id: The project to create the task in. name: Task name/title.
odoo_skill/models/project.py:133
↓ 1 callers
Function
execute_command
Parse natural language command and execute appropriate Odoo operation. This is a simple parser - in production, OpenClaw's LLM would han
odoo.py:70
↓ 1 callers
Method
from_env
Create a client loading config from environment / config.json.
odoo_skill/client.py:58
↓ 1 callers
Method
get_bom
Get full details of a Bill of Materials. Args: bom_id: The BOM ID. Returns: BOM record dict with lines, or e
odoo_skill/models/manufacturing.py:112
↓ 1 callers
Function
handle_check_stock
Check product stock.
odoo.py:155
↓ 1 callers
Function
handle_confirm_order
Confirm a sales order.
odoo.py:135
↓ 1 callers
Function
handle_create_employee
Create employee.
odoo.py:165
↓ 1 callers
Function
handle_create_lead
Create CRM lead.
odoo.py:140
↓ 1 callers
Function
handle_create_opportunity
Create CRM opportunity.
odoo.py:145
↓ 1 callers
Function
handle_create_purchase
Create purchase order.
odoo.py:150
↓ 1 callers
Function
handle_create_quotation
Parse create quotation command. Example: "Create quotation for Snake with 100 Snake Skin at $10"
odoo.py:117
↓ 1 callers
Function
handle_create_task
Create project task.
odoo.py:160
↓ 1 callers
Function
main
Main entry point for OpenClaw skill invocation.
odoo.py:20
↓ 1 callers
Function
validate_id
Validate that a value is a positive integer ID. Args: value: The value to check. field_name: Human-readable name for error messag
odoo_skill/utils/validators.py:107
↓ 1 callers
Method
version
Get the Odoo server version info (no auth required).
odoo_skill/client.py:350
Method
__init__
Initialise the client. Args: config: An :class:`OdooConfig` instance. If *None*, configuration is loaded from en
odoo_skill/client.py:38
Method
__init__
(self, client: OdooClient)
odoo_skill/smart_actions.py:52
Method
__init__
(self, message: str, fault_code: int = 0, model: str = "", method: str = "")
odoo_skill/errors.py:18
Method
__init__
(self, client: OdooClient)
odoo_skill/models/inventory.py:43
Method
__init__
(self, client: OdooClient)
odoo_skill/models/calendar_ops.py:38
Method
__init__
(self, client: OdooClient)
odoo_skill/models/project.py:53
Method
__init__
(self, client: OdooClient)
odoo_skill/models/purchase.py:45
Method
__init__
(self, client: OdooClient)
odoo_skill/models/hr.py:64
Method
__init__
(self, client: OdooClient)
odoo_skill/models/ecommerce.py:39
Method
__init__
(self, client: OdooClient)
odoo_skill/models/crm.py:35
Method
__init__
(self, client: OdooClient)
odoo_skill/models/sale_order.py:40
Method
__init__
(self, client: OdooClient)
odoo_skill/models/partner.py:33
Method
__init__
(self, client: OdooClient)
odoo_skill/models/manufacturing.py:55
Method
__init__
(self, client: OdooClient)
odoo_skill/models/fleet.py:58
Method
__init__
(self, client: OdooClient)
odoo_skill/models/invoice.py:35
Method
__init__
( self, port: int = 8069, host: str = "0.0.0.0", secret: str = "", )
odoo_skill/sync/webhook.py:120
Method
__init__
( self, client: OdooClient, interval: int = 60, state_file: Optional[Path] = N
odoo_skill/sync/poller.py:46
Method
__repr__
(self)
odoo_skill/client.py:379
Method
_run_loop
Main polling loop — runs in the background thread.
odoo_skill/sync/poller.py:142
Method
approve_leave
Approve a pending leave request. Args: leave_id: The leave request ID. Returns: The updated leave record.
odoo_skill/models/hr.py:278
Method
assign_task
Assign users to a task. Args: task_id: The task ID. user_ids: List of user IDs to assign. Returns:
odoo_skill/models/project.py:189
Method
cancel_order
Cancel a sales order. Args: order_id: The sale order ID. Returns: The updated order record (state should be
odoo_skill/models/sale_order.py:117
Method
cancel_po
Cancel a purchase order. Args: po_id: The purchase order ID. Returns: The updated purchase order record.
odoo_skill/models/purchase.py:127
Method
check_product_availability
Check stock and forecast for a single product. Args: product_id: The ``product.product`` ID. Returns: Dict w
odoo_skill/models/inventory.py:80
Method
common
``/xmlrpc/2/common`` endpoint (lazy, cached).
odoo_skill/client.py:87
Method
confirm_mo
Confirm a draft manufacturing order. Args: mo_id: The manufacturing order ID. Returns: The updated manufactu
odoo_skill/models/manufacturing.py:198
Method
confirm_order
Confirm a draft quotation → sales order. Args: order_id: The sale order ID. Returns: The updated order recor
odoo_skill/models/sale_order.py:104
Method
confirm_po
Confirm a draft RFQ → purchase order. Args: po_id: The purchase order ID. Returns: The updated purchase orde
odoo_skill/models/purchase.py:114
Method
create_bom
Create a Bill of Materials (BOM). Args: product_tmpl_id: Product template ID for the finished product. components: Li
odoo_skill/models/manufacturing.py:60
Method
create_customer
Create a new customer in Odoo. Args: name: Customer / company name. email: Contact email address. phone:
odoo_skill/models/partner.py:38
Method
create_expense
Create an expense record for an employee. Args: name: Expense description/title. employee_id: The employee submitting
odoo_skill/models/hr.py:306
Method
create_leave_request
Create a leave (time off) request for an employee. Args: employee_id: The employee requesting leave. leave_type_id: T
odoo_skill/models/hr.py:212
Method
create_manufacturing_order
Create a manufacturing order. Args: product_id: The product to manufacture (``product.product`` ID). product_qty: Qua
odoo_skill/models/manufacturing.py:159
Method
create_opportunity
Create a new CRM opportunity (linked to a partner). Args: name: Opportunity title. partner_id: Associated customer/pa
odoo_skill/models/crm.py:77
Method
create_service_log
Log a service/maintenance record for a vehicle. Args: vehicle_id: The vehicle ID. service_type_id: Service type ID (`
odoo_skill/models/fleet.py:206
Method
create_vehicle
Create a new vehicle record. Args: model_id: Vehicle model ID (``fleet.vehicle.model``). license_plate: Vehicle licen
odoo_skill/models/fleet.py:63
Function
decorator
(func: F)
odoo_skill/retry.py:64
Method
delete_customer
Delete (archive) a customer. Note: Odoo may prevent deletion if the partner has linked transactions. In that case, th
odoo_skill/models/partner.py:130
Method
delete_event
Delete a calendar event. Args: event_id: The event ID. Returns: ``True`` on success.
odoo_skill/models/calendar_ops.py:184
Method
do_GET
Health-check endpoint.
odoo_skill/sync/webhook.py:80
Method
do_POST
Handle an incoming webhook POST request.
odoo_skill/sync/webhook.py:35
Method
fields_get
Retrieve field metadata for a model (cached). Args: model: Odoo model name. attributes: Metadata attributes to includ
odoo_skill/client.py:325
Method
find_customer
Search customers by name, email, or phone. Args: query: Free-text search string. limit: Max results to return.
odoo_skill/models/partner.py:75
Function
format_customer
Format a customer record for chat display. Args: customer: Partner dict from Odoo. Returns: Markdown-formatted string.
odoo_skill/utils/formatting.py:43
next →
1–100 of 196, ranked by callers