Migrando para NF-e 4.00
A nova versão 4.0 estará disponível em produção a partir de 02/08/2018, a versão 3.10 será desativada em abril de 2018 conforme a Nota Técnica 2016.002.
Criamos esse guia para facilitar a migração da versão 3.10 para a 4.00. Tentamos reduzir ao máximo as mudanças de forma a maximixar os investimentos de quem usam nossas funções aos longo dos últimos anos.
Versão do Java
É importante destacar que somente a versão do Java 7* tem suporte aos padrões de criptografia exigidos nessa nova versão da NF-e. Assim, no caso de utilizar o Webrun anterior ao Studio, é necessário configurar o Tomcat para usar o Java 7 ou mais recente.
*Tenicamente é o Java 6 mais recente, só que a distribuição das versões com suporte integral a criptografia é restrita a quem tem contrato com a Oracle.
Definindo a versão
De forma geral basta definir a versão para 4.00 utilizando a função “” logo após criar o conector, ficando assim:
- SEFAZ – Criar Conexão(…);
- SEFAZ – Definir Versão(conector, “4.00”);
As chamadas subsequentes são iguais à vesão 3.10.
Mudanças na geração do XML
As tags da 3.x que foram removidas na 4.00. da nota e lote são automaticamente suprimidas. As novas tags a serem informadas já serão reconhecidas pela API e formatadas adequadamente se necessário. É essencial definir a versão da NF-e a ser criada no último parâmetro da função “SEFAZ NF-e – Criar Nota Fiscal“, informar o valor “4.00“.
Entre as novas tags obrigatórias, vale destacar as seguintes:
- infNFe/total/ICMSTot/vFCP
- infNFe/total/ICMSTot/vFCPST
- infNFe/total/ICMSTot/vFCPSTRet
- infNFe/total/ICMSTot/vIPIDevol
Elas são inicializadas com 0 (Zero) se não informadas.
A versão 4.00 introduz também a obrigatoriedade da tag com informações do pagamento ( infNFe/pag/detPag ). Para adicionar vários detalhes basta usar indices, como no exemplo abaixo:
- infNFe/pag/detPag[1]/tPag
- infNFe/pag/detPag[1]/vPag
- infNFe/pag/detPag[2]/tPag
- infNFe/pag/detPag[2]/vPag
- infNFe/pag/detPag[2]/card/tpIntegra
- infNFe/pag/detPag[2]/card/CNPJ
- infNFe/pag/detPag[2]/card/tBand
- infNFe/pag/detPag[2]/card/cAut