Odoo Reporting

AdvisoryAudited by Static analysis on Apr 30, 2026.

Overview

No suspicious patterns detected.

Findings (0)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A user may believe the skill can only run after explicit manual invocation, while the registry allows normal model invocation based on the skill description.

Why it was flagged

The runtime metadata contradicts the skill's stated safety policy. Because the skill handles sensitive Odoo financial data, a false invocation-boundary claim could cause users to overtrust when and how the agent may use it.

Skill content
metadata: "disable-model-invocation: false"; SKILL.md: "Model invocation is DISABLED ... it must be explicitly invoked by the user."
Recommendation

Either set the actual policy to disable model invocation or update the documentation to accurately describe when the agent may invoke the skill.

What this means

Installing users may not realize the skill needs credentials that can read sensitive company accounting, customer, order, and payment data.

Why it was flagged

The skill requires a sensitive Odoo password/API key, but the registry contract does not declare any credential or environment-variable requirement. This under-declares account access to a financial ERP system.

Skill content
metadata: "Required env vars: none ... Primary credential: none"; SKILL.md: "ODOO_PASSWORD | Odoo password or API key | Yes"
Recommendation

Declare the Odoo credential requirements in metadata, use a dedicated read-only Odoo user/API key, and limit that account to the needed companies and models.

What this means

If AI features are enabled, invoice/payment references, partner data, amounts, and cash balances could be included in prompts or context handled by code that is not included for review.

Why it was flagged

The AI query path passes Odoo financial records and account balances into an AI component. The referenced `src.logic.openclaw_intelligence` implementation is not present in the manifest, so the actual agent boundary, retention, and routing behavior cannot be verified from the supplied artifacts.

Skill content
context = {"recent_moves": self.client.search_read('account.move', ... limit=20), "cash_flow": self.client.search_read('account.account', ...)}; return self.ai.natural_language_query(query, context)
Recommendation

Include the missing AI helper for review, document whether data remains local and whether it is retained, and make AI analysis explicitly opt-in for sensitive financial records.

What this means

Running setup will execute a shell script and install packages into a virtual environment, and it may test the Odoo connection if a .env file already exists.

Why it was flagged

The formal install metadata says there is no install spec, but the skill documentation instructs users to run a local shell installer that downloads Python packages. This is expected for the tool, but it is under-declared in the install contract.

Skill content
install spec: "No install spec"; SKILL.md: "./install.sh"; install.sh: "./venv/bin/pip install -r requirements.txt"
Recommendation

Review the install script before running it, prefer a locked dependency file for production, and align the registry install metadata with the documented setup.

What this means

The skill can read a wide range of Odoo business data available to the configured account, even if it is designed not to modify it.

Why it was flagged

The Odoo client exposes broad read operations across ERP models but includes explicit client-level blocks for common mutating methods. That makes the behavior purpose-aligned, while still worth noticing because the read scope is broad.

Skill content
SAFE_METHODS = {"search", "search_read", "read", ...}; BLOCKED_METHODS = {"create", "write", "unlink", ...}; raise PermissionError("Blocked mutating method")
Recommendation

Use least-privilege Odoo permissions and verify the configured account only has the read access needed for the reports you intend to generate.