在定义税务管辖码的时候,我们可以定义多级结构,从而实现多层税率计算的目的,以系统中,美国的计税方式为例。

在这个结构中,Tax Jur Code被分为了3层,前2位为第1层,代表省/州级别,第3-6位为第2层,代表郡的级别,第6-10位代表城市的级别。

在定义Tax Jur. Code时,长度需与结构中的总长度相同,长度不足时后面加0。例如上图中,CA代表加州级别的税,CA001代表南加州区域,CA0011000代表洛杉矶。较低的层级在计算税码的时候会继承高层级的税。
例如在下面这个例子中,配置税码时,定义了CA0000000代表的州税为6%,当我们配置CA0010000代表的南加州区域税时,发现已经继承了上级的税。同理,对于CA0011000,除了自身的税率,也会继承6%的州税和1.5%的区域税。



不难发现,在定义每个Code对应的税率时,只能定义特定级别的条件记录。这是因为在条件类型的配置中,已经设定了每个条件类型对应的级别,比如下面这个条件类型,只有在配置第二级的Jur Code,即CA0010000时,才会允许赋值。

网友评论