KO
|
EN
gitlite — search
Search
#javascript
#python
#kotlin
#docker
#example
#ios
#swift
#java
#webapp
#go
#hacktoberfest
#react
business2financial
★ 110
Open GitHub ↗
No description available.
Download README (.md)
Explore Similar Repositories
Adobe-After-Effects-2026
:
No description available.
Hearth
:
No description available.
listening-platform
:
No description available.
before-signing
:
No description available.
viu-suite-prime
:
Viu Suite Prime
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
business2financial
?
Download (.md)
# Business2Financial (B2F) > 从业务 rawdata 到财务模型的自动化工具包,面向公司财务工作者。 > **v2 核心**:模板 + archetype 驱动的「原始业务数据 → 商业模型」流水线(detect/map/extract/model/report)。 > **Skill 架构**:核心分析 + 13 个按需加载的分析技能。 ## 快速开始 ```bash # 1. 安装 pip install -r requirements.txt # 2. 设置 LLM API Key(用于首次配置时的列映射和商业模式推断) export B2F_API_KEY=sk-xxx export B2F_MODEL=gpt-4o-mini # 3. 首次配置 b2f init --company "XX制造" --industry manufacturing \ --sales 销售收入.csv --cost 成本.csv --expense 费用.csv # 4. 核心分析 b2f run --company "XX制造" --sales 销售收入.csv # 5. 按需调用技能 b2f skill list b2f skill run financial-model --company "XX制造" --sales ... ``` ## 13 个技能 | 技能 | 说明 | 前置依赖 | |------|------|---------| | `run` (核心) | 商业模式分析 + Deep-dive | — | | `financial-model` | 12-36个月 P&L 预测 | bm | | `sensitivity` | 单/双变量敏感性分析 | bm | | `rolling-forecast` | 实际 vs 预算 vs 预测三方对比 | bm | | `tax` | 全税种测算 + 申报日历 | bm | | `monte-carlo` | 概率分布 → P10/P50/P90 区间 | bm | | `calibrate` | 回测偏差 → 假设调整建议 | bm | | `cvp` | 本量利分析(盈亏平衡/安全边际/经营杠杆) | bm | | `ue` | 单位经济分析(CAC/LTV/LTV:CAC) | bm | | `hr-analytics` | 人效分析(人均创收/创利/人工成本占比) | bm | | `budget-dashboard` | 预算执行看板(执行率/偏差/分科目) | bm | | `financial-statements` | 导入BS/CF → 计算DSO/流动比率/现金转换周期 | bm | | `dashboard` | 生成独立 HTML 仪表盘 | bm | | `deep-dive` | 专项深度分析(项目损益/客户分层/产品) | bm | ## 数据格式 支持 CSV(utf-8/gbk 自动识别)和 Excel(.xlsx/.xls)。 | 类型 | 参数 | 说明 | |------|------|------| | 销售明细 | `--sales` | 日期 + 金额(必需) | | 成本明细 | `--cost` | 日期 + 金额 | | 费用明细 | `--expense` | 日期 + 类别 + 金额 | | 人员 | `--headcount` | 日期 + 人数 | | 预算 | `--budget` | 日期 + 科目 + 金额 | | 客户 | `--customer` | 日期 + 客户 + 金额 | | 产品 | `--product` | 日期 + 产品 + 金额 | | 资产负债表 | `--bs` | 日期 + 科目 + 期末余额 | | 现金流量表 | `--cf` | 日期 + 项目 + 金额 | > **列名不强制**。首次 `init` 时 LLM 自动识别列映射,后续零配置。 ## 首次配置(init) 三阶段问诊流程,确保 LLM 的理解与您一致: ``` Phase 1 — LLM 读数据 → 生成选择题(3~8 题) Phase 2 — 您逐题确认(支持回退) Phase 3 — 综合 → 输出列映射 + 商业模式 + 核心假设 ``` ```bash # 交互模式(推荐) b2f init --company "XX" --sales sales.csv # 非交互模式(LLM 直接出配置) b2f init --company "XX" --sales sales.csv --non-interactive # 跳过 LLM(手动填模板) b2f init --company "XX" --sales sales.csv --skip-llm ``` 输出: - `output/projects/XX_config.json` — 列映射、商业模式、核心假设 - `output/projects/XX_init_log.json` — Q&A 会话日志 ## 报表格式 财务表采用 **科目为行、月份/年份为列** 的标准财务报表格式: ``` 科目 2025-07 2025-08 2025-09 ... 一、营业收入 4,182,910 4,840,617 5,919,350 ... 减:营业成本 2,727,721 3,156,619 3,860,073 ... 二、毛利 1,455,188 1,683,998 2,059,277 ... 五、净利润 683,558 791,038 967,321 ... ``` ## v2 流水线:原始业务数据 → 商业模型(模板 + archetype 驱动) 重设计的核心一步,五阶段独立可维护,各环节只读上一阶段落盘工件,改任一环节不牵连其他。 ``` 原始 rawdata(xlsx/csv,非标准化) │ [1] detect — 识别商业模式(低置信自动问诊确认) │ [2] map — 按模板数据需求自动列映射 + 余量盘点 │ [3] extract— 标准化为 bundle(未分配表保留进 extra,信息无损) │ [4] model — 按 archetype 驱动构建商业模型 + 余量数据增强分析 ▼ [5] report — 按 archetype 输出 Excel/JSON(增强 sheet 动态加入) 商业模型 ``` ```bash # 一键全流程 b2f pipeline --data 企业业务数据.xlsx --company 华强机电 # 分步(各自可单独跑) b2f detect --data 企业业务数据.xlsx # 识别(含问诊) b2f map --data 企业业务数据.xlsx --model industrial_distribution # 列映射 b2f extract --data 企业业务数据.xlsx --mapping output/projects/xxx_mapping.json --company XX b2f model --data 企业业务数据.xlsx --mapping output/projects/xxx_mapping.json --company XX b2f report --model-json output/projects/XX_商业模型.json ``` 问诊三档模式(`--consult-mode`): - `interactive`(默认)— 低置信时终端出题确认,答后自动重排候选 - `non_interactive` — 低置信取 top1 + 降级标记 - `no_consult` — 完全跳过 **商业模式模板库**(`b2f/business_models/`)双层结构: - `templates/*.yaml`(25 个)— 识别信号 + 数据需求 + 状态语义 - `archetypes/*.yaml`(9 个)— 收入公式 + 核心驱动变量 + 成本/客群/漏斗 + 可选 `enrichments` 增强目录 - 引擎按模板 taxonomy 解析 archetype 分发分析(分销看产品毛利/回款,SaaS 看 MRR/流失,项目制看单项目损益) **余量数据增强分析**(固定 + 可变模板,`b2f/models/enrichment_engine.py`): 模板 `data_requirements` 只声明「引擎必需」的最小字段集(固定),原始数据中未被消费的余量列/表(可变)不再丢弃: - `map` 产出余量盘点(`leftover_columns` / `unmapped_sheets`),列名 + 值域类型可追溯 - `extract` 把未分配表原样保留进 `bundle.extra`,信息无损 - `model` 把余量列与 `archetype.enrichments` 目录匹配(列名精确>前后缀>子串 + 值域守卫 + 噪声过滤),命中且达到置信度即跑增强分析器 - `report` 动态追加增强 sheet(`12-增强·渠道` 等,从 12 起编号,有数据才出现) 增强分析器零 LLM、纯 pandas 确定性规则:按维度拆收入/回款/订单数(渠道/地区/业务员)、客户复购与新老客户月度 cohort(客户ID)。输出信息量随数据深度变化——数据越详细增强越多,固定部分保持可比。低置信匹配静默跳过并记 note,不打断五命令流水线。 ## CLI 命令 | 命令 | 说明 | |------|------| | `b2f init` | 首次配置(LLM 问诊) | | `b2f run` | 核心分析(BM + Deep-dive) | | `b2f detect / map / extract / model / report` | **v2 流水线五步** | | `b2f pipeline` | v2 一键全流程 | | `b2f skill list` | 列出所有技能 | | `b2f skill run <id>` | 运行指定技能 | | `b2f full` | 一键全流程(v1) | | `b2f tax` | 税务分析 | | `b2f calibrate` | 校准核心假设 | | `b2f config list/get/set` | 配置管理 | | `b2f table <id>` | 导出单表(xlsx/csv) | | `b2f tables list` | 列出所有可导出表(35+) | ```bash # 示例 b2f skill run financial-model --company "XX" --sales sales.csv b2f skill run dashboard --company "XX" --sales sales.csv --cost cost.csv b2f table tax_summary --company "XX" --sales sales.csv b2f config set --company "XX" --key industry --value "manufacturing" ``` ## 输出 所有输出文件位于 `output/` 目录: - `XX_财务分析报告.xlsx` — 多 Sheet Excel 报告 - `XX_summary.json` — 机器可读摘要 - `XX_dashboard.html` — HTML 仪表盘(Chart.js) - `projects/XX_config.json` — 项目配置 ## 项目结构 ``` Business2Financial/ ├── b2f/ │ ├── cli.py # 命令行入口(含 v2 五命令) │ ├── config.py # 配置 + 行业参数 │ ├── llm.py # LLM API 抽象层 │ ├── project.py # 项目配置管理 │ ├── loaders/ # 数据加载 │ │ ├── rawdata_loader.py │ │ └── erp_loader.py # v2: 按映射+模板状态语义标准化 │ ├── business_models/ # ★ v2 商业模式模板库(双层) │ │ ├── templates/*.yaml # 25 个模板(识别信号+数据需求+状态语义) │ │ ├── archetypes/*.yaml # 9 个分析原型(收入/成本/客群/漏斗 + enrichments 增强目录) │ │ ├── registry.py # 加载 + 模板→原型映射 │ │ └── _schema.yaml / _archetype_schema.yaml │ ├── models/ # 分析模型 │ │ ├── business_model_detector.py # v2: 识别 │ │ ├── detect_consult.py # v2: 问诊闸门 │ │ ├── automapper.py # v2: 列映射 + 余量盘点 │ │ ├── enrichment_engine.py # v2: ★ 余量数据增强分析(零 LLM) │ │ ├── business_model_engine.py # v2: ★ archetype 驱动引擎 │ │ ├── business_model.py / financial_model.py / sensitivity.py │ │ ├── rolling_forecast.py / tax.py / monte_carlo.py │ │ ├── calibration.py / cvp.py / ue.py / hr_analytics.py │ │ ├── budget_dashboard.py / financial_statements.py │ │ ├── deep_dives.py / dimensions.py / assumptions.py │ │ └── revenue_model.py # v1 引擎(兼容保留) │ ├── skills/ # 技能注册 + 实现 │ │ ├── registry.py / init_skill.py / questionnaire.py │ │ ├── tax_skill.py / dashboard.py / qa_logger.py │ └── reports/ # 报表生成 │ ├── business_model_report.py # v2: 按 archetype 输出 │ ├── excel_report.py / split_report.py / table_registry.py ├── examples/ # 示例数据(demo csv + ERP 模拟表) ├── requirements.txt └── README.md ``` ## 技术栈 - Python 3.9+ - pandas / numpy — 数据处理 - openpyxl — Excel 生成 - matplotlib — 图表(可选) - Chart.js — HTML 仪表盘(浏览器加载 CDN) ## License MIT