Token导航 LogoToken导航TokenDH.com
效率需要联网clawhub未标认证来源可访问clear审计通过

income-statement-cn损益表 CN

Agent Skill

income-statement-cn 用于补充效率相关能力,适合在 OpenClaw 中需要让 Agent 承接效率相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,863

周安装

123

GitHub Stars

公开资料未说明

下载量

1,004
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install income-statement-cn

简介

根据明细表数据,自动生成规范格式利润表,收入支出按分类 2/3 分组动态汇总,含经营利润计算、固定格式和列宽。

SKILL.md

财务报表生成技能

技能概述

根据明细表数据自动生成规范化利润表,支持动态行数扩展。

核心规则

数据提取规则

收入类:

  • 来源:明细表中 分类 1 = "收入" 或 "实收"
  • 取值优先级:

1. 优先取"发生金额"列(列 8) 2. 其次取"收入金额"列(列 6)

  • 分组:按 分类 2 和 分类 3 两级分组汇总

支出类:

  • 来源:明细表中 分类 1 = "支出"
  • 取值优先级:

1. 优先取"发生金额"列(列 8) 2. 其次取"支出金额"列(列 7)

  • 分组:按 分类 2 和 分类 3 两级分组汇总

利润表格式规范

列结构:

内容宽度
B标题(收入/支出/经营利润)15
C分类 2(工作坊/个案/导师费等)12
D分类 3(具体项目名称)40
E金额15
F空白40

行结构:

  1. 标题行:合并 B1:F1,"利润表 YYYYMM"居中,粗体
  2. 收入区块

- 行 3:B3="收入"(粗体),E3=合计公式(粗体) - 行 4+:分类 2 标题(如"工作坊"),E 列=小计 - 后续行:D 列=分类 3 明细,E 列=金额(动态行数)

  1. 支出区块

- 标题行:B 列="支出"(粗体),E 列=合计(粗体) - 分类 2 标题行(导师费/场地费等),E 列=小计 - 明细行:D 列=分类 3,E 列=金额(动态行数)

  1. 经营利润行:B 列="经营利润"(粗体),E 列=公式(粗体)

格式要求:

  • 无边框
  • "收入"、"支出"、"经营利润"文字粗体
  • 三者对应金额粗体
  • F 列留空,宽度与 D 列相同(40)

代码模板

#!/usr/bin/env python3
from openpyxl import load_workbook, Workbook
from openpyxl.styles import Font, Alignment
import glob

def create_income_statement(source_file, output_file):
    """
    根据明细表生成利润表
    
    Args:
        source_file: 源 Excel 文件路径(含明细表)
        output_file: 输出利润表路径
    """
    wb_source = load_workbook(source_file)
    ws_detail = wb_source['明细']
    
    # 数据提取
    income_by_cat2_cat3 = {}
    expense_by_cat2_cat3 = {}
    
    for row in range(2, ws_detail.max_row + 1):
        cat1 = ws_detail.cell(row=row, column=3).value
        cat2 = ws_detail.cell(row=row, column=4).value
        cat3 = ws_detail.cell(row=row, column=5).value
        income_amt = ws_detail.cell(row=row, column=6).value
        expense_amt = ws_detail.cell(row=row, column=7).value
        amount = ws_detail.cell(row=row, column=8).value
        
        # 收入:优先发生金额
        if cat1 in ['收入', '实收']:
            amt = amount if amount else (income_amt if income_amt else 0)
            if amt and amt > 0:
                if cat2 not in income_by_cat2_cat3:
                    income_by_cat2_cat3[cat2] = {}
                if cat3 not in income_by_cat2_cat3[cat2]:
                    income_by_cat2_cat3[cat2][cat3] = 0
                income_by_cat2_cat3[cat2][cat3] += amt
        
        # 支出:优先发生金额
        if cat1 == '支出':
            amt = amount if amount else (expense_amt if expense_amt else 0)
            if amt and amt > 0:
                if cat2 not in expense_by_cat2_cat3:
                    expense_by_cat2_cat3[cat2] = {}
                if cat3 not in expense_by_cat2_cat3[cat2]:
                    expense_by_cat2_cat3[cat2][cat3] = 0
                expense_by_cat2_cat3[cat2][cat3] += amt
    
    # 创建工作簿
    wb = Workbook()
    ws = wb.active
    ws.title = '利润表'
    
    # 样式
    title_font = Font(name='微软雅黑', size=12, bold=True)
    bold_font = Font(name='微软雅黑', size=10, bold=True)
    
    # === 填写数据 ===
    # 标题行
    ws.merge_cells('B1:F1')
    ws['B1'] = '利润表 YYYYMM'  # 替换实际月份
    ws['B1'].font = title_font
    ws['B1'].alignment = Alignment(horizontal='center', vertical='center')
    
    # 收入部分
    ws['B3'] = '收入'
    ws['B3'].font = bold_font
    
    # 动态填充收入明细...
    # (按分类 2 标题 + 分类 3 明细的顺序)
    
    # 支出部分
    # (按分类 2 标题 + 分类 3 明细的顺序)
    
    # 经营利润
    # E 列 = E3 - 支出合计行
    
    # F 列留空
    for r in range(2, max_data_row + 1):
        ws.cell(row=r, column=6, value='')
    
    # 列宽
    ws.column_dimensions['B'].width = 15
    ws.column_dimensions['C'].width = 12
    ws.column_dimensions['D'].width = 40
    ws.column_dimensions['E'].width = 15
    ws.column_dimensions['F'].width = 40
    
    wb.save(output_file)

使用示例

# 生成 202601 利润表
create_income_statement(
    source_file='/Users/zhengyong/.openclaw/qqbot/downloads/财务报表 202601-claw_1774271697631.xlsx',
    output_file='/Users/zhengyong/.openclaw/workspace/利润表 202601_明细生成.xlsx'
)

关键要点

  1. 动态行数:有多少明细项目就占多少行,不固定
  2. 金额优先级:发生金额 > 收入/支出金额
  3. 分类层级:分类 2 是标题,分类 3 是明细
  4. 格式统一:收入/支出/经营利润粗体 + 金额粗体
  5. F 列预留:宽度 40,留空备用

文件位置

  • 输入/Users/zhengyong/.openclaw/qqbot/downloads/财务报表 YYYYMM*.xlsx
  • 输出/Users/zhengyong/.openclaw/workspace/利润表 YYYYMM_明细生成.xlsx
  • 脚本/Users/zhengyong/.openclaw/workspace/create_income_YYYYMM_simple.py

*创建时间:2026-03-23* *最后更新:2026-03-23*

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

98.36%
按下载量换算988

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills