Token导航 LogoToken导航

Agent Skill · 研究检索

odoo-reporting(odoo 报告)

odoo-reporting 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

odoo-reporting 是研究检索类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为接触敏感数据;许可证为 MIT-0,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 6,091。

总安装 23,332周安装 992GitHub Stars 公开资料未说明下载 8,174核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
2.0.7

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:odoo-reporting(odoo 报告)
来源仓库:https://github.com/ashrf-in/odoo-reporting
安装命令:
openclaw skills install odoo-reporting
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install odoo-reporting

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

基于 Odoo 数据生成销售、库存与客户分析报告。适合在 OpenClaw 中辅助商业决策与运营复盘任务。通过 clawhub 安装,支持多维度数据聚合与可视化建议。使用前需确认报表权限与敏感字段脱敏规则。odoo-reporting 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

建议核对原始文档了解模板结构与参数配置方式。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install odoo-reporting;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

odoo-reporting 怎么安装?

在终端执行 openclaw skills install odoo-reporting。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

odoo-reporting 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

odoo-reporting 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

odoo-reporting 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

odoo-reporting 用的人多吗?

公开数据是累计安装 23,332 次,近一周安装 992 次,下载 8,174 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

odoo-reporting 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
odoo-reporting

odoo 报告 · 本页

23,332—接触敏感数据MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
odoo
description
Query Odoo data including salesperson performance, customer analytics, orders, invoices, CRM, accounting, VAT, inventory, and AR/AP. Generates WhatsApp cards, PDFs, Excel. Use when user explicitly mentions Odoo or asks for Odoo data.

Odoo Financial Intelligence

Read-only, Evidence-First, Ledger-Based Reports

Quick Reference: Common Odoo Models

ModelWhat It ContainsUse For
res.usersUsers/SalespeopleFind salesperson by name, get user_id
sale.orderSales OrdersRevenue by salesperson, order counts, status
account.moveInvoices/Journal EntriesInvoice tracking, payments, P&L data
res.partnerContacts/CustomersCustomer info, top customers by revenue
product.productProductsProduct sales, inventory
account.accountChart of AccountsFinancial reporting, balance sheet
account.move.lineJournal LinesDetailed ledger entries

Security & Credentials

Security Model

This skill implements a defense-in-depth security model:

  1. User Invocation Required: This skill CANNOT be invoked autonomously by AI models
  2. Read-Only Enforcement: All data modifications are blocked at the code level
  3. Credential Isolation: Credentials stored only in local .env file, never transmitted elsewhere
  4. Network Boundaries: Only connects to user-specified Odoo URL, no external telemetry

Required Environment Variables

This skill REQUIRES Odoo connection credentials stored in assets/autonomous-cfo/.env:

VariableDescriptionSecretRequired
ODOO_URLOdoo instance URL (e.g., https://your-odoo.com)NoYes
ODOO_DBOdoo database nameNoYes
ODOO_USEROdoo username/emailNoYes
ODOO_PASSWORDOdoo API key (recommended) or passwordYesYes

⚠️ CRITICAL: These credentials are REQUIRED. The skill will not function without them.

Setup:

cd skills/odoo/assets/autonomous-cfo
cp .env.example .env
# Edit .env with your actual credentials
nano .env

API Key vs Password

For production, use an Odoo API key:

  1. Log into Odoo → Settings → Account Security → API Keys
  2. Generate a new key (e.g., "Financial Reports Skill")
  3. Use this key as ODOO_PASSWORD

Why API keys?

  • Scoped permissions (can be read-only)
  • Can be revoked independently
  • Don't expose your main password
  • Better audit trail in Odoo

Authentication Methods

XML-RPC (Legacy, default):

  • Password/API key sent in XML-RPC request body
  • Supported by all Odoo versions

JSON-RPC (Odoo 19+):

  • API key sent as Authorization: Bearer <api_key> header
  • More efficient for large datasets
  • Use ODOO_RPC_BACKEND=json2 to enable

Model Invocation Policy

🚫 Model invocation is STRICTLY DISABLED.

Per skill.json:

"modelInvocation": {
  "disabled": true,
  "requiresUserInvocation": true
}

This means:

  • AI models CANNOT invoke this skill automatically
  • User MUST explicitly request Odoo operations
  • Every invocation requires user intent

Read-Only Enforcement

⚠️ IMPORTANT: Client-Side Enforcement Limitation

The skill implements client-side read-only enforcement. This means:

  • Mutating methods are blocked in the Python code
  • Blocked methods raise PermissionError if called
  • However, a modified or compromised client could bypass this

For Production Security:

  1. Use a read-only Odoo user (recommended)
  2. Don't give modify permissions to the API key's user
  3. Review Odoo access logs regularly

Blocked Methods:

  • create, write, unlink (CRUD operations)
  • copy (duplicate records)
  • action_post, action_confirm, button_validate (workflow actions)

Allowed Methods (Read-Only):

  • search, search_read, read (data retrieval)
  • search_count, fields_get (metadata)
  • name_search, context_get, default_get (helpers)

Attempting to call blocked methods raises PermissionError.

Data Handling & Privacy

  • No Data Exfiltration: Reports generated locally in assets/autonomous-cfo/output/
  • No Telemetry: No usage data sent to external servers
  • Network Isolation: Only connects to ODOO_URL specified in .env
  • Credential Security: Password/API key never logged or displayed
  • Local Processing: All chart generation, PDF creation happens locally

Output Security

All outputs are local files only:

  • output/pdf_reports/ - PDF reports
  • output/whatsapp_cards/ - PNG image cards
  • output/charts/ - Chart images
  • output/excel/ - Excel spreadsheets

No cloud upload, no external sharing, no data leaves your machine except to your specified Odoo instance.

Installation

The skill requires a Python virtual environment with specific packages:

cd skills/odoo/assets/autonomous-cfo
./install.sh

Or manually:

cd skills/odoo/assets/autonomous-cfo
python3 -m venv venv
./venv/bin/pip install -r requirements.txt

Dependencies: requests, matplotlib, pillow, fpdf2, openpyxl

Critical Rules

  1. NEVER assume - Always ask clarifying questions before generating reports
  2. Multi-company check - If multiple companies exist, ASK which one to use
  3. Ledger-based - Use Chart of Accounts and journal entries (account.move.line), not just invoice summaries
  4. Verify periods - Confirm date ranges with user before running
  5. No silent defaults - Every assumption must be confirmed

Before Any Report, Ask:

  1. "Which company should I use?" (if multiple exist)
  2. "What period? (from/to dates)"
  3. "Which accounts or account types to include?"
  4. "Any specific breakdown needed?" (by account, by partner, by journal, etc.)
  5. "Output format preference?" (PDF, WhatsApp cards, or both)

Entrypoint

Uses the venv with fpdf2, matplotlib, pillow for proper PDF/chart generation:

./skills/odoo/assets/autonomous-cfo/venv/bin/python ./skills/odoo/assets/autonomous-cfo/src/tools/cfo_cli.py <command>

Or from the skill directory:

cd skills/odoo/assets/autonomous-cfo && ./venv/bin/python src/tools/cfo_cli.py <command>

Chart of Accounts Based Reporting

Reports should be built from:

  • account.account - Chart of Accounts structure (code, name, type, internal_group)
  • account.move.line - Journal entry lines (debit, credit, account_id, date)
  • account.journal - Source journals (type: sale, purchase, cash, bank, general)

Account Internal Groups

  • ASSET - Assets (current, non-current, cash, receivables)
  • LIABILITY - Liabilities (payables, taxes, accrued)
  • EQUITY - Owner's equity
  • INCOME - Revenue accounts
  • EXPENSE - Cost and expense accounts
  • OFF_BALANCE - Off-balance sheet accounts

Common Account Types

  • asset_cash - Bank and cash accounts
  • asset_receivable - Accounts receivable
  • asset_current - Current assets
  • liability_payable - Accounts payable
  • income - Revenue
  • expense - Expenses

Special Equity Types (Odoo-Specific)

  • equity - Standard equity accounts (share capital, retained earnings)
  • equity_unaffected - Suspense account for undistributed profits/losses (e.g., 999999)

CRITICAL for Balance Sheet: Odoo's equity_unaffected is a SUSPENSE account. Do NOT use its ledger balance directly.

Correct Equity Calculation:

  1. Equity Proper (type: equity) - Use ledger balance (credit - debit)
  2. Retained Earnings (prior years) - Ledger balance from equity_unaffected
  3. Current Year Earnings - Compute real-time: Income - Expenses
Total Equity = Equity Proper + Retained Earnings + Current Year Earnings

Where Current Year Earnings = Σ(income credit-debit) - Σ(expense debit-credit)

Why this matters: Odoo computes Current Year Earnings in real-time on the Balance Sheet. Using only the equity_unaffected ledger balance will cause the balance sheet to NOT balance.

Automatic Reporting Standard Detection

The skill automatically detects the company's accounting standard based on country/jurisdiction and formats reports accordingly.

Supported Standards:

StandardJurisdictionNotes
IFRSInternationalDefault for most countries
US GAAPUnited StatesSEC registrants
Ind-ASIndiaIndian GAAP converged with IFRS
UK GAAPUnited KingdomFRS 102
SOCPASaudi ArabiaIFRS adopted
EU IFRSEuropean UnionIAS Regulation
CASChinaChinese Accounting Standards
JGAAPJapanJapanese GAAP
ASPECanadaPrivate enterprises
AASBAustraliaAustralian standards

Detection Logic:

  1. Query company's country from res.company
  2. Map country code to reporting standard
  3. Apply standard-specific formatting:

- Number format (1,234.56 vs 1.234,56) - Negative display ((123) vs -123) - Date format (DD/MM/YYYY vs MM/DD/YYYY) - Statement titles (Balance Sheet vs Statement of Financial Position) - Cash flow method (indirect vs direct)

Override:

# Force a specific standard
reporter.generate(..., standard="US_GAAP")

Commands

Sales & CRM Queries

# Salesperson performance - use direct RPC for flexibility
./venv/bin/python -c "
from src.visualizers.whatsapp_cards import WhatsAppCardGenerator
# Query sale.order by user_id, aggregate by month/status
# Generate cards with generate_kpi_card() and generate_comparison_card()
"

# Example RPC query for salesperson:
# - sale.order (user_id, amount_total, state, date_order)
# - account.move (invoice_user_id, amount_total, payment_state)
# - res.users (salesperson info)
# - res.partner (customer info)

Pre-built Reports

# Financial Health - cash flow, liquidity, burn rate, runway
cfo_cli.py health --from YYYY-MM-DD --to YYYY-MM-DD --company-id ID

# Revenue Analytics - MoM trends, top customers
cfo_cli.py revenue --from YYYY-MM-DD --to YYYY-MM-DD --company-id ID

# AR/AP Aging - overdue buckets
cfo_cli.py aging --as-of YYYY-MM-DD --company-id ID

# Expense Breakdown - by vendor/category
cfo_cli.py expenses --from YYYY-MM-DD --to YYYY-MM-DD --company-id ID

# Executive Summary - one-page CFO snapshot
cfo_cli.py executive --from YYYY-MM-DD --to YYYY-MM-DD --company-id ID

Direct RPC Queries (Advanced)

For sales/CRM data not covered by pre-built commands, use direct RPC:

# Query sales orders by salesperson
orders = jsonrpc('sale.order', 'search_read',
    [[('user_id', '=', SALESPERSON_ID)]],
    {'fields': ['name', 'partner_id', 'amount_total', 'state', 'date_order']})

# Query invoices by salesperson
invoices = jsonrpc('account.move', 'search_read',
    [[('invoice_user_id', '=', SALESPERSON_ID), ('move_type', '=', 'out_invoice')]],
    {'fields': ['name', 'partner_id', 'amount_total', 'payment_state']})

# Find salesperson by name
users = jsonrpc('res.users', 'search_read',
    [[('name', 'ilike', 'name_here')]],
    {'fields': ['id', 'name', 'login']})

Ad-hoc Reports

# Custom comparison
cfo_cli.py adhoc --from YYYY-MM-DD --to YYYY-MM-DD --metric-a "revenue" --metric-b "expenses"

# Examples:
cfo_cli.py adhoc --metric-a "cash in" --metric-b "cash out"
cfo_cli.py adhoc --metric-a "direct expenses" --metric-b "indirect expenses"

Output Formats

--output whatsapp   # Dark theme 1080x1080 PNG cards
--output pdf        # Light theme A4 PDF
--output excel      # Excel workbook (.xlsx)
--output both       # PDF + WhatsApp cards
--output all        # PDF + Excel + WhatsApp cards

Automatic Visualizations

Reports always include appropriate visualizations by default:

ReportAuto-Included Charts
Financial HealthCash position, burn rate trend, runway
RevenueMoM trend, top customers, growth KPI
AR/AP AgingAging buckets pie, overdue highlights
ExpensesCategory breakdown, trend, top vendors
ExecutiveAll KPI cards, summary charts
Balance SheetAsset/liability composition
P&LRevenue vs expense, margin trend
Cash FlowOperating breakdown, cash trend

Rule: If visualization makes the report clearer, include it automatically. Never ask "do you want charts?" — just add them.

Interactive Param Collection

If required params are missing, the skill will ask:

  1. Company: "Which company?" (list available options)
  2. Period: "What period? (e.g., 'last month', 'Q4 2024', custom dates)"
  3. Accounts: "Which accounts or groups?" (e.g., 'all income', 'bank accounts only')
  4. Breakdown: "Group by? (Month, Customer, Category, Account)"
  5. Output: "Output format? (WhatsApp cards, PDF, Both)"

How to Use in Chat

Just ask naturally:

Sales & CRM:

  • "How is [name] salesperson performance?"
  • "Show me top customers for [salesperson]"
  • "Compare sales team performance"
  • "Which salesperson has the most orders?"

Financial Reports:

  • "Give me a financial health report for last quarter"
  • "Show revenue vs expenses for the past 6 months"
  • "What's my AR aging?"
  • "Generate an executive summary for this month"
  • "Show me profit & loss statement based on chart of accounts"

General Queries:

  • "How many orders did we get this month?"
  • "Who are the top 10 customers?"
  • "Show invoice status for [customer name]"

The skill will:

  1. Check for multiple companies and ask which one
  2. Parse your request
  3. Ask for any missing info
  4. Fetch data from Odoo using ledger entries or direct RPC
  5. Generate charts + WhatsApp cards
  6. Deliver via WhatsApp cards and/or PDF

Hard Rules

  1. Odoo RPC output is source of truth
  2. Strict read-only (no create/write/unlink)
  3. No proactive actions unless requested
  4. Every number includes methodology note
  5. Always verify with user before assuming
  6. Always include visualizations - If a report benefits from charts/graphs, include them automatically without asking. Reports should be visually complete.

Diagnostics

python3 ./skills/odoo/assets/autonomous-cfo/src/tools/cfo_cli.py doctor

Report Themes

  • WhatsApp Cards: "Midnight Ledger" — Navy-black (#0a0e1a), copper glow (#cd7f32)
  • PDF Reports: Clean white, copper accents, professional layout

平台分布

OpenClaw

80.67%
按下载量换算6,594

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

未展示

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills