避免页签系列问题的文档命名

当您在 ERPNext 中保存文档(如销售发票、库存录入、付款单等任何带有自动生成编号的内容)时,系统需要确定序列中的下一个编号(例如 0001、0002、0003 等)。

为了确保两个文档永远不会获得相同的编号,ERPNext 在名为 tabSeries 的表中为每个命名系列维护一个计数器。在分配下一个编号之前,它会锁定该计数器,防止其他操作同时访问,然后加 1,最后解锁。这个过程在瞬间完成,因此通常您不会察觉到。

如果同时创建数百个文档,并且它们都使用相同的命名系列,那么它们都需要同一个计数器。同一时间只能有一个操作持有锁,因此其他操作必须排队等待。

当排队等待的时间变长时,您可能会遇到以下情况:

  • 文档保存耗时较长
  • 批量导入或批量提交速度缓慢甚至卡住
  • 出现类似“Record has changed since last read in table ‘tabSeries’”的错误,或数据库锁/死锁超时
  • 后台任务在队列中堆积

在业务高峰期、月末或为应对负载而增加更多工作进程后,这个问题会变得更加严重,因为现在有更多的交易在争抢同一个计数器。

为什么定制化会加剧此问题

一个非常常见的原因是定制化配置强制大量交易使用单一、受限的命名系列。所有交易都汇聚到一个计数器上,导致该计数器成为整个操作的瓶颈。规模越大,这个单一计数器后面的排队就越长。

简单的解决方法:使用多个命名系列

计数器是按命名系列分别锁定的。因此解决方法很简单:

为不同的交易组分配各自的命名系列,这样它们就会使用不同的计数器,不再相互等待。

与其在一个计数器前排长队,不如开设多个计数器。每个队列独立并行运行。

拆分系列的好方法

选择任何能自然区分您交易的方式。例如:

按以下方式拆分 示例系列
分支机构 SINV-MUM-.YYYY.-.####, SINV-DEL-.YYYY.-.####
项目 SINV-PROJ-A-.####, SINV-PROJ-B-.####
成本中心 SINV-CC01-.####, SINV-CC02-.####
部门 SINV-SALES-.####, SINV-SUPPORT-.####

每种情况的核心思想都是一样的:同时运行的交易不应都挤在同一个计数器上。您将它们分散得越开,每个交易需要等待的时间就越短。

针对超大规模操作的额外建议

如果您经常一次性创建大量文档:

  • 将大批量导入分散到多个系列中,以分担负载,而不是将所有内容都导入到一个系列下。
  • 在导入/API 调用时尽可能自行提供名称。如果文档已有名称,ERPNext 将完全跳过计数器。无需锁定,无需等待。例如,客户 ID 是根据客户名称本身生成的。
  • 避免将所有内容强制归入一个狭窄系列的定制化配置。审查任何自定义命名逻辑,确保它不会将所有交易都汇聚到单个计数器上。
  • 如果流程允许,稍微错开超大型任务的启动时间,而不是在同一瞬间全部触发。

一个文档对应多行的报表

有时,报表中同一单据编号可能会出现在多行中。这通常并不意味着单据被重复了,而是表示该报表针对该单据显示了多条匹配的数据行。

这种情况在包含子表字段、链接记录或详细的会计和库存分录的报表中很常见。

最常见原因:选择了子表

许多 ERPNext 单据都有子表。例如:

  • 一张销售发票包含多个销售发票项目
  • 一张采购订单包含多个采购订单项目
  • 一个付款计划可以有多个到期日。
  • 一笔交易可以有多个税费、扣款或会计行。

当报表包含子表中的字段时,报表会为每个子表行显示一行。

例如,如果销售发票 SINV-0001 有 3 个项目行,并且报表包含销售发票项目中的字段,则报表可能会显示:

SINV-0001    Item A
SINV-0001    Item B
SINV-0001    Item C

该发票仍然是一个单据。报表只是针对每个项目行显示了一次该发票。

为什么会这样

报表是基于数据库行构建的。父单据和子表之间是一对多的关系。

一个父单据可以对应多个子表行:

Sales Invoice
  - Item 1
  - Item 2
  - Item 3

当报表包含子表数据时,Frappe 需要分别显示每个子表行,以便子表值可见。这是预期行为。

报表显示多行的其他原因

1. 包含了多个子表

如果报表包含多个子表中的字段,行数可能会进一步增加。

例如,如果一张发票有 3 个项目行和 2 个税行,一个结构不佳的自定义报表可能会显示比预期更多的行,因为两个子表被连接在一起了。

在这种情况下,请检查报表设计,只包含所需的子表。

2. 报表显示分类账或明细分录

有些报表本身就是明细级别的报表,并非设计为每个单据显示一行。

例如:

  • 总分类账样式的报表可能为每个会计分录显示一行。
  • 库存报表可能为每个库存分类账分录显示一行。
  • 应收或应付报表可能根据发票、付款或未结引用显示行。

同一个凭证号可能出现多次,因为一个单据可以生成多个分类账分录。

3. 报表包含具有多个匹配项的链接记录

一个单据可能连接到多个相关记录。例如,一张发票可以链接到多个付款分录、交货单、序列号、批次或会计引用。

如果报表包含来自这些链接记录的数据,则父单据可能会针对每个匹配的链接记录显示一次。

4. 自定义查询报表存在连接问题

在自定义查询报表中,如果 SQL 查询在没有正确条件的情况下连接表,则可能会出现重复行。

例如,连接父表和子表时,如果没有将子表行与其父单据匹配,可能会产生过多行。

请检查查询是否使用正确的父字段连接子表,例如:

child.parent = parent.name

当子表是共享的或查询需要更具体时,还要检查 parenttypeparentfield 等字段。

5. 报表未进行分组

如果目标是每个单据显示一行,则报表可能需要进行分组或聚合。

例如,报表可以不单独显示每个项目行,而是按销售发票分组并显示:

  • 总数量
  • 总金额
  • 项目行数
  • 首个或最后一个日期

这取决于您需要的是汇总报表还是明细报表。

如何检查行重复的原因

  1. 打开其中一个重复的单据。
  2. 检查其子表中是否有多行,例如项目、税费、付款计划或其他明细表。
  3. 在报表中,检查是否有任何选定的列来自子表。
  4. 如果是自定义报表,请检查连接和筛选条件。
  5. 确定报表应显示明细行还是每个单据一行汇总行。

如何实现每个单据显示一行

如果您希望每个单据显示一行,请尝试以下方法之一:

  • 从报表中移除子表列。
  • 仅使用父 DocType 中的字段。
  • 使用分组,例如按单据名称分组。
  • 使用聚合值,如求和、计数、最小值或最大值。
  • 构建一个自定义查询报表或脚本报表,使其每个父单据返回一行。

总结

当报表包含子表数据或其他明细级记录时,同一单据出现多行通常是预期行为。

关键问题是:报表应显示每一行明细,还是应将单据汇总为一行?

如果报表旨在回答项目级、税务级、分类账级或库存条目级的问题,则多行是正确的。如果旨在回答单据级的问题,请使用父字段、分组或自定义报表设计。

  • 报表
  • 报表生成器
  • 查询报表
  • 脚本报表
  • 子表 / 表格 DocType

帮助文章索引

以下是一些帮助文章,可帮助您根据需求配置系统。

系统

  • 文档版本管理
  • 在持续进行的消息中添加附件
  • 复制粘贴多条记录
  • 重命名文档
  • 批量重命名
  • 删除和恢复文档
  • 删除自定义报表
  • 恢复已删除的文档
  • 重复记录
  • 检查文档之间的链接
  • 选择字段中的筛选选项
  • 自动化分配
  • 发送和接收邮件时出错
  • 最大用户数限制问题
  • 权限级别错误
  • 权限错误问题
  • 使用预生成的报表
  • 未收到邮件
  • 表单中的最大字段数
  • 制作自定义报表
  • 删除自定义报表
  • 报表中一个文档显示多行
  • 在标准报表中添加列
  • 使用 Jinja 获取子表值
  • 创建字段后更改自定义字段的数据类型
  • 按公司设置命名系列
  • 使用 Web 表单请求反馈
  • 管理主数据的树形结构
  • 为任何字段设置默认值
  • 设置精度
  • 设置语言
  • 编辑已提交的文档
  • 删除已提交的文档
  • 设置命名系列的当前值
  • 设置工作流的简单步骤
  • 树形主数据重命名
  • 报表中的信头
  • 将文档类型与事件日历同步
  • 基于层级结构的用户权限
  • 在打印格式中添加/删除字段
  • 自定义打印格式中的表格
  • 自定义打印格式中的字段可见性
  • 移除打印格式中的描述
  • 以文字形式打印美元的“分”

会计

  • 合并科目
  • 更改上级科目
  • 冻结科目
  • 冻结会计凭证
  • 通用应收科目
  • 销售退货管理
  • 从销售发票交货
  • 默认应收/应付科目
  • 资本科目的付款凭证
  • 登记备用金凭证
  • 坏账处理
  • 采购发票科目类型错误
  • 分别登记允许和收到的折扣
  • 为日记账凭证添加参考
  • 付款凭证中的发票折扣
  • 从所有者权益科目中提取工资
  • 买一赠一定价规则
  • 无金额调整
  • 远期支票凭证
  • 差额凭证
  • 设置税费
  • 未对账
  • 期末结账凭证
  • ERPNext QuickBooks 迁移工具
  • 处理对账单
  • 付款条款状态报表
  • 公司间日记账凭证
  • 在单独往来单位科目中预付款
  • 会计年度错误
  • 舍入科目验证消息
  • 删除与总账凭证关联的凭证
  • 发票舍入问题
  • 自定义现金流量表
  • 导出特定年份或筛选条件的数据
  • 分配贷项通知单和付款
  • 核对供应商预付款
  • 临时科目余额
  • 计算运费税费
  • 已收货但未开票的目的
  • 期末结账

采购

  • 服务采购发票
  • 价格调整的借项通知单
  • 采购跟踪报表
  • 提交后修改采购订单

销售

  • 销售人员目标分配
  • 在销售周期中更改项目费率
  • 销售交易中的销售人员
  • 记录销售合作伙伴的佣金
  • 批量提前关闭订单
  • 关闭销售订单
  • 提交后修改销售订单
  • 应用折扣
  • 从销售订单请求原材料
  • 设置公司销售目标
  • 无项目的销售发票
  • 子公司之间的直运
  • POS 中的忠诚度积分兑换
  • 以不同计量单位销售

资产

  • 将资产从库存项目转换为固定资产项目

客户关系管理

  • 自动化潜在客户创建
  • 潜在客户、联系人和客户之间的区别

库存

  • 使用条形码跟踪项目
  • 项目估值设置和交易
  • 原材料估值
  • 退回拒收项目
  • 重新包装凭证
  • 国际贸易术语和指定地点
  • 快速库存余额
  • 质量检验摘要
  • 迁移到永续盘存制
  • 先进先出和移动平均法
  • 非库存项目的永续盘存
  • 预计数量
  • 序列化和批次项目的期初库存余额凭证
  • 关联库存仓库和科目
  • 在项目主数据中维护供应商项目代码
  • 以不同计量单位采购
  • 生产废料管理
  • 客户提供的项目
  • 单一原材料生产多种成品
  • 不创建物料清单进行生产
  • 物料消耗
  • 生产分析
  • 未结工单报表
  • 需求驱动预测
  • 产品计划报表
  • 停机分析
  • 工单消耗物料
  • 针对工单退回的物料
  • 针对工单发出的项目
  • 从交货单和采购收货单进行物料转移
  • 允许超额交货/开票
  • 物料编码

项目

  • 制作彩色甘特图
  • 在项目中批量分配任务
  • 项目盈利报告
  • 项目管理与费用控制
  • 从客户门户创建项目

网站

  • 在ERPNext网站中禁用注册功能
  • 网站首页设置
  • 网站横幅尺寸调整
  • ERPNext的SEO优化
  • ERPNext中的301重定向

ERPNext农业模块

概述

农业模块是作为 ERPNext 的一个领域应用而创建的,专为农场和以农业为核心的组织设计。它旨在帮助用户记录农作物和土地信息,跟踪农业活动,并维护与田间相关的观察数据,例如植物、土壤、水分、天气、病害和肥料信息。

该应用以独立的开源代码仓库形式在 Frappe 组织下提供。然而,在新的 ERPNext 站点上使用之前,应仔细评估其适用性。

维护与兼容性状态

重要提示: 农业应用似乎并未像 ERPNext 核心以及其他积极开发的 Frappe 应用那样得到同等水平的积极维护。该代码仓库没有发布任何正式版本,用户不应假定它与最新的 ERPNext 或 Frappe Framework 版本兼容。

如果您计划使用它,请先在预发布站点上进行测试,并确认它与您具体的 ERPNext、Frappe Framework 和 Python 版本兼容。若用于生产环境,请准备好审查代码、应用修复程序,或在必要时维护一个分支(Fork)。

GitHub 代码仓库

源代码:github.com/frappe/agriculture

该代码仓库将该应用描述为 ERPNext 的农业领域应用。

基本功能

  • 农作物记录: 维护与组织所种植农作物相关的信息。
  • 土地记录: 跟踪农业用地或田块信息。
  • 植物分析: 记录与植物相关的观察数据和测量结果。
  • 土壤、水分和天气跟踪: 维护可能影响作物规划和作业的田间环境观测数据。
  • 病害跟踪: 记录作物或植物的病害信息,以供参考和后续跟进。
  • 肥料跟踪: 作为农业作业的一部分,跟踪与肥料相关的信息。

何时使用

仅当您确实需要农业领域对象,并且愿意自行验证或维护该应用时,才考虑使用它。它可能作为自定义农业工作流的起点很有用,但在未经测试的情况下,不应将其视为适用于当前 ERPNext 版本的即插即用模块。

安装

代码仓库的 README 文件展示了标准的 Frappe 应用安装流程:

bench get-app agriculture
bench --site your-site-name install-app agriculture

仅在确认兼容性之前,于开发或预发布环境中运行这些命令。

  • 在安装前,检查代码仓库的活动情况、未解决的问题和拉取请求。
  • 先在测试站点上安装该应用。
  • 在使用真实数据之前,运行迁移和基本工作流。
  • 确认其 DocTypes 和报表是否满足您的运营需求。
  • 如果该应用与您的 ERPNext 版本不兼容,建议将其作为自定义应用的参考,而不是直接在生产环境中安装。
  • GitHub 上的 Frappe Agriculture

ERPNext教育模块

概述

Frappe Education 是一款面向 Frappe 和 ERPNext 生态系统的开源教育管理应用。它帮助学校、学院、辅导机构及其他学术机构在一个系统中管理学术行政、学生信息、课程、招生、费用、排课以及学生自助服务。

该应用基于 Frappe 框架构建,并与 ERPNext 协同工作,因此机构可以在管理学术运营的同时,继续使用 ERPNext 进行会计和其他业务流程管理。

GitHub 仓库

源代码:github.com/frappe/education

该仓库将 Frappe Education 描述为一个开源的教育管理系统,旨在简化教育机构中的行政和学术流程。

何时使用 Frappe Education

当机构需要一个由 ERPNext 支持的系统来管理学术运营(而不仅仅是一个学习管理系统)时,应使用 Frappe Education。当需要以结构化的方式管理学生记录、教师、课程、招生、费用收取和学术日程时,该应用非常有用。

主要功能

  • 学生和教师管理:维护学生、监护人和教师的基本资料及学业记录。
  • 招生管理:管理学生申请和招生流程,从咨询到注册入学。
  • 专业与课程:定义学术专业、课程、班级、学期和课程安排。
  • 考勤管理:跟踪学生出勤情况,并将其用于学术行政管理和报告。
  • 费用管理:创建收费结构、安排收费计划并跟踪付款状态。
  • 学生门户:让学生访问课程表、考勤、费用和成绩等信息。

与 ERPNext 的集成方式

Frappe Education 扩展了 ERPNext,以支持教育领域的特定工作流程。ERPNext 提供更广泛的 ERP 基础,而 Frappe Education 则添加了教育机构所需的学术对象和流程。这使得它非常适合那些希望在同一个生态系统中同时拥有教育管理和 ERP 式会计或运营功能的组织。

  • Frappe Education GitHub 仓库
  • Frappe Education 官方网站
  • Frappe Education 文档

ERPNext非营利模块

ERPNext 可以被非营利组织用于管理其运营、会计、捐赠、会员、项目和报告。非营利功能历史上是通过一个名为 Non Profit 的独立自定义应用提供的。

该应用不属于 ERPNext 标准安装的一部分。它需要单独安装,并且可能无法与最新版本的 ERPNext 和 Frappe Framework 兼容。

GitHub 应用:https://github.com/frappe/non_profit

Non Profit 应用的设计初衷

Non Profit 应用基于 Frappe Framework 和 ERPNext 构建,旨在支持管理捐赠者、会员、拨款、分会、志愿者和社会影响项目的组织。

它旨在帮助非营利团队将 ERPNext 同时用于财务和运营工作,而不是将捐赠者和项目记录与会计核算分开管理。

通常涵盖的领域

该应用可能有助于处理以下工作流程:

  • 捐赠者和会员管理
  • 捐赠跟踪
  • 会员记录
  • 拨款和项目跟踪
  • 志愿者或分会相关记录
  • 通过 ERPNext 进行会计和报告
  • 将运营记录与发票、付款和账户关联

具体功能集取决于所安装应用的版本以及所使用的 ERPNext 版本。

重要兼容性说明

Non Profit 应用仓库目前已被归档,处于只读状态。这意味着它可能不会针对较新的 ERPNext 版本进行定期更新。

在生产环境使用之前,请检查该应用是否与您的 ERPNext 和 Frappe 版本兼容。如果不兼容,推荐的做法可能是为您的组织所需的特定非营利工作流程构建一个小型自定义应用或进行自定义修改。

何时应考虑使用它?

如果您正在运行较旧且兼容的 ERPNext 版本,或者您想将该应用作为构建非营利工作流程的参考,那么可以考虑使用 Non Profit 应用。

对于较新的 ERPNext 版本,请谨慎对待,并在安装前验证兼容性。

了解更多

您可以在此处查看应用仓库:

https://github.com/frappe/non_profit

现金流量报告

Nova Industries 在 2026 年盈利 109,440 美元,但经营活动现金流却减少了 117,866 美元。业主在批准更多支出之前,需要了解利润的去向。

现金流量表通过经营活动、投资活动和筹资活动来解释现金及现金等价物的变化。它从会计利润出发,并对非现金项目和营运资本变动进行调整。使用损益表来衡量盈利情况,使用资产负债表来审查财务状况。

运行现金流量表

  1. 打开 会计 模块并选择 现金流量表
  2. 选择 Nova Industries 以及所需的会计年度或日期范围。
  3. 选择期间,以及可选的财务账簿、成本中心、项目、部门或会计维度。
  4. 当现金对账需要时,启用期初和期末余额。
  5. 刷新并等待总计、图表和报表部分加载完成。

解读 Nova 的现金变动

行项目 金额 解读
年度利润 $109,440 现金流调整前的会计利润。
应收账款变动 -$316,212 已确认收入,但大部分尚未收回。
应付账款变动 $184,293 未付供应商款项暂时保留了现金。
经营活动净现金流 -$117,866 尽管有正利润,核心经营活动仍消耗了现金。

最大的压力来自应收账款。Nova 应审查应收账款,优先安排收款,并在承诺新的现金支出前核实旧余额。在将延迟支付供应商款项作为现金来源之前,应审查应付账款。

理解三个部分

部分 典型变动
经营活动 日常经营产生的利润、折旧、应收账款、应付账款、存货和税费。
投资活动 设备、投资和其他长期资产的购买与处置。
筹资活动 所有者资本、借款、还款、股息及类似的资金变动。

追溯行项目至会计凭证

选择一个科目或支持性数值,以查看其总分类账活动。当付款分录和已批准的日记账分录解释了重大变动时,请审查这些原始分录。营运资本行项目是报告日期之间的变动,因此还应比较相关的资产负债表科目和往来单位报表。

默认和自定义格式

标准报表使用 ERPNext 的财务报表逻辑对科目进行分类。当组织需要批准的标签或更精确的分类时,请配置“自定义现金流量表”。在支持的情况下,财务报表模板可以控制呈现方式。自定义更改的是分类和布局,而非底层分类账分录。

故障排除

利润与经营活动现金流差异巨大

审查应收账款、应付账款、存货、折旧、税费以及其他非现金或营运资本行项目。这种差异通常是正常的,应予以解释,而不是强行匹配。

现金变动出现在错误的部分

审查科目的映射和报表配置。在更改任何分类之前,确认是否启用了自定义现金流量表格式。

净变动与现金余额无法对账

核对公司、日期、财务账簿、货币、维度以及期初或期末余额选项。查找遗漏的银行或现金科目以及重叠的自定义映射。

常见问题解答

正利润是否保证正现金流?

赊销、存货采购、债务偿还、资产购买和其他时间性差异可能导致利润为正时现金流为负。

应付账款增长是否总是对现金有利?

未付账单暂时保留了现金,但会形成债务,并可能损害供应商关系。应结合到期日和付款计划来解读这一变化。

报表映射是否会更改分类账分录?

映射只会更改现有余额的分类和显示方式,不会重新过账交易。

  • 会计报表
  • 损益表
  • 资产负债表
  • 应收账款
  • 应付账款
  • 自定义现金流量表

资产负债表

Nova Industries 在 2026 年末拥有 293,745 美元的资产、184,305 美元的负债和 109,440 美元的暂计利润。企业主想知道企业控制了什么、欠了什么,以及为什么公司盈利但银行余额却是负数。

资产负债表反映某一时点的财务状况。资产描述企业控制的资源。负债描述企业的义务。权益和当期利润说明所有者的剩余权益。使用利润表来解释某一期间内利润是如何赚取的,使用现金流量表来解释现金的变动情况。

开始之前

提交所有相关的销售发票、采购发票、付款、库存交易、资产、贷款、工资、折旧、税费以及已批准的日记账分录。确认科目在会计科目表中具有正确的资产、负债或权益根类型。

运行资产负债表

  1. 打开会计模块,选择资产负债表
  2. 选择Nova Industries
  3. 选择会计年度或日期范围以及比较周期。
  4. 仅在需要时应用财务账簿、成本中心、项目、部门或其他会计维度。
  5. 刷新并等待总计、图表和科目行加载完成。

解读 Nova Industries 的结果

部分 金额 含义
资产总计 $293,745 报告日期所控制的资源。
负债总计 $184,305 欠供应商和其他方的金额。
权益 $0 在所选范围内可见的已过账权益余额。
暂计利润 $109,440 当期利润尚未通过期末结账结转。

资产等于负债加权益加暂计利润:$293,745 等于 $184,305 加 $109,440。这证明报表在数学上是平衡的。但这并不证明每个科目都分类正确。

了解科目组

流动资产包括预期很快转化为现金或被使用的余额,如应收账款、银行存款、现金和存货。固定资产支持较长期运营。流动负债包括应付供应商款项和税费等义务。长期贷款属于非流动负债。权益包含所有者资本、储备、留存收益以及根据组织科目设计进行的期末结转。

Nova 的应收账款为 $316,212,银行存款余额为负的 $118,104。大额应收账款解释了为什么公司拥有净资产却仍面临即时现金压力。打开应收账款以确定应向哪些客户收款。

深入查看余额

选择某个科目金额以打开其总分类账分录。在比较数值之前,确保公司、日期、财务账簿、货币和维度与资产负债表保持一致。

重要筛选条件

筛选条件 作用
报告日期或会计年度 设定时点和比较列。
累计值 显示截至每个显示期间的累计余额。
财务账簿 将分录限制为所选会计账簿。
维度 当分录带有所选维度时,显示所选运营部门的财务状况。
货币 更改显示方式而不更改分类账过账。
报表模板 使用已配置的财务报表模板。

故障排除

资产负债表不平衡

检查暂计利润、期初余额、科目根类型、期末结账分录以及相同的报表筛选条件。通过试算平衡表和总分类账追踪差异。

科目出现在错误的部分

在会计科目表中检查其根类型和报表类型。更正科目可能会影响报表,应遵循您的会计控制流程。

分部报表看起来不完整

未带有所选维度的交易会被排除。在将筛选后的报表视为全公司资产负债表之前,请验证源分录上的维度值。

常见问题

为什么当期利润与权益分开显示?

利润在期末结账并按照配置的结账流程结转之前仍为暂计利润。

公司盈利但银行余额为负数可能吗?

利润包括在收款之前确认的收入。应收账款、存货、债务偿还和其他时间性差异可能会消耗现金。

资产负债表是否显示市场价值?

该报表显示的是由已记录交易和估值规则产生的会计余额,而非企业自动的市场估值。

  • 会计报告
  • 损益报告
  • 现金流量
  • 试算平衡表
  • 总分类账
  • 期末结转凭证

损益报告

Nova Industries 在 2026 年记录了 $363,200 的收入和 $253,760 的支出。该企业盈利 $109,440,但所有者想知道利润来自哪里,以及某个特定产品线、部门或期间是否比其他部分表现更好。

损益表汇总了一段时间内的收入减去支出。它回答了企业是否盈利、哪些账户产生了利润,以及结果在不同期间或报告维度之间的比较情况。它不显示企业在某一日期的资产和负债情况(这属于资产负债表),也不解释现金何时流动(这属于现金流量表)。

开始之前

提交相关的销售发票、采购发票、库存交易、工资条目、折旧和已批准的日记账分录。确认损益类科目在会计科目表中使用了正确的根类型和报表类型。

运行报表

  1. 打开 会计 并选择 损益表
  2. 选择 Nova Industries
  3. 选择会计年度或日期范围,并设置所需期间。
  4. 选择年度、半年度、季度或月度周期。
  5. 仅在问题需要该维度时,应用财务账簿、成本中心、部门、项目或其他会计维度。
  6. 刷新并等待总计、图表和账户行加载完成。

解读 Nova Industries 的结果

结果 数值 解读
总收入 $363,200 所选期间内确认的收入和其他收益。
总支出 $253,760 所选期间内确认的销售成本和其他支出。
利润 $109,440 在所选范围内,收入超出支出的金额。

利润约为收入的 30.1%。只有在确认所有期间支出、库存成本、折旧、应计项目和调整均已过账后,该比率才有意义。正利润也不意味着银行中有相同金额的现金。赊销可能在客户付款之前就增加了利润。

阅读账户层级

展开收入和支出组,查看每个总计背后的账户。直接收入和直接支出通常描述核心交易或服务活动。间接收入和间接支出通常包含辅助性或非核心项目。具体含义取决于贵组织如何设计其账户。

选择账户数值可下钻查看产生该数值的分录。关联的总分类账应使用与损益表相同的公司、日期、财务账簿和维度。

了解重要筛选器

筛选器 作用
会计年度或日期范围 定义包含哪个会计期间。
周期 将结果拆分为年度、半年度、季度或月度列。
累计值 显示每个显示期间的累计余额,而不是单独显示每个期间。
财务账簿 将分录限制为所选会计账簿,受默认账簿选项约束。
成本中心、项目、部门和维度 显示所选运营部门的利润结果。
货币 更改显示货币,而不更改底层分类账分录。
报表模板 在可用时应用已配置的财务报表模板。

利润和现金是不同的

损益表根据会计日期确认收入和支出。应收账款可能显示客户仍欠部分已报告收入,而应付账款可能显示未支付的供应商支出。使用现金流量表来解释这些未结余额如何影响实际现金流动。

故障排除

报表为空

确认已提交的交易存在于所选期间和公司内。逐一移除财务账簿和维度筛选器,然后验证受影响的账户是否使用收入或支出根类型。

利润和总分类账不一致

匹配公司、日期、财务账簿、维度、货币和期末结账选项。下钻时如果丢失了维度筛选器,可能会显示比原始报表更广泛的分类账范围。

月度结果看起来像累计值

检查累计值设置。启用它以显示年初至今的列,当每个月应仅显示该月活动时则禁用它。

出现上一年度的收入或支出

检查会计年度日期和期间结账凭证状态。收入和支出账户通常在新会计年度开始时不会带有上一年度的经营余额。

常见问题解答

盈利的公司会出现负现金流吗?

赊销可能在客户付款前就产生收入,而存货采购和其他现金支出可能发生得更早。现金流量表解释了这一差异。

更改报表筛选条件会改变会计分录吗?

筛选条件只会改变所选分录及其显示方式,不会重新过账已提交的交易。

税费应显示为收入还是支出?

这取决于税种类型、可收回性以及科目配置。请参考当地会计法规以及源交易使用的科目。

报表能否比较部门或产品线?

当成本中心、项目及自定义会计维度在交易中记录一致时,可用于对结果进行细分。

  • 会计报告
  • 资产负债表
  • 现金流量表
  • 总分类账
  • 会计科目表
  • 财务报表模板

会计入门

ERPNext 中的会计功能将日常业务活动转化为可靠的财务记录。销售、采购、库存变动、费用或付款,最初都是作为业务单据存在,提交后便会生成平衡的会计分录。

以 Nova Industries 这家电子制造商和分销商为例,其财务团队需要回答一些基本问题:客户是否按时付款?我们欠供应商多少钱?业务是否盈利,银行余额与账簿是否一致?ERPNext 将这些问题的答案与产生每笔金额的业务交易关联起来。

本指南介绍会计功能,解释交易如何进入分类账,并说明哪种工作流程适合不同类型的业务。您可以从基本的销售和采购流程开始,随着需求增长,再逐步深入了解对账、税务、维度、预算和财务报告等内容。

会计模型

每个公司都有其基础货币、财政年度、默认科目以及自己的会计科目表。该科目表将科目分为资产、负债、权益、收入和费用等类别。明细分类科目用于记录过账;汇总科目则用于组织这些记录以生成报告。

ERPNext 采用复式记账法。每笔会计交易的借方和贷方总额相等,从而确保账簿保持平衡。您通常无需手动创建这些分录。提交交易时,系统会根据单据中的数值和会计配置自动生成这些分录。

在追踪某个数字时,以下三种记录尤其有用:

记录 它告诉您什么
源单据 用户输入的业务事件、金额、往来方、税费、日期和参考信息
总账分录 过账到某个科目的借方或贷方,包含其公司、往来方、成本中心、项目和其他维度信息
付款分类账分录 应收、应付、预付款和付款是如何关联和分配的

如果启用了库存会计,库存交易也会创建库存分类账分录。因此,库存数量和价值的可追溯性与总账是分开但又相互关联的。有关过账示例,请参阅“交易如何影响分类账”。

会计模块涵盖的内容

公司账簿与科目结构

ERPNext 为每个公司创建一套独立的账簿。您可以使用为所选国家/地区提供的标准科目表,也可以对其进行编辑,或在实施期间使用科目表导入工具。

公司默认设置决定了常见的过账科目,例如应收、应付、收入、费用、舍入、汇兑损益和留存收益。科目设置中包含适用于所有交易的控件,包括冻结日期和编辑会计分录的规则。

当同一家公司需要并行计算资产折旧或采用不同的报告基准时,可使用财务账簿。当法律实体必须保持独立账簿,但管理层需要合并视图时,可使用多公司和合并报表功能。

销售、采购与未结金额

销售发票记录收入、税费以及客户所欠的金额。采购发票记录费用或资产价值、税费以及应付给供应商的金额。贷项通知单和借项通知单用于冲销或减少发票的影响,同时保留审计线索。

ERPNext 按往来方、发票、到期日和付款条款跟踪应收和应付账款。应收账款和应付账款报告提供账龄和未结分析。付款条款可以将一张发票拆分为计划的分期付款。

对于收款工作流程,付款请求可以与客户共享请求或付款链接。催款功能有助于跟进逾期的应收账款。如果需要审批流程,可以使用付款订单来组织供应商付款。

付款、预付款与对账

付款分录记录收款、付款或现金与银行账户之间的内部转账。它可以一次分配一笔付款到多张发票,接受部分付款,记录针对订单的预付款,或将多余金额保留为未分配贷项。

使用付款对账功能,可以将现有的未分配付款、预付款、贷项通知单和日记账分录与发票进行匹配。这会在不产生第二次现金流动的情况下,更改分配和未结余额。

对于银行业务,ERPNext 存储银行账户和银行交易,导入银行对账单数据,并提供银行对账工具。对账功能可将对账单行与凭证进行匹配,在适当的情况下创建缺失的付款,并记录清算日期。

税务与区域合规

税务模板为交易添加销售税和采购税。税务类别和税务规则可以根据当事方、地址、物料或交易等因素选择正确的模板。物料税务模板支持针对特定产品设置不同税率。代扣税支持在向符合条件的供应商付款时进行扣减。

税务报告和法定行为因国家/地区而异。ERPNext提供会计框架,而区域功能可能来自所选国家/地区的配置或本地化应用。在录入正式发票之前,请完成税务设置。

库存与销售成本

采用永续盘存制时,库存收货和发货同时影响库存台账和总账。采购收货单可以将价值转入已收货但未开票的库存中。交货单减少库存并确认销售成本。库存分录记录调拨、生产、重新包装和调整。

当启用更新库存选项时,销售发票或采购发票也可以更新库存。这支持更简短的工作流程,但将开票和库存变动合并到一个单据中。在用户开始录入交易之前,请慎重选择工作流程。

资产、费用和递延会计

资产模块与会计模块集成,用于资本化、折旧、调拨、处置和价值调整。折旧计划可以自动过账分录。

费用报销单记录员工费用和负债。递延收入和递延费用设置将符合条件的发票金额分摊到未来会计期间,而不是在发票日期确认全部金额。

订阅和周期性单据可以自动化定期开票。项目和工时表支持服务开票、成本归集和盈利能力分析。

成本控制和管理报告

成本中心用于确定收入和费用的归属。项目跟踪特定工作的收入和成本。可配置的会计维度增加了诸如分支机构、部门、渠道或业务单元等报告细分,而无需扩展会计科目表。

预算可以按科目、成本中心、项目或会计维度设置。当适用的年度或月度预算被超出时,ERPNext可以发出警告或阻止用户操作。预算差异报告比较计划值与实际值。

货币与公司间会计

公司、当事方、银行账户和分类账科目可以使用不同的货币。ERPNext存储交易货币和公司货币的价值,应用汇率,并在结算时确认已实现的汇兑差额。汇率重估处理报告日符合条件的未结外币余额。

公司间日记账分录以及关联的销售和采购发票有助于记录实体之间的交易。每个公司仍然会收到自己的平衡分录。

结账、控制与可审计性

日记账分录用于处理调整,如应计项目、准备金、调拨、核销和不适用于专门单据的更正。

在期末,会计人员审查对账、折旧、库存估值、税务和调整分录。期间结账凭证将当期的损益转入选定的结账科目。会计期间可以防止在已关闭期间过账、修改或取消选定的交易类型。冻结日期控制提供了另一种限制追溯会计的方法。

已提交的单据保留其审计跟踪。在权限和期间控制允许的情况下,用户不是直接编辑已完成的交易,而是取消并修改它。ERPNext的不可变账本方法会为取消创建冲销分录,而不是删除原始账本历史记录。

报告和财务报表

会计报告工作区包括:

  • 总账和试算平衡表,用于科目级验证
  • 资产负债表、损益表和现金流量表
  • 带有账龄分析的应收账款和应付账款
  • 销售和采购登记簿
  • 银行对账和付款报告
  • 基于税务、预算、成本中心、项目和维度的报告
  • 支持合并报表和多货币显示选项(如适用)

报告读取已提交的账本数据。草稿单据不影响账簿,取消已提交的交易会冲销其会计影响。

学习该模块的实用方法

从理解借与贷开始,然后跟踪一个完整的业务周期。创建一张发票,提交它,打开其会计账本,记录一笔付款,并查看总账和应收账款或应付账款报告。

在生产环境上线之前:

  1. 确定公司、会计年度、货币和会计科目表。
  2. 配置默认科目、税务、付款条款、成本中心和维度。
  3. 决定用户将遵循的销售、采购、库存和服务工作流程。
  • 使用适当的迁移工具导入期初余额和未结发票。
  • 测试代表性交易并核对它们在分类账中的影响。
  • 设置角色、审批控制、冻结日期和期末结账职责。
  • 请参阅“按业务类型划分的会计工作流程”以选择起始工作流程。

    • 会计科目表
    • 交易如何影响分类账
    • 理解借方和贷方
    • 会计报告
    • 期初与期末处理
    • 按业务类型划分的会计工作流程