ERPNext 年终关账指南
ERPNext 年终关账指南
每年 12 月 31 日关账。这不是"可做可不做"的事——不关账,下一年的报表数据会和上一年混在一起。
1. 年终关账是什么?为什么必须做?
用大白话说: 你的公司账本每年要"结一次账"。12 月 31 日那天,把这一年所有的收入、成本、费用算清楚,算出这一年赚了多少钱(或亏了多少钱),然后把结果"结转"到下一年。1 月 1 日起,新一年的收入和费用从头开始累计。
不关账会怎样:
- 今年的费用和明年的收入混在一起,利润算不清楚
- 财务报表上的"未分配利润"永远不对
- 明年查今年的账,发现数据一直在变(因为还在往里面记账)
2. 关账前的准备(12 月中旬开始)
2.1 确保所有单据都已处理
□ 所有已发货的订单都开了发票(Sales Invoice)
□ 所有收到的货都确认了(Purchase Receipt → Purchase Invoice)
□ 所有收款都已录入(Payment Entry)
□ 所有付款都已录入
□ 银行流水和系统数据对得上(银行对账)
□ 库存盘点完成,数量和金额正确
□ 固定资产折旧已计提到 12 月
□ 工资、社保、公积金已计提
□ 所有税费已计提(增值税、附加税、企业所得税等)
2.2 银行对账
# 在 ERPNext 中导出银行账户的明细
# 路径:Accounting → Bank → 你的银行账户 → 查看交易记录
# 和银行对账单逐笔核对:
# - 银行有的记录,系统里有没有?
# - 银行没有的记录(在途支票),系统里是否标记了?
# - 两边余额是否一致?
2.3 库存盘点
1. 实际到仓库数一遍每种物料的数量
2. 和 ERPNext 中的库存数量对比
3. 发现差异 → 做 Stock Reconciliation 调整
4. 盘点完成后再关账
3. 关账步骤
3.1 创建新的会计年度
# 创建下一年的会计年度
docker compose exec backend bench --site mysite console << 'PY'
import frappe
# 创建 2027 年的会计年度
doc = frappe.get_doc({
"doctype": "Fiscal Year",
"year": "2027",
"year_start_date": "2027-01-01",
"year_end_date": "2027-12-31",
"is_short_year": 0 # 不是短年度(不足 12 个月才叫短年度)
})
doc.insert()
print("✅ 2027 会计年度已创建")
PY
3.2 执行年终损益结转
这是年终关账最核心的一步。把本年所有的收入和费用科目的余额,结转到"本年利润"科目。
为什么需要这一步?
想象你的 Excel 里有两列:
收入列:1 月到 12 月的所有收入,累计 500,000
费用列:1 月到 12 月的所有费用,累计 300,000
你要在 12 月最后一天加一条"结转"分录:
借:主营业务收入 500,000(把收入清零)
贷:本年利润 500,000(转到利润)
借:本年利润 300,000
贷:各项费用 300,000(把费用清零)
结果:本年利润 = 500,000 - 300,000 = 200,000(这一年赚了 20 万)
各项收入和费用科目余额 = 0(明年从零开始)
在 ERPNext 中,这个操作可以通过 Journal Entry 完成:
路径:Accounting → Journal Entry → New
日期:2026-12-31
第一组分录(结转收入):
借:主营业务收入 (你今年累计的收入金额)
贷:本年利润 (相同金额)
第二组分录(结转费用和成本):
借:本年利润
贷:主营业务成本 (今年累计的成本金额)
贷:销售费用 (今年累计的金额)
贷:管理费用 (今年累计的金额)
贷:财务费用 (今年累计的金额)
贷:所得税费用 (今年累计的金额)
验证:借方合计 = 贷方合计
3.3 结转未分配利润
完成 3.2 之后,"本年利润"科目会显示一个余额(盈利为正,亏损为负)。这个余额需要结转到"未分配利润":
Journal Entry:
日期:2026-12-31
如果盈利:
借:本年利润 XXX
贷:未分配利润 XXX
如果亏损:
借:未分配利润 XXX
贷:本年利润 XXX
3.4 关闭旧会计年度
关账后,你应该限制对已关闭年度的修改:
1. 在 ERPNext 中,你可以通过权限设置限制对 2026 年单据的修改
2. 或者通过 Account Settings 设置"冻结"日期:
路径:Accounting → Accounts Settings
→ "Books Closed Through" 设置为 2026-12-31
→ 此后,任何 2026 年及之前的单据都不能修改
4. 关账后验证
关账完成后,生成以下报表验证:
□ 试算平衡表(Trial Balance)
截止 2026-12-31,所有收入和费用类科目的余额应该为 0
□ 资产负债表(Balance Sheet)
截止 2026-12-31,"未分配利润"反映的是累计盈利
□ 损益表(Profit and Loss Statement)
选择日期 2027-01-01,所有项目应该几乎没有数据(因为新的一年刚开始)
□ 总账(General Ledger)
查看"本年利润"科目,最后一笔应该是结转分录
5. 关账时间表
12 月 15 日 → 通知全公司:所有单据务必在 12 月 25 日前录入完毕
12 月 25 日 → 核对银行余额、库存数量
12 月 28 日 → 补录所有遗漏的单据
12 月 29 日 → 计提折旧、税费、工资
12 月 30 日 → 做最后一笔 Journal Entry(差错调整)
12 月 31 日 → 执行损益结转 + 关闭会计年度
1 月 1 日 → 验证所有报表正确
1 月 2 日 → 备份这个"关账后"的完整数据,永久保留
如果你需要审计,1 月份把所有报表和备份给审计师。
6. 常见问题
Q:我公司规模小,只有我和一个会计,也需要走这套流程吗?
需要。会计年度不等于自然年度也需要,但中国税法要求按自然年度申报。即使只有两个人,也要在 12 月做损益结转。
Q:如果我 1 月份才发现 12 月少记了一笔费用怎么办?
如果会计年度已经关账,可以在新的年度做一笔"以前年度损益调整"分录。但最好在关账前仔细核对,避免这种情况。
Q:ERPNext 能自动做年终结转吗?
不能完全自动。系统会帮你做报表,但损益结转这步需要你手动创建 Journal Entry。因为系统不知道你所有科目是否都录完了。
Q:如果今年是亏损的,还需要结转吗?
需要。亏损也要通过"本年利润"结转到"未分配利润"的借方。下一年盈利时,会先弥补这部分亏损。
最后更新:2026-05-10 适用版本:ERPNext v16.x
关账涉及税务申报。建议在正式关账前咨询你的会计或税务顾问。