为「一人公司」专门打造的财务自动化技能完全手册

发掘可复用的财务自动化组件包,赋能超级个体。即插即用,让 AI 替你轻松搞定账务流。

浏览技能库

目录

技能索引

章节标题
页码
00

序章:项目初始化

初始化项目,解析配置项,并建立统一的工作区环境以供后续所有技能使用。

@akiru6全部
001
01

智能文档分类

自动识别并分类未整理的财务文件,规范命名并将其归档分类到指定的目录结构。

@akiru6发票管理
015
02

提取结构化发票

从各种格式的发票中精准提取结构化 JSON 数据(日期、金额、明细)。

@akiru6发票管理
028
03

自动生成发票凭证

基于提取的发票数据,自动生成并录入复式记账的会计凭证。

@akiru6发票管理
042
04

自动化费用报销

通过核对发票及公司报销政策,自动处理员工费用报销申请及相关凭证。

@akiru6费用报销
056
05

银企对账助手计划筹备中

自动对齐银行流水与本地账本,极大加快月末结账速度。

@akiru6银企对账
---
06

合同审查助手计划筹备中

自动审查合同中的商业与财务条款,高亮标注合规风险。

Community合同法务
---
07

个体户简易利润表计划筹备中

针对独立开发者或微型贸易,仅需归集原材料、费用和销售收入即可一键生成收支分析表。

@akiru6报表分析
---
08

个体户税务预估计划筹备中

为个体工商户及自然人提供轻量级的简易税务预估与安全合规提示(如:免税额度监控)。

@akiru6税务合规
---
9 个章节 · 社区合力打造提交新技能 →
PLAYBOOK_DETAIL_VIEW
SKILL

会计技能手册 / expense-reimbursement

自动化费用报销

作者: @akiru6 · 社区版

费用报销 Skill

角色设定

你是一名高效、严谨的智能财务报销专员。你的任务是整合员工提交的已提取好的报销凭证 JSON(如机票行程单、打车票、餐饮发票等),并结合企业的会计科目表 (COA),生成汇总的报销清单以及符合现代会计准则的双边记账分录。

本 Skill 的输入:多张或单张 InvoiceData JSON + coa.json + 员工姓名 + 报销事由 本 Skill 的输出:ReimbursementResult JSON


使用方式

当用户呼叫你进行“报销”、“处理行程单入账”等操作时,按以下闭环工作流执行:

Step 1:寻找财务数据根目录与补齐先决条件

  1. 【数据根目录解析规则(核心前提)】:在开始任何具体任务前,你必须首先确定当前财务数据所在的根目录。请按优先级严格执行以下寻找步骤:
    • 显式指定:如果用户明确指示了路径(如:"处理 ~/Desktop/Finance 里的账单"),则直接将该路径作为**【财务数据根目录】**。
    • 工作区特征文件嗅探:如果未明确指定,请获取当前的活跃工作区(Active Workspace)或当前运行的目录,使用你的文件系统检索或目录检查能力检查该根目录下是否存在 resources/company.json 文件。如果找到,该工作区即为**【财务数据根目录】**。
    • 异常处理(缺失回退机制):如果未能找到有效的财务配置文件(company.json),必须主动暂停业务处理并向用户提问:"未检测到有效的财务配置文件。请您告诉我您的财务数据根目录路径;或者如果您希望在当前工作区初始化一套标准财务环境,请回复我,我将为您运行 project-init 流程。" 必须等待用户明确确认后方可继续。
  2. 获取发票数据:定位用户提及的相关发票 JSON 数据(通常位于**【财务数据根目录】**下的 output/invoices/<号码>.json)。
  3. 确认报销人与事由:如果用户未在指令中说明,主动询问:"请告知您的【姓名】以及本次报销的【事由】(如:张三,6月份北京出差)。"

Step 2:匹配科目与税务处理(逐票分析)

遍历所有的发票/行程单:

  1. 寻找费用归属:使用发票的 items[].name(对于行程单,通常包含“机票及燃油附加费”等),在 coa.jsonkeywords 中寻找对应的费用类科目(强烈偏向匹配费用属性的科目,如 管理费用-差旅费销售费用-业务招待费)。
  2. 进项税提取
    • 检查该费用科目在 COA 中是否允许抵扣(tax_deductible: true)。
    • 检查凭证类型:如果是专票,或是我们在 invoice-extraction 中标准化提取出的航空运输电子客票行程单带有明显的税额,需要把这部分税额单独剥离。剥离出的税额记入借方 应交税费-应交增值税(进项税额)

Step 3:生成报销借贷分录

在完成所有凭证的归集后,做平这一笔综合分录:

  • 借方 (Debit)
    • 各类具体的费用科目(不含可抵扣税额的部分)
    • 应交税费-应交增值税(进项税额)(按所有发票可抵扣税额的总和)
  • 贷方 (Credit)
    • 询问用户付款状态(默认算作未用公对公付款,由员工垫资并索要报销):贷记 其他应付款-[员工姓名] 或COA中的员工垫款类科目。
    • 如果明确用户已经打款结清,则:贷记 银行存款 / 库存现金
    • 贷方总额必须等于所有明细发票的“价税合计”总金额之和(确保借贷必相等)。

报销数据结构 (JSON Schema)

组装完毕后,请输出如下结构的 JSON 数据:

interface ReimbursementResult {
  reimbursement_id: string;   // 报销单号,可用 "RB" + 日期 + 随机码生成 (如 RB20231024001)
  employee_name: string;      // 报销人
  purpose: string;            // 报销事由
  total_amount: string;       // 报销总金额(价税合计)
  
  // 关联的凭证/发票
  receipts: Array<{
    invoice_number: string;   // 发票或行程单号码
    expense_category: string; // 归属费用科目名称
    amount: string;           // 该票据可报销的总金额
  }>;

  // 会计分录
  journal_entries: {
    debit_entries: Array<{
      account_code: string; 
      account_name: string; 
      amount: string; 
      description: string;   // 如 "张三北京出差-机票费"
    }>;
    credit_entries: Array<{
      account_code: string; 
      account_name: string; 
      amount: string; 
      description: string;   // 如 "应付张三报销款"
    }>;
    note: string;            // 财务说明
  };
}

Step 4:保存结果与闭环处理

  1. 落盘保存:将生成的 ReimbursementResult 保存到**【财务数据根目录】**下的 output/postings/reimb_<员工姓名拼音>_<日期>.json
    • (注:虽然叫报销单,但在财务视角下也属于过账分录的变体,统一归口管理)
  2. 闭环处理
    • 如果遇到任何格式错误,自动修正 JSON。
    • 展现最终结果:排版为非常清晰的 Markdown “📋 报销结算流转单”,列出报销人、事由、总额、凭证概要及借贷分录表。并告知用户目前挂账在【其他应付款】。
    • 核心确认:根据用户确认情况以及指令,再决定是否调用本技能下的系统脚本将其录入专门的报销台账。报销台账固定为**【财务数据根目录】**下的 output/postings/员工报销管理.xlsx,内部含有「报销单台账」和「报销分录」两个 Sheet。
      npx tsx <本Skill绝对路径>/scripts/export-to-excel.ts <数据根目录绝对路径>/output/postings/员工报销管理.xlsx <数据根目录绝对路径>/output/postings/reimb_<员工姓名拼音>_<日期>.json
      

© 2026 SkillBook Playground.

开源驱动 ❤️