Skip to content

费用模块的使用

在企业日常运营中,“费用报销”通常会遇到这些问题:

1. 费用数据分散、不透明

员工通过纸质单据或Excel报销:

  • 数据分散在各部门
  • 财务无法实时看到费用发生情况

2. 审批流程不规范

  • 谁该审批不清晰
  • 审批记录不可追溯
  • 容易出现重复报销或超标准报销

3. 会计处理滞后

  • 费用发生与入账不同步
  • 月末集中做账,工作量大
  • 费用归属不清(项目/部门/成本中心)

4. 无法与财务系统联动

  • 报销 ≠ 会计凭证
  • 需要手工再录一遍会计分录

👉 费用模块主要解决

  • 费用在线提交与审批
  • 自动流转审批流程(可配置)
  • 费用与会计自动集成
  • 实现“业务发生 → 会计入账”一体化

二、 两个核心模型的关系

1. hr.expense(费用明细)

👉 表示“一条具体费用”

例如:

  • 打车 50元
  • 住宿 300元
  • 餐费 120元

它的特点:

  • 粒度最细

  • 每一条费用记录一项支出

  • 包含:

    • 金额
    • 费用类别
    • 日期
    • 付款方式(员工垫付 / 公司卡)

2. hr.expense.sheet(费用报销单)

👉 表示“费用的集合单据(报销单)”

它是:

  • 多个 hr.expense 的“打包单”
  • 审批和入账的主单据

🔗 二者关系(非常重要)

可以理解为:

hr.expense = 一条费用 hr.expense.sheet = 一张报销单(包含多条费用)

结构如下:

费用报销单(hr.expense.sheet)

├── 费用1(hr.expense)
├── 费用2(hr.expense)
├── 费用3(hr.expense)

👉 生命周期关系

  1. 员工创建 hr.expense(费用明细)
  2. 多条 expense 组合成 sheet
  3. 提交 sheet 审批
  4. 财务确认
  5. 自动生成会计凭证

三、实际操作流程

下面按真实业务步骤讲一遍。


🧾 场景:销售出差报销

员工小王出差产生:

项目金额
机票1200
酒店800
打车150

Step 1:录入费用明细(hr.expense)

路径:

费用(Expenses) → 我的费用 → 新建

分别创建三条:

费用1

  • 类别:机票
  • 金额:1200
  • 付款方式:员工垫付

费用2

  • 类别:酒店
  • 金额:800
  • 付款方式:员工垫付

费用3

  • 类别:交通
  • 金额:150
  • 付款方式:员工垫付

Step 2:生成费用报销单(hr.expense.sheet)

点击:

“创建报销单 / Create Report”

系统会自动:

  • 把3条 hr.expense 合并
  • 生成 1 张 hr.expense.sheet

Step 3:提交审批

报销单状态流转:

草稿 → 提交 → 审批中 → 已批准

审批人通常是:

  • 主管
  • 财务

Step 4:财务确认(Post)

财务点击:

“Post Journal Entries(生成会计分录)”


四、在财务会计端会发生什么

当 hr.expense.sheet 被确认后,系统会自动生成会计凭证。


📊 会计分录逻辑

假设费用全部是员工垫付:

👉 会计分录如下:

科目借方贷方
管理费用 / 差旅费2150
应付职工薪酬-报销2150

👉 如果是公司预付现金/公司卡

则可能变为:

科目借方贷方
管理费用2150
银行存款 / 信用卡2150

📌 核心逻辑总结

RaySuz 自动完成三件事:

1. 费用归类

  • hr.expense.category → 对应费用科目(如差旅费)

2. 成本归集

  • 自动汇总所有 expense

3. 自动记账

  • hr.expense.sheet → 会计凭证

五、整体流程总结

可以这样理解整个链路:

员工消费

hr.expense(费用明细)

hr.expense.sheet(报销单)
   ↓ 审批
财务确认

account.move(会计凭证)

总账 / 费用科目

配置


一、费用模块的核心配置逻辑

在 RaySuz 里,费用入账不是随便写分录,而是靠这一条链:

hr.expense.category(费用类别)
        ↓ 决定
account.account(费用科目)
        ↓ 生成
account.move(会计凭证)

👉 所以核心配置其实只有一句话:

费用类别 = 费用科目映射规则


二、费用类别(Expense Category)在哪里配置?

路径:

费用(Expenses) → 配置(Configuration) → 费用类别(Expense Categories)

在 RaySuz 底层模型叫:hr.expense.category


三、费用类别的关键字段(必须掌握)

打开一个费用类别,你会看到这些核心配置:

1. 费用名称(Name)

例如:

  • 差旅费
  • 交通费
  • 招待费
  • 办公用品

2. 费用科目(Expense Account)⭐最重要

👉 这就是“科目映射核心”

例如:

费用类别对应科目
差旅费660201 差旅费
交通费660202 交通费
招待费660203 招待费

📌 本质:

这一步决定“借方进哪个费用科目”


3. 默认税(Optional)

用于:

  • 费用是否含税
  • 是否自动带增值税

例如:

  • 6%进项税
  • 或不可抵扣费用

4. 公司(Company)

多公司环境下:

  • 每个公司可以有不同费用类别
  • 科目独立

5. 产品(Product)(可选)

有些企业会让费用类别关联产品:

例如:

  • 打车 = 产品:Taxi Expense
  • 酒店 = 产品:Hotel Expense

👉 用于自动化输入费用明细


四、科目映射(Account Mapping)本质逻辑

RaySuz 的费用记账规则是:

👉 费用发生时自动生成:

方向科目
借方费用科目(由费用类别决定)
贷方员工 / 银行 / 信用卡

示例逻辑:

场景:交通费 100元

费用类别配置:

交通费 → 660202 交通费

系统生成:

科目借贷
交通费(660202)借 100
应付职工薪酬 / 员工报销贷 100

五、标准企业费用类别配置示例(推荐)

下面是一套最常用配置模板


1. 差旅费

项目配置
类别差旅费
科目660201 差旅费
视情况(通常不可抵扣)

2. 交通费

项目配置
类别交通费
科目660202 交通费
可选进项税

3. 招待费

项目配置
类别招待费
科目660203 招待费
通常不可抵扣或限额抵扣

4. 办公用品

项目配置
类别办公用品
科目660101 办公费

5. 住宿费

项目配置
类别住宿费
科目660201-01 差旅住宿

六、员工垫付 vs 公司付款(影响科目)

这是很多人容易忽略的点:


1. 员工垫付(最常见)

会计分录:

科目
费用科目
应付职工薪酬-报销

2. 公司信用卡 / 银行支付

科目
费用科目
银行存款/信用卡

3. 现金支付

科目
费用科目
库存现金

七、费用类别 + 科目映射配置步骤(实操)

Step 1:打开费用类别

路径:

Expenses → Configuration → Expense Categories


Step 2:设置费用科目

选择:

Expense Account(费用科目)

例如:

  • 660201 差旅费

Step 3:设置默认税(可选)

例如:

  • 供应商税/进项税 6%

Step 4:保存

完成映射


八、常见配置错误(重点避坑)

❌ 错误1:所有费用用一个科目

后果:

  • 无法分析费用结构
  • 管理层看不到成本分布

❌ 错误2:费用类别 ≠ 会计科目

必须一一映射,否则:

  • 自动凭证会错
  • 报表无法分类

❌ 错误3:忽略税配置

会导致:

  • 进项税无法抵扣
  • VAT报表错误

❌ 错误4:多公司混用科目

会导致:

  • 合并报表错误
  • 账套污染

费用 + 项目成本归集(Analytic Accounting)」完整实战说明,这是很多企业用 RaySuz 做项目核算的核心能力。


一、这个功能到底解决什么问题?

传统费用管理只有“费用科目”,但有一个关键缺口:

❌ 知道花了多少钱 ❌ 不知道“为哪个项目花的”

例如:

  • 差旅费 5000 元
  • 招待费 3000 元

但问题是:

这些钱到底是 A 项目、B 项目,还是市场部?


👉 RaySuz 的解决方案:Analytic Account(分析会计 / 项目成本中心)

它实现:

费用 = 会计科目(财务维度) + 项目(管理维度)


二、核心结构(一定要理解)

RaySuz 成本归集本质是“双轨制”:

text
            会计维度(GL)
费用 ─────→ account.move(总账)

        Analytic Account(项目维度)

        项目成本报表

三、关键对象说明

1. Analytic Account(分析账户 / 成本中心)

路径:

Accounting → Configuration → Analytic Accounts

作用:

  • 表示一个“项目 / 部门 / 客户成本中心”
  • 用来统计成本

例如:

名称类型
项目A项目
项目B项目
市场部部门

2. Analytic Distribution(分析分配)

用于:

一笔费用可以分摊到多个项目

例如:

  • 项目A 70%
  • 项目B 30%

3. hr.expense → analytic_account_id

费用单上会有字段:

  • Analytic Account(分析账户)

👉 这就是成本归集关键入口


四、费用 + 项目归集完整流程


Step 1:创建项目(Analytic Account)

路径:

Accounting → Configuration → Analytic Accounts

创建:

  • 项目A(新产品开发)
  • 项目B(市场推广)

Step 2:配置费用类别(可选但推荐)

例如:

费用类别科目
差旅费660201
招待费660203

Step 3:员工录入费用时绑定项目

路径:

Expenses → My Expenses → Create

填写:

  • 类别:差旅费
  • 金额:1000
  • Analytic Account:项目A ⭐

Step 4:提交报销单

hr.expense.sheet 提交审批


Step 5:财务确认入账

生成会计分录:

科目
差旅费1000
应付职工薪酬1000

Step 6:同时生成 Analytic Entry(关键)

系统还会生成:

👉 成本分录(analytic lines)

项目金额
项目A1000

五、最终你会得到两套报表


1. 财务报表(会计维度)

  • 利润表
  • 总账
  • 费用科目汇总

👉 回答:花了多少钱


2. 项目成本报表(管理会计)

路径:

Accounting → Reporting → Analytic Report

你会看到:

项目差旅费招待费总成本
项目A10005001500
项目B20008002800

👉 回答:钱花在哪个项目


六、进阶:费用分摊(非常重要)

场景:

一笔费用属于多个项目:

  • 项目A:60%
  • 项目B:40%

方法1:单费用多分析账户(推荐)

使用:

Analytic Distribution

设置:

项目比例
A60%
B40%

系统自动拆分:

项目金额
A600
B400

方法2:手动拆费用(不推荐)

创建多条 hr.expense


七、费用 + 项目成本的完整数据流

text
员工消费

hr.expense(费用明细)
   ↓ + 绑定 Analytic Account
hr.expense.sheet(报销单)
   ↓ 审批
account.move(会计凭证)

analytic.line(项目成本记录)

项目成本报表 / 盈亏分析

八、实际业务例子(完整闭环)

场景:项目A开发费用

项目金额
差旅3000
招待2000

系统处理结果:

1️⃣ 会计分录

科目
差旅费3000
招待费2000
应付职工薪酬5000

2️⃣ 项目成本

项目A
5000

九、常见错误(很重要)

❌ 1. 没填 Analytic Account

结果:

  • 成本无法归集
  • 项目报表为空

❌ 2. 一个费用多个项目没用分摊

导致:

  • 成本不准确

❌ 3. Analytic 和部门混用

👉 部门 ≠ 项目

  • 部门:组织结构
  • 项目:成本归集

项目成本管理完整进阶体系(费用 + 收入 + 预算控制),这基本就是企业做“项目核算/项目盈利分析”的核心能力。

我按你要的三部分来讲,并且最后帮你拼成一条完整闭环。


一、项目利润分析(收入 + 成本 = 项目是否赚钱)

1. 核心目标

RaySuz 的项目利润分析解决一个关键问题:

❓ 一个项目到底赚了还是亏了?

不是只看费用,而是:

text
项目利润 = 项目收入 - 项目成本

2. 数据来源拆分

✔ 成本来源(你前面学的)

来自:

  • hr.expense(费用)
  • 工时(timesheet)
  • 材料成本(库存/采购)

全部进入:

Analytic Account(项目)


✔ 收入来源(关键新增)

收入通常来自:

  • 销售订单(sale.order)
  • 发票(account.move)

只要设置:

Revenue → Analytic Account


3. 收入如何进入项目?

方法1:销售订单绑定项目(最常见)

在 SO 行里:

  • Analytic Account = 项目A

👉 发票确认后自动进入项目收入


方法2:手工发票绑定

发票行:

  • Analytic Distribution / Analytic Account

4. 最终项目利润报表

路径:

Accounting → Reporting → Analytic Report

你会看到:

项目收入成本利润
项目A100,00070,00030,000
项目B80,00090,000-10,000

5. 本质理解

RaySuz 项目利润 = “会计系统 + 项目系统”融合结果


二、自动费用分摊规则(按比例 / 按工时)

这是企业用 RaySuz 的高级能力:自动成本分摊


2.1 按比例分摊(Analytic Distribution)

场景

一笔费用属于多个项目:

  • 项目A 70%
  • 项目B 30%

配置方式

在费用或发票行中设置:

text
Analytic Distribution

例如:

项目比例
项目A70%
项目B30%

自动结果

一笔 1000 元费用:

项目金额
A700
B300

适用场景

  • 公共费用
  • 市场费用
  • 管理费用分摊

2.2 按工时分摊(Timesheet)

这是 RaySuz 非常强的一点。


场景

员工同时做两个项目:

  • 项目A:10小时
  • 项目B:5小时

成本分摊逻辑

text
成本 = 工时 × 成本单价

结果

项目工时成本
A10h1000
B5h500

配置点

在员工/岗位中设置:

  • Cost per hour(人力成本)

适用场景

  • 软件开发
  • 咨询项目
  • 设计公司

三、项目预算 vs 实际成本控制(超支预警)

这是 RaySuz 项目管理的“管理层最爱功能”。


3.1 什么是项目预算?

就是:

在项目开始前设定“成本上限”

例如:

项目预算
项目A100,000

3.2 RaySuz 预算结构

RaySuz 使用:

Analytic Budget / Budget Lines

路径:

Accounting → Budget → Analytic Budget


预算可以按维度拆:

  • 按项目
  • 按费用类别
  • 按时间(月份/季度)

3.3 预算 vs 实际对比逻辑

系统实时计算:

text
Budget Variance = Actual - Budget

示例

项目预算实际差异
A100,000120,000+20,000 ❌
B80,00060,000-20,000 ✅

3.4 超支控制机制(关键)

RaySuz 可以配置:

✔ 1. 警告

超预算提醒


✔ 2. 阻止

禁止继续录入费用 / PO


✔ 3. 审批升级

超预算 → 额外审批人


四、三者如何组合成企业级项目控制系统

这三块其实不是独立的,是一条完整链路:


🔥 企业项目控制闭环

text
         收入

销售订单 / 发票(带项目)

────────────────────

        项目(Analytic Account)

────────────────────
成本来源:
   - 费用 hr.expense
   - 工时 timesheet
   - 采购/库存

────────────────────

     项目成本分析

利润 = 收入 - 成本

预算控制(Budget)
   ↑            ↓
预警 / 控制 / 审批

五、一句话理解整套体系

RaySuz 项目系统本质是:

用 Analytic Account 把“收入 + 成本 + 预算”全部绑在一个项目维度上


六、企业最佳实践(非常重要)

✔ 建议结构

维度用法
Analytic Account项目
Analytic Tag子模块 / 功能模块
Budget控成本
Timesheet人力成本

✔ 推荐模型

软件公司

  • 项目 = 客户项目
  • 成本 = 人工 + 外包 + 费用
  • 收入 = milestone billing

咨询公司

  • 项目 = 合同
  • 成本 = 工时为主
  • 利润 = 核心KPI

制造/工程

  • 项目 = 工程单
  • 成本 = 材料 + 人工 + 外协