nfe/whmcs-addon

Trazer alíquotas e retenções do ISS

luiznfeio opened this issue · 5 comments

Trazer alíquotas e retenções do ISS

implementando novo campo no módulo para configuração da retenção de ISS.

Implementado na v2.1 novo menu "Alíquotas & Retenções" para configuração de alíquotas personalizadas por produto assim como nova opção na configuração do módulo para definição de alíquota de retenção de ISS padrão.

image

image

A retenção não está sendo calculada para registro de domínios. Quando um item de um pedido é registro de domínio, tendo uma alíquota global, a nota não está descriminando os valores que deveriam.

image

Esbarrei na questão do cálculo da retenção do ISS quando da consolidação dos itens por código de serviço (#119 ) junto com os descontos (#118).

Hoje o cálculo é realizado através ou de um valor global, ou de um valor personalizado vinculado ao ID do produto do WHMCS. Então cada produto pode ter um ISS de retenção personalizado independente do código do serviço ou do valor global (inclusive pode zerar a retenção para apenas um produto informando zero no campo).

Entretanto, desta maneira não é possível calcular a retenção para o valor total da nota, já que a consolidação dos itens é realizado a partir dos diferentes códigos de serviços, e não de produtos.

Também há a questão do desconto, já que o mesmo será subtraído conforme o valor total dos itens que possuem mesmo código de serviço, não sendo possível calcular a retenção individualmente por produto.

Então é necessário realizar uma mudança na lógica da associação da alíquota de retenção para que valores personalizados sejam associados ao código do serviço, e não por produto.

Isso evitaria também situações onde dois produtos com o mesmo código de serviço possua duas alíquotas diferentes.

Então a alíquota global valeria para os produtos com código de serviço global, e alíquotas personalizadas só poderão ser definidas para produtos com códigos de serviços personalizados. Mesmo que produtos apresentem códigos de serviços iguais (mas diferentes do valor global) apenas um valor de retenção de ISS seria permitido.