Para emitir notas temos que trabalhar muito com valores, e ocasionalmente podem surgir dúvidas referentes à arredondamento de valores. Neste artigo iremos abordar as regras para envio de valores do manual da SEFAZ, para emissão de Nota de produto e consumidor, como o eNotas Gateway realiza o envio e arredondamento.

Como são informados os valores dos produtos?

Ao utilizar nossa API para integrar as emissão de NF-e e NFC-e os produtos da nota devem ser enviados no array de "itens", como mostra o trecho de JSON abaixo:

Trecho de JSON exemplo - valores do produto


"itens": [
        {
            "cfop": "5922",
            "codigo": "75011646",
            "descricao": "BANCADA SUPER QUARTZO",
            "ncm": "68101900",
            "cest": null,
            "quantidade": 2.232, // decimal - preenchido pelo sistema de origem
            "quantidadeTributavel": 2.232, // decimal - preenchido pelo sistema de origem
            "unidadeMedida": "M2",
            "valorUnitario": 966.2757, // decimal - preenchido pelo
            "valorTotal": 2156.727, //decimal (opcional) - pode ser enviado pelo sistema de origem ou calculado pelo eNotas
            "impostos": {
                "percentualAproximadoTributos": {
                    "simplificado": {
                        "percentual": 18.45,
                        "valor": 397.92
                    }
                },


Basta informar a quantidade e o valor unitário, que o gateway fará o cálculo do valor total dos produtos contidos na nota, desta forma fica à critério do sistema de origem se deseja enviar o campo "valorTotal".

 OBS: O "valorTotal" é enviado no XML pela tag <vProd>, e por regra da SEFAZ, esta tag deve possuir apenas duas casas decimais. Se for enviado mais de duas casas decimais, o Gateway irá considerar apenas as duas primeiras, abaixo falaremos também sobre a regra para arredondamento.



Regras para arredondamento

Conforme mostrado acima, os campos referentes à quantidade e valor unitário, podem ter mais de duas casas decimais segundo o manual da SEFAZ, mas o valor total deve possuir apenas duas casas. Portanto em situações como esta pode ser necessário aplicar uma regra de arredondamento para definição do valor total.

Para regras de arredondamento, existe a Norma ABNT NBR 5891 basicamente as regras estabelecidas por esta norma consistem em:
• Se o número da terceira casa for igual a 5 ou maior, o número da segundo casa será acrescido.
Então, um valor de soma real= 0,3452, ao ser arredondado dentro da norma será = 0,35.
• Caso seja menor que 5, o número na segunda casa permanecerá o mesmo.

Para que o "valorTotal", seja calculado dentro da Norma ABNT, é necessário informar o seguinte campo no JSON de envio:
"tipoArredondamento": "ABNT_NBR_5891",

Veja os exemplos abaixo:
1) Foi emitido uma nota onde no JSON de requisição foi informado apenas a "quantidade" e o "valorUnitario":

        {

            "cfop": "5922",

            "codigo": "75011646",

            "descricao": "Produto teste",

            "ncm": "68101900",

            "quantidade": 0.265, // decimal - preenchido pelo sistema de origem

            "unidadeMedida": "M2",

            "valorUnitario": 199.00, // decimal - preenchido pelo sistema de origem

        },

Neste exemplo o valor total real é = 52.735, como não foi enviado o campo "tipoArredondamento" nem o campo "valorTotal", então o valor total a ser enviado no XML será 52.73.

2) No JSON de requisição foi informado a "quantidade", "valorUnitario" e "tipoArredondamento":
       {

            "cfop": "5922",

            "codigo": "75011646",

            "descricao": "Produto teste",

            "ncm": "68101900",

            "quantidade": 0.265, // decimal - preenchido pelo sistema de origem

            "unidadeMedida": "M2",

            "valorUnitario": 199.00, // decimal - preenchido pelo sistema de origem
           "tipoArredondamento": "ABNT_NBR_5891"

        },

Ao informar o "tipoArredondamento" nesta situação, será aplicado a regra de arredondamento da ABNT, o valor total real é = 52.735, e o valor total a ser enviado no XML será 52.74.


Outras observações

• Quando o campo "valorTotal" é enviado no JSON de envio, o Gateway priorizará a informação contida nele.
• O envio do campo "tipoArredondamento" é opcional, e aconselhamos que seja enviado apenas nas situações onde o campo "valorTotal" não foi enviado no JSON de requisição, desta forma será feito o cálculo e arredondamento pelo Gateway.


Caso persista dúvidas sobre este tema, entre em contato com o nosso suporte! :)