网淘吧来吧,欢迎您!

Odoo Reporting技能使用说明

2026-03-29 新闻来源:网淘吧 围观:19
电脑广告
手机广告

Odoo财务智能

只读、凭证优先、基于总账的报告

快速参考:常见Odoo模型

模型包含内容用途
res.users用户/销售人员按姓名查找销售人员,获取用户ID
sale.order销售订单按销售人员的收入、订单数量、状态
account.move发票/日记账分录发票跟踪、付款、损益表数据
res.partner联系人/客户客户信息、按收入排名的顶级客户
product.product产品产品销售、库存
account.account会计科目表财务报表,资产负债表
会计移动行日记账分录明细分类账条目

安全与凭证

所需环境变量

此技能需要存储在assets/autonomous-cfo/.env中的 Odoo 连接凭证

变量描述
机密ODOO_URLOdoo 实例 URL(例如,https://your-odoo.com
ODOO_DBOdoo 数据库名称
ODOO_USEROdoo 用户名/邮箱
ODOO_PASSWORD是的

设置:

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

模型调用策略

模型调用已被**禁用**根据skill.json中的策略。此技能处理敏感的财务数据和外部Odoo连接——必须由用户明确调用。

数据处理:所有查询均为只读。不会修改或外泄任何数据。

数据处理

  • 只读:所有变更方法(createwriteunlink等)已在客户端层面被阻止
  • 不外泄:报告在本地生成于assets/autonomous-cfo/output/
  • 网络端点:仅连接到在.env
  • 输出格式:PDF、Excel 和 WhatsApp 图片卡片(仅限本地文件)

安装

该功能需要包含特定包的 Python 虚拟环境:

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

或手动安装:

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

依赖项: requestsmatplotlibpillowfpdf2openpyxl

关键规则

  1. 切勿假设- 在生成报告前,务必先询问澄清性问题
  2. 多公司检查- 如果存在多个公司,务必询问使用哪一个
  3. 基于总账- 使用会计科目表和日记账分录(account.move.line),而不仅仅是发票摘要
  4. 核实期间- 在运行前与用户确认日期范围
  5. 无静默默认值- 每个假设都必须经过确认

生成任何报告前,询问:

  1. “我应该使用哪家公司?”(如果存在多家公司)
  2. “需要哪个期间?(起止日期)”
  3. “需要包含哪些账户或账户类型?”
  4. “需要任何特定的细分吗?”(按账户、按合作伙伴、按日记账等)
  5. “输出格式偏好?”(PDF、WhatsApp卡片,或两者都要)

入口点

使用包含 fpdf2、matplotlib、pillow 的虚拟环境以正确生成PDF/图表:

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

或从技能目录:

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

基于会计科目表的报告

报告应基于以下内容构建:

  • account.account- 会计科目表结构(代码、名称、类型、内部组别)
  • account.move.line- 日记账分录行(借方、贷方、账户ID、日期)
  • account.journal- 源日记账(类型:销售、采购、现金、银行、总账)

账户内部组

  • 资产- 资产(流动资产、非流动资产、现金、应收款项)
  • 负债- 负债(应付款项、税款、应计费用)
  • 所有者权益- 所有者权益
  • 收入- 收入类账户
  • 费用- 成本与费用类账户
  • 表外- 表外账户

常见账户类型

  • 资产_现金- 银行与现金账户
  • 资产_应收- 应收账款
  • 资产_流动资产- 流动资产
  • 负债_应付- 应付账款
  • 收入- 收入
  • 费用- 费用

特殊权益类型(Odoo特有)

  • 权益- 标准权益账户(股本、留存收益)
  • 未受影响权益-暂记账户用于未分配利润/亏损(例如,999999)

资产负债表关键:Odoo的未受影响权益是一个暂记账户。请勿直接使用其分类账余额。

正确的权益计算:

  1. 权益本身(类型:权益)- 使用分类账余额(贷方 - 借方)
  2. 留存收益(以前年度)- 来自未受影响权益
  3. 的分类账余额 当前年度收益- 实时计算:收入 - 支出
Total Equity = Equity Proper + Retained Earnings + Current Year Earnings

其中,本年利润 = Σ(收入贷方-借方) - Σ(支出借方-贷方)

为何重要:Odoo 在资产负债表上实时计算本年利润。若仅使用未受影响权益分类账余额,将导致资产负债表无法平衡。

会计准则自动检测

本功能可根据公司所在国家/司法管辖区自动检测其会计准则,并相应格式化报表。

支持的准则:

准则司法管辖区备注
国际财务报告准则国际通用多数国家默认采用
美国通用会计准则美国适用于美国证券交易委员会注册公司
印度会计准则印度与IFRS趋同的印度会计准则
英国公认会计原则英国财务报告准则第102号
《2005年公司(审计、调查和社区企业)法案》沙特阿拉伯已采纳的国际财务报告准则
欧盟国际财务报告准则欧洲联盟国际会计准则法规
企业会计准则中国中国会计准则
日本公认会计原则日本日本公认会计原则
私营企业会计准则加拿大私营企业
澳大利亚会计准则委员会澳大利亚澳大利亚会计准则

检测逻辑:

  1. res.company
  2. 查询公司所属国家
  3. 将国家代码映射至报告准则
    • 数字格式(1,234.56 对比 1.234,56)
    • 负数显示形式((123) 对比 -123)
    • 日期格式(DD/MM/YYYY 对比 MM/DD/YYYY)
    • 报表标题(资产负债表 对比 财务状况表)
    • 现金流量表编制方法(间接法 对比 直接法)

覆盖设置:

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

命令

销售与客户关系管理查询

# 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)

预置报告

# 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

直接远程过程调用查询(高级)

对于预置命令未涵盖的销售/客户关系管理数据,请使用直接远程过程调用:

# 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']})

临时报告

# 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 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

自动可视化

报告默认始终包含适当的可视化图表:

报告自动包含的图表
财务健康状况现金状况、现金消耗率趋势、资金跑道
收入月度环比趋势、顶级客户、增长关键绩效指标
应收账款/应付账款账龄分析账龄分布饼图,逾期款项重点提示
费用类别细分、趋势、主要供应商
管理层视图所有关键绩效指标卡片、汇总图表
资产负债表资产/负债构成
损益表收入与费用对比、利润率趋势
现金流量表经营活动细分、现金趋势

规则:如果可视化能让报告更清晰,则自动包含。切勿询问“是否需要图表?”——直接添加即可。

交互式参数收集

如果缺少必要参数,技能将询问:

  1. 公司:“哪家公司?”(列出可用选项)
  2. 期间:“哪个期间?(例如,‘上个月’、‘2024年第四季度’、自定义日期)”
  3. 账户:“哪些账户或账户组?”(例如,‘所有收入’、‘仅银行账户’)
  4. 细分方式:"按什么分组?(月份、客户、类别、账户)"
  5. 输出:"输出格式?(WhatsApp卡片、PDF、两者皆可)"

如何在聊天中使用

只需自然提问:

销售与客户关系管理:

  • "[姓名]销售人员的表现如何?"
  • "显示[销售人员]的顶级客户"
  • "比较销售团队表现"
  • "哪位销售人员的订单最多?"

财务报告:

  • "给我上一季度的财务健康报告"
  • "显示过去6个月的收入与支出对比"
  • "我的应收账款账龄是多少?"
  • "生成本月的执行摘要"
  • "基于会计科目表显示损益表"

常规查询:

  • "我们本月收到多少订单?"
  • "前10大客户是谁?"
  • "显示[客户名称]的发票状态"

该技能将:

  1. 检查是否存在多家公司并询问是哪一家
  2. 解析您的请求
  3. 询问任何缺失的信息
  4. 使用分类账条目或直接RPC从Odoo获取数据
  5. 生成图表 + WhatsApp卡片
  6. 通过WhatsApp卡片和/或PDF交付

硬性规则

  1. Odoo RPC输出为唯一可信来源
  2. 严格只读(不创建/写入/删除)
  3. 除非请求,否则不主动执行操作
  4. 每个数字都包含方法说明
  5. 在做出假设前始终向用户核实
  6. 始终包含可视化内容- 如果报告能从图表/图形中受益,则自动包含它们,无需询问。报告应在视觉上是完整的。

诊断

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

报告主题

  • WhatsApp卡片:"午夜账本" — 海军黑 (#0a0e1a),铜辉色 (#cd7f32)
  • PDF报告:简洁的白色、铜色点缀、专业布局
免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部

相关文章

您是本站第326329名访客 今日有221篇新文章/评论