定义依赖于Odoo中的先前规则的工资规则

时间:2015-05-08 17:00:55

标签: python openerp-8 odoo-8

雇员的个人所得税是按年度总薪酬百分比不同的频段计算的。第一个频段(前300,000.00)的税率为7%,下一个频段(下一个300,000.00)的税率为11%,依此类推。鉴于年度总税额为500,000.00,总税率为(300,000.00的7%+ 200,000.00的11%)。我有一个代码为TAXABLE_INCOME的规则,并希望计算个人所得税。我需要定义依赖于此规则的其他规则。

第一个规则条件类型是范围,取决于" rules.TAXABLE_INCOME"并且范围为0.00 - 300,000.00,金额类型为百分比,并且基于" 300000.00如果rules.TAXABLE_INCOME> 300000.00其他规则.TAXABLE_INCOME"百分比是7%。

现在面临的挑战是,当我尝试计算工资单时,我会收到范围条件错误的错误。定义范围条件/百分比值取决于什么的正确方法是什么?我是否需要像python代码方法一样分配给结果?

1 个答案:

答案 0 :(得分:1)

工资范围可以概括为列表[(LowerBound, UpperBound, PercentTax),]

给定波段的规则取决于:result = TAXABLE_INCOME > LowerBound,而值可以使用以下公式计算:result = ((UpperBound - LowerBound) if TAXABLE_INCOME > UpperBound else (TAXABLE_INCOME - LowerBound)) * PercentTax / 100

最重要的发现是,示例代码引用rules.NET前置rules.到规则ID是一个错误。因此,而不是rules.TAXABLE_INCOME直接使用TAXABLE_INCOME