Como são gerados os valores e quantidades no XML da NF-e no que tange utilização de casas decimais (tags qCom, vUnCom, vUnTrib, qTrib)?
A geração dessa informação no XML é tratada através do parâmetro global 'ArrVlrBru' parametrizado na tela NF000PGS - Cadastros / Identificadores e parâmetros / Parâmetros Globais (Manutenção dos parâmetros globais do Sistema).
Este parâmetro tem como objetivo definir se o valor bruto dos produtos das notas fiscais de saída devem ser recalculados com base na perda de precisão decimal.
A geração do valor no XML seguirá a seguinte lógica:
Valor Bruto / Quantidade = Valor gerado no XML.
Exemplo: 1.78 / 0,04 = 44,5.
No entanto, é necessário levar em consideração ainda a quantidade de casas decimais utilizada no sistema em relação a quantidade de casas decimais permitido pela SEFAZ para as quantidade comercial (tag qCom) e quantidade unidade tributável (qTrib).
O sistema permite trabalhar com até 10 casas decimais para a quantidade (definição efetuada por empresa no campo 'Decimais Preço Venda' da tela NF070EMP - Cadastros / Empresas / Cadastro (Cadastro de Empresas)), no entanto, a SEFAZ permite trabalhar apenas com 4 casas decimais.
Importante
Lembre-se que arredondamentos podem ser efetuados através de regras customizadas acionadas em diversas rotinas do sistema.
Desta forma, a geração do XML da NF-e poderá ter diferença entre o que está na tela do sistema e o que efetivamente foi gerado no XML, dependendo desta diferença de decimais e da parametrização estabelecida no parâmetro global 'ArrVlrBru'.
Abaixo seguem exemplos práticos de cenários com utilização do parâmetro 'ArrVlrBru':
Parâmetro Global 'ArrVlrBru' definido como 'N', quantidade comercial definida como '0,16364', valor unitário bruto definido como '1,78'.
Neste caso o sistema desconsiderará a quinta casa decimal da quantidade e fará o arredondamento do valor (se a quinta casa decimal for 4 ou menor, mantém o da quarta casa decimal - se a quinta casa decimal for 5 ou maior, arredonda a casas quarta casa decimal para cima).
No caso em questão, o sistema considerará a quantidade '0,1636'. A geração no XML ficará da seguinte forma:
- Tag vProd: 1,78;
- Tags qCom e qTrib: 0,1636;
- Tags vUnCom e vUnTrib: 10,8801955990 (que é o resultado do cálculo 1,78 / 0,1636).
Parâmetro Global 'ArrVlrBru' definido como 'S', quantidade comercial definida como '0,16364', valor unitário bruto definido como '1,78'.
Neste caso o sistema desconsiderará a quinta casa decimal da quantidade e fará o arredondamento do valor (se a quinta casa decimal for 4 ou menor, mantém o da quarta casa decimal - se a quinta casa decimal for 5 ou maior, arredonda a casas quarta casa decimal para cima).
No caso em questão, o sistema considerará a quantidade '0,1636'. No entanto, o sistema manterá os valores comercial e de unidade tributável definida nas telas do sistema:
- Tag vProd: 1,78;
- Tags: qCom e qTrib: 0,1636;
- Tags vUnCom e vUnTrib: 10,87 (consideramos que este é o valor registrado na tela do sistema).
Parâmetro Global 'ArrVlrBru' definido como 'C', quantidade comercial definida como '0,16364', valor unitário bruto definido como '1,78'.
Neste caso o sistema desconsiderará a quinta casa decimal da quantidade e fará o arredondamento do valor (se a quinta casa decimal for 4 ou menor, mantém o da quarta casa decimal - se a quinta casa decimal for 5 ou maior, arredonda a casas quarta casa decimal para cima).
No caso em questão, o sistema considerará a quantidade '0,1636'. No entanto, o sistema manterá o valor comercial definido nas telas do sistema (como se o parâmetro 'ArrVlrBru' estivesse definido como 'S') e recalculará o valor unidade tributável (como se o parâmetro 'ArrVlrBru' estivesse definido como 'N'). A geração no XML ficará da seguinte forma:
-
Tag vProd: 1,78;
-
Tags: qCom e qTrib: 0,1636;
-
Tag vUnCom: 10,87;
-
Tag vUnTrib: 10,8801955990 (que é o resultado do cálculo 1,78 / 0,1636).
Com base nos conceitos acima, execute os seguinte passos:
1. Valide a forma adequada de utilização do parâmetro global 'ArrVlrBru' conforme a sua realidade de negócio;
2. Acesse a tela NF000PGS - Cadastros / Identificadores e parâmetros / Parâmetros Globais (Manutenção dos parâmetros globais do Sistema) e efetue a alteração do parâmetro. Lembre-se que este é um parâmetro por empresa, então você deve acessar a empresa na qual deseja fazer a alteração.
Importante
O parâmetro poderá ser alterado conforme a necessidade, no entanto, dependendo da operação realizada (exemplo: utilização de valores e quantidades que acarretam perda de precisão decimal), ao ser gerada a NF-e poderá ocorrer rejeição da mesma devido às validações aplicadas pela SEFAZ. Efetue a homologação da alteração da parametrização de forma que atenda a necessidade de negócio da empresa e a exigibilidade da SEFAZ.