with one click
odoo
// Use when the user asks for Odoo accounting audits, VAT/cashflow analysis, inventory valuation, or financial reporting that must come directly from Odoo via RPC with reproducible, evidence-backed numbers.
// Use when the user asks for Odoo accounting audits, VAT/cashflow analysis, inventory valuation, or financial reporting that must come directly from Odoo via RPC with reproducible, evidence-backed numbers.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | odoo |
| description | Use when the user asks for Odoo accounting audits, VAT/cashflow analysis, inventory valuation, or financial reporting that must come directly from Odoo via RPC with reproducible, evidence-backed numbers. |
Use this skill for deterministic Odoo financial reporting.
create, write, unlink, and similar actions).python3 ./skills/odoo/assets/autonomous-cfo/src/tools/cfo_cli.py
--rpc-backend auto (default): prefers JSON-2 for Odoo 19+, falls back to XML-RPC.--rpc-backend json2--rpc-backend xmlrpcQuick health check:
python3 ./skills/odoo/assets/autonomous-cfo/src/tools/cfo_cli.py doctor
From assets/autonomous-cfo/.env:
ODOO_URLODOO_DBODOO_USERODOO_PASSWORDRecommended: use Odoo API key as ODOO_PASSWORD and least-privilege bot user.
python3 ./skills/odoo/assets/autonomous-cfo/src/tools/cfo_cli.py summary --days 30
python3 ./skills/odoo/assets/autonomous-cfo/src/tools/cfo_cli.py cash_flow
python3 ./skills/odoo/assets/autonomous-cfo/src/tools/cfo_cli.py vat --date-from YYYY-MM-DD --date-to YYYY-MM-DD
python3 ./skills/odoo/assets/autonomous-cfo/src/tools/cfo_cli.py trends --months 12 --visualize
python3 ./skills/odoo/assets/autonomous-cfo/src/tools/cfo_cli.py anomalies
python3 ./skills/odoo/assets/autonomous-cfo/src/tools/cfo_cli.py anomalies --ai
python3 ./skills/odoo/assets/autonomous-cfo/src/tools/cfo_cli.py ask "..."
python3 ./skills/odoo/assets/autonomous-cfo/src/tools/cfo_cli.py rpc-call --model <model> --method <read_method> --payload '<json>'
Useful controls:
--company-id for single-entity scope--lang, --tz for consistent localization--timeout, --retries for network stabilityBefore final output, always:
If checks disagree, report as provisional and drill down.
Minimum output:
output_vatinput_vatnet_vat_liability = output_vat - input_vatRules:
fields_get)Allowed: narrative, prioritization, risk commentary.
Not allowed: replacing deterministic numbers or claiming audited certainty without evidence.
For AI-assisted output, include source scope + deterministic basis + confidence.
Use this structure in user-facing reports:
On failure:
doctor if connection/auth/model access is suspect.