算本期折旧与累计折旧,原值=累计折旧+净值双向守恒,残值率缺失或满期都直说
depreciation-calcSKILL.md 为准。> **本地运行,零网络、免 API Key、数据不出电脑。** > 四项诚实承诺:① 算不出就说算不出,绝不编造数字;② 高危动作强制人工确认;③ 幂等断点,绝不重复副作用;④ 全程留痕可审计。 # 固定资产折旧 折旧是月结必做、但最容易"看着对其实错"的一步。原值、累计折旧、净值三个数 只要有一个来源不对,后面的资产负债表就是歪的。 本包的原则:**算不出来就明说算不出来,并把口径写清楚**。残值率没填、折旧年限 填了 0、残值率填了 100%,这些都不是"按 0 处理"就能糊过去的——每种情况本包都 给出明确说法。 ## 输入 一个明细表,一行一台资产。列名自动识别(下列顺序即识别优先级): | 用途 | 可识别列名 | |---|---| | 资产编号 | 资产编号 / 卡片编号 / 固定资产编号 / 资产号 / 编号 | | 资产名称 | 资产名称 / 资产项目 / 资产 / 名称 / 项目名称 / 设备名称 | | 使用部门 | 使用部门 / 管理部门 / 部门 / 使用单位 / 所属部门 | | 原值 | 原值 / 资产原值 / 入账原值 / 账面原值 / 固定资产原值 / 金额 | | 入账日期 | 入账日期 / 启用日期 / 开始使用日期 / 使用日期 / 购置日期 / 取得日期 | | 折旧年限 | 折旧年限 / 使用年限 / 预计使用年限 / 年限 | | 残值率 | 残值率 / 预计残值率 / 净残值率 / 残值比例 / 残值% | | 折旧方法 | 折旧方法 / 计提方法 / 折旧方式 / 摊销方法 / 折旧政策 | | 总工作量 | 总工作量 / 预计工作量 / 工作量 / 总工时 / 预计行驶里程 | | 本月工作量 | 本月工作量 / 本期工作量 / 当期工作量 / 本月工时 / 本期行驶里程 | | 累计工作量 | 累计工作量 / 已完成工作量 / 累计行驶里程 / 累计工时 | | 已计提月数 | 已计提月数 / 计提月数 / 已计提期数 | 必须给出「原值」。折旧年限、残值率缺失会进异常表并写明原因,**不猜、不补默认值**。 `折旧方法` 认得:年限平均法 / 直线法 / 平均年限法(默认)、工作量法、 双倍余额递减法、年数总和法。认不出来的写进异常表。 ### 残值率怎么写 三种写法都认:`0.05`、`5%`、`5`。**残值率 ≥ 100%(即 1 或 100%)本包直接拒绝**—— 应计折旧总额为零,这不是"不提折旧"能糊弄的,通常是原值填错了。 ## 输出四件套 | 文件 | 内容 | |---|---| | `dp_主表.csv` | 编号 / 名称 / 部门 / 原值 / 入账日期 / 折旧年限 / 残值率 / 方法 / 月折旧额 / 本期折旧额 / 累计折旧 / 净值 / 已计提期数 / 状态说明 | | `dp_异常表.csv` | 不可计算项 + 需人工复核项(带原始行号、风险等级) | | `dp_校验表.csv` | 计提基准月、各方法口径、残值率处理、守恒断言、命中统计 | | `fin-log.jsonl` | 处理日志(追加) | 另有 `dp_期次表.csv`,逐台逐月展开折旧计划(182 行 / 实测)。 ## 用法 ```bash PY="<python 3.8+ 路径>" # 纯标准库 "$PY" <skill目录>/scripts/depreciation.py 固定资产明细.xlsx --execute ``` 指定计提基准月与默认残值率: ```bash "$PY" depreciation.py 明细.xlsx --as-of 2026-09 --execute "$PY" depreciation.py 明细.xlsx --as-of 2026-09 --default-salvage-rate 0.05 --operator 张三 --execute ``` **默认不写盘**——不加 `--execute` 只打印预览,确认无误再真跑。 ## 真实输出 ``` 方案:dp_固定资产明细.xlsx | 资产 7 条 | 计提基准 2026-09 --- 折旧计算(6 台)--- GD-01 办公桌椅 原值 120,000.00 月折旧 1,900.00 本期 1,900.00 累计 60,800.00 净值 59,200.00 正常计提(第 32/60 期) GD-02 笔记本电脑 原值 48,000.00 月折旧 1,266.67 本期 1,266.67 累计 32,933.34 净值 15,066.66 正常计提(第 26/36 期) GD-04 生产线设备 原值 720,000.00 月折旧 10,363.64 本期 10,363.64 累计 302,618.19 净值 417,381.81 正常计提(第 32/120 期) GD-05 新购打印机 原值 9,600.00 月折旧 152.00 本期 0.00 累计 0.00 净值 9,600.00 本月新增/尚未起提:不足 1 个计提期,本期折旧额 GD-06 已提足设备 原值 60,000.00 月折旧 950.00 本期 0.00 累计 57,000.00 净值 3,000.00 已提足(满 60/60 期,已过 30 期):净值为 GD-07 百百分十残值 原值 50,000.00 月折旧 0.00 本期 0.00 累计 0.00 净值 50,000.00 残值率 100.0%,应计折旧总额为 0,月折旧额与 --- 提示(3 条)--- [低] GD-05 新购打印机:截至 2026-09 已计提期数 0(少于 1 期),本期折旧额为 0,不是漏提,也不是算错 [低] GD-06 已提足设备:已提足,需关注是否继续计提(会计上若仍在使用应评估减值,税务上可停止提取) [中] GD-07 百百分十残值:残值率 100.0%,应计折旧总额为 0、月折旧额 0,该资产实际不应计提;若属实请检查「原值」是否混入了不折旧的支出 --- 不可计算 / 异常(1 条)--- [高] GD-03 载重货车:不可计算:总工作量缺失,工作量法的分母不可用 已生成期次明细:dp_期次表.csv(182 行) --- 校验表 --- 主表行数 | 6 异常行数 | 1 输入行数 | 7 主表金额合计 | 1007600.0 异常表金额合计 | 360000.0 守恒差异(入-主-异) | 0.0 ``` ## 拒绝权(什么情况下算不出) | 情况 | 处理 | |---|---| | 折旧年限 = 0 或负数 | **直接拒绝**,不许按 0 算折旧 | | 残值率 > 100% | **直接拒绝**,残值不可能超过原值 | | 原值缺失 / 非数字 / ≤ 0 | 进异常表(高),不补 0 | | 折旧年限缺失 / 非数字 | 进异常表(高) | | 残值率缺失 | 进异常表(高)——本包不猜残值率 | | 折旧方法认不出来 | 进异常表(高) | | 工作量法但总工作量缺失或 ≤ 0 | 进异常表(高,分母不可用) | | 入账日期坏了 | 进异常表(高) | 被拒绝的行**不产生任何折旧数字**,也不会悄悄从合计里消失—— 它的原值计入异常表金额,守恒关系照样成立。 ## 关键设计(容易踩的坑) 1. **守恒是硬断言**:`原值 = 累计折旧 + 净值`,逐台核、全表合计再核一次, 差超过 0.01 元就报「算不出」。差一分钱说明数据来源本身有问题, 不是四舍五入能解释的。 2. **不足 1 个计提期**:本月新增的资产,本期折旧额为 0,但月折旧额照常给出, 并注明「不是漏提,也不是算错」。往上凑一个月折旧反而错。 3. **残值率 100%**:应计折旧总额为 0,月折旧额与本期折旧额均为 0, 本资产实质不应计提,标中风险提示复核「原值」是否混入了不折旧的支出。 4. **已提足**:满期之后本期折旧额为 0,同时提示「会计上若仍在使用应评估减值」。 税务上可以停止提取,会计上是否继续要按准则判断,本包不下结论。 5. **尾差调到最后一个月**:月折旧额除不尽时,差额调到最后一个月, 不是到处撒胡椒面,避免累计折旧与手算差几毛。 6. **加速折旧**:双倍余额递减前 N−1 年按 2/N 对期初净值,最后两年改直线; 年数总和按 应计折旧 × 剩余年限 ÷ 年数总和。 7. **入账日期只填到年月**(`2026-09`)也认,按当月最后一天处理。 ## 人工复核(必读) - 残值率缺失时本包不猜默认值,请业务口确认后再补 - **加速折旧有税务门槛**:会计上用加速折旧需符合条件并做税会差异台账, 本包只按会计口径算,不判断税务是否允许 - 已提足但仍在用的资产,会计上要不要继续计提、要不要评估减值,是判断不是计算 - 工作量法用完后应转为年限平均法,本包按「到点自动切换」处理, 若企业另有政策请核对「状态说明」列 - 本期折旧额为 0 有三种不同原因(未起提 / 已提足 / 残值率 100%), 看「状态说明」列区分,别一律当漏提 ## 相邻路线转交 | 用户要做的事 | 转交给 | |---|---| | 逐台出卡片台账 | `fixed-asset-card` | | 无形资产 / 长期待摊摊销 | `amortization-calc` | | 折旧凭证批量生成 | `voucher-batch-generate` | | 月结折旧计提清单核对 | `month-end-close-check` | | 资产负债表中固定资产科目 | `financial-statement-build` | ## 可直接复制的说法 ```text 把这批固定资产按折旧方法算一遍本期折旧和累计折旧,出折旧计提表。 折旧年限为 0 或负数、残值率超过 100% 的,直接说算不出; 残值率没填的别替我猜一个,标出来我确认。 原值 = 累计折旧 + 净值 要能对上,差一分钱也要报出来。 本月新增的、已提足的、残值率 100% 的,分别说明为什么本期折旧额是 0。 ``` ## 做完怎么算完成 - [ ] 每台资产的「折旧年限」「残值率」已与资产管理制度核对一致 - [ ] 「原值 = 累计折旧 + 净值」全表守恒差异为 0.00 - [ ] 异常表逐条已追查,无"未说明原因的 0" - [ ] 本期折旧额为 0 的资产已按未起提 / 已提足 / 残值率 100% 分类确认 - [ ] 用加速折旧的资产已确认税务上是否允许,并另建税会差异台账 - [ ] 输出已交业务口复核签字后再入账 --- 本 Skill 采用 BUSL-1.1 许可(源码可见,可自由使用)。 版权所有 © 2026 律令科技(深圳)有限公司(@lexord-technology)。 本技能由律令科技(深圳)有限公司开发,**财友云(caiyouyun.cn)**发布与展示。 允许个人及企业内部免费使用、复制、修改,包括内部生产环境。 未经书面许可,不得将本 Skill 或其修改版作为商业服务对外销售、转售或提供托管服务。 各版本发布之日起 4 年后自动转为 Apache License 2.0。详见随包 `LICENSE.md`。
增值税/附加/个税/印花税/所得税预缴,附公式与政策依据
金额大写、含税不含税互算、价税分离、尾差分摊、百分比反算
五险一金 + 个税累计预扣预缴 + 实发,支持多地参数表
期间生成、周旬季年切换、工作日调整、账期与自然日换算
按年度-凭证号-附件组织,生成目录清单与完整性校验
按人拆成独立文件,可加密打包,不留明文
无形资产与长期待摊费用摊销明细表
新增/折旧/处置/盘点全生命周期台账
等额本息/等额本金/气球贷,含实际利率与 IRR 校验
多币种折算、期末汇兑损益计算,汇率走内置表或导入
合并查询所有财税技能的运行日志,按时间/技能/级别过滤
银行卡/身份证/税号/账套口令扫描与脱敏报告
SKILL.md 为准。