You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tryton 6.0.0发票行填负数量时税行表额外多出税行问题

问题根因

Tryton 6.0.0版本的发票税行生成逻辑默认按税务科目+税基正负符号两个维度做分组聚合,并非仅按税务科目维度聚合:

  • 当发票内所有行数量均为正值时,所有绑定“Umsatzsteuer – Normalsatz”科目的发票行税基符号统一为正,只会命中一个聚合分组,因此仅生成1条税行,和你观察到的正常表现一致。
  • 当发票内同时存在正数量、负数量的同税目发票行时,正数量行对应正税基、负数量行对应负税基,会命中两个独立的聚合分组,哪怕两个分组绑定的税务科目、税率完全一致,也会生成两条独立税行。
  • 该表现是6.0.0初始版本的设计缺陷:初始版本的分组逻辑原本是为了区分销项计税、进项抵扣的独立核算场景,没有兼容同一张发票内同税目正负行(如折扣、销售折让、部分退款行)的合并计税需求,不属于数据异常。
修复方案

根据你的实际业务需求,可选择以下任意一种方案处理:

无代码配置修复

  • 登录管理员账号进入税务科目配置界面,找到“Umsatzsteuer – Normalsatz”对应的税规则配置项
  • 找到税行分组键配置,将默认值('tax', 'base_sign')修改为('tax',),移除按税基符号分组的规则
  • 保存配置后,打开对应发票手动触发税重算,同税目的正负发票行会合并计算税额,仅生成1条税行。

源码级修复(适用于二次开发场景)

如果需要从代码层面全局调整该逻辑,可按以下步骤修改account_invoice模块源码:

  1. 定位模块内invoice.py文件的_get_tax_line_key方法
  2. 删除方法返回值中与base_sign(税基符号)相关的键值对
  3. 升级account_invoice模块、重启Tryton服务后,批量重算历史发票税行即可生效。

注意:如果你的属地税务申报要求单独列示蓝字、红字部分的税额,无需做上述修改,双税行的表现符合正负项分别列示的申报规范。

内容的提问来源于stack exchange,提问作者Developer23

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 20:24:27