diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..5c043c9b --- /dev/null +++ b/.travis.yml @@ -0,0 +1,6 @@ +language: java +jdk: oraclejdk8 + +sudo: false + +script: mvn clean install diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..c38afbc4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Samuel Oliveira + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 00000000..b289a030 --- /dev/null +++ b/README.md @@ -0,0 +1,111 @@ +# Java-NFe [![Build Status](https://travis-ci.org/Samuel-Oliveira/Java_NFe.svg?branch=master)](https://travis-ci.org/Samuel-Oliveira/Java_NFe) +Projeto Para implementação do Java-Nfe Utilizando JAXB. + +## Gostou do Projeto? Dê sua colaboração: [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=TX9K693QQYA6W) + +Para Iniciar : +- Baixe o java-nfe-4.00.1.jar (https://github.com/Samuel-Oliveira/Java_NFe/raw/master/java-nfe-4.00.1.jar) e o adicione às bibliotecas de Seu Projeto. +- Baixe o Schemas.rar (https://github.com/Samuel-Oliveira/Java_NFe/raw/master/Schemas.rar) e extraia na sua Máquina. + +- Maven : +``` + + Repositorio Autocom + Release + http://www.autocomsistemas.com.br:8081/nexus/content/repositories/autocom/ + + + br.com.samuelweb + java-nfe + 4.00.1 + +``` + +Veja a Wiki https://github.com/Samuel-Oliveira/Java_NFe/wiki, para ter um Tutorial Completo. + +________________________________________________________________________________________________ + +# Historico de Versões + +## v4.00.1 - 28-01-2018 +- Versão Inicial 4.00 + +## v3.10.9 - 26-01-2018 +- Atualziado Cacert +- Corrigido URL WS de PE +- Corrigido URL WS de ES +- Ultima Versão 3.10 + +## v3.10.8 - 04-07-2017 +- Corrigido Erro ao Gerar XML de NFC-e sem CDATA no QrCode +- Removido WebService especial da Bahia Para Nfce +- Adicionado Compatibilidade com Certificado A3 fora do Repositorio de Windows +- Adicionado Exception Espeficifica para Erros de Validação +- Adicionado Java_Docs +- Corrigido erros ao Consultar Cadastro de Outro Estado diferente da Configuração +- Adicionado Exception ao não encontrar WebService. +- Removido Metodos e Constantes de Download e Consulta Destinatario +- Removido a Parte de Certificado Digitais para outro Projeto. +- Melhorado Classe Socket DInamico +- **Atenção: Alterado o caminho do Objeto Certificado, refaça os Imports.** + +## v3.10.7 - 23-05-2017 +- Correção Endereço WebService MT. +- Adicionado Cacert com Alterações do AM +- Adicionado Cacert com Alteracao da BA +- Removido Protocol +- Alterado Configurações de Certificado SSL para SocketDinamico +- Adicionado Serviço De Consulta Cadastro. +- Adicionado Schemas de Consulta Cadastro. +- Alterado Projeto XSD para versão 8.i.2_DFe1.02a + +## v3.10.6 - 21-02-2017 +- Issues: # 21, #22 e #23. +- Adicionado Metodo para Ler Arquivo XML. +- Adicionado Stubs da Bahia : + - Status Serviço + - Consulta Xml + - Inutilização +- Arquivo Cacert Atualizado +- Correção Endereço WebService MG. +- Adicionado XSD DistribuicaoDFe 1.01 +- Adicionado Função PAra Download de Nfe Por Chave. + +## v3.10.5 - 21-11-2016 +- Issues: #15, #16, #17 e #18. +- Alterado Estrutura para as todas as funções que necessitam de Endereço WebService +- Adicionado Constantes +- Adicionado Endereços ConsultaQrcode +- Corrigido Erro De QrCode não vir no XML FInal +- Modo Assincorno Implementado. +- Modo De Contingencia Implementado. +- **Atenção: Alterado a chamada dos metodos: statusServico, consultaXml, consultaXml, inutilizacao, enviarNfe, cancelarNfe, cce + Todos eles devem adicionar o parametro tipo, ondeve informar se é NFE(ConstantesUtil.NFE) ou NFC-e(ConstantesUtil.NFCE)** + +## v3.10.4 - 01-11-2016 +- Issues: #10, #11 e #12. +- Corrigido erro especifico do WebServices SVRS, referente ao nameSpace. +- Melhorado Lógica de Replace para os "Lixos" gerados ao Converter Objeto pra Xml +- Adicionado Proxy + +## v3.10.3 - 17-10-2016 +- Issues: #5, #6, #7 e #8. +- Corrigido erro especifico da Sefaz de PE, referente ao cabeçalho SOAP. +- Corrigido erro de QrCode Vazio. +- Corrigido erro que acontece ao tentar Manifestar a Nfe, sem fazer a validação. +- Adicionado função que remove Acentos no XML antes de assinar a Nota. + +## v3.10.2 - 07-10-2016 +- Adicionado Compatibilidade com NFC-e +- Adicionado Método de geração de qrCode : NFCeUtil.getCodeQRCode +- Adicionado Possibilidade de Usar certificado Digital Fisico (Arquivo .pfx) +- Adicionado possibilidade de escolher entre Validar ou não o XMl Antes do Envio de todas as Funções; +- Disponibilizado projeto para download via Maven + +## v3.10.1 - 05-10-2016 +- Correção de Erros ao listar Certificados Windows Certificados digitais A3 Ausentes. + +## v3.10.0 - 26-09-2016 +- Versão Inicial Do Sistema + +Outras Duvidas Entrar em Contato samuk.exe@hotmail.com diff --git a/Schemas.rar b/Schemas.rar new file mode 100644 index 00000000..eb19004b Binary files /dev/null and b/Schemas.rar differ diff --git a/java-nfe-4.00.1.jar b/java-nfe-4.00.1.jar new file mode 100644 index 00000000..423a3714 Binary files /dev/null and b/java-nfe-4.00.1.jar differ diff --git a/pom.xml b/pom.xml new file mode 100644 index 00000000..709afc27 --- /dev/null +++ b/pom.xml @@ -0,0 +1,104 @@ + + 4.0.0 + br.com.samuelweb + java-nfe + 4.00.1 + Java_NFe + + + + + Repositorio Autocom + Release + http://www.autocomsistemas.com.br:8081/nexus/content/repositories/autocom/ + + + + + + autocom + http://nexus.autocomsistemas.com.br/nexus/content/repositories/autocom/ + + + + + + + + br.com.autocom + nfe-wsdl + 4.00.3 + + + + + br.com.autocom + nfe-xsd + 9-v1.40a + + + + + br.com.samuelweb + java_certificado + 1.5 + + + + + com.sun.xml.txw2 + txw2 + 20110809 + + + + + org.ini4j + ini4j + 0.5.4 + + + + org.apache.httpcomponents + httpcore + 4.4.6 + + + + + + 1.8 + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.3 + + ${java.version} + ${java.version} + + + + org.apache.maven.plugins + maven-assembly-plugin + 2.4 + + + jar-with-dependencies + + + + + package + + attached + + + + + + + \ No newline at end of file diff --git a/src/main/java/br/com/samuelweb/nfe/Assinar.java b/src/main/java/br/com/samuelweb/nfe/Assinar.java new file mode 100644 index 00000000..eee2b374 --- /dev/null +++ b/src/main/java/br/com/samuelweb/nfe/Assinar.java @@ -0,0 +1,190 @@ +package br.com.samuelweb.nfe; + +import br.com.samuelweb.certificado.Certificado; +import br.com.samuelweb.certificado.CertificadoService; +import br.com.samuelweb.certificado.exception.CertificadoException; +import br.com.samuelweb.nfe.dom.ConfiguracoesIniciaisNfe; +import br.com.samuelweb.nfe.exception.NfeException; +import br.com.samuelweb.nfe.util.XmlUtil; +import org.w3c.dom.Document; +import org.w3c.dom.NodeList; +import org.xml.sax.SAXException; + +import javax.xml.crypto.MarshalException; +import javax.xml.crypto.dsig.*; +import javax.xml.crypto.dsig.dom.DOMSignContext; +import javax.xml.crypto.dsig.keyinfo.KeyInfo; +import javax.xml.crypto.dsig.keyinfo.KeyInfoFactory; +import javax.xml.crypto.dsig.keyinfo.X509Data; +import javax.xml.crypto.dsig.spec.C14NMethodParameterSpec; +import javax.xml.crypto.dsig.spec.TransformParameterSpec; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.security.*; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * Classe Responsavel Por Assinar O Xml. + * + * @author Samuel Oliveira - samuk.exe@hotmail.com - www.samuelweb.com.br + */ +class Assinar { + + static final String INFINUT = "infInut"; + static final String EVENTO = "evento"; + + private static ConfiguracoesIniciaisNfe configuracoesNfe; + + private static PrivateKey privateKey; + + private static KeyInfo keyInfo; + + Assinar assinarXMLsCertfificadoA1; + + /** + * @param stringXml + * @param tipo ('NFe' para nfe normal , 'infInut' para inutilizacao, 'evento' para eventos) + * @return String do Xml Assinado + * @throws NfeException + */ + static String assinaNfe(String stringXml, String tipo) throws NfeException { + + configuracoesNfe = ConfiguracoesIniciaisNfe.getInstance(); + + stringXml = XmlUtil.removeAcentos(stringXml); + stringXml = assinaDocNFe(stringXml, tipo); + + return stringXml; + } + + /** + * Assinatura do XML de Envio de Lote da NF-e utilizando Certificado + * Digital. + * + * @param Conteudo do Xml + * @param Nome do Certificado Digital + * @return String do XMl Assinado + * @throws Exception + */ + private static String assinaDocNFe(String xml, String tipo) throws NfeException { + + try { + Document document = documentFactory(xml); + XMLSignatureFactory signatureFactory = XMLSignatureFactory.getInstance("DOM"); + ArrayList transformList = signatureFactory(signatureFactory); + loadCertificates(signatureFactory); + + for (int i = 0; i < document.getDocumentElement().getElementsByTagName(tipo).getLength(); i++) { + assinarNFe(tipo, signatureFactory, transformList, privateKey, keyInfo, document, i); + } + + return outputXML(document); + } catch (SAXException | IOException | ParserConfigurationException | NoSuchAlgorithmException | InvalidAlgorithmParameterException | KeyStoreException | UnrecoverableEntryException | NoSuchProviderException | CertificateException | CertificadoException | MarshalException | XMLSignatureException e) { + throw new NfeException("Erro ao Assinar Nfe" + e.getMessage()); + } + } + + private static void assinarNFe(String tipo, XMLSignatureFactory fac, ArrayList transformList, PrivateKey privateKey, KeyInfo ki, Document document, int indexNFe) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException, MarshalException, XMLSignatureException { + + NodeList elements; + switch (tipo) { + case EVENTO: + elements = document.getElementsByTagName("infEvento"); + break; + case INFINUT: + elements = document.getElementsByTagName("infInut"); + break; + default: + elements = document.getElementsByTagName("infNFe"); + } + + org.w3c.dom.Element el = (org.w3c.dom.Element) elements.item(indexNFe); + String id = el.getAttribute("Id"); + + el.setIdAttribute("Id", true); + + Reference ref = fac.newReference("#" + id, fac.newDigestMethod(DigestMethod.SHA1, null), transformList, null, null); + + SignedInfo si = fac.newSignedInfo(fac.newCanonicalizationMethod(CanonicalizationMethod.INCLUSIVE, (C14NMethodParameterSpec) null), fac.newSignatureMethod(SignatureMethod.RSA_SHA1, null), + Collections.singletonList(ref)); + + XMLSignature signature = fac.newXMLSignature(si, ki); + + DOMSignContext dsc; + + if (tipo.equals(INFINUT)) { + dsc = new DOMSignContext(privateKey, document.getFirstChild()); + } else { + dsc = new DOMSignContext(privateKey, document.getDocumentElement().getElementsByTagName(tipo).item(indexNFe)); + } + + dsc.setBaseURI("ok"); + + signature.sign(dsc); + } + + private static ArrayList signatureFactory(XMLSignatureFactory signatureFactory) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException { + + ArrayList transformList = new ArrayList(); + TransformParameterSpec tps = null; + Transform envelopedTransform = signatureFactory.newTransform(Transform.ENVELOPED, tps); + Transform c14NTransform = signatureFactory.newTransform("http://www.w3.org/TR/2001/REC-xml-c14n-20010315", tps); + + transformList.add(envelopedTransform); + transformList.add(c14NTransform); + return transformList; + } + + private static Document documentFactory(String xml) throws SAXException, IOException, ParserConfigurationException { + + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(true); + return factory.newDocumentBuilder().parse(new ByteArrayInputStream(xml.getBytes())); + } + + private static void loadCertificates(XMLSignatureFactory signatureFactory) throws KeyStoreException, NoSuchAlgorithmException, UnrecoverableEntryException, NoSuchProviderException, CertificateException, IOException, CertificadoException { + + Certificado certificado = configuracoesNfe.getCertificado(); + KeyStore keyStore = CertificadoService.getKeyStore(certificado); + + KeyStore.PrivateKeyEntry pkEntry = (KeyStore.PrivateKeyEntry) keyStore.getEntry(certificado.getNome(), new KeyStore.PasswordProtection(certificado.getSenha().toCharArray())); + privateKey = pkEntry.getPrivateKey(); + + KeyInfoFactory keyInfoFactory = signatureFactory.getKeyInfoFactory(); + List x509Content = new ArrayList(); + + x509Content.add(CertificadoService.getCertificate(certificado, keyStore)); + X509Data x509Data = keyInfoFactory.newX509Data(x509Content); + keyInfo = keyInfoFactory.newKeyInfo(Collections.singletonList(x509Data)); + } + + private static String outputXML(Document doc) throws NfeException { + + try { + ByteArrayOutputStream os = new ByteArrayOutputStream(); + TransformerFactory tf = TransformerFactory.newInstance(); + Transformer trans = tf.newTransformer(); + trans.transform(new DOMSource(doc), new StreamResult(os)); + String xml = os.toString(); + xml = xml.replaceAll("\\r\\n", ""); + xml = xml.replaceAll(" standalone=\"no\"", ""); + return xml; + } catch (TransformerException e) { + throw new NfeException("Erro ao Transformar Documento:" + e.getMessage()); + } + + } + +} \ No newline at end of file diff --git a/src/main/java/br/com/samuelweb/nfe/Cancelar.java b/src/main/java/br/com/samuelweb/nfe/Cancelar.java new file mode 100644 index 00000000..fa8d4344 --- /dev/null +++ b/src/main/java/br/com/samuelweb/nfe/Cancelar.java @@ -0,0 +1,35 @@ +package br.com.samuelweb.nfe; + +import br.com.samuelweb.nfe.exception.NfeException; +import br.com.samuelweb.nfe.util.ConstantesUtil; +import br.com.samuelweb.nfe.util.XmlUtil; +import br.inf.portalfiscal.nfe.schema.envEventoCancNFe.TEnvEvento; +import br.inf.portalfiscal.nfe.schema.envEventoCancNFe.TRetEnvEvento; + +import javax.xml.bind.JAXBException; + +/** + * @author Samuel Oliveira - samuk.exe@hotmail.com + * Data: 28/09/2017 - 11:11 + */ + class Cancelar { + + static TRetEnvEvento eventoCancelamento(TEnvEvento enviEvento, boolean valida, String tipo) throws NfeException { + + try { + + String xml = XmlUtil.objectToXml(enviEvento); + xml = xml.replaceAll(" xmlns:ns2=\"http://www.w3.org/2000/09/xmldsig#\"", ""); + xml = xml.replaceAll(" children = ome.getChildrenWithLocalName("NFe"); + while (children.hasNext()) { + OMElement omElementNFe = (OMElement) children.next(); + if ((omElementNFe != null) && ("NFe".equals(omElementNFe.getLocalName()))) { + omElementNFe.addAttribute("xmlns", "http://www.portalfiscal.inf.br/nfe", null); + if (nfce) { + + OMFactory f = OMAbstractFactory.getOMFactory(); + OMText omt = f.createOMText(qrCode, OMElement.CDATA_SECTION_NODE); + + Iterator itInfSupl = omElementNFe.getChildrenWithLocalName("infNFeSupl"); + while (itInfSupl.hasNext()) { + Object elementInfSupl = itInfSupl.next(); + if (elementInfSupl instanceof OMElement) { + OMElement omElementInfSupl = (OMElement) elementInfSupl; + Iterator itqrCode = omElementInfSupl.getChildrenWithLocalName("qrCode"); + while (itqrCode.hasNext()) { + Object elementQrCode = itqrCode.next(); + if (elementQrCode instanceof OMElement) { + OMElement omElementQrCode = (OMElement) elementQrCode; + omElementQrCode.addChild(omt); + } + } + } + } + } + } + } + + //Adicionado CDATA após OM + if (nfce) { + enviNFe.getNFe().get(0).getInfNFeSupl().setQrCode(""); + } + + if (config.isLog()) { + System.out.println("Xml para Envio: " + ome.toString()); + } + + NFeAutorizacao4Stub.NfeDadosMsg dadosMsg = new NFeAutorizacao4Stub.NfeDadosMsg(); + dadosMsg.setExtraElement(ome); + + NFeAutorizacao4Stub stub = new NFeAutorizacao4Stub(nfce ? WebServiceUtil.getUrl(ConstantesUtil.NFCE, ConstantesUtil.SERVICOS.ENVIO) : WebServiceUtil.getUrl(ConstantesUtil.NFE, ConstantesUtil.SERVICOS.ENVIO)); + NFeAutorizacao4Stub.NfeResultMsg result = stub.nfeAutorizacaoLote(dadosMsg); + + return XmlUtil.xmlToObject(result.getExtraElement().toString(), TRetEnviNFe.class); + + } catch (RemoteException | XMLStreamException | JAXBException e) { + throw new NfeException(e.getMessage()); + } + + } + +} \ No newline at end of file diff --git a/src/main/java/br/com/samuelweb/nfe/Eventos.java b/src/main/java/br/com/samuelweb/nfe/Eventos.java new file mode 100644 index 00000000..96fcdc5c --- /dev/null +++ b/src/main/java/br/com/samuelweb/nfe/Eventos.java @@ -0,0 +1,71 @@ +package br.com.samuelweb.nfe; + +import br.com.samuelweb.nfe.dom.ConfiguracoesIniciaisNfe; +import br.com.samuelweb.nfe.exception.NfeException; +import br.com.samuelweb.nfe.exception.NfeValidacaoException; +import br.com.samuelweb.nfe.util.ConstantesUtil; +import br.com.samuelweb.nfe.util.ObjetoUtil; +import br.com.samuelweb.nfe.util.WebServiceUtil; +import br.inf.portalfiscal.www.nfe_400.wsdl.NFeRecepcaoEvento.NFeRecepcaoEvento4Stub; +import org.apache.axiom.om.OMElement; +import org.apache.axiom.om.util.AXIOMUtil; + +import javax.xml.stream.XMLStreamException; +import java.rmi.RemoteException; + +class Eventos { + + static String enviarEvento(String xml, String tipoEvento, boolean valida, String tipo) throws NfeException { + + try { + + xml = Assinar.assinaNfe(xml, Assinar.EVENTO); + + if(valida){ + String erros =""; + switch (tipoEvento) { + case ConstantesUtil.EVENTO.CANCELAR: + erros = Validar.validaXml(xml, Validar.CANCELAR); + break; + case ConstantesUtil.EVENTO.CCE: + erros = Validar.validaXml(xml, Validar.CCE); + break; + case ConstantesUtil.EVENTO.MANIFESTACAO: + erros = Validar.validaXml(xml, Validar.MANIFESTAR); + break; + default: + break; + } + + if(!ObjetoUtil.isEmpty(erros)){ + throw new NfeValidacaoException("Erro Na Validação do Xml: "+erros); + } + } + + if (ConfiguracoesIniciaisNfe.getInstance().isLog()) { + System.out.println("Xml Evento: " + xml); + } + + OMElement ome = AXIOMUtil.stringToOM(xml); + + NFeRecepcaoEvento4Stub.NfeDadosMsg dadosMsg = new NFeRecepcaoEvento4Stub.NfeDadosMsg(); + dadosMsg.setExtraElement(ome); + + String url ; + if(tipoEvento.equals(ConstantesUtil.EVENTO.MANIFESTACAO)){ + url = WebServiceUtil.getUrl(ConstantesUtil.NFE, ConstantesUtil.SERVICOS.MANIFESTACAO); + }else{ + url = WebServiceUtil.getUrl(tipo, ConstantesUtil.SERVICOS.EVENTO); + } + + NFeRecepcaoEvento4Stub stub = new NFeRecepcaoEvento4Stub(url); + NFeRecepcaoEvento4Stub.NfeResultMsg result = stub.nfeRecepcaoEvento(dadosMsg); + + return result.getExtraElement().toString(); + } catch (RemoteException | XMLStreamException e) { + throw new NfeException(e.getMessage()); + } + + } + +} \ No newline at end of file diff --git a/src/main/java/br/com/samuelweb/nfe/Inutilizar.java b/src/main/java/br/com/samuelweb/nfe/Inutilizar.java new file mode 100644 index 00000000..2d737ba3 --- /dev/null +++ b/src/main/java/br/com/samuelweb/nfe/Inutilizar.java @@ -0,0 +1,78 @@ +package br.com.samuelweb.nfe; + +import br.com.samuelweb.nfe.dom.ConfiguracoesIniciaisNfe; +import br.com.samuelweb.nfe.exception.NfeException; +import br.com.samuelweb.nfe.exception.NfeValidacaoException; +import br.com.samuelweb.nfe.util.*; +import br.inf.portalfiscal.nfe.schema_4.inutNFe.TInutNFe; +import br.inf.portalfiscal.nfe.schema_4.inutNFe.TRetInutNFe; +import br.inf.portalfiscal.www.nfe_400.wsdl.NFeInutilizacao.NFeInutilizacao4Stub; +import org.apache.axiom.om.OMElement; +import org.apache.axiom.om.util.AXIOMUtil; + +import javax.xml.bind.JAXBException; +import javax.xml.stream.XMLStreamException; +import java.rmi.RemoteException; + +/** + * Classe Responsavel por inutilizar uma Faixa de numeracao da Nfe. + * + * @author Samuel Oliveira - samuk.exe@hotmail.com - www.samuelweb.com.br + */ +class Inutilizar { + + static TRetInutNFe inutiliza(String id, String motivo, String tipo) throws NfeException { + + try { + + ConfiguracoesIniciaisNfe config = CertificadoUtil.iniciaConfiguracoes(); + + TInutNFe inutNFe = new TInutNFe(); + inutNFe.setVersao(ConstantesUtil.VERSAO.INUTILIZACAO); + + TInutNFe.InfInut infInut = new TInutNFe.InfInut(); + infInut.setId(id); + infInut.setTpAmb(config.getAmbiente()); + infInut.setXServ("INUTILIZAR"); + infInut.setCUF(id.substring(2,4)); + infInut.setAno(id.substring(4,6)); + + infInut.setCNPJ(id.substring(6,20)); + infInut.setMod(tipo.equals(ConstantesUtil.NFE) ? "55" : "65"); + infInut.setSerie(Integer.valueOf(id.substring(22,25)).toString()); + + infInut.setNNFIni(Integer.valueOf(id.substring(25,34)).toString()); + infInut.setNNFFin(Integer.valueOf(id.substring(34,43)).toString()); + + infInut.setXJust(motivo); + inutNFe.setInfInut(infInut); + + String xml = XmlUtil.objectToXml(inutNFe); + xml = xml.replaceAll(" xmlns:ns2=\"http://www.w3.org/2000/09/xmldsig#\"", ""); + + xml = Assinar.assinaNfe(xml, Assinar.INFINUT); + + String erros = Validar.validaXml(xml, Validar.INUTILIZACAO); + if (!ObjetoUtil.isEmpty(erros)) { + throw new NfeValidacaoException("Erro Na Validação do Xml: " + erros); + } + + if (config.isLog()) { + System.out.println("Xml Inutilizar: " + xml); + } + OMElement ome = AXIOMUtil.stringToOM(xml); + + NFeInutilizacao4Stub.NfeDadosMsg dadosMsg = new NFeInutilizacao4Stub.NfeDadosMsg(); + dadosMsg.setExtraElement(ome); + + NFeInutilizacao4Stub stub = new NFeInutilizacao4Stub(WebServiceUtil.getUrl(tipo, ConstantesUtil.SERVICOS.INUTILIZACAO)); + NFeInutilizacao4Stub.NfeResultMsg result = stub.nfeInutilizacaoNF(dadosMsg); + + return XmlUtil.xmlToObject(result.getExtraElement().toString(), TRetInutNFe.class); + } catch (RemoteException | XMLStreamException | JAXBException e) { + throw new NfeException(e.getMessage()); + } + + } + +} \ No newline at end of file diff --git a/src/main/java/br/com/samuelweb/nfe/ManifestacaoDestinatario.java b/src/main/java/br/com/samuelweb/nfe/ManifestacaoDestinatario.java new file mode 100644 index 00000000..56f88e68 --- /dev/null +++ b/src/main/java/br/com/samuelweb/nfe/ManifestacaoDestinatario.java @@ -0,0 +1,68 @@ +package br.com.samuelweb.nfe; + +import br.com.samuelweb.nfe.dom.ConfiguracoesIniciaisNfe; +import br.com.samuelweb.nfe.exception.NfeException; +import br.com.samuelweb.nfe.util.CertificadoUtil; +import br.com.samuelweb.nfe.util.ConstantesUtil; +import br.com.samuelweb.nfe.dom.Enum.TipoManifestacao; +import br.com.samuelweb.nfe.util.XmlUtil; +import br.inf.portalfiscal.nfe.schema.envConfRecebto.TEnvEvento; +import br.inf.portalfiscal.nfe.schema.envConfRecebto.TEvento; +import br.inf.portalfiscal.nfe.schema.envConfRecebto.TRetEnvEvento; + +import javax.xml.bind.JAXBException; + +/** + * @author Samuel Oliveira - samuk.exe@hotmail.com + * Data: 28/09/2017 - 11:11 + */ +class ManifestacaoDestinatario { + + static TRetEnvEvento eventoManifestacao(String chave, TipoManifestacao manifestacao, String cnpj, String data, String motivo) throws NfeException { + + try { + + ConfiguracoesIniciaisNfe configuracoesNfe = CertificadoUtil.iniciaConfiguracoes(); + + String id = "ID" + manifestacao.getCodigo() + chave + "01"; + + TEnvEvento envEvento = new TEnvEvento(); + envEvento.setVersao(ConstantesUtil.VERSAO.EVENTO_MANIFESTAR); + envEvento.setIdLote("1"); + + TEvento evento = new TEvento(); + evento.setVersao(ConstantesUtil.VERSAO.EVENTO_MANIFESTAR); + + TEvento.InfEvento infEvento = new TEvento.InfEvento(); + infEvento.setId(id); + infEvento.setCOrgao("91"); + infEvento.setTpAmb(configuracoesNfe.getAmbiente()); + infEvento.setCNPJ(cnpj); + infEvento.setChNFe(chave); + infEvento.setDhEvento(data); + infEvento.setTpEvento(manifestacao.getCodigo()); + infEvento.setNSeqEvento("1"); + infEvento.setVerEvento(ConstantesUtil.VERSAO.EVENTO_MANIFESTAR); + + TEvento.InfEvento.DetEvento detEvento = new TEvento.InfEvento.DetEvento(); + detEvento.setVersao(ConstantesUtil.VERSAO.EVENTO_MANIFESTAR); + detEvento.setDescEvento(manifestacao.getValor()); + detEvento.setXJust(motivo); + infEvento.setDetEvento(detEvento); + evento.setInfEvento(infEvento); + envEvento.getEvento().add(evento); + + String xml = XmlUtil.objectToXml(envEvento); + xml = xml.replaceAll(" xmlns:ns2=\"http://www.w3.org/2000/09/xmldsig#\"", ""); + xml = xml.replaceAll(" + * Inicia Configurações Nfe. + */ +public final class ConfiguracoesIniciaisNfe { + + private static ConfiguracoesIniciaisNfe instance; + + private Estados estado; + private String ambiente; + private Certificado certificado; + private String pastaSchemas; + private String versaoNfe; + private ProxyUtil proxyUtil; + private boolean contigenciaSCAN; + private boolean log = true; + + //Construtor Singleton + private ConfiguracoesIniciaisNfe() { + } + + //Construtor Privado + private ConfiguracoesIniciaisNfe(Estados estado, String ambiente, Certificado certificado, String pastaSchemas) { + + instance = new ConfiguracoesIniciaisNfe(); + instance.setEstado(estado); + instance.setAmbiente(ambiente); + instance.setCertificado(certificado); + instance.setPastaSchemas(pastaSchemas); + instance.setVersaoNfe(ConstantesUtil.VERSAO.NFE); + + } + + public static ConfiguracoesIniciaisNfe iniciaConfiguracoes(Estados estado, String ambiente, Certificado certificado, String pastaSchemas) { + new ConfiguracoesIniciaisNfe(estado, ambiente, certificado, pastaSchemas); + System.out.println("Api Java Nfe Versão 4.00.1 - Samuel Olivera - samuk.exe@hotmail.com"); + System.out.println("Certificado: " + certificado.getTipo().toUpperCase() + " - " + certificado.getNome().toUpperCase() + " - Vencimento: " + certificado.getVencimento()); + System.out.println("Ambiente: " + (ambiente.equals("1") ? "Produção" : "Homologação") + " - Estado: " + estado.getNome()); + return instance; + } + + public static ConfiguracoesIniciaisNfe iniciaConfiguracoes(Estados estado, String ambiente, Certificado certificado, String pastaSchemas, Boolean log) { + new ConfiguracoesIniciaisNfe(estado, ambiente, certificado, pastaSchemas); + if (log) { + System.out.println("Api Java Nfe Versão 4.00.1 - Samuel Olivera - samuk.exe@hotmail.com"); + System.out.println("Certificado: " + certificado.getTipo().toUpperCase() + " - " + certificado.getNome().toUpperCase() + " - Vencimento: " + certificado.getVencimento()); + System.out.println("Ambiente: " + (ambiente.equals("1") ? "Produção" : "Homologação") + " - Estado: " + estado.getNome()); + } + return instance; + } + + public static ConfiguracoesIniciaisNfe getInstance() throws NfeException { + if (instance == null) { + throw new NfeException("Configurações Não Foram Inicializadas."); + } + + return instance; + } + + public void setProxy(String ip, int porta, String usuario, String senha) { + proxyUtil = new ProxyUtil(ip, porta, usuario, senha); + } + + /** + * @return the pastaSchemas + */ + public String getPastaSchemas() { + return pastaSchemas; + } + + /** + * @param pastaSchemas the pastaSchemas to set + */ + private void setPastaSchemas(String pastaSchemas) { + this.pastaSchemas = pastaSchemas; + } + + /** + * @return the versaoNfe + */ + public String getVersaoNfe() { + return versaoNfe; + } + + /** + * @param versaoNfe the versaoNfe to set + */ + private void setVersaoNfe(String versaoNfe) { + this.versaoNfe = versaoNfe; + } + + /** + * @return the ambiente + */ + public String getAmbiente() { + return ambiente; + } + + /** + * @param ambiente the ambiente to set + */ + public void setAmbiente(String ambiente) { + this.ambiente = ambiente; + } + + /** + * @return the certificado + */ + public Certificado getCertificado() { + return certificado; + } + + /** + * @param certificado the certificado to set + */ + public void setCertificado(Certificado certificado) { + this.certificado = certificado; + } + + /** + * @return configuracao do proxy + */ + public ProxyUtil getProxy() { + return proxyUtil; + } + + /** + * @return the contigenciaSCAN + */ + public boolean isContigenciaSCAN() { + return contigenciaSCAN; + } + + /** + * @param contigenciaSCAN the contigencia to set + */ + public void setContigenciaSCAN(boolean contigenciaSCAN) { + this.contigenciaSCAN = contigenciaSCAN; + } + + /** + * @return the estado + */ + public Estados getEstado() { + return estado; + } + + /** + * @param estado the estado to set + */ + private void setEstado(Estados estado) { + this.estado = estado; + } + + public boolean isLog() { + return log; + } + + public void setLog(boolean log) { + this.log = log; + } +} diff --git a/src/main/java/br/com/samuelweb/nfe/dom/Enum/StatusEnum.java b/src/main/java/br/com/samuelweb/nfe/dom/Enum/StatusEnum.java new file mode 100644 index 00000000..71097076 --- /dev/null +++ b/src/main/java/br/com/samuelweb/nfe/dom/Enum/StatusEnum.java @@ -0,0 +1,38 @@ +/** + * + */ +package br.com.samuelweb.nfe.dom.Enum; + +/** + * @author Samuel Oliveira + * + */ +/** + * Enum que contém todos os estados brasileiros. + * @author Samuel Oliveira + * + */ +public enum StatusEnum { + + AUTORIZADO("100"), + CANCELADO("101"), + INUTILIZADO("102"), + LOTE_RECEBIDO("103"), + LOTE_PROCESSADO("104"), + LOTE_EM_PROCESSAMENTO("105"), + CADASTRO_ENCONTRADO("111"), + LOTE_EVENTO_PROCESSADO("128"), + EVENTO_VINCULADO("135"), + NENHUM_DOC_LOCALIZADO_PARA_DESTINATARIO("137"), + DOC_LOCALIZADO_PARA_DESTINATARIO("138"); + + private final String codigo; + + StatusEnum(String codigo) { + this.codigo = codigo; + } + + public String getCodigo(){ + return codigo; + } +} diff --git a/src/main/java/br/com/samuelweb/nfe/dom/Enum/TipoManifestacao.java b/src/main/java/br/com/samuelweb/nfe/dom/Enum/TipoManifestacao.java new file mode 100644 index 00000000..01fb5d92 --- /dev/null +++ b/src/main/java/br/com/samuelweb/nfe/dom/Enum/TipoManifestacao.java @@ -0,0 +1,74 @@ +package br.com.samuelweb.nfe.dom.Enum; + +/** + * Enum com os Codigos UF do IBGE + * + * @author Denilson Godinho + * + */ +public enum TipoManifestacao { + + CONFIRMACAO_DA_OPERACAO ("210200", "Confirmação da Operação", "Confirmacao da Operacao"), + CIENCIA_DA_OPERACAO ("210210", "Ciência da Emissão", "Ciencia da Operacao"), + DESCONHECIMENTO_DA_OPERACAO ("210220", "Desconhecimento da Operação", "Desconhecimento da Operacao"), + OPERACAO_NAO_REALIZADA ("210240", "Operação não Realizada", "Operacao nao Realizada"); + + private final String codigo; + private final String descricao; + private final String valor; + + private TipoManifestacao(String codigo, String descricao, String valor) { + this.codigo = codigo; + this.descricao = descricao; + this.valor = valor; + } + + /** + * @return the codigo + */ + public String getCodigo() { + return codigo; + } + + /** + * @return the descricao + */ + public String getDescricao() { + return descricao; + } + + /** + * @return the valor + */ + public String getValor() { + return valor; + } + + /** + * @return TipoManifestacao + */ + public static TipoManifestacao getTipo(String codigo){ + TipoManifestacao tipo = null; + switch (codigo) { + + case "210200": + tipo = CONFIRMACAO_DA_OPERACAO; + break; + case "210210": + tipo = CIENCIA_DA_OPERACAO; + break; + case "210220": + tipo = DESCONHECIMENTO_DA_OPERACAO; + break; + case "210240": + tipo = OPERACAO_NAO_REALIZADA; + break; + default: + break; + } + + return tipo; + } + + +} diff --git a/src/main/java/br/com/samuelweb/nfe/exception/NfeException.java b/src/main/java/br/com/samuelweb/nfe/exception/NfeException.java new file mode 100644 index 00000000..1e657839 --- /dev/null +++ b/src/main/java/br/com/samuelweb/nfe/exception/NfeException.java @@ -0,0 +1,49 @@ +package br.com.samuelweb.nfe.exception; + +/** + * Exceção a ser lançada na ocorrência de falhas provenientes da Nota Fiscal Eletronica. + * + * @author Samuel Oliveira - samuk.exe@hotmail.com - www.samuelweb.com.br + */ +public class NfeException extends Exception { + + private static final long serialVersionUID = -5054900660251852366L; + + String message; + + /** + * Construtor da classe. + * + * @param e + */ + public NfeException(Throwable e) { + super(e); + } + + + /** + * Construtor da classe. + * + * @param message + */ + public NfeException(String message) { + this((Throwable) null); + this.message = message; + } + + /** + * @return the message + */ + public String getMessage() { + return message; + } + + /** + * @param message the message to set + */ + public void setMessage(String message) { + this.message = message; + } + + +} \ No newline at end of file diff --git a/src/main/java/br/com/samuelweb/nfe/exception/NfeValidacaoException.java b/src/main/java/br/com/samuelweb/nfe/exception/NfeValidacaoException.java new file mode 100644 index 00000000..b9f54606 --- /dev/null +++ b/src/main/java/br/com/samuelweb/nfe/exception/NfeValidacaoException.java @@ -0,0 +1,48 @@ +package br.com.samuelweb.nfe.exception; + +/** + * Exceção a ser lançada na ocorrência de falhas provenientes da validação da Nota Fiscal Eletronica. + * + * @author Samuel Oliveira - samuk.exe@hotmail.com - www.samuelweb.com.br + */ +public class NfeValidacaoException extends NfeException { + + private static final long serialVersionUID = 2224963351733125955L; + String message; + + /** + * Construtor da classe. + * + * @param e + */ + public NfeValidacaoException(Throwable e) { + super(e); + } + + + /** + * Construtor da classe. + * + * @param message + */ + public NfeValidacaoException(String message) { + this((Throwable) null); + this.message = message; + } + + /** + * @return the message + */ + public String getMessage() { + return message; + } + + /** + * @param message the message to set + */ + public void setMessage(String message) { + this.message = message; + } + + +} \ No newline at end of file diff --git a/src/main/java/br/com/samuelweb/nfe/util/CDATAContentHandler.java b/src/main/java/br/com/samuelweb/nfe/util/CDATAContentHandler.java new file mode 100644 index 00000000..9f9b7327 --- /dev/null +++ b/src/main/java/br/com/samuelweb/nfe/util/CDATAContentHandler.java @@ -0,0 +1,26 @@ +package br.com.samuelweb.nfe.util; +import com.sun.xml.txw2.output.XMLWriter; +import org.xml.sax.SAXException; + +import java.io.IOException; +import java.io.Writer; +import java.util.regex.Pattern; + +public class CDATAContentHandler extends XMLWriter { + public CDATAContentHandler(Writer writer, String encoding) throws IOException { + super(writer, encoding); + } + + private static final Pattern XML_CHARS = Pattern.compile("[<>&]"); + + public void characters(char[] ch, int start, int length) throws SAXException { + boolean useCData = XML_CHARS.matcher(new String(ch, start, length)).find(); + if (useCData) { + super.startCDATA(); + } + super.characters(ch, start, length); + if (useCData) { + super.endCDATA(); + } + } +} \ No newline at end of file diff --git a/src/main/java/br/com/samuelweb/nfe/util/CertificadoUtil.java b/src/main/java/br/com/samuelweb/nfe/util/CertificadoUtil.java new file mode 100644 index 00000000..122752e4 --- /dev/null +++ b/src/main/java/br/com/samuelweb/nfe/util/CertificadoUtil.java @@ -0,0 +1,32 @@ +package br.com.samuelweb.nfe.util; + +import br.com.samuelweb.certificado.Certificado; +import br.com.samuelweb.certificado.CertificadoService; +import br.com.samuelweb.certificado.exception.CertificadoException; +import br.com.samuelweb.nfe.dom.ConfiguracoesIniciaisNfe; +import br.com.samuelweb.nfe.exception.NfeException; + +/** + * Classe Responsavel Por Carregar as informações do Certificado Digital + * + * @author Samuel Oliveira + * + */ +public class CertificadoUtil { + + public static ConfiguracoesIniciaisNfe iniciaConfiguracoes() throws NfeException { + + try { + Certificado certificado = ConfiguracoesIniciaisNfe.getInstance().getCertificado(); + if(!certificado.isValido()){ + throw new CertificadoException("Certificado vencido."); + } + CertificadoService.inicializaCertificado(certificado, CertificadoUtil.class.getResourceAsStream("/Cacert")); + } catch (CertificadoException e) { + throw new NfeException(e.getMessage()); + } + + return ConfiguracoesIniciaisNfe.getInstance(); + } + +} \ No newline at end of file diff --git a/src/main/java/br/com/samuelweb/nfe/util/ConstantesUtil.java b/src/main/java/br/com/samuelweb/nfe/util/ConstantesUtil.java new file mode 100644 index 00000000..b3440e1b --- /dev/null +++ b/src/main/java/br/com/samuelweb/nfe/util/ConstantesUtil.java @@ -0,0 +1,60 @@ +/** + * + */ +package br.com.samuelweb.nfe.util; + +/** + * @author Samuel Oliveira + * + */ +public interface ConstantesUtil { + + String NFE = "NFe"; + String NFCE = "NFCe"; + + interface SERVICOS { + + String STATUS_SERVICO = "NfeStatusServico_4.00"; + String ENVIO = "NfeAutorizacao_4.00"; + String CONSULTA_RECIBO = "NfeRetAutorizacao_4.00"; + String CONSULTA_CADASTRO = "NfeConsultaCadastro_4.00"; + String URL_QRCODE = "URL-QRCode"; + String URL_CONSULTANFCE = "URL-ConsultaNFCe"; + String EVENTO = "RecepcaoEvento_4.00"; + String INUTILIZACAO = "NfeInutilizacao_4.00"; + String CONSULTA_XML = "NfeConsultaProtocolo_4.00"; + String DISTRIBUICAO_DFE = "NfeDistribuicaoDFe_1.01"; + String MANIFESTACAO = "MANIFESTACAO"; + String CSC = "AdministrarCSCNFCe_1.00"; + + } + + interface TIPOS { + String CNPJ = "CNPJ"; + String CPF = "CPF"; + String NSU = "NSU"; + String CHAVE = "CHAVE"; + } + + interface EVENTO { + String CANCELAR = "110111"; + String CCE = "110110"; + String MANIFESTACAO = "MANIFESTACAO"; + } + + + interface AMBIENTE { + String HOMOLOGACAO = "2"; + String PRODUCAO = "1"; + } + + interface VERSAO{ + String NFE = "4.00"; + String INUTILIZACAO = "4.00"; + String DIST_DFE = "1.01"; + String EVENTO_CANCELAMENTO = "1.00"; + String EVENTO_CCE = "1.00"; + String EVENTO_MANIFESTAR = "1.00"; + } + +} diff --git a/src/main/java/br/com/samuelweb/nfe/util/Estados.java b/src/main/java/br/com/samuelweb/nfe/util/Estados.java new file mode 100644 index 00000000..607883df --- /dev/null +++ b/src/main/java/br/com/samuelweb/nfe/util/Estados.java @@ -0,0 +1,60 @@ +/** + * + */ +package br.com.samuelweb.nfe.util; + +/** + * @author Samuel Oliveira + * + */ +/** + * Enum que contém todos os estados brasileiros. + * @author Jerônimo Nunes Rocha + * + */ +public enum Estados { + + RO("11","Rondônia"), + AC("12","Acre"), + AM("13","Amazonas"), + RR("14","Roraima"), + PA("15","Pará"), + AP("16","Amapá"), + TO("17","Tocantins"), + MA("21","Maranhão"), + PI("22","Piauí"), + CE("23","Ceará"), + RN("24","Rio Grande do Norte"), + PB("25","Paraíba"), + PE("26","Pernambuco"), + AL("27","Alagoas"), + SE("28","Sergipe"), + BA("29","Bahia"), + MG("31","Minas Gerais"), + ES("32","Espírito Santo"), + RJ("33","Rio de Janeiro"), + SP("35","São Paulo"), + PR("41","Paraná"), + SC("42","Santa Catarina"), + RS("43","Rio Grande do Sul"), + MS("50","Mato Grosso do Sul"), + MT("51","Mato Grosso"), + GO("52","Goiás"), + DF("53","Distrito Federal"); + + private final String codigoIbge; + private final String nome; + + private Estados(String codigoIbge,String nome) { + this.codigoIbge = codigoIbge; + this.nome = nome; + } + + public String getNome(){ + return nome; + } + + public String getCodigoIbge(){ + return codigoIbge; + } +} diff --git a/src/main/java/br/com/samuelweb/nfe/util/NFCeUtil.java b/src/main/java/br/com/samuelweb/nfe/util/NFCeUtil.java new file mode 100644 index 00000000..f1c0a74d --- /dev/null +++ b/src/main/java/br/com/samuelweb/nfe/util/NFCeUtil.java @@ -0,0 +1,87 @@ +package br.com.samuelweb.nfe.util; + +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +/** +* +* @author Samuel Oliveira +*/ +public class NFCeUtil { + + private static String cHashQRCode; + + /** + * + * Funcao Responsavel por Devolver o QrCode já no padrão da Nota. + * + * @param chave : Chave de Acesso da NFCe + * @param versao: Versão do QR Code. Atual : "100" + * @param ambiente : Identificação do Ambiente (1 – Produção, 2 – Homologação) + * @param cpfCnpj : Documento de Identificação do Consumidor (CNPJ/CPF) + * @param dhEmi : Data e Hora de Emissão da NFC-e Ex: 2016-10-06T10:55:33-03:00 + * @param valorNF : Valor Total da NFC-e + * @param valorICMS : Valor Total ICMS na NFC-e + * @param digVal : Digest Value da NFC-e + * @param idToken : Identificador do CSC – Código de Segurança do Contribuinte no Banco de Dados da SEFAZ + * @param CSC : Código de Segurança do Contribuinte (antigo Token) + * @param urlConsulta : Url De Consulta da Nfc-e do Estado + * + * @return String do QrCode + */ + public static String getCodeQRCode(String chave, String versao, String ambiente, String cpfCnpj, String dhEmi, String valorNF, String valorICMS, String digVal, String idToken, String CSC, String urlConsulta) { + + StringBuilder value = new StringBuilder(); + value.append("chNFe=").append(chave); + value.append("&nVersao=").append(versao); + value.append("&tpAmb=").append(ambiente); + value.append((cpfCnpj == null | "".equals(cpfCnpj)) ? "" : "&cDest=" + cpfCnpj); + value.append("&dhEmi=").append(getHexa(dhEmi)); + value.append("&vNF=").append(valorNF); + value.append("&vICMS=").append(valorICMS); + value.append("&digVal=").append(getHexa(digVal)); + value.append("&cIdToken=").append(idToken); + cHashQRCode = getHexa(getHash(value.toString() + CSC, "SHA-1")).toUpperCase(); + + StringBuilder ret = new StringBuilder(); + ret.append(urlConsulta).append("?"); + ret.append(value); + ret.append("&cHashQRCode=").append(cHashQRCode); + return ret.toString(); + } + + + /** + * @param valor + * @param algoritmo "SHA-256", "SHA-1", "MD5" + * @return + */ + private static byte[] getHash(String valor, String algoritmo) { + try { + MessageDigest md = MessageDigest.getInstance(algoritmo); + md.update(valor.getBytes()); + return md.digest(); + } catch (NoSuchAlgorithmException e) { + return null; + } + } + + private static String getHexa(String valor) { + return getHexa(valor.getBytes()); + } + + private static String getHexa(byte[] bytes) { + StringBuilder s = new StringBuilder(); + for (int i = 0; i < bytes.length; i++) { + int parteAlta = ((bytes[i] >> 4) & 0xf) << 4; + int parteBaixa = bytes[i] & 0xf; + if (parteAlta == 0) { + s.append('0'); + } + s.append(Integer.toHexString(parteAlta | parteBaixa)); + } + return s.toString(); + } + +} + diff --git a/src/main/java/br/com/samuelweb/nfe/util/ObjetoUtil.java b/src/main/java/br/com/samuelweb/nfe/util/ObjetoUtil.java new file mode 100644 index 00000000..703bb565 --- /dev/null +++ b/src/main/java/br/com/samuelweb/nfe/util/ObjetoUtil.java @@ -0,0 +1,57 @@ +package br.com.samuelweb.nfe.util; + +import java.util.Collection; + +public final class ObjetoUtil { + + private ObjetoUtil(){ + super(); + } + + public static Boolean equalsNull(Object object ){ + return object == null; + } + + public static Boolean differentNull(Object object){ + return object != null; + } + + + /** + * Verifica se um objeto é vazio. + * + * @param obj + * @return true se o objeto for vazio(empty). + */ + public static boolean isEmpty(Object obj) { + if (obj == null) + return true; + if (obj instanceof Collection) + return ((Collection) obj).size() == 0; + + final String s = String.valueOf(obj).trim(); + + return s.length() == 0 || s.equalsIgnoreCase("null"); + } + + @SuppressWarnings("rawtypes") + public static Boolean equalsNull(Collection collection){ + return collection == null; + } + + @SuppressWarnings("rawtypes") + public static Boolean differentNull(Collection collection){ + return collection != null; + } + + @SuppressWarnings("rawtypes") + public static Boolean isEmpty(Collection collection){ + return collection.isEmpty(); + } + + @SuppressWarnings("rawtypes") + public static Boolean isNotEmpty(Collection collection){ + return !collection.isEmpty(); + } + +} diff --git a/src/main/java/br/com/samuelweb/nfe/util/ProxyUtil.java b/src/main/java/br/com/samuelweb/nfe/util/ProxyUtil.java new file mode 100644 index 00000000..1587b18b --- /dev/null +++ b/src/main/java/br/com/samuelweb/nfe/util/ProxyUtil.java @@ -0,0 +1,37 @@ +package br.com.samuelweb.nfe.util; + +import org.apache.axis2.transport.http.HttpTransportProperties; + +public class ProxyUtil { + HttpTransportProperties.ProxyProperties proxyProperties; + + public ProxyUtil(String ip, int porta, String usuario,String senha) { + + proxyProperties = new HttpTransportProperties.ProxyProperties(); + + proxyProperties.setProxyName(ip); + + proxyProperties.setProxyPort(porta); + + proxyProperties.setUserName(usuario); + + proxyProperties.setPassWord(senha); + } + + public String getProxyHostName(){ + return proxyProperties.getProxyHostName(); + } + + public String getProxyPort(){ + return String.valueOf(proxyProperties.getProxyPort()); + } + + public String getProxyUserName(){ + return proxyProperties.getUserName(); + } + + public String getProxyPassWord(){ + return proxyProperties.getPassWord(); + } +} + diff --git a/src/main/java/br/com/samuelweb/nfe/util/SchemaUtil.java b/src/main/java/br/com/samuelweb/nfe/util/SchemaUtil.java new file mode 100644 index 00000000..dee91858 --- /dev/null +++ b/src/main/java/br/com/samuelweb/nfe/util/SchemaUtil.java @@ -0,0 +1,23 @@ +/** + * + */ +package br.com.samuelweb.nfe.util; + +/** + * @author Samuel Oliveira - samuk.exe@hotmail.com - www.samuelweb.com.br + * + */ +public class SchemaUtil { + + public static final String STATUS = "consStatServ_v4.00.xsd"; + public static final String CONSULTA_XML = "consSitNFe_v4.00.xsd"; + public static final String CONSULTA_CADASTRO = "ConsCad_v4.00.xsd"; + public static final String ENVIO = "enviNFe_v4.00.xsd"; + public static final String INUTILIZACAO = "inutNFe_v4.00.xsd"; + public static final String CANCELAR = "envEventoCancNFe_v1.00.xsd"; + public static final String CCE = "envCCe_v1.00.xsd"; + public static final String DIST_DFE = "distDFeInt_v1.01.xsd"; + public static final String MANIFESTAR = "envConfRecebto_v1.00.xsd"; + public static final String CONSULTA_RECIBO = "consReciNFe_v4.00.xsd"; + +} diff --git a/src/main/java/br/com/samuelweb/nfe/util/WebServiceUtil.java b/src/main/java/br/com/samuelweb/nfe/util/WebServiceUtil.java new file mode 100644 index 00000000..ac2594d1 --- /dev/null +++ b/src/main/java/br/com/samuelweb/nfe/util/WebServiceUtil.java @@ -0,0 +1,112 @@ +/** + * + */ +package br.com.samuelweb.nfe.util; + +import br.com.samuelweb.nfe.dom.ConfiguracoesIniciaisNfe; +import br.com.samuelweb.nfe.exception.NfeException; +import org.ini4j.Wini; + +import java.io.IOException; +import java.io.InputStream; + +/** + * @author Samuel Oliveira + * + */ +public class WebServiceUtil { + + public static String getUrl(String tipo, String servico) throws NfeException { + + try { + + ConfiguracoesIniciaisNfe config = ConfiguracoesIniciaisNfe.getInstance(); + String secao = tipo + "_" + config.getEstado() + "_" + + (config.getAmbiente().equals(ConstantesUtil.AMBIENTE.HOMOLOGACAO) ? "H" : "P"); + + InputStream is = WebServiceUtil.class.getResourceAsStream("/WebServices.ini"); + + Wini ini = new Wini(); + ini.getConfig().setLowerCaseOption(true); + ini.load(is); + String url = ini.get(secao, "usar"); + + if (servico.equals(ConstantesUtil.SERVICOS.DISTRIBUICAO_DFE) || servico.equals(ConstantesUtil.SERVICOS.MANIFESTACAO)) { + secao = config.getAmbiente().equals(ConstantesUtil.AMBIENTE.HOMOLOGACAO) ? "NFe_AN_H" : "NFe_AN_P"; + + if (servico.equals(ConstantesUtil.SERVICOS.MANIFESTACAO)) { + servico = ConstantesUtil.SERVICOS.EVENTO; + } + + } else if (!servico.equals(ConstantesUtil.SERVICOS.URL_CONSULTANFCE) + && !servico.equals(ConstantesUtil.SERVICOS.URL_QRCODE) && ObjetoUtil.differentNull(url)) { + secao = url; + } else if(config.isContigenciaSCAN()){ + //SVC-RS + if(config.getEstado().equals(Estados.GO) + || config.getEstado().equals(Estados.AM) + || config.getEstado().equals(Estados.BA) + || config.getEstado().equals(Estados.CE) + || config.getEstado().equals(Estados.MA) + || config.getEstado().equals(Estados.MS) + || config.getEstado().equals(Estados.MT) + || config.getEstado().equals(Estados.PA) + || config.getEstado().equals(Estados.PE) + || config.getEstado().equals(Estados.PI) + || config.getEstado().equals(Estados.PR)){ + secao = tipo + "_SVRS_" + (config.getAmbiente().equals(ConstantesUtil.AMBIENTE.HOMOLOGACAO) ? "H" : "P"); + //SVC-AN + }else{ + secao = tipo + "_SVAN_" + (config.getAmbiente().equals(ConstantesUtil.AMBIENTE.HOMOLOGACAO) ? "H" : "P"); + } + } + + url = ini.get(secao, servico.toLowerCase()); + + if(ObjetoUtil.isEmpty(url)){ + throw new NfeException("WebService de "+servico+" não encontrado para "+config.getEstado().getNome()); + } + + if (config.isLog()){ + System.out.println("WebService - " + url); + } + return url; + + } catch (IOException e) { + throw new NfeException(e.getMessage()); + } + + } + public static String getUrlConsultaCadastro(String uf) throws NfeException { + + String tipo = ConstantesUtil.NFE; + String servico = ConstantesUtil.SERVICOS.CONSULTA_CADASTRO; + try { + + ConfiguracoesIniciaisNfe config = ConfiguracoesIniciaisNfe.getInstance(); + String secao = tipo + "_" + uf.toUpperCase() + "_" + + (config.getAmbiente().equals(ConstantesUtil.AMBIENTE.HOMOLOGACAO) ? "H" : "P"); + + InputStream is = WebServiceUtil.class.getResourceAsStream("/WebServices.ini"); + + Wini ini = new Wini(); + ini.getConfig().setLowerCaseOption(true); + ini.load(is); + String url = ini.get(secao, servico.toLowerCase()); + + if(ObjetoUtil.isEmpty(url)){ + throw new NfeException("WebService de "+servico+" não encontrado para "+uf); + } + + if (config.isLog()) { + System.out.println("WebService - " + url); + } + return url; + + } catch (IOException e) { + throw new NfeException(e.getMessage()); + } + + } + +} diff --git a/src/main/java/br/com/samuelweb/nfe/util/XmlUtil.java b/src/main/java/br/com/samuelweb/nfe/util/XmlUtil.java new file mode 100644 index 00000000..f15a64cc --- /dev/null +++ b/src/main/java/br/com/samuelweb/nfe/util/XmlUtil.java @@ -0,0 +1,300 @@ +/** + * + */ +package br.com.samuelweb.nfe.util; + +import br.com.samuelweb.nfe.exception.NfeException; +import br.inf.portalfiscal.nfe.schema.consCad.TConsCad; +import br.inf.portalfiscal.nfe.schema.distdfeint.DistDFeInt; +import br.inf.portalfiscal.nfe.schema.envEventoCancNFe.TEnvEvento; +import br.inf.portalfiscal.nfe.schema_4.consReciNFe.TConsReciNFe; +import br.inf.portalfiscal.nfe.schema_4.consSitNFe.TConsSitNFe; +import br.inf.portalfiscal.nfe.schema_4.consStatServ.TConsStatServ; +import br.inf.portalfiscal.nfe.schema_4.enviNFe.TEnviNFe; +import br.inf.portalfiscal.nfe.schema_4.enviNFe.TNfeProc; +import br.inf.portalfiscal.nfe.schema_4.enviNFe.TProtNFe; +import br.inf.portalfiscal.nfe.schema_4.inutNFe.TInutNFe; +import br.inf.portalfiscal.nfe.schema_4.util.XsdUtil; + +import javax.xml.bind.*; +import javax.xml.datatype.DatatypeConfigurationException; +import javax.xml.datatype.DatatypeConstants; +import javax.xml.datatype.DatatypeFactory; +import javax.xml.datatype.XMLGregorianCalendar; +import javax.xml.transform.stream.StreamSource; +import java.io.*; +import java.text.Normalizer; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.GregorianCalendar; +import java.util.zip.GZIPInputStream; + +//import br.inf.portalfiscal.nfe.schema_4.TConsCad; + +/** + * Classe Responsavel por Metodos referentes ao XML + * + * @author Samuel Oliveira + */ +public class XmlUtil { + + private static final String STATUS = "TConsStatServ"; + private static final String SITUACAO_NFE = "TConsSitNFe"; + private static final String ENVIO_NFE = "TEnviNFe"; + private static final String DIST_DFE = "DistDFeInt"; + private static final String INUTILIZACAO = "TInutNFe"; + private static final String NFEPROC = "TNfeProc"; + private static final String EVENTO = "TEnvEvento"; + private static final String TPROCEVENTO = "TProcEvento"; + private static final String TCONSRECINFE = "TConsReciNFe"; + private static final String TConsCad = "TConsCad"; + + private static final String TPROCCANCELAR = "br.inf.portalfiscal.nfe.schema.envEventoCancNFe.TProcEvento"; + private static final String TPROCCCE = "br.inf.portalfiscal.nfe.schema.envcce.TProcEvento"; + + private static final String TProtNFe = "TProtNFe"; + private static final String TProtEnvi = "br.inf.portalfiscal.nfe.schema_4.enviNFe.TProtNFe"; + private static final String TProtCons = "br.inf.portalfiscal.nfe.schema_4.retConsSitNFe.TProtNFe"; + private static final String TProtReci = "br.inf.portalfiscal.nfe.schema_4.retConsReciNFe.TProtNFe"; + + private static final String CANCELAR = "br.inf.portalfiscal.nfe.schema.envEventoCancNFe.TEnvEvento"; + private static final String CCE = "br.inf.portalfiscal.nfe.schema.envcce.TEnvEvento"; + private static final String MANIFESTAR = "br.inf.portalfiscal.nfe.schema.envConfRecebto.TEnvEvento"; + + /** + * Transforma o String do XML em Objeto + * + * @param xml + * @param classe + * @return T + */ + public static T xmlToObject(String xml, Class classe) throws JAXBException { + + JAXBContext context = JAXBContext.newInstance(classe); + Unmarshaller unmarshaller = context.createUnmarshaller(); + + return unmarshaller.unmarshal(new StreamSource(new StringReader(xml)), classe).getValue(); + } + + /** + * Transforma o Objeto em XML(String) + * + * @param obj + * @return + * @throws JAXBException + * @throws NfeException + */ + public static String objectToXml(Object obj) throws JAXBException, NfeException { + + JAXBContext context = null; + JAXBElement element = null; + + switch (obj.getClass().getSimpleName()) { + + case STATUS: + context = JAXBContext.newInstance(TConsStatServ.class); + element = new br.inf.portalfiscal.nfe.schema_4.consStatServ.ObjectFactory().createConsStatServ((TConsStatServ) obj); + break; + + case ENVIO_NFE: + context = JAXBContext.newInstance(TEnviNFe.class); + element = new br.inf.portalfiscal.nfe.schema_4.enviNFe.ObjectFactory().createEnviNFe((TEnviNFe) obj); + break; + + case SITUACAO_NFE: + context = JAXBContext.newInstance(TConsSitNFe.class); + element = new br.inf.portalfiscal.nfe.schema_4.consSitNFe.ObjectFactory().createConsSitNFe((TConsSitNFe) obj); + break; + + case DIST_DFE: + context = JAXBContext.newInstance(DistDFeInt.class); + element = new br.inf.portalfiscal.nfe.schema.distdfeint.ObjectFactory().createDistDFeInt((DistDFeInt) obj); + break; + + case TCONSRECINFE: + context = JAXBContext.newInstance(TConsReciNFe.class); + element = new br.inf.portalfiscal.nfe.schema_4.consReciNFe.ObjectFactory().createConsReciNFe((TConsReciNFe) obj); + break; + + case TConsCad: + context = JAXBContext.newInstance(TConsCad.class); + element = new br.inf.portalfiscal.nfe.schema.consCad.ObjectFactory().createConsCad((TConsCad) obj); + break; + + case INUTILIZACAO: + context = JAXBContext.newInstance(TInutNFe.class); + element = new br.inf.portalfiscal.nfe.schema_4.inutNFe.ObjectFactory().createInutNFe((TInutNFe) obj); + break; + + case TPROCEVENTO: + if (obj.getClass().getName().equals(TPROCCANCELAR)) { + context = JAXBContext.newInstance(br.inf.portalfiscal.nfe.schema.envEventoCancNFe.TProcEvento.class); + element = new br.inf.portalfiscal.nfe.schema.envEventoCancNFe.ObjectFactory().createTProcEvento((br.inf.portalfiscal.nfe.schema.envEventoCancNFe.TProcEvento) obj); + } else if (obj.getClass().getName().equals(TPROCCCE)) { + context = JAXBContext.newInstance(br.inf.portalfiscal.nfe.schema.envcce.TProcEvento.class); + element = new br.inf.portalfiscal.nfe.schema.envcce.ObjectFactory().createTProcEvento((br.inf.portalfiscal.nfe.schema.envcce.TProcEvento) obj); + } + + break; + + case NFEPROC: + context = JAXBContext.newInstance(TNfeProc.class); + element = XsdUtil.enviNfe.createTNfeProc((TNfeProc) obj); + break; + + + case EVENTO: + if (obj.getClass().getName().equals(CANCELAR)) { + context = JAXBContext.newInstance(TEnvEvento.class); + element = new br.inf.portalfiscal.nfe.schema.envEventoCancNFe.ObjectFactory().createEnvEvento((TEnvEvento) obj); + } else if (obj.getClass().getName().equals(CCE)) { + context = JAXBContext.newInstance(br.inf.portalfiscal.nfe.schema.envcce.TEnvEvento.class); + element = new br.inf.portalfiscal.nfe.schema.envcce.ObjectFactory().createEnvEvento((br.inf.portalfiscal.nfe.schema.envcce.TEnvEvento) obj); + } else if (obj.getClass().getName().equals(MANIFESTAR)) { + context = JAXBContext.newInstance(br.inf.portalfiscal.nfe.schema.envConfRecebto.TEnvEvento.class); + element = new br.inf.portalfiscal.nfe.schema.envConfRecebto.ObjectFactory().createEnvEvento((br.inf.portalfiscal.nfe.schema.envConfRecebto.TEnvEvento) obj); + } + break; + + case TProtNFe: + if (obj.getClass().getName().equals(TProtEnvi)) { + context = JAXBContext.newInstance(TProtNFe.class); + element = XsdUtil.enviNfe.createTProtNFe((br.inf.portalfiscal.nfe.schema_4.enviNFe.TProtNFe) obj); + } else if (obj.getClass().getName().equals(TProtCons)) { + context = JAXBContext.newInstance(br.inf.portalfiscal.nfe.schema_4.retConsSitNFe.TProtNFe.class); + element = XsdUtil.retConsSitNfe.createTProtNFe((br.inf.portalfiscal.nfe.schema_4.retConsSitNFe.TProtNFe) obj); + } else if (obj.getClass().getName().equals(TProtReci)) { + context = JAXBContext.newInstance(br.inf.portalfiscal.nfe.schema_4.retConsReciNFe.TProtNFe.class); + element = XsdUtil.retConsReciNfe.createTProtNFe((br.inf.portalfiscal.nfe.schema_4.retConsReciNFe.TProtNFe) obj); + } + break; + + default: + throw new NfeException("Objeto não mapeado no XmlUtil:" + obj.getClass().getSimpleName()); + } + Marshaller marshaller = context.createMarshaller(); + + marshaller.setProperty("jaxb.encoding", "Unicode"); + marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.FALSE); + marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE); + + StringWriter sw = new StringWriter(); + + if (obj.getClass().getSimpleName().equals(ENVIO_NFE) || obj.getClass().getSimpleName().equals(NFEPROC)) { + try { + CDATAContentHandler cdataHandler = new CDATAContentHandler(sw, "utf-8"); + marshaller.marshal(element, cdataHandler); + } catch (IOException e) { + throw new NfeException(e.getMessage()); + } + } else { + marshaller.marshal(element, sw); + } + StringBuilder xml = new StringBuilder(); + xml.append("").append(sw.toString()); + + if ((obj.getClass().getSimpleName().equals(TPROCEVENTO))) { + return replacesNfe(xml.toString().replaceAll("procEvento", "procEventoNFe")); + } else { + return replacesNfe(xml.toString()); + } + + } + + public static String gZipToXml(byte[] conteudo) throws IOException { + if (conteudo == null || conteudo.length == 0) { + return ""; + } + GZIPInputStream gis; + gis = new GZIPInputStream(new ByteArrayInputStream(conteudo)); + BufferedReader bf = new BufferedReader(new InputStreamReader(gis, "UTF-8")); + StringBuilder outStr = new StringBuilder(); + String line; + while ((line = bf.readLine()) != null) { + outStr.append(line); + } + + return outStr.toString(); + } + + public static String criaNfeProc(TEnviNFe enviNfe, Object retorno) throws JAXBException, NfeException { + + TNfeProc nfeProc = new TNfeProc(); + nfeProc.setVersao("4.00"); + nfeProc.setNFe(enviNfe.getNFe().get(0)); + String xml = XmlUtil.objectToXml(retorno); + nfeProc.setProtNFe(XmlUtil.xmlToObject(xml, TProtNFe.class)); + + return XmlUtil.objectToXml(nfeProc); + } + + public static String removeAcentos(String str) { + + str = str.replaceAll("\r", ""); + str = str.replaceAll("\t", ""); + str = str.replaceAll("\n", ""); + str = str.replaceAll("&", "E"); + str = str.replaceAll(">\\s+<", "><"); + CharSequence cs = new StringBuilder(str == null ? "" : str); + return Normalizer.normalize(cs, Normalizer.Form.NFKD).replaceAll("\\p{InCombiningDiacriticalMarks}+", ""); + + } + + private static String replacesNfe(String xml) { + + xml = xml.replaceAll("ns2:", ""); + xml = xml.replaceAll("\\]\\]>", "\\]\\]>"); + xml = xml.replaceAll("ns3:", ""); + xml = xml.replaceAll("<", "<"); + xml = xml.replaceAll("&", "&"); + xml = xml.replaceAll(">", ">"); + xml = xml.replaceAll("", ""); + xml = xml.replaceAll(" xmlns:ns2=\"http://www.w3.org/2000/09/xmldsig#\"", ""); + xml = xml.replaceAll(" xmlns=\"\" xmlns:ns3=\"http://www.portalfiscal.inf.br/nfe\"", ""); + + return xml; + + } + + /** + * Le o Arquivo XML e retona String + * + * @return String + * @throws NfeException + */ + public static String leXml(String arquivo) throws NfeException { + + StringBuilder xml = new StringBuilder(); + BufferedReader in; + try { + in = new BufferedReader(new InputStreamReader(new FileInputStream(arquivo), "UTF-8")); + String linha; + + while ((linha = in.readLine()) != null) { + xml.append(linha); + + } + in.close(); + } catch (IOException e) { + throw new NfeException("Ler Xml: " + e.getMessage()); + } + return xml.toString(); + } + + public static String dataNfe() throws NfeException { + try { + LocalDateTime dataASerFormatada = LocalDateTime.now(); + GregorianCalendar calendar = GregorianCalendar.from(dataASerFormatada.atZone(ZoneId.of("Brazil/East"))); + + XMLGregorianCalendar xmlCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(calendar); + xmlCalendar.setMillisecond(DatatypeConstants.FIELD_UNDEFINED); + + return (xmlCalendar.toString()); + } catch (DatatypeConfigurationException e) { + throw new NfeException(e.getMessage()); + } + + } + +} diff --git a/src/main/resources/Cacert b/src/main/resources/Cacert new file mode 100644 index 00000000..3ec263cd Binary files /dev/null and b/src/main/resources/Cacert differ diff --git a/src/main/resources/WebServices.ini b/src/main/resources/WebServices.ini new file mode 100644 index 00000000..920c4166 --- /dev/null +++ b/src/main/resources/WebServices.ini @@ -0,0 +1,1175 @@ +;;;;;;;;;;;;;; ENDERECOS DA NFe ;;;;;;;;;;;;;;;; +[NFe_AC_P] +Usar=NFe_SVRS_P + +[NFe_AC_H] +Usar=NFe_SVRS_H + +[NFe_AL_P] +Usar=NFe_SVRS_P + +[NFe_AL_H] +Usar=NFe_SVRS_H + +[NFe_AP_P] +Usar=NFe_SVRS_P + +[NFe_AP_H] +Usar=NFe_SVRS_H + +[NFe_AM_P] +RecepcaoEvento_1.00=https://nfe.sefaz.am.gov.br/services2/services/RecepcaoEvento +NfeRecepcao_2.00=https://nfe.sefaz.am.gov.br/services2/services/NfeRecepcao2 +NfeRetRecepcao_2.00=https://nfe.sefaz.am.gov.br/services2/services/NfeRetRecepcao2 +NfeInutilizacao_2.00=https://nfe.sefaz.am.gov.br/services2/services/NfeInutilizacao2 +NfeInutilizacao_3.10=https://nfe.sefaz.am.gov.br/services2/services/NfeInutilizacao2 +NfeConsultaProtocolo_2.00=https://nfe.sefaz.am.gov.br/services2/services/NfeConsulta2 +NfeConsultaProtocolo_3.10=https://nfe.sefaz.am.gov.br/services2/services/NfeConsulta2 +NfeStatusServico_2.00=https://nfe.sefaz.am.gov.br/services2/services/NfeStatusServico2 +NfeStatusServico_3.10=https://nfe.sefaz.am.gov.br/services2/services/NfeStatusServico2 +NfeConsultaCadastro_2.00=https://nfe.sefaz.am.gov.br/services2/services/cadconsultacadastro2 +NfeConsultaCadastro_3.10=https://nfe.sefaz.am.gov.br/services2/services/cadconsultacadastro2 +NfeAutorizacao_3.10=https://nfe.sefaz.am.gov.br/services2/services/NfeAutorizacao +NFeRetAutorizacao_3.10=https://nfe.sefaz.am.gov.br/services2/services/NfeRetAutorizacao + +[NFe_AM_H] +RecepcaoEvento_1.00=https://homnfe.sefaz.am.gov.br/services2/services/RecepcaoEvento +NfeRecepcao_2.00=https://homnfe.sefaz.am.gov.br/services2/services/NfeRecepcao2 +NfeRetRecepcao_2.00=https://homnfe.sefaz.am.gov.br/services2/services/NfeRetRecepcao2 +NfeInutilizacao_2.00=https://homnfe.sefaz.am.gov.br/services2/services/NfeInutilizacao2 +NfeInutilizacao_3.10=https://homnfe.sefaz.am.gov.br/services2/services/NfeInutilizacao2 +NfeConsultaProtocolo_2.00=https://homnfe.sefaz.am.gov.br/services2/services/NfeConsulta2 +NfeConsultaProtocolo_3.10=https://homnfe.sefaz.am.gov.br/services2/services/NfeConsulta2 +NfeStatusServico_2.00=https://homnfe.sefaz.am.gov.br/services2/services/NfeStatusServico2 +NfeStatusServico_3.10=https://homnfe.sefaz.am.gov.br/services2/services/NfeStatusServico2 +NfeConsultaCadastro_2.00=https://homnfe.sefaz.am.gov.br/services2/services/cadconsultacadastro2 +NfeConsultaCadastro_3.10=https://homnfe.sefaz.am.gov.br/services2/services/cadconsultacadastro2 +NfeAutorizacao_3.10=https://homnfe.sefaz.am.gov.br/services2/services/NfeAutorizacao +NFeRetAutorizacao_3.10=https://homnfe.sefaz.am.gov.br/services2/services/NfeRetAutorizacao +NfeConsultaProtocolo_4.00=https://homnfe.sefaz.am.gov.br/services2/services/NfeConsulta4 +NfeStatusServico_4.00=https://homnfe.sefaz.am.gov.br/services2/services/NfeStatusServico4 +NfeInutilizacao_4.00=https://homnfe.sefaz.am.gov.br/services2/services/NfeInutilizacao4 +NfeAutorizacao_4.00=https://homnfe.sefaz.am.gov.br/services2/services/NfeAutorizacao4 +NFeRetAutorizacao_4.00=https://homnfe.sefaz.am.gov.br/services2/services/NfeRetAutorizacao4 +RecepcaoEvento_4.00=https://homnfe.sefaz.am.gov.br/services2/services/RecepcaoEvento4 + +[NFe_BA_P] +NfeRecepcao_2.00=https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeRecepcao2.asmx +NfeRetRecepcao_2.00=https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeRetRecepcao2.asmx +NfeInutilizacao_2.00=https://nfe.sefaz.ba.gov.br/webservices/nfenw/nfeinutilizacao2.asmx +NfeConsultaProtocolo_2.00=https://nfe.sefaz.ba.gov.br/webservices/nfenw/nfeconsulta2.asmx +NfeStatusServico_2.00=https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeStatusServico2.asmx +NfeConsultaCadastro_2.00=https://nfe.sefaz.ba.gov.br/webservices/nfenw/CadConsultaCadastro2.asmx +RecepcaoEvento_1.00=https://nfe.sefaz.ba.gov.br/webservices/sre/recepcaoevento.asmx +NfeInutilizacao_3.10=https://nfe.sefaz.ba.gov.br/webservices/NfeInutilizacao/NfeInutilizacao.asmx +NfeConsultaProtocolo_3.10=https://nfe.sefaz.ba.gov.br/webservices/NfeConsulta/NfeConsulta.asmx +NfeStatusServico_3.10=https://nfe.sefaz.ba.gov.br/webservices/NfeStatusServico/NfeStatusServico.asmx +NfeAutorizacao_3.10=https://nfe.sefaz.ba.gov.br/webservices/NfeAutorizacao/NfeAutorizacao.asmx +NFeRetAutorizacao_3.10=https://nfe.sefaz.ba.gov.br/webservices/NfeRetAutorizacao/NfeRetAutorizacao.asmx +NfeInutilizacao_4.00=https://nfe.sefaz.ba.gov.br/webservices/NFeInutilizacao4/NFeInutilizacao4.asmx +NfeConsultaProtocolo_4.00=https://nfe.sefaz.ba.gov.br/webservices/NFeConsultaProtocolo4/NFeConsultaProtocolo4.asmx +NfeStatusServico_4.00=https://nfe.sefaz.ba.gov.br/webservices/NFeStatusServico4/NFeStatusServico4.asmx +NfeConsultaCadastro_4.00=https://nfe.sefaz.ba.gov.br/webservices/CadConsultaCadastro4/CadConsultaCadastro4.asmx +RecepcaoEvento_4.00=https://nfe.sefaz.ba.gov.br/webservices/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx +NFeAutorizacao_4.00=https://nfe.sefaz.ba.gov.br/webservices/NFeAutorizacao4/NFeAutorizacao4.asmx +NFeRetAutorizacao_4.00=https://nfe.sefaz.ba.gov.br/webservices/NFeRetAutorizacao4/NFeRetAutorizacao4.asmx + +[NFe_BA_H] +NfeRecepcao_2.00=https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeRecepcao2.asmx +NfeRetRecepcao_2.00=https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeRetRecepcao2.asmx +NfeInutilizacao_2.00=https://hnfe.sefaz.ba.gov.br/webservices/nfenw/nfeinutilizacao2.asmx +NfeConsultaProtocolo_2.00=https://hnfe.sefaz.ba.gov.br/webservices/nfenw/nfeconsulta2.asmx +NfeStatusServico_2.00=https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeStatusServico2.asmx +NfeConsultaCadastro_2.00=https://hnfe.sefaz.ba.gov.br/webservices/nfenw/CadConsultaCadastro2.asmx +RecepcaoEvento_1.00=https://hnfe.sefaz.ba.gov.br/webservices/sre/recepcaoevento.asmx +NfeInutilizacao_3.10=https://hnfe.sefaz.ba.gov.br/webservices/NfeInutilizacao/NfeInutilizacao.asmx +NfeConsultaProtocolo_3.10=https://hnfe.sefaz.ba.gov.br/webservices/NfeConsulta/NfeConsulta.asmx +NfeStatusServico_3.10=https://hnfe.sefaz.ba.gov.br/webservices/NfeStatusServico/NfeStatusServico.asmx +NfeAutorizacao_3.10=https://hnfe.sefaz.ba.gov.br/webservices/NfeAutorizacao/NfeAutorizacao.asmx +NFeRetAutorizacao_3.10=https://hnfe.sefaz.ba.gov.br/webservices/NfeRetAutorizacao/NfeRetAutorizacao.asmx +NfeAutorizacao_4.00=https://hnfe.sefaz.ba.gov.br/webservices/NFeAutorizacao4/NFeAutorizacao4.asmx +NfeConsultaProtocolo_4.00=https://hnfe.sefaz.ba.gov.br/webservices/NFeConsultaProtocolo4/NFeConsultaProtocolo4.asmx +NfeInutilizacao_4.00=https://hnfe.sefaz.ba.gov.br/webservices/NFeInutilizacao4/NFeInutilizacao4.asmx +NFeRetAutorizacao_4.00=https://hnfe.sefaz.ba.gov.br/webservices/NFeRetAutorizacao4/NFeRetAutorizacao4.asmx +NfeStatusServico_4.00=https://hnfe.sefaz.ba.gov.br/webservices/NFeStatusServico4/NFeStatusServico4.asmx +RecepcaoEvento_4.00=https://hnfe.sefaz.ba.gov.br/webservices/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx +WSDL=WSDL_V4_SP +SoapAction=SOAP_V4_SP + +[NFe_CE_P] +RecepcaoEvento_1.00=https://nfe.sefaz.ce.gov.br/nfe2/services/RecepcaoEvento?wsdl +NfeRecepcao_2.00=https://nfe.sefaz.ce.gov.br/nfe2/services/NfeRecepcao2?wsdl +NfeRetRecepcao_2.00=https://nfe.sefaz.ce.gov.br/nfe2/services/NfeRetRecepcao2?wsdl +NfeInutilizacao_2.00=https://nfe.sefaz.ce.gov.br/nfe2/services/NfeInutilizacao2?wsdl +NfeInutilizacao_3.10=https://nfe.sefaz.ce.gov.br/nfe2/services/NfeInutilizacao2?wsdl +NfeConsultaProtocolo_2.00=https://nfe.sefaz.ce.gov.br/nfe2/services/NfeConsulta2?wsdl +NfeConsultaProtocolo_3.10=https://nfe.sefaz.ce.gov.br/nfe2/services/NfeConsulta2?wsdl +NfeStatusServico_2.00=https://nfe.sefaz.ce.gov.br/nfe2/services/NfeStatusServico2?wsdl +NfeStatusServico_3.10=https://nfe.sefaz.ce.gov.br/nfe2/services/NfeStatusServico2?wsdl +NfeConsultaCadastro_2.00=https://nfe.sefaz.ce.gov.br/nfe2/services/CadConsultaCadastro2?wsdl +NfeConsultaCadastro_3.10=https://nfe.sefaz.ce.gov.br/nfe2/services/CadConsultaCadastro2?wsdl +NfeDownloadNF_1.00=https://nfe.sefaz.ce.gov.br/nfe2/services/NfeDownloadNF?wsdl +NfeAutorizacao_3.10=https://nfe.sefaz.ce.gov.br/nfe2/services/NfeAutorizacao?wsdl +NFeRetAutorizacao_3.10=https://nfe.sefaz.ce.gov.br/nfe2/services/NfeRetAutorizacao?wsdl + +[NFe_CE_H] +RecepcaoEvento_1.00=https://nfeh.sefaz.ce.gov.br/nfe2/services/RecepcaoEvento?wsdl +NfeRecepcao_2.00=https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeRecepcao2?wsdl +NfeRetRecepcao_2.00=https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeRetRecepcao2?wsdl +NfeInutilizacao_2.00=https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeInutilizacao2?wsdl +NfeInutilizacao_3.10=https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeInutilizacao2?wsdl +NfeConsultaProtocolo_2.00=https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeConsulta2?wsdl +NfeConsultaProtocolo_3.10=https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeConsulta2?wsdl +NfeStatusServico_2.00=https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeStatusServico2?wsdl +NfeStatusServico_3.10=https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeStatusServico2?wsdl +NfeConsultaCadastro_2.00=https://nfeh.sefaz.ce.gov.br/nfe2/services/CadConsultaCadastro2?wsdl +NfeConsultaCadastro_3.10=https://nfeh.sefaz.ce.gov.br/nfe2/services/CadConsultaCadastro2?wsdl +NfeDownloadNF_1.00=https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeDownloadNF?wsdl +NfeAutorizacao_3.10=https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeAutorizacao?wsdl +NFeRetAutorizacao_3.10=https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeRetAutorizacao?wsdl +NfeInutilizacao_4.00=https://nfeh.sefaz.ce.gov.br/nfe4/services/NFeInutilizacao4?WSDL +NfeConsultaProtocolo_4.00=https://nfeh.sefaz.ce.gov.br/nfe4/services/NFeConsultaProtocolo4?WSDL +NfeStatusServico_4.00=https://nfeh.sefaz.ce.gov.br/nfe4/services/NFeStatusServico4?WSDL +NFeAutorizacao_4.00=https://nfeh.sefaz.ce.gov.br/nfe4/services/NFeAutorizacao4?WSDL +NFeRetAutorizacao_4.00=https://nfeh.sefaz.ce.gov.br/nfe4/services/NFeRetAutorizacao4?WSDL + +[NFe_DF_P] +Usar=NFe_SVRS_P + +[NFe_DF_H] +Usar=NFe_SVRS_H + +[NFe_ES_P] +Usar=NFe_SVRS_P +NfeConsultaCadastro_2.00=https://app.sefaz.es.gov.br/ConsultaCadastroService/CadConsultaCadastro2.asmx + +[NFe_ES_H] +Usar=NFe_SVRS_H +NfeConsultaCadastro_2.00=https://app.sefaz.es.gov.br/ConsultaCadastroService/CadConsultaCadastro2.asmx + +[NFe_GO_P] +RecepcaoEvento_1.00=https://nfe.sefaz.go.gov.br/nfe/services/v2/RecepcaoEvento?wsdl +NfeRecepcao_2.00=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRecepcao2?wsdl +NfeRetRecepcao_2.00=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRetRecepcao2?wsdl +NfeInutilizacao_2.00=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl +NfeInutilizacao_3.10=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl +NfeConsultaProtocolo_2.00=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl +NfeConsultaProtocolo_3.10=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl +NfeStatusServico_2.00=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl +NfeStatusServico_3.10=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl +NfeConsultaCadastro_2.00=https://nfe.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl +NfeConsultaCadastro_3.10=https://nfe.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl +NfeAutorizacao_3.10=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeAutorizacao?wsdl +NFeRetAutorizacao_3.10=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRetAutorizacao?wsdl +NfeInutilizacao_4.00=https://nfe.sefaz.go.gov.br/nfe/services/NFeInutilizacao4?wsdl +NfeConsultaProtocolo_4.00=https://nfe.sefaz.go.gov.br/nfe/services/NFeConsultaProtocolo4?wsdl +NfeStatusServico_4.00=https://nfe.sefaz.go.gov.br/nfe/services/NFeStatusServico4?wsdl +NfeConsultaCadastro_4.00=https://nfe.sefaz.go.gov.br/nfe/services/CadConsultaCadastro4?wsdl +RecepcaoEvento_4.00=https://nfe.sefaz.go.gov.br/nfe/services/NFeRecepcaoEvento4?wsdl +NFeAutorizacao_4.00=https://nfe.sefaz.go.gov.br/nfe/services/NFeAutorizacao4?wsdl +NFeRetAutorizacao_4.00=https://nfe.sefaz.go.gov.br/nfe/services/NFeRetAutorizacao4?wsdl + +[NFe_GO_H] +RecepcaoEvento_1.00=https://homolog.sefaz.go.gov.br/nfe/services/v2/RecepcaoEvento?wsdl +NfeRecepcao_2.00=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRecepcao2?wsdl +NfeRetRecepcao_2.00=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRetRecepcao2?wsdl +NfeInutilizacao_2.00=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl +NfeInutilizacao_3.10=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl +NfeConsultaProtocolo_2.00=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl +NfeConsultaProtocolo_3.10=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl +NfeStatusServico_2.00=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl +NfeStatusServico_3.10=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl +NfeConsultaCadastro_2.00=https://homolog.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl +NfeConsultaCadastro_3.10=https://homolog.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl +NfeAutorizacao_3.10=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeAutorizacao?wsdl +NFeRetAutorizacao_3.10=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRetAutorizacao?wsdl +RecepcaoEvento_4.00=https://homolog.sefaz.go.gov.br/nfe/services/NFeRecepcaoEvento4?wsdl +NfeInutilizacao_4.00=https://homolog.sefaz.go.gov.br/nfe/services/NFeInutilizacao4?wsdl +NfeConsultaProtocolo_4.00=https://homolog.sefaz.go.gov.br/nfe/services/NFeConsultaProtocolo4?wsdl +NfeStatusServico_4.00=https://homolog.sefaz.go.gov.br/nfe/services/NFeStatusServico4?wsdl +NfeConsultaCadastro_4.00=https://homolog.sefaz.go.gov.br/nfe/services/CadConsultaCadastro4?wsdl +NFeAutorizacao_4.00=https://homolog.sefaz.go.gov.br/nfe/services/NFeAutorizacao4?wsdl +NFeRetAutorizacao_4.00=https://homolog.sefaz.go.gov.br/nfe/services/NFeRetAutorizacao4?wsdl + +[NFe_MA_P] +Usar=NFe_SVAN_P +NfeConsultaCadastro_2.00=https://sistemas.sefaz.ma.gov.br/wscadastro/CadConsultaCadastro2?wsdl + +[NFe_MA_H] +Usar=NFe_SVAN_H +NfeConsultaCadastro_2.0=https://sistemas.sefaz.ma.gov.br/wscadastro/CadConsultaCadastro2?wsdl + +[NFe_MG_P] +NfeRecepcao_2.00=https://nfe.fazenda.mg.gov.br/nfe2/services/NfeRecepcao2 +NfeRetRecepcao_2.00=https://nfe.fazenda.mg.gov.br/nfe2/services/NfeRetRecepcao2 +NfeInutilizacao_2.00=https://nfe.fazenda.mg.gov.br/nfe2/services/NfeInutilizacao2 +NfeConsultaProtocolo_2.00=https://nfe.fazenda.mg.gov.br/nfe2/services/NfeConsulta2 +NfeStatusServico_2.00=https://nfe.fazenda.mg.gov.br/nfe2/services/NfeStatus2 +NfeConsultaCadastro_2.00=https://nfe.fazenda.mg.gov.br/nfe2/services/cadconsultacadastro2 +RecepcaoEvento_1.00=https://nfe.fazenda.mg.gov.br/nfe2/services/RecepcaoEvento +NfeAutorizacao_3.10=https://nfe.fazenda.mg.gov.br/nfe2/services/NfeAutorizacao +NFeRetAutorizacao_3.10=https://nfe.fazenda.mg.gov.br/nfe2/services/NfeRetAutorizacao +NfeInutilizacao_4.00=https://nfe.fazenda.mg.gov.br/nfe2/services/NFeInutilizacao4 +NfeConsultaProtocolo_4.00=https://nfe.fazenda.mg.gov.br/nfe2/services/NFeConsulta4 +NfeStatusServico_4.00=https://nfe.fazenda.mg.gov.br/nfe2/services/NFeStatusServico4 +NFeAutorizacao_4.00=https://nfe.fazenda.mg.gov.br/nfe2/services/NFeAutorizacao4 +NFeRetAutorizacao_4.00=https://nfe.fazenda.mg.gov.br/nfe2/services/NFeRetAutorizacao4 +WSDL=WSDL_V4_MG +SoapAction=SOAP_V4_MG + +[NFe_MG_H] +RecepcaoEvento_1.00=https://hnfe.fazenda.mg.gov.br/nfe2/services/RecepcaoEvento +NfeRecepcao_2.00=https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeRecepcao2 +NfeRetRecepcao_2.00=https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeRetRecepcao2 +NfeInutilizacao_2.00=https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeInutilizacao2 +NfeInutilizacao_3.10=https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeInutilizacao2 +NfeConsultaProtocolo_2.00=https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeConsulta2 +NfeConsultaProtocolo_3.10=https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeConsulta2 +NfeStatusServico_2.00=https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeStatusServico2 +NfeStatusServico_3.10=https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeStatusServico2 +NfeConsultaCadastro_2.00=https://hnfe.fazenda.mg.gov.br/nfe2/services/cadconsultacadastro2 +NfeConsultaCadastro_3.10=https://hnfe.fazenda.mg.gov.br/nfe2/services/cadconsultacadastro2 +NfeAutorizacao_3.10=https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeAutorizacao +NFeRetAutorizacao_3.10=https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeRetAutorizacao +NFeAutorizacao_4.00=https://hnfe.fazenda.mg.gov.br/nfe2/services/NFeAutorizacao4 +NFeConsultaProtocolo_4.00=https://hnfe.fazenda.mg.gov.br/nfe2/services/NFeConsulta4 +NFeInutilizacao_4.00=https://hnfe.fazenda.mg.gov.br/nfe2/services/NFeInutilizacao4 +NFeRetAutorizacao_4.00=https://hnfe.fazenda.mg.gov.br/nfe2/services/NFeRetAutorizacao4 +NFeStatusServico_4.00=https://hnfe.fazenda.mg.gov.br/nfe2/services/NFeStatusServico4 +RecepcaoEvento_4.00=https://hnfe.fazenda.mg.gov.br/nfe2/services/NFeRecepcaoEvento4 +WSDL=WSDL_V4_MG +SoapAction=SOAP_V4_MG + +[NFe_MS_P] +RecepcaoEvento_1.00=https://nfe.fazenda.ms.gov.br/producao/services2/RecepcaoEvento +NfeRecepcao_2.00=https://nfe.fazenda.ms.gov.br/producao/services2/NfeRecepcao2 +NfeRetRecepcao_2.00=https://nfe.fazenda.ms.gov.br/producao/services2/NfeRetRecepcao2 +NfeConsultaCadastro_2.00=https://nfe.fazenda.ms.gov.br/producao/services2/CadConsultaCadastro2 +NfeInutilizacao_2.00=https://nfe.fazenda.ms.gov.br/producao/services2/NfeInutilizacao2 +NfeInutilizacao_3.10=https://nfe.fazenda.ms.gov.br/producao/services2/NfeInutilizacao2 +NfeConsultaProtocolo_2.00=https://nfe.fazenda.ms.gov.br/producao/services2/NfeConsulta2 +NfeConsultaProtocolo_3.10=https://nfe.fazenda.ms.gov.br/producao/services2/NfeConsulta2 +NfeStatusServico_2.00=https://nfe.fazenda.ms.gov.br/producao/services2/NfeStatusServico2 +NfeStatusServico_3.10=https://nfe.fazenda.ms.gov.br/producao/services2/NfeStatusServico2 +NfeAutorizacao_3.10=https://nfe.fazenda.ms.gov.br/producao/services2/NfeAutorizacao +NFeRetAutorizacao_3.10=https://nfe.fazenda.ms.gov.br/producao/services2/NfeRetAutorizacao +NfeInutilizacao_4.00=https://nfe.fazenda.ms.gov.br/ws/NFeInutilizacao4 +NfeConsultaProtocolo_4.00=https://nfe.fazenda.ms.gov.br/ws/NFeConsultaProtocolo4 +NfeStatusServico_4.00=https://nfe.fazenda.ms.gov.br/ws/NFeStatusServico4 +NfeConsultaCadastro_4.00=https://nfe.fazenda.ms.gov.br/ws/CadConsultaCadastro4 +RecepcaoEvento_4.00=https://nfe.fazenda.ms.gov.br/ws/NFeRecepcaoEvento4 +NFeAutorizacao_4.00=https://nfe.fazenda.ms.gov.br/ws/NFeAutorizacao4 +NFeRetAutorizacao_4.00=https://nfe.fazenda.ms.gov.br/ws/NFeRetAutorizacao4 + +[NFe_MS_H] +RecepcaoEvento_1.00=https://homologacao.nfe.ms.gov.br/homologacao/services2/RecepcaoEvento +NfeRecepcao_2.00=https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeRecepcao2 +NfeRetRecepcao_2.00=https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeRetRecepcao2 +NfeConsultaCadastro_2.00=https://homologacao.nfe.ms.gov.br/homologacao/services2/CadConsultaCadastro2 +NfeInutilizacao_2.00=https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeInutilizacao2 +NfeInutilizacao_3.10=https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeInutilizacao2 +NfeConsultaProtocolo_2.00=https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeConsulta2 +NfeConsultaProtocolo_3.10=https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeConsulta2 +NfeStatusServico_2.00=https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeStatusServico2 +NfeStatusServico_3.10=https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeStatusServico2 +NfeAutorizacao_3.10=https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeAutorizacao +NFeRetAutorizacao_3.10=https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeRetAutorizacao +NFeAutorizacao_4.00=https://homologacao.nfe.ms.gov.br/ws/NFeAutorizacao4 +NFeRetAutorizacao_4.00=https://homologacao.nfe.ms.gov.br/ws/NFeRetAutorizacao4 +NFeConsultaProtocolo_4.00=https://homologacao.nfe.ms.gov.br/ws/NFeConsultaProtocolo4 +NFeStatusServico_4.00=https://homologacao.nfe.ms.gov.br/ws/NFeStatusServico4 +NFeInutilizacao_4.00=https://homologacao.nfe.ms.gov.br/ws/NFeInutilizacao4 +RecepcaoEvento_4.00=https://homologacao.nfe.ms.gov.br/ws/NFeRecepcaoEvento4 + +[NFe_MT_P] +NfeRecepcao_2.00=https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRecepcao2?wsdl +NfeRetRecepcao_2.00=https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRetRecepcao2?wsdl +NfeInutilizacao_2.00=https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao2?wsdl +NfeInutilizacao_3.10=https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao2?wsdl +NfeConsultaProtocolo_2.00=https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta2?wsdl +NfeConsultaProtocolo_3.10=https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta2?wsdl +NfeStatusServico_2.00=https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico2?wsdl +NfeStatusServico_3.10=https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico2?wsdl +NfeConsultaCadastro_2.00=https://nfe.sefaz.mt.gov.br/nfews/v2/services/CadConsultaCadastro2?wsdl +RecepcaoEvento_1.00=https://nfe.sefaz.mt.gov.br/nfews/v2/services/RecepcaoEvento?wsdl +NfeAutorizacao_3.10=https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeAutorizacao?wsdl +NFeRetAutorizacao_3.10=https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRetAutorizacao?wsdl +NfeInutilizacao_4.00=https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao4?wsdl +NfeConsultaProtocolo_4.00=https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta4?wsdl +NfeStatusServico_4.00=https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico4?wsdl +NfeConsultaCadastro_4.00=https://nfe.sefaz.mt.gov.br/nfews/v2/services/CadConsultaCadastro4?wsdl +RecepcaoEvento_4.00=https://nfe.sefaz.mt.gov.br/nfews/v2/services/RecepcaoEvento4?wsdl +NFeAutorizacao_4.00=https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeAutorizacao4?wsdl +NFeRetAutorizacao_4.00=https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRetAutorizacao4?wsdl + +[NFe_MT_H] +NfeRecepcao_2.00=https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeRecepcao2?wsdl +NfeRetRecepcao_2.00=https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeRetRecepcao2?wsdl +NfeInutilizacao_2.00=https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao2?wsdl +NfeConsultaProtocolo_2.00=https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta2?wsdl +NfeStatusServico_2.00=https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico2?wsdl +RecepcaoEvento_1.00=https://homologacao.sefaz.mt.gov.br/nfews/v2/services/RecepcaoEvento?wsdl +NfeConsultaCadastro_2.00=https://homologacao.sefaz.mt.gov.br/nfews/v2/services/CadConsultaCadastro2?wsdl +NfeAutorizacao_3.10=https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeAutorizacao?wsdl +NFeRetAutorizacao_3.10=https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeRetAutorizacao?wsdl +NFeRetAutorizacao_4.00=https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeRetAutorizacao4 +RecepcaoEvento_4.00=https://homologacao.sefaz.mt.gov.br/nfews/v2/services/RecepcaoEvento4 +NfeConsultaProtocolo_4.00=https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta4 +NFeAutorizacao_4.00=https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeAutorizacao4 +NfeInutilizacao_4.00=https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao4 +NfeConsultaCadastro_4.00=https://homologacao.sefaz.mt.gov.br/nfews/v2/services/CadConsultaCadastro4 +NfeStatusServico_4.00=https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico4 + +[NFe_PA_P] +Usar=NFe_SVAN_P + +[NFe_PA_H] +Usar=NFe_SVAN_H + +[NFe_PB_P] +Usar=NFe_SVRS_P + +[NFe_PB_H] +Usar=NFe_SVRS_H + +[NFe_PE_P] +RecepcaoEvento_1.00=https://nfe.sefaz.pe.gov.br/nfe-service/services/RecepcaoEvento +NfeRecepcao_2.00=https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeRecepcao2 +NfeRetRecepcao_2.00=https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeRetRecepcao2 +NfeInutilizacao_2.00=https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeInutilizacao2 +NfeInutilizacao_3.10=https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeInutilizacao2 +NfeConsultaProtocolo_2.00=https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeConsulta2 +NfeConsultaProtocolo_3.10=https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeConsulta2 +NfeStatusServico_2.00=https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeStatusServico2 +NfeStatusServico_3.10=https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeStatusServico2 +NfeConsultaCadastro_2.00=https://nfe.sefaz.pe.gov.br/nfe-service/services/CadConsultaCadastro2 +NfeConsultaCadastro_3.10=https://nfe.sefaz.pe.gov.br/nfe-service/services/CadConsultaCadastro2 +NfeAutorizacao_3.10=https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeAutorizacao?wsdl +NFeRetAutorizacao_3.10=https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeRetAutorizacao?wsdl + +[NFe_PE_H] +RecepcaoEvento_1.00=https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/RecepcaoEvento +NfeRecepcao_2.00=https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeRecepcao2 +NfeRetRecepcao_2.00=https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeRetRecepcao2 +NfeInutilizacao_2.00=https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeInutilizacao2 +NfeInutilizacao_3.10=https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeInutilizacao2 +NfeConsultaProtocolo_2.00=https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeConsulta2 +NfeConsultaProtocolo_3.10=https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeConsulta2 +NfeStatusServico_2.00=https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeStatusServico2 +NfeStatusServico_3.10=https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeStatusServico2 +NfeAutorizacao_3.10=https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeAutorizacao?wsdl +NFeRetAutorizacao_3.10=https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeRetAutorizacao?wsdl +NfeInutilizacao_4.00=https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeInutilizacao4?wsdl +NfeConsultaProtocolo_4.00=https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NFeConsultaProtocolo4?wsdl +NfeStatusServico_4.00=https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeStatusServico4?wsdl +NfeConsultaCadastro_4.00=https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/CadConsultaCadastro4?wsdl +RecepcaoEvento_4.00=https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NFeRecepcaoEvento4?wsdl +NFeAutorizacao_4.00=https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeAutorizacao4?wsdl +NFeRetAutorizacao_4.00=https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeRetAutorizacao4?wsdl + +[NFe_PI_P] +Usar=NFe_SVRS_P + +[NFe_PI_H] +Usar=NFe_SVRS_H + +[NFe_PR_P] +RecepcaoEvento_1.00=https://nfe.fazenda.pr.gov.br/nfe/NFeRecepcaoEvento?wsdl +NfeInutilizacao_3.10=https://nfe.fazenda.pr.gov.br/nfe/NFeInutilizacao3?wsdl +NfeConsultaProtocolo_3.10=https://nfe.fazenda.pr.gov.br/nfe/NFeConsulta3?wsdl +NfeStatusServico_3.10=https://nfe.fazenda.pr.gov.br/nfe/NFeStatusServico3?wsdl +NfeConsultaCadastro_2.00=https://nfe.fazenda.pr.gov.br/nfe/CadConsultaCadastro2?wsdl +NfeAutorizacao_3.10=https://nfe.fazenda.pr.gov.br/nfe/NFeAutorizacao3?wsdl +NFeRetAutorizacao_3.10=https://nfe.fazenda.pr.gov.br/nfe/NFeRetAutorizacao3?wsdl +NfeInutilizacao_4.00=https://nfe.sefa.pr.gov.br/nfe/NFeInutilizacao4?wsdl +NfeConsultaProtocolo_4.00=https://nfe.sefa.pr.gov.br/nfe/NFeConsultaProtocolo4?wsdl +NfeStatusServico_4.00=https://nfe.sefa.pr.gov.br/nfe/NFeStatusServico4?wsdl +NfeConsultaCadastro_4.00=https://nfe.sefa.pr.gov.br/nfe/CadConsultaCadastro4?wsdl +RecepcaoEvento_4.00=https://nfe.sefa.pr.gov.br/nfe/NFeRecepcaoEvento4?wsdl +NFeAutorizacao_4.00=https://nfe.sefa.pr.gov.br/nfe/NFeAutorizacao4?wsdl +NFeRetAutorizacao_4.00=https://nfe.sefa.pr.gov.br/nfe/NFeRetAutorizacao4?wsdl + +[NFe_PR_H] +RecepcaoEvento_1.00=https://homologacao.nfe.fazenda.pr.gov.br/nfe/NFeRecepcaoEvento?wsdl +NfeInutilizacao_3.10=https://homologacao.nfe.fazenda.pr.gov.br/nfe/NFeInutilizacao3?wsdl +NfeConsultaProtocolo_3.10=https://homologacao.nfe.fazenda.pr.gov.br/nfe/NFeConsulta3?wsdl +NfeStatusServico_3.10=https://homologacao.nfe.fazenda.pr.gov.br/nfe/NFeStatusServico3?wsdl +NfeConsultaCadastro_2.00=https://homologacao.nfe.fazenda.pr.gov.br/nfe/CadConsultaCadastro2?wsdl +NfeAutorizacao_3.10=https://homologacao.nfe.fazenda.pr.gov.br/nfe/NFeAutorizacao3?wsdl +NFeRetAutorizacao_3.10=https://homologacao.nfe.fazenda.pr.gov.br/nfe/NFeRetAutorizacao3?wsdl +RecepcaoEvento_4.00=https://homologacao.nfe.sefa.pr.gov.br/nfe/NFeRecepcaoEvento4?wsdl +NfeInutilizacao_4.00=https://homologacao.nfe.sefa.pr.gov.br/nfe/NFeInutilizacao4?wsdl +NfeConsultaProtocolo_4.00=https://homologacao.nfe.sefa.pr.gov.br/nfe/NFeConsultaProtocolo4?wsdl +NfeStatusServico_4.00=https://homologacao.nfe.sefa.pr.gov.br/nfe/NFeStatusServico4?wsdl +NfeConsultaCadastro_4.00=https://homologacao.nfe.sefa.pr.gov.br/nfe/CadConsultaCadastro4?wsdl +NfeAutorizacao_4.00=https://homologacao.nfe.sefa.pr.gov.br/nfe/NFeAutorizacao4?wsdl +NFeRetAutorizacao_4.00=https://homologacao.nfe.sefa.pr.gov.br/nfe/NFeRetAutorizacao4?wsdl + +[NFe_RJ_P] +Usar=NFe_SVRS_P + +[NFe_RJ_H] +Usar=NFe_SVRS_H + +[NFe_RN_P] +Usar=NFe_SVRS_P + +[NFe_RN_H] +Usar=NFe_SVRS_H + +[NFe_RO_P] +Usar=NFe_SVRS_P + +[NFe_RO_H] +Usar=NFe_SVRS_H + +[NFe_RS_P] +NfeAutorizacao_3.10=https://nfe.sefazrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx +NFeRetAutorizacao_3.10=https://nfe.sefazrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx +NfeInutilizacao_2.00=https://nfe.sefazrs.rs.gov.br/ws/NfeInutilizacao/NfeInutilizacao2.asmx +NfeInutilizacao_3.10=https://nfe.sefazrs.rs.gov.br/ws/NfeInutilizacao/NfeInutilizacao2.asmx +NfeConsultaProtocolo_2.00=https://nfe.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx +NfeConsultaProtocolo_3.10=https://nfe.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx +NfeStatusServico_2.00=https://nfe.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx +NfeStatusServico_3.10=https://nfe.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx +RecepcaoEvento_1.00=https://nfe.sefazrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx +NfeConsultaCadastro_2.00=https://cad.sefazrs.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro2.asmx +NfeInutilizacao_4.00=https://nfe.sefazrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao4.asmx +NfeConsultaProtocolo_4.00=https://nfe.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx +NfeStatusServico_4.00=https://nfe.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx +RecepcaoEvento_4.00=https://nfe.sefazrs.rs.gov.br/ws/recepcaoevento/recepcaoevento4.asmx +NFeAutorizacao_4.00=https://nfe.sefazrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx +NFeRetAutorizacao_4.00=https://nfe.sefazrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx + +[NFe_RS_H] +NfeAutorizacao_3.10=https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx +NFeRetAutorizacao_3.10=https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx +NfeInutilizacao_2.00=https://nfe-homologacao.sefazrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx +NfeInutilizacao_3.10=https://nfe-homologacao.sefazrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx +NfeConsultaProtocolo_2.00=https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx +NfeConsultaProtocolo_3.10=https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx +NfeStatusServico_2.00=https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx +NfeStatusServico_3.10=https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx +RecepcaoEvento_1.00=https://nfe-homologacao.sefazrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx +NfeConsultaCadastro_2.00=https://cad.sefazrs.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro2.asmx +NfeInutilizacao_4.00=https://nfe-homologacao.sefazrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao4.asmx +NfeConsultaProtocolo_4.00=https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx +NfeStatusServico_4.00=https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx +RecepcaoEvento_4.00=https://nfe-homologacao.sefazrs.rs.gov.br/ws/recepcaoevento/recepcaoevento4.asmx +NFeAutorizacao_4.00=https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx +NFeRetAutorizacao_4.00=https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx + +[NFe_RR_P] +Usar=NFe_SVRS_P + +[NFe_RR_H] +Usar=NFe_SVRS_H + +[NFe_SC_P] +Usar=NFe_SVRS_P + +[NFe_SC_H] +Usar=NFe_SVRS_H + +[NFe_SE_P] +Usar=NFe_SVRS_P + +[NFe_SE_H] +Usar=NFe_SVRS_H + +[NFe_SP_P] +NfeRecepcao_2.00=https://nfe.fazenda.sp.gov.br/nfeweb/services/nferecepcao2.asmx +NfeRetRecepcao_2.00=https://nfe.fazenda.sp.gov.br/nfeweb/services/nferetrecepcao2.asmx +NfeInutilizacao_2.00=https://nfe.fazenda.sp.gov.br/nfeweb/services/nfeinutilizacao2.asmx +NfeConsultaProtocolo_2.00=https://nfe.fazenda.sp.gov.br/nfeweb/services/nfeconsulta2.asmx +NfeStatusServico_2.00=https://nfe.fazenda.sp.gov.br/nfeweb/services/nfestatusservico2.asmx +NfeConsultaCadastro_2.00=https://nfe.fazenda.sp.gov.br/ws/cadconsultacadastro2.asmx +RecepcaoEvento_1.00=https://nfe.fazenda.sp.gov.br/ws/RecepcaoEvento.asmx +NfeInutilizacao_3.10=https://nfe.fazenda.sp.gov.br/ws/nfeinutilizacao2.asmx +NfeConsultaProtocolo_3.10=https://nfe.fazenda.sp.gov.br/ws/nfeconsulta2.asmx +NfeStatusServico_3.10=https://nfe.fazenda.sp.gov.br/ws/nfestatusservico2.asmx +NfeAutorizacao_3.10=https://nfe.fazenda.sp.gov.br/ws/nfeautorizacao.asmx +NFeRetAutorizacao_3.10=https://nfe.fazenda.sp.gov.br/ws/nferetautorizacao.asmx +NfeInutilizacao_4.00=https://nfe.fazenda.sp.gov.br/ws/nfeinutilizacao4.asmx +NfeConsultaProtocolo_4.00=https://nfe.fazenda.sp.gov.br/ws/nfeconsultaprotocolo4.asmx +NfeStatusServico_4.00=https://nfe.fazenda.sp.gov.br/ws/nfestatusservico4.asmx +NfeConsultaCadastro_4.00=https://nfe.fazenda.sp.gov.br/ws/cadconsultacadastro4.asmx +RecepcaoEvento_4.00=https://nfe.fazenda.sp.gov.br/ws/nferecepcaoevento4.asmx +NFeAutorizacao_4.00=https://nfe.fazenda.sp.gov.br/ws/nfeautorizacao4.asmx +NFeRetAutorizacao_4.00=https://nfe.fazenda.sp.gov.br/ws/nferetautorizacao4.asmx + +[NFe_SP_H] +NfeRecepcao_2.00=https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeRecepcao2.asmx +NfeRetRecepcao_2.00=https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeRetRecepcao2.asmx +NfeInutilizacao_2.00=https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nfeinutilizacao2.asmx +NfeConsultaProtocolo_2.00=https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nfeconsulta2.asmx +NfeStatusServico_2.00=https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nfestatusservico2.asmx +NfeConsultaCadastro_2.00=https://homologacao.nfe.fazenda.sp.gov.br/ws/cadconsultacadastro2.asmx +RecepcaoEvento_1.00=https://homologacao.nfe.fazenda.sp.gov.br/ws/RecepcaoEvento.asmx +NfeInutilizacao_3.10=https://homologacao.nfe.fazenda.sp.gov.br/ws/nfeinutilizacao2.asmx +NfeConsultaProtocolo_3.10=https://homologacao.nfe.fazenda.sp.gov.br/ws/nfeconsulta2.asmx +NfeStatusServico_3.10=https://homologacao.nfe.fazenda.sp.gov.br/ws/nfestatusservico2.asmx +NFeAutorizacao_3.10=https://homologacao.nfe.fazenda.sp.gov.br/ws/nfeautorizacao.asmx +NFeRetAutorizacao_3.10=https://homologacao.nfe.fazenda.sp.gov.br/ws/nferetautorizacao.asmx +NfeInutilizacao_4.00=https://homologacao.nfe.fazenda.sp.gov.br/ws/nfeinutilizacao4.asmx +NfeConsultaProtocolo_4.00=https://homologacao.nfe.fazenda.sp.gov.br/ws/nfeconsultaprotocolo4.asmx +NfeStatusServico_4.00=https://homologacao.nfe.fazenda.sp.gov.br/ws/nfestatusservico4.asmx +NFeAutorizacao_4.00=https://homologacao.nfe.fazenda.sp.gov.br/ws/nfeautorizacao4.asmx +NFeRetAutorizacao_4.00=https://homologacao.nfe.fazenda.sp.gov.br/ws/nferetautorizacao4.asmx +NfeConsultaCadastro_4.00=https://homologacao.nfe.fazenda.sp.gov.br/ws/cadconsultacadastro4.asmx +RecepcaoEvento_4.00=https://homologacao.nfe.fazenda.sp.gov.br/ws/nferecepcaoevento4.asmx + +[NFe_TO_P] +Usar=NFe_SVRS_P + +[NFe_TO_H] +Usar=NFe_SVRS_H + +[NFe_SVAN_P] +RecepcaoEvento_1.00=https://www.sefazvirtual.fazenda.gov.br/RecepcaoEvento/RecepcaoEvento.asmx +NfeRecepcao_2.00=https://www.sefazvirtual.fazenda.gov.br/NfeRecepcao2/NfeRecepcao2.asmx +NfeRetRecepcao_2.00=https://www.sefazvirtual.fazenda.gov.br/NfeRetRecepcao2/NfeRetRecepcao2.asmx +NfeInutilizacao_2.00=https://www.sefazvirtual.fazenda.gov.br/NfeInutilizacao2/NfeInutilizacao2.asmx +NfeInutilizacao_3.10=https://www.sefazvirtual.fazenda.gov.br/NfeInutilizacao2/NfeInutilizacao2.asmx +NfeConsultaProtocolo_2.00=https://www.sefazvirtual.fazenda.gov.br/NfeConsulta2/NfeConsulta2.asmx +NfeConsultaProtocolo_3.10=https://www.sefazvirtual.fazenda.gov.br/NfeConsulta2/NfeConsulta2.asmx +NfeStatusServico_2.00=https://www.sefazvirtual.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx +NfeStatusServico_3.10=https://www.sefazvirtual.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx +NfeDownloadNF_1.00=https://www.sefazvirtual.fazenda.gov.br/NfeDownloadNF/NfeDownloadNF.asmx +NfeAutorizacao_3.10=https://www.sefazvirtual.fazenda.gov.br/NfeAutorizacao/NfeAutorizacao.asmx +NFeRetAutorizacao_3.10=https://www.sefazvirtual.fazenda.gov.br/NfeRetAutorizacao/NfeRetAutorizacao.asmx +RecepcaoEvento_4.00=https://www.sefazvirtual.fazenda.gov.br/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx +NfeInutilizacao_4.00=https://www.sefazvirtual.fazenda.gov.br/NFeInutilizacao4/NFeInutilizacao4.asmx +NfeConsultaProtocolo_4.00=https://www.sefazvirtual.fazenda.gov.br/NFeConsultaProtocolo4/NFeConsultaProtocolo4.asmx +NfeStatusServico_4.00=https://www.sefazvirtual.fazenda.gov.br/NFeStatusServico4/NFeStatusServico4.asmx +NFeAutorizacao_4.00=https://www.sefazvirtual.fazenda.gov.br/NFeAutorizacao4/NFeAutorizacao4.asmx +NFeRetAutorizacao_4.00=https://www.sefazvirtual.fazenda.gov.br/NFeRetAutorizacao4/NFeRetAutorizacao4.asmx + +[NFe_SVAN_H] +RecepcaoEvento_1.00=https://hom.sefazvirtual.fazenda.gov.br/RecepcaoEvento/RecepcaoEvento.asmx +NfeRecepcao_2.00=https://hom.sefazvirtual.fazenda.gov.br/NfeRecepcao2/NfeRecepcao2.asmx +NfeRetRecepcao_2.00=https://hom.sefazvirtual.fazenda.gov.br/NfeRetRecepcao2/NfeRetRecepcao2.asmx +NfeInutilizacao_2.00=https://hom.sefazvirtual.fazenda.gov.br/NfeInutilizacao2/NfeInutilizacao2.asmx +NfeInutilizacao_3.10=https://hom.sefazvirtual.fazenda.gov.br/NfeInutilizacao2/NfeInutilizacao2.asmx +NfeConsultaProtocolo_2.00=https://hom.sefazvirtual.fazenda.gov.br/NfeConsulta2/NfeConsulta2.asmx +NfeConsultaProtocolo_3.10=https://hom.sefazvirtual.fazenda.gov.br/NfeConsulta2/NfeConsulta2.asmx +NfeStatusServico_2.00=https://hom.sefazvirtual.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx +NfeStatusServico_3.10=https://hom.sefazvirtual.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx +NfeDownloadNF_1.00=https://hom.sefazvirtual.fazenda.gov.br/NfeDownloadNF/NfeDownloadNF.asmx +NfeAutorizacao_3.10=https://hom.sefazvirtual.fazenda.gov.br/NfeAutorizacao/NfeAutorizacao.asmx +NFeRetAutorizacao_3.10=https://hom.sefazvirtual.fazenda.gov.br/NfeRetAutorizacao/NfeRetAutorizacao.asmx +NfeInutilizacao_4.00=https://hom.sefazvirtual.fazenda.gov.br/NFeInutilizacao4/NFeInutilizacao4.asmx +NfeConsultaProtocolo_4.00=https://hom.sefazvirtual.fazenda.gov.br/NFeConsultaProtocolo4/NFeConsultaProtocolo4.asmx +NfeStatusServico_4.00=https://hom.sefazvirtual.fazenda.gov.br/NFeStatusServico4/NFeStatusServico4.asmx +RecepcaoEvento_4.00=https://hom.sefazvirtual.fazenda.gov.br/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx +NFeAutorizacao_4.00=https://hom.sefazvirtual.fazenda.gov.br/NFeAutorizacao4/NFeAutorizacao4.asmx +NFeRetAutorizacao_4.00=https://hom.sefazvirtual.fazenda.gov.br/NFeRetAutorizacao4/NFeRetAutorizacao4.asmx + +[NFe_SVRS_P] +NfeAutorizacao_3.10=https://nfe.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx +NFeRetAutorizacao_3.10=https://nfe.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx +NfeInutilizacao_2.00=https://nfe.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx +NfeInutilizacao_3.10=https://nfe.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx +NfeConsultaProtocolo_2.00=https://nfe.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx +NfeConsultaProtocolo_3.10=https://nfe.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx +NfeStatusServico_2.00=https://nfe.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx +NfeStatusServico_3.10=https://nfe.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx +RecepcaoEvento_1.00=https://nfe.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx +NfeConsultaCadastro_2.00=https://cad.svrs.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro2.asmx +NFeAutorizacao_4.00=https://nfe.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx +NFeRetAutorizacao_4.00=https://nfe.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx +NfeInutilizacao_4.00=https://nfe.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao4.asmx +NfeConsultaProtocolo_4.00=https://nfe.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx +NfeStatusServico_4.00=https://nfe.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx +RecepcaoEvento_4.00=https://nfe.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento4.asmx +NfeConsultaCadastro_4.00=https://cad.svrs.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro4.asmx + +[NFe_SVRS_H] +NfeAutorizacao_3.10=https://nfe-homologacao.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx +NFeRetAutorizacao_3.10=https://nfe-homologacao.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx +NfeInutilizacao_2.00=https://nfe-homologacao.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx +NfeInutilizacao_3.10=https://nfe-homologacao.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx +NfeConsultaProtocolo_2.00=https://nfe-homologacao.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx +NfeConsultaProtocolo_3.10=https://nfe-homologacao.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx +NfeStatusServico_2.00=https://nfe-homologacao.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx +NfeStatusServico_3.10=https://nfe-homologacao.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx +RecepcaoEvento_1.00=https://nfe-homologacao.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx +NfeConsultaCadastro_2.00=https://cad-homologacao.svrs.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro2.asmx +NfeInutilizacao_4.00=https://nfe-homologacao.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao4.asmx +NfeConsultaProtocolo_4.00=https://nfe-homologacao.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx +NfeStatusServico_4.00=https://nfe-homologacao.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx +RecepcaoEvento_4.00=https://nfe-homologacao.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento4.asmx +NFeAutorizacao_4.00=https://nfe-homologacao.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx +NFeRetAutorizacao_4.00=https://nfe-homologacao.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx + +[NFe_SVC-AN_P] +RecepcaoEvento_1.00=https://www.svc.fazenda.gov.br/RecepcaoEvento/RecepcaoEvento.asmx +NfeRecepcao_2.00=https://www.svc.fazenda.gov.br/NfeRecepcao2/NfeRecepcao2.asmx +NfeRetRecepcao_2.00=https://www.svc.fazenda.gov.br/NfeRetRecepcao2/NfeRetRecepcao2.asmx +NfeConsultaProtocolo_2.00=https://www.svc.fazenda.gov.br/NfeConsulta2/NfeConsulta2.asmx +NfeConsultaProtocolo_3.10=https://www.svc.fazenda.gov.br/NfeConsulta2/NfeConsulta2.asmx +NfeStatusServico_2.00=https://www.svc.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx +NfeStatusServico_3.10=https://www.svc.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx +NfeAutorizacao_3.10=https://www.svc.fazenda.gov.br/NfeAutorizacao/NfeAutorizacao.asmx +NFeRetAutorizacao_3.10=https://www.svc.fazenda.gov.br/NfeRetAutorizacao/NfeRetAutorizacao.asmx +NfeConsultaProtocolo_4.00=https://www.svc.fazenda.gov.br/NFeConsultaProtocolo4/NFeConsultaProtocolo4.asmx +NfeStatusServico_4.00=https://www.svc.fazenda.gov.br/NFeStatusServico4/NFeStatusServico4.asmx +RecepcaoEvento_4.00=https://www.svc.fazenda.gov.br/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx +NFeAutorizacao_4.00=https://www.svc.fazenda.gov.br/NFeAutorizacao4/NFeAutorizacao4.asmx +NFeRetAutorizacao_4.00=https://www.svc.fazenda.gov.br/NFeRetAutorizacao4/NFeRetAutorizacao4.asmx + +[NFe_SVC-AN_H] +RecepcaoEvento_1.00=https://hom.svc.fazenda.gov.br/RecepcaoEvento/RecepcaoEvento.asmx +NfeRecepcao_2.00=https://hom.svc.fazenda.gov.br/NfeRecepcao2/NfeRecepcao2.asmx +NfeRetRecepcao_2.00=https://hom.svc.fazenda.gov.br/NfeRetRecepcao2/NfeRetRecepcao2.asmx +NfeConsultaProtocolo_2.00=https://hom.svc.fazenda.gov.br/NfeConsulta2/NfeConsulta2.asmx +NfeConsultaProtocolo_3.10=https://hom.svc.fazenda.gov.br/NfeConsulta2/NfeConsulta2.asmx +NfeStatusServico_2.00=https://hom.svc.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx +NfeStatusServico_3.10=https://hom.svc.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx +NfeAutorizacao_3.10=https://hom.svc.fazenda.gov.br/NfeAutorizacao/NfeAutorizacao.asmx +NFeRetAutorizacao_3.10=https://hom.svc.fazenda.gov.br/NfeRetAutorizacao/NfeRetAutorizacao.asmx +NfeConsultaProtocolo_4.00=https://hom.svc.fazenda.gov.br/NFeConsultaProtocolo4/NFeConsultaProtocolo4.asmx +NfeStatusServico_4.00=https://hom.svc.fazenda.gov.br/NFeStatusServico4/NFeStatusServico4.asmx +RecepcaoEvento_4.00=https://hom.svc.fazenda.gov.br/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx +NFeAutorizacao_4.00=https://hom.svc.fazenda.gov.br/NFeAutorizacao4/NFeAutorizacao4.asmx +NFeRetAutorizacao_4.00=https://hom.svc.fazenda.gov.br/NFeRetAutorizacao4/NFeRetAutorizacao4.asmx + +[NFe_SVC-RS_P] +NfeAutorizacao_3.10=https://nfe.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx +NFeRetAutorizacao_3.10=https://nfe.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx +NfeInutilizacao_3.10=https://nfe.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx +NfeConsultaProtocolo_3.10=https://nfe.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx +NfeStatusServico_3.10=https://nfe.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx +RecepcaoEvento_1.00=https://nfe.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx +NfeInutilizacao_4.00=https://nfe.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao4.asmx +NfeConsultaProtocolo_4.00=https://nfe.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx +NfeStatusServico_4.00=https://nfe.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx +RecepcaoEvento_4.00=https://nfe.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento4.asmx +NFeAutorizacao_4.00=https://nfe.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx +NFeRetAutorizacao_4.00=https://nfe.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx + +[NFe_SVC-RS_H] +NfeAutorizacao_3.10=https://nfe-homologacao.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx +NFeRetAutorizacao_3.10=https://nfe-homologacao.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx +NfeInutilizacao_3.10=https://nfe-homologacao.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx +NfeConsultaProtocolo_3.10=https://nfe-homologacao.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx +NfeStatusServico_3.10=https://nfe-homologacao.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx +RecepcaoEvento_1.00=https://nfe-homologacao.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx + +[NFe_AN_P] +RecepcaoEvento_1.00=https://www.nfe.fazenda.gov.br/RecepcaoEvento/RecepcaoEvento.asmx +NFeDistribuicaoDFe_1.01=https://www1.nfe.fazenda.gov.br/NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx +NfeConsultaDest_1.01=https://www.nfe.fazenda.gov.br/NFeConsultaDest/NFeConsultaDest.asmx +NfeDownloadNF_1.00=https://www.nfe.fazenda.gov.br/NfeDownloadNF/NfeDownloadNF.asmx +RecepcaoEvento_4.00=https://www.nfe.fazenda.gov.br/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx + +[NFe_AN_H] +RecepcaoEvento_1.00=https://hom.nfe.fazenda.gov.br/RecepcaoEvento/RecepcaoEvento.asmx +NFeDistribuicaoDFe_1.01=https://hom.nfe.fazenda.gov.br/NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx +NfeConsultaDest_1.01=https://hom.nfe.fazenda.gov.br/NFeConsultaDest/NFeConsultaDest.asmx +NfeDownloadNF_1.00=https://hom.nfe.fazenda.gov.br/NfeDownloadNF/NfeDownloadNF.asmx +RecepcaoEvento_4.00=https://hom.nfe.fazenda.gov.br/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx + +;;;;;;;;;;;;;; ENDERECOS DA NFCe ;;;;;;;;;;;;;;;; + +[NFCe_AC_P] +Usar=NFCe_SVRS_P +URL-QRCode=http://www.sefaznet.ac.gov.br/nfce/qrcode +URL-ConsultaNFCe=http://www.sefaznet.ac.gov.br/nfce/ + +[NFCe_AC_H] +Usar=NFCe_SVRS_H +URL-QRCode=http://hml.sefaznet.ac.gov.br/nfce/qrcode +URL-ConsultaNFCe=http://hml.sefaznet.ac.gov.br/nfce/ + +[NFCe_AL_P] +Usar=NFCe_SVRS_P +URL-QRCode=http://nfce.sefaz.al.gov.br/QRCode/consultarNFCe.jsp +URL-ConsultaNFCe=http://nfce.sefaz.al.gov.br/consultaNFCe.htm + +[NFCe_AL_H] +Usar=NFCe_SVRS_H +URL-QRCode=http://nfce.sefaz.al.gov.br/QRCode/consultarNFCe.jsp +URL-ConsultaNFCe=http://nfce.sefaz.al.gov.br/consultaNFCe.htm + +[NFCe_AP_P] +Usar=NFCe_SVRS_P +URL-QRCode=https://www.sefaz.ap.gov.br/nfce/nfcep.php +URL-ConsultaNFCe=https://www.sefaz.ap.gov.br/sate/seg/SEGf_AcessarFuncao.jsp?cdFuncao=FIS_1261 + +[NFCe_AP_H] +Usar=NFCe_SVRS_H +URL-QRCode=https://www.sefaz.ap.gov.br/nfcehml/nfce.php +URL-ConsultaNFCe=https://www.sefaz.ap.gov.br/sate1/seg/SEGf_AcessarFuncao.jsp?cdFuncao=FIS_1261 + +[NFCe_AM_P] +NfeAutorizacao_3.10=https://nfce.sefaz.am.gov.br/nfce-services/services/NfeAutorizacao +NFeRetAutorizacao_3.10=https://nfce.sefaz.am.gov.br/nfce-services/services/NfeRetAutorizacao +NfeConsultaProtocolo_3.10=https://nfce.sefaz.am.gov.br/nfce-services/services/NfeConsulta2 +NfeRecepcao_3.10=https://nfce.sefaz.am.gov.br/nfce-services/services/NfeRecepcao2 +RecepcaoEvento_1.00=https://nfce.sefaz.am.gov.br/nfce-services/services/RecepcaoEvento +NfeStatusServico_3.10=https://nfce.sefaz.am.gov.br/nfce-services/services/NfeStatusServico2 +NfeRetRecepcao_3.10=https://nfce.sefaz.am.gov.br/nfce-services/services/NfeRetRecepcao2 +NfeInutilizacao_3.10=https://nfce.sefaz.am.gov.br/nfce-services/services/NfeInutilizacao2 +AdministrarCSCNFCe_1.00=https://nfce.sefaz.am.gov.br/nfce-services/services/CscNFCe +URL-QRCode=http://sistemas.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp +URL-ConsultaNFCe=http://sistemas.sefaz.am.gov.br/nfceweb/formConsulta.do + +[NFCe_AM_H] +NfeAutorizacao_3.10=https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/NfeAutorizacao +NFeRetAutorizacao_3.10=https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/NfeRetAutorizacao +NfeConsultaProtocolo_3.10=https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/NfeConsulta2 +NfeRecepcao_3.10=https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/NfeRecepcao2 +RecepcaoEvento_1.00=https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/RecepcaoEvento +NfeStatusServico_3.10=https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/NfeStatusServico2 +NfeRetRecepcao_3.10=https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/NfeRetRecepcao2 +NfeInutilizacao_3.10=https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/NfeInutilizacao2 +AdministrarCSCNFCe_1.00=https://homnfce.sefaz.am.gov.br/nfce-services/services/CscNFCe +URL-QRCode=http://homnfce.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp +URL-ConsultaNFCe=http://homnfce.sefaz.am.gov.br/nfceweb/formConsulta.do + +[NFCe_BA_P] +Usar=NFCe_SVRS_P +URL-QRCode=http://nfe.sefaz.ba.gov.br/servicos/nfce/modulos/geral/NFCEC_consulta_chave_acesso.aspx +URL-ConsultaNFCe=http://nfe.sefaz.ba.gov.br/servicos/nfce/default.aspx + +[NFCe_BA_H] +Usar=NFCe_SVRS_H +URL-QRCode=http://hnfe.sefaz.ba.gov.br/servicos/nfce/modulos/geral/NFCEC_consulta_chave_acesso.aspx +URL-ConsultaNFCe=http://nfe.sefaz.ba.gov.br/servicos/nfce/default.aspx + +[NFCe_CE_P] +NfeAutorizacao_3.10=https://nfce.sefaz.ce.gov.br/nfce/services/NfeAutorizacao?WSDL +NFeRetAutorizacao_3.10=https://nfce.sefaz.ce.gov.br/nfce/services/NfeRetAutorizacao?WSDL +NfeConsultaProtocolo_3.10=https://nfce.sefaz.ce.gov.br/nfce/services/NfeConsulta2?WSDL +NfeInutilizacao_3.10=https://nfce.sefaz.ce.gov.br/nfce/services/NfeInutilizacao2?WSDL +NfeStatusServico_3.10=https://nfce.sefaz.ce.gov.br/nfce/services/NfeStatusServico2?WSDL +NfeConsultaCadastro_3.10=https://nfce.sefaz.ce.gov.br/nfce/services/CadConsultaCadastro2?WSDL +RecepcaoEvento_1.00=https://nfce.sefaz.ce.gov.br/nfce/services/RecepcaoEvento?WSDL +URL-QRCode=http://nfce.sefaz.ce.gov.br/pages/ShowNFCe.html +URL-ConsultaNFCe=http://nfce.sefaz.ce.gov.br/pages/consultaChaveAcesso.jsf + +[NFCe_CE_H] +NfeAutorizacao_3.10=https://nfceh.sefaz.ce.gov.br/nfce/services/NfeAutorizacao?wsdl +NFeRetAutorizacao_3.10=https://nfceh.sefaz.ce.gov.br/nfce/services/NfeRetAutorizacao?wsdl +NfeConsultaProtocolo_3.10=https://nfceh.sefaz.ce.gov.br/nfce/services/NfeConsulta2?wsdl +NfeInutilizacao_3.10=https://nfceh.sefaz.ce.gov.br/nfce/services/NfeInutilizacao2?wsdl +NfeStatusServico_3.10=https://nfceh.sefaz.ce.gov.br/nfce/services/NfeStatusServico2?wsdl +NfeConsultaCadastro_3.10=https://nfceh.sefaz.ce.gov.br/nfce/services/CadConsultaCadastro2?wsdl +RecepcaoEvento_1.00=https://nfceh.sefaz.ce.gov.br/nfce/services/RecepcaoEvento?wsdl +URL-QRCode=http://nfceh.sefaz.ce.gov.br/pages/ShowNFCe.html +URL-ConsultaNFCe=http://nfceh.sefaz.ce.gov.br/pages/consultaChaveAcesso.jsf + +[NFCe_DF_P] +Usar=NFCe_SVRS_P +URL-QRCode=http://dec.fazenda.df.gov.br/ConsultarNFCe.aspx +URL-ConsultaNFCe=http://dec.fazenda.df.gov.br/nfce + +[NFCe_DF_H] +Usar=NFCe_SVRS_H +URL-QRCode=http://dec.fazenda.df.gov.br/ConsultarNFCe.aspx +URL-ConsultaNFCe=http://dec.fazenda.df.gov.br/nfce + +[NFCe_ES_P] +Usar=NFCe_SVRS_P +URL-QRCode=http://app.sefaz.es.gov.br/ConsultaNFCe/qrcode.aspx +URL-ConsultaNFCe=http://app.sefaz.es.gov.br/ConsultaNFCe + +[NFCe_ES_H] +Usar=NFCe_SVRS_H +URL-QRCode=http://homologacao.sefaz.es.gov.br/ConsultaNFCe/qrcode.aspx +URL-ConsultaNFCe=http://app.sefaz.es.gov.br/ConsultaNFCe + +[NFCe_GO_P] +RecepcaoEvento_1.00=https://nfe.sefaz.go.gov.br/nfe/services/v2/RecepcaoEvento?wsdl +NfeRecepcao_2.00=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRecepcao2?wsdl +NfeRetRecepcao_2.00=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRetRecepcao2?wsdl +NfeInutilizacao_2.00=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl +NfeInutilizacao_3.10=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl +NfeConsultaProtocolo_2.00=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl +NfeConsultaProtocolo_3.10=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl +NfeStatusServico_2.00=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl +NfeStatusServico_3.10=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl +NfeConsultaCadastro_2.00=https://nfe.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl +NfeConsultaCadastro_3.10=https://nfe.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl +NfeAutorizacao_3.10=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeAutorizacao?wsdl +NFeRetAutorizacao_3.10=https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRetAutorizacao?wsdl +AdministrarCSCNFCe_1.00=https://nfe.sefaz.go.gov.br/nfe/services/v2/CscNFCe?wsdl +RecepcaoEvento_4.00=https://nfe.sefaz.go.gov.br/nfe/services/NFeRecepcaoEvento4?wsdl +NfeInutilizacao_4.00=https://nfe.sefaz.go.gov.br/nfe/services/NFeInutilizacao4?wsdl +NfeConsultaProtocolo_4.00=https://nfe.sefaz.go.gov.br/nfe/services/NFeConsultaProtocolo4?wsdl +NfeStatusServico_4.00=https://nfe.sefaz.go.gov.br/nfe/services/NFeStatusServico4?wsdl +NfeConsultaCadastro_4.00=https://nfe.sefaz.go.gov.br/nfe/services/CadConsultaCadastro4?wsdl +NFeAutorizacao_4.00=https://nfe.sefaz.go.gov.br/nfe/services/NFeAutorizacao4?wsdl +NFeRetAutorizacao_4.00=https://nfe.sefaz.go.gov.br/nfe/services/NFeRetAutorizacao4?wsdl +URL-QRCode=http://nfe.sefaz.go.gov.br/nfeweb/sites/nfce/danfeNFCe +URL-ConsultaNFCe=http://nfe.sefaz.go.gov.br/nfeweb/jsp/ConsultaDANFENFCe.jsf +URL-ConsultaNFCe_4.0=http://nfe.sefaz.go.gov.br/nfeweb/sites/nfce/danfeNFCe + +[NFCe_GO_H] +RecepcaoEvento_1.00=https://homolog.sefaz.go.gov.br/nfe/services/v2/RecepcaoEvento?wsdl +NfeRecepcao_2.00=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRecepcao2?wsdl +NfeRetRecepcao_2.00=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRetRecepcao2?wsdl +NfeInutilizacao_2.00=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl +NfeInutilizacao_3.10=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl +NfeConsultaProtocolo_2.00=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl +NfeConsultaProtocolo_3.10=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl +NfeStatusServico_2.00=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl +NfeStatusServico_3.10=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl +NfeConsultaCadastro_2.00=https://homolog.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl +NfeConsultaCadastro_3.10=https://homolog.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl +NfeAutorizacao_3.10=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeAutorizacao?wsdl +NFeRetAutorizacao_3.10=https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRetAutorizacao?wsdl +AdministrarCSCNFCe_1.00=https://homolog.sefaz.go.gov.br/nfe/services/v2/CscNFCe?wsdl +RecepcaoEvento_4.00=https://homolog.sefaz.go.gov.br/nfe/services/NFeRecepcaoEvento4?wsdl +NfeInutilizacao_4.00=https://homolog.sefaz.go.gov.br/nfe/services/NFeInutilizacao4?wsdl +NfeConsultaProtocolo_4.00=https://homolog.sefaz.go.gov.br/nfe/services/NFeConsultaProtocolo4?wsdl +NfeStatusServico_4.00=https://homolog.sefaz.go.gov.br/nfe/services/NFeStatusServico4?wsdl +NfeConsultaCadastro_4.00=https://homolog.sefaz.go.gov.br/nfe/services/CadConsultaCadastro4?wsdl +NFeAutorizacao_4.00=https://homolog.sefaz.go.gov.br/nfe/services/NFeAutorizacao4?wsdl +NFeRetAutorizacao_4.00=https://homolog.sefaz.go.gov.br/nfe/services/NFeRetAutorizacao4?wsdl +URL-QRCode=http://homolog.sefaz.go.gov.br/nfeweb/sites/nfce/danfeNFCe +URL-ConsultaNFCe=http://homolog.sefaz.go.gov.br/nfeweb/jsp/ConsultaDANFENFCe.jsf +URL-ConsultaNFCe_4.0=http://homolog.sefaz.go.gov.br/nfeweb/sites/nfce/danfeNFCe + +[NFCe_MA_P] +Usar=NFCe_SVRS_P +URL-QRCode=http://www.nfce.sefaz.ma.gov.br/portal/consultarNFCe.jsp +URL-ConsultaNFCe=http://www.nfce.sefaz.ma.gov.br/portal/consultaNFe.do + +[NFCe_MA_H] +Usar=NFCe_SVRS_H +URL-QRCode=http://www.hom.nfce.sefaz.ma.gov.br/portal/consultarNFCe.jsp +URL-ConsultaNFCe=http://www.hom.nfce.sefaz.ma.gov.br/portal/consultaNFe.do + +[NFCe_MG_P] + +[NFCe_MG_H] + +[NFCe_MS_P] +NfeAutorizacao_3.10=https://nfce.fazenda.ms.gov.br/producao/services2/NfeAutorizacao +NFeRetAutorizacao_3.10=https://nfce.fazenda.ms.gov.br/producao/services2/NfeRetAutorizacao +RecepcaoEvento_1.00=https://nfce.fazenda.ms.gov.br/producao/services2/RecepcaoEvento +NfeInutilizacao_3.10=https://nfce.fazenda.ms.gov.br/producao/services2/NfeInutilizacao2 +NfeConsultaProtocolo_3.10=https://nfce.fazenda.ms.gov.br/producao/services2/NfeConsulta2 +NfeStatusServico_3.10=https://nfce.fazenda.ms.gov.br/producao/services2/NfeStatusServico2 +NfeConsultaCadastro_3.10=https://nfe.fazenda.ms.gov.br/producao/services2/CadConsultaCadastro2 +URL-QRCode=http://www.dfe.ms.gov.br/nfce/qrcode +URL-ConsultaNFCe=http://www.dfe.ms.gov.br/nfce + +[NFCe_MS_H] +NfeAutorizacao_3.10=https://homologacao.nfce.fazenda.ms.gov.br/homologacao/services2/NfeAutorizacao +NFeRetAutorizacao_3.10=https://homologacao.nfce.fazenda.ms.gov.br/homologacao/services2/NfeRetAutorizacao +RecepcaoEvento_1.00=https://homologacao.nfce.fazenda.ms.gov.br/homologacao/services2/RecepcaoEvento +NfeInutilizacao_3.10=https://homologacao.nfce.fazenda.ms.gov.br/homologacao/services2/NfeInutilizacao2 +NfeConsultaProtocolo_3.10=https://homologacao.nfce.fazenda.ms.gov.br/homologacao/services2/NfeConsulta2 +NfeStatusServico_3.10=https://homologacao.nfce.fazenda.ms.gov.br/homologacao/services2/NfeStatusServico2 +NfeConsultaCadastro_3.10=https://homologacao.nfce.fazenda.ms.gov.br/homologacao/services2/CadConsultaCadastro2 +NfeAutorizacao_4.00=https://homologacao.nfce.fazenda.ms.gov.br/ws/NFeAutorizacao4 +NFeRetAutorizacao_4.00=https://homologacao.nfce.fazenda.ms.gov.br/ws/NFeRetAutorizacao4 +NfeConsultaProtocolo_4.00=https://homologacao.nfce.fazenda.ms.gov.br/ws/NFeConsultaProtocolo4 +NfeInutilizacao_4.00=https://homologacao.nfce.fazenda.ms.gov.br/ws/NFeInutilizacao4 +NfeStatusServico_4.00=https://homologacao.nfce.fazenda.ms.gov.br/ws/NFeStatusServico4 +RecepcaoEvento_4.00=https://homologacao.nfce.fazenda.ms.gov.br/ws/NFeRecepcaoEvento4 +NfeConsultaCadastro_4.00=https://homologacao.nfce.fazenda.ms.gov.br/ws/CadConsultaCadastro4 +URL-QRCode=http://www.dfe.ms.gov.br/nfce/qrcode +URL-ConsultaNFCe=http://www.dfe.ms.gov.br/nfce + +[NFCe_MT_P] +NfeAutorizacao_3.10=https://nfce.sefaz.mt.gov.br/nfcews/services/NfeAutorizacao?wsdl +NFeRetAutorizacao_3.10=https://nfce.sefaz.mt.gov.br/nfcews/services/NfeRetAutorizacao?wsdl +NfeInutilizacao_3.10=https://nfce.sefaz.mt.gov.br/nfcews/services/NfeInutilizacao2?wsdl +RecepcaoEvento_1.00=https://nfce.sefaz.mt.gov.br/nfcews/services/RecepcaoEvento?wsdl +NfeStatusServico_3.10=https://nfce.sefaz.mt.gov.br/nfcews/services/NfeStatusServico2?wsdl +NfeConsultaProtocolo_3.10=https://nfce.sefaz.mt.gov.br/nfcews/services/NfeConsulta2?wsdl +URL-QRCode=http://www.sefaz.mt.gov.br/nfce/consultanfce +URL-ConsultaNFCe=http://www.sefaz.mt.gov.br/nfce/consultanfce + +[NFCe_MT_H] +NfeAutorizacao_3.10=https://homologacao.sefaz.mt.gov.br/nfcews/services/NfeAutorizacao?wsdl +NFeRetAutorizacao_3.10=https://homologacao.sefaz.mt.gov.br/nfcews/services/NfeRetAutorizacao?wsdl +NfeInutilizacao_3.10=https://homologacao.sefaz.mt.gov.br/nfcews/services/NfeInutilizacao2?wsdl +RecepcaoEvento_1.00=https://homologacao.sefaz.mt.gov.br/nfcews/services/RecepcaoEvento?wsdl +NfeStatusServico_3.10=https://homologacao.sefaz.mt.gov.br/nfcews/services/NfeStatusServico2?wsdl +NfeConsultaProtocolo_3.10=https://homologacao.sefaz.mt.gov.br/nfcews/services/NfeConsulta2?wsdl +URL-QRCode=http://homologacao.sefaz.mt.gov.br/nfce/consultanfce +URL-ConsultaNFCe=http://homologacao.sefaz.mt.gov.br/nfce/consultanfce +NfeStatusServico_4.00=https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico4?wsdl + +[NFCe_PA_P] +Usar=NFCe_SVRS_P +URL-QRCode=https://appnfc.sefa.pa.gov.br/portal/view/consultas/nfce/nfceForm.seam +URL-ConsultaNFCe=https://appnfc.sefa.pa.gov.br/portal/view/consultas/nfce/consultanfce.seam + +[NFCe_PA_H] +Usar=NFCe_SVRS_H +URL-QRCode=https://appnfc.sefa.pa.gov.br/portal-homologacao/view/consultas/nfce/nfceForm.seam +URL-ConsultaNFCe=https://appnfc.sefa.pa.gov.br/portal-homologacao/view/consultas/nfce/consultanfce.seam + +[NFCe_PB_P] +Usar=NFCe_SVRS_P +URL-QRCode=http://www.receita.pb.gov.br/nfce +URL-ConsultaNFCe=http://www.receita.pb.gov.br/nfce + +[NFCe_PB_H] +Usar=NFCe_SVRS_H +URL-QRCode=http://www.receita.pb.gov.br/nfcehom +URL-ConsultaNFCe=http://www.receita.pb.gov.br/nfcehom + +[NFCe_PE_P] +Usar=NFCe_SVRS_P +URL-QRCode=http://nfce.sefaz.pe.gov.br/nfce-web/consultarNFCe +URL-ConsultaNFCe=http://nfce.sefaz.pe.gov.br/nfce-web/consultarNFCe + +[NFCe_PE_H] +Usar=NFCe_SVRS_H +URL-QRCode=http://nfcehomolog.sefaz.pe.gov.br/nfce-web/consultarNFCe +URL-ConsultaNFCe=http://nfcehomolog.sefaz.pe.gov.br/nfce-web/consultarNFCe + +[NFCe_PI_P] +Usar=NFCe_SVRS_P +URL-QRCode=http://webas.sefaz.pi.gov.br/nfceweb/consultarNFCe.jsf +URL-ConsultaNFCe=http://webas.sefaz.pi.gov.br/nfceweb/consultarNFCe.jsf + +[NFCe_PI_H] +Usar=NFCe_SVRS_H +URL-QRCode=http://webas.sefaz.pi.gov.br/nfceweb-homologacao/consultarNFCe.jsf +URL-ConsultaNFCe=http://webas.sefaz.pi.gov.br/nfceweb-homologacao/consultarNFCe.jsf + +[NFCe_PR_P] +NfeAutorizacao_3.10=https://nfce.fazenda.pr.gov.br/nfce/NFeAutorizacao3 +NFeRetAutorizacao_3.10=https://nfce.fazenda.pr.gov.br/nfce/NFeRetAutorizacao3 +NfeConsultaProtocolo_3.10=https://nfce.fazenda.pr.gov.br/nfce/NFeConsulta3 +NfeInutilizacao_3.10=https://nfce.fazenda.pr.gov.br/nfce/NFeInutilizacao3 +NfeStatusServico_3.10=https://nfce.fazenda.pr.gov.br/nfce/NFeStatusServico3 +RecepcaoEvento_1.00=https://nfce.fazenda.pr.gov.br/nfce/NFeRecepcaoEvento +NfeAutorizacao_4.00=https://nfce.sefa.pr.gov.br/nfce/NFeAutorizacao4 +NFeRetAutorizacao_4.00=https://nfce.sefa.pr.gov.br/nfce/NFeRetAutorizacao4 +NfeConsultaProtocolo_4.00=https://nfce.sefa.pr.gov.br/nfce/NFeConsultaProtocolo4 +NfeInutilizacao_4.00=https://nfce.sefa.pr.gov.br/nfce/NFeInutilizacao4 +NfeStatusServico_4.00=https://nfce.sefa.pr.gov.br/nfce/NFeStatusServico4 +RecepcaoEvento_4.00=https://nfce.sefa.pr.gov.br/nfce/NFeRecepcaoEvento4 +NfeConsultaCadastro_4.00=https://nfce.sefa.pr.gov.br/nfce/CadConsultaCadastro4 +URL-QRCode=http://www.dfeportal.fazenda.pr.gov.br/dfe-portal/rest/servico/consultaNFCe +URL-QRCode_4.00=http://www.fazenda.pr.gov.br/nfce/qrcode/ +URL-ConsultaNFCe=http://www.fazenda.pr.gov.br/ +URL-ConsultaNFCe_4.00=http://www.fazenda.pr.gov.br + +[NFCe_PR_H] +NfeAutorizacao_3.10=https://homologacao.nfce.fazenda.pr.gov.br/nfce/NFeAutorizacao3 +NFeRetAutorizacao_3.10=https://homologacao.nfce.fazenda.pr.gov.br/nfce/NFeRetAutorizacao3 +NfeConsultaProtocolo_3.10=https://homologacao.nfce.fazenda.pr.gov.br/nfce/NFeConsulta3 +NfeInutilizacao_3.10=https://homologacao.nfce.fazenda.pr.gov.br/nfce/NFeInutilizacao3 +NfeStatusServico_3.10=https://homologacao.nfce.fazenda.pr.gov.br/nfce/NFeStatusServico3 +RecepcaoEvento_1.00=https://homologacao.nfce.fazenda.pr.gov.br/nfce/NFeRecepcaoEvento +NfeAutorizacao_4.00=https://homologacao.nfce.sefa.pr.gov.br/nfce/NFeAutorizacao4 +NFeRetAutorizacao_4.00=https://homologacao.nfce.sefa.pr.gov.br/nfce/NFeRetAutorizacao4 +NfeConsultaProtocolo_4.00=https://homologacao.nfce.sefa.pr.gov.br/nfce/NFeConsultaProtocolo4 +NfeInutilizacao_4.00=https://homologacao.nfce.sefa.pr.gov.br/nfce/NFeInutilizacao4 +NfeStatusServico_4.00=https://homologacao.nfce.sefa.pr.gov.br/nfce/NFeStatusServico4 +RecepcaoEvento_4.00=https://homologacao.nfce.sefa.pr.gov.br/nfce/NFeRecepcaoEvento4 +NfeConsultaCadastro_4.00=https://homologacao.nfce.sefa.pr.gov.br/nfce/CadConsultaCadastro4 +URL-QRCode=http://www.dfeportal.fazenda.pr.gov.br/dfe-portal/rest/servico/consultaNFCe +URL-QRCode_4.00=http://www.fazenda.pr.gov.br/nfce/qrcode/ +URL-ConsultaNFCe=http://www.fazenda.pr.gov.br/ +URL-ConsultaNFCe_4.00=http://www.fazenda.pr.gov.br + +[NFCe_RJ_P] +Usar=NFCe_SVRS_P +URL-QRCode=http://www4.fazenda.rj.gov.br/consultaNFCe/QRCode +URL-ConsultaNFCe=http://nfce.fazenda.rj.gov.br/consulta + +[NFCe_RJ_H] +Usar=NFCe_SVRS_H +URL-QRCode=http://www4.fazenda.rj.gov.br/consultaNFCe/QRCode +URL-ConsultaNFCe=http://nfce.fazenda.rj.gov.br/consulta + +[NFCe_RN_P] +Usar=NFCe_SVRS_P +URL-QRCode=http://nfce.set.rn.gov.br/consultarNFCe.aspx +URL-ConsultaNFCe=http://nfce.set.rn.gov.br/portalDFE/NFCe/ConsultaNFCe.aspx + +[NFCe_RN_H] +Usar=NFCe_SVRS_H +URL-QRCode=http://hom.nfce.set.rn.gov.br/consultarNFCe.aspx +URL-ConsultaNFCe=http://hom.nfce.set.rn.gov.br/portalDFE/NFCe/ConsultaNFCe.aspx + +[NFCe_RO_P] +Usar=NFCe_SVRS_P +URL-QRCode=http://www.nfce.sefin.ro.gov.br/consultanfce/consulta.jsp +URL-ConsultaNFCe=http://www.nfce.sefin.ro.gov.br + +[NFCe_RO_H] +Usar=NFCe_SVRS_H +URL-QRCode=http://www.nfce.sefin.ro.gov.br/consultanfce/consulta.jsp +URL-ConsultaNFCe=http://www.nfce.sefin.ro.gov.br/consultaAmbHomologacao.jsp + +[NFCe_RS_P] +NfeAutorizacao_3.10=https://nfce.sefazrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx +NFeRetAutorizacao_3.10=https://nfce.sefazrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx +NfeConsultaProtocolo_3.10=https://nfce.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx +NfeInutilizacao_3.10=https://nfce.sefazrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx +NfeStatusServico_3.10=https://nfce.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx +RecepcaoEvento_1.00=https://nfce.sefazrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx +URL-QRCode=https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx +URL-ConsultaNFCe=https://www.sefaz.rs.gov.br/NFE/NFE-NFC.aspx + +[NFCe_RS_H] +NfeAutorizacao_3.10=https://nfce-homologacao.sefazrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx +NFeRetAutorizacao_3.10=https://nfce-homologacao.sefazrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx +NfeConsultaProtocolo_3.10=https://nfce-homologacao.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx +NfeInutilizacao_3.10=https://nfce-homologacao.sefazrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx +NfeStatusServico_3.10=https://nfce-homologacao.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx +RecepcaoEvento_1.00=https://nfce-homologacao.sefazrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx +RecepcaoEvento_4.00=https://nfce-homologacao.sefazrs.rs.gov.br/ws/recepcaoevento/recepcaoevento4.asmx +NfeInutilizacao_4.00=https://nfce-homologacao.sefazrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao4.asmx +NfeConsultaProtocolo_4.00=https://nfce-homologacao.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx +NfeStatusServico_4.00=https://nfce-homologacao.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx +NFeAutorizacao_4.00=https://nfce-homologacao.sefazrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx +NFeRetAutorizacao_4.00=https://nfce-homologacao.sefazrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx +URL-QRCode=https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx +URL-ConsultaNFCe=https://www.sefaz.rs.gov.br/NFE/NFE-NFC.aspx + +[NFCe_RR_P] +Usar=NFCe_SVRS_P +URL-QRCode=https://www.sefaz.rr.gov.br/nfce/servlet/qrcode +URL-ConsultaNFCe=https://www.sefaz.rr.gov.br/nfce/servlet/wp_consulta_nfce + +[NFCe_RR_H] +Usar=NFCe_SVRS_H +URL-QRCode=http://200.174.88.103:8080/nfce/servlet/qrcode +URL-ConsultaNFCe=http://200.174.88.103:8080/nfce/servlet/wp_consulta_nfce + +[NFCe_SC_P] +Usar=NFCe_SVRS_P + +[NFCe_SC_H] +Usar=NFCe_SVRS_H + +[NFCe_SE_P] +Usar=NFCe_SVRS_P +URL-QRCode=http://www.nfce.se.gov.br/portal/consultarNFCe.jsp +URL-ConsultaNFCe=http://www.nfce.se.gov.br/portal/consultarNFCe.jsp + +[NFCe_SE_H] +Usar=NFCe_SVRS_H +URL-QRCode=http://www.hom.nfe.se.gov.br/portal/consultarNFCe.jsp +URL-ConsultaNFCe=http://www.hom.nfe.se.gov.br/portal/consultarNFCe.jsp + +[NFCe_SP_P] +NfeInutilizacao_3.10=https://nfce.fazenda.sp.gov.br/ws/nfeinutilizacao2.asmx +NfeConsultaProtocolo_3.10=https://nfce.fazenda.sp.gov.br/ws/nfeconsulta2.asmx +NfeStatusServico_3.10=https://nfce.fazenda.sp.gov.br/ws/nfestatusservico2.asmx +NfeConsultaCadastro_3.10=https://nfe.fazenda.sp.gov.br/ws/cadconsultacadastro2.asmx +RecepcaoEvento_1.00=https://nfce.fazenda.sp.gov.br/ws/recepcaoevento.asmx +NfeAutorizacao_3.10=https://nfce.fazenda.sp.gov.br/ws/nfeautorizacao.asmx +NFeRetAutorizacao_3.10=https://nfce.fazenda.sp.gov.br/ws/nferetautorizacao.asmx +URL-QRCode=https://www.nfce.fazenda.sp.gov.br/NFCeConsultaPublica/Paginas/ConsultaQRCode.aspx +URL-ConsultaNFCe=https://www.nfce.fazenda.sp.gov.br/NFCeConsultaPublica/Paginas/ConsultaPublica.aspx +EventoEPEC_1.00=https://nfce.epec.fazenda.sp.gov.br/EPECws/RecepcaoEPEC.asmx + +[NFCe_SP_H] +NfeInutilizacao_3.10=https://homologacao.nfce.fazenda.sp.gov.br/ws/nfeinutilizacao2.asmx +NfeConsultaProtocolo_3.10=https://homologacao.nfce.fazenda.sp.gov.br/ws/nfeconsulta2.asmx +NfeStatusServico_3.10=https://homologacao.nfce.fazenda.sp.gov.br/ws/nfestatusservico2.asmx +NfeConsultaCadastro_3.10=https://homologacao.nfe.fazenda.sp.gov.br/ws/cadconsultacadastro2.asmx +RecepcaoEvento_1.00=https://homologacao.nfce.fazenda.sp.gov.br/ws/recepcaoevento.asmx +NfeAutorizacao_3.10=https://homologacao.nfce.fazenda.sp.gov.br/ws/nfeautorizacao.asmx +NFeRetAutorizacao_3.10=https://homologacao.nfce.fazenda.sp.gov.br/ws/nferetautorizacao.asmx +URL-QRCode=https://www.homologacao.nfce.fazenda.sp.gov.br/NFCeConsultaPublica/Paginas/ConsultaQRCode.aspx +URL-ConsultaNFCe=https://www.homologacao.nfce.fazenda.sp.gov.br/NFCeConsultaPublica/Paginas/ConsultaPublica.aspx +EventoEPEC_1.00=https://homologacao.nfce.epec.fazenda.sp.gov.br/EPECws/RecepcaoEPEC.asmx +NFeAutorizacao_4.00=https://homologacao.nfce.fazenda.sp.gov.br/ws/NFeAutorizacao4.asmx +NFeRetAutorizacao_4.00=https://homologacao.nfce.fazenda.sp.gov.br/ws/NFeRetAutorizacao4.asmx +NFeInutilizacao_4.00=https://homologacao.nfce.fazenda.sp.gov.br/ws/NFeInutilizacao4.asmx +NFeConsultaProtocolo_4.00=https://homologacao.nfce.fazenda.sp.gov.br/ws/NFeConsultaProtocolo4.asmx +RecepcaoEvento_4.00=https://homologacao.nfce.fazenda.sp.gov.br/ws/NFeRecepcaoEvento4.asmx +NfeStatusServico_4.00=https://homologacao.nfce.fazenda.sp.gov.br/ws/NFeStatusServico4.asmx +URL-QRCode_4.00=https://www.homologacao.nfce.fazenda.sp.gov.br/NFCeConsultaPublica/Paginas/ConsultaQRCode.aspx +URL-ConsultaNFCe_4.00=https://www.homologacao.nfce.fazenda.sp.gov.br/NFCeConsultaPublica + +[NFCe_TO_P] +Usar=NFCe_SVRS_P +URL-QRCode=http://apps.sefaz.to.gov.br/portal-nfce/qrcodeNFCe +URL-ConsultaNFCe=http://apps.sefaz.to.gov.br/portal-nfce/consultarNFCe.jsf + +[NFCe_TO_H] +Usar=NFCe_SVRS_H +URL-QRCode=http://apps.sefaz.to.gov.br/portal-nfce-homologacao/qrcodeNFCe +URL-ConsultaNFCe=http://apps.sefaz.to.gov.br/portal-nfce-homologacao/consultarNFCe.jsf + +[NFCe_SVAN_P] + +[NFCe_SVAN_H] + +[NFCe_SVRS_P] +NfeAutorizacao_3.10=https://nfce.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx +NFeRetAutorizacao_3.10=https://nfce.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx +NfeInutilizacao_3.10=https://nfce.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx +NfeConsultaProtocolo_3.10=https://nfce.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx +NfeStatusServico_3.10=https://nfce.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx +RecepcaoEvento_1.00=https://nfce.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx +RecepcaoEvento_4.00=https://nfce.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento4.asmx +NfeInutilizacao_4.00=https://nfce.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao4.asmx +NfeConsultaProtocolo_4.00=https://nfce.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx +NfeStatusServico_4.00=https://nfce.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx +NFeAutorizacao_4.00=https://nfce.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx +NFeRetAutorizacao_4.00=https://nfce.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx + + + +[NFCe_SVRS_H] +NfeAutorizacao_3.10=https://nfce-homologacao.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx +NFeRetAutorizacao_3.10=https://nfce-homologacao.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx +NfeInutilizacao_3.10=https://nfce-homologacao.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx +NfeConsultaProtocolo_3.10=https://nfce-homologacao.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx +NfeStatusServico_3.10=https://nfce-homologacao.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx +RecepcaoEvento_1.00=https://nfce-homologacao.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx +RecepcaoEvento_4.00=https://nfce-homologacao.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento4.asmx +NfeInutilizacao_4.00=https://nfce-homologacao.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao4.asmx +NfeConsultaProtocolo_4.00=https://nfce-homologacao.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx +NfeStatusServico_4.00=https://nfce-homologacao.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx +NFeAutorizacao_4.00=https://nfce-homologacao.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx +NFeRetAutorizacao_4.00=https://nfce-homologacao.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx + +[WSDL_V4] +NFeAutorizacao_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4 +NFeRetAutorizacao_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NFeRetAutorizacao4 +NfeInutilizacao_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NFeInutilizacao4 +NFeConsultaProtocolo_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NFeConsultaProtocolo4 +NFeStatusServico_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4 +RecepcaoEvento_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NFeRecepcaoEvento4 +CadConsultaCadastro_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro4 + +[SOAP_V4] +NFeAutorizacao_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4/nfeAutorizacaoLote +NFeRetAutorizacao_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NFeRetAutorizacao4/nfeRetAutorizacaoLote +NfeInutilizacao_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NFeInutilizacao4/nfeInutilizacaoNF +NFeConsultaProtocolo_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NFeConsultaProtocolo4/nfeConsultaNF +NFeStatusServico_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4/nfeStatusServicoNF +RecepcaoEvento_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NFeRecepcaoEvento4/nfeRecepcaoEvento +CadConsultaCadastro_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro4/consultaCadastro + +[WSDL_V4_SP] +NFeAutorizacao_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NfeAutorizacao4 +NFeRetAutorizacao_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NfeRetAutorizacao4 +NfeInutilizacao_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NfeInutilizacao4 +NFeConsultaProtocolo_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsulta4 +NFeStatusServico_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico4 +RecepcaoEvento_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/RecepcaoEvento4 +CadConsultaCadastro_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro4 + +[SOAP_V4_SP] +NFeAutorizacao_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NfeAutorizacao4/nfeAutorizacaoLote +NFeRetAutorizacao_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NfeRetAutorizacao4/nfeRetAutorizacaoLote +NfeInutilizacao_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NfeInutilizacao4/nfeInutilizacaoNF +NFeConsultaProtocolo_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsulta4/nfeConsultaNF +NFeStatusServico_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico4/nfeStatusServicoNF +RecepcaoEvento_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/RecepcaoEvento4/nfeRecepcaoEventoNF +CadConsultaCadastro_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro4/consultaCadastro + +[WSDL_V4_MG] +NFeConsultaProtocolo_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NFeConsulta4 + +[SOAP_V4_MG] +NFeConsultaProtocolo_4.00=http://www.portalfiscal.inf.br/nfe/wsdl/NFeConsulta4/nfeConsulta4 \ No newline at end of file