NFC-e - por onde iniciar

Fórum sobre desenvolvimento de software para atender as exigências da legislação fiscal e tributária (NFe, NFCe, NFSe, SPEED, Projeto ACBr, TEF, ECD, EFD, etc.)

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NFC-e - por onde iniciar

Mensagem por JoséQuintas »

Xml com problema, e por isso ele não acha o bloco signature?
Repare bem na rotina de assinatura, ela tem um array que indica como tem que ser o XML.

Código: Selecionar todos

   aDelimitadores := { ;
      { "<enviMDFe",              "</MDFe></enviMDFe>" }, ;
      { "<eventoMDFe",            "</eventoMDFe>" }, ;
      { "<eventoCTe",             "</eventoCTe>" }, ;
      { "<infMDFe",               "</MDFe>" }, ;
      { "<infCte",                "</CTe>" }, ;
      { "<infNFe",                "</NFe>" }, ;
      { "<infDPEC",               "</envDPEC>" }, ;
      { "<infInut",               "<inutNFe>" }, ;
      { "<infCanc",               "</cancNFe>" }, ;
      { "<infInut",               "</inutNFe>" }, ;
      { "<infInut",               "</inutCTe>" }, ;
      { "<infEvento",             "</evento>" }, ;
      { "<infPedidoCancelamento", "</Pedido>" }, ;               // NFSE ABRASF Cancelamento
      { "<LoteRps",               "</EnviarLoteRpsEnvio>" }, ;   // NFSE ABRASF Lote
      { "<infRps",                "</Rps>" } }                   // NFSE ABRASF RPS
O bloco de assinatura vai ser inserido depois de </NFe>
Então o mínimo do XML seria algo parecido com isto:

Código: Selecionar todos

<infNFe><NFe></NFe></infNFe>
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
MSDN
Usuário Nível 4
Usuário Nível 4
Mensagens: 741
Registrado em: 28 Nov 2003 15:55
Localização: CWB
Contato:

NFC-e - por onde iniciar

Mensagem por MSDN »

Quintas, vc fez a classe para NFe, NFCe usa tudo da NFe, mas tem suas particularidades, analisei o meu XML e não vi nada errado, será que não seria um ajuste na classe ?
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NFC-e - por onde iniciar

Mensagem por JoséQuintas »

Coloquei invertido, é <NFe><infNFe>.

Estou testando assinar um XML o mais vazio possível.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
MSDN
Usuário Nível 4
Usuário Nível 4
Mensagens: 741
Registrado em: 28 Nov 2003 15:55
Localização: CWB
Contato:

NFC-e - por onde iniciar

Mensagem por MSDN »

Quer que eu te envie o XML que estou usando pra teste ?
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NFC-e - por onde iniciar

Mensagem por JoséQuintas »

O mínimo necessário.

Código: Selecionar todos

         oSefaz:cXmlDocumento := [<NFe><infNFe Id="Nfe0001"></infNFe></NFe>]
         oSefaz:AssinaXml()
         ? oSefaz:cXmlRetorno
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NFC-e - por onde iniciar

Mensagem por JoséQuintas »

Adicionei o teste na SefazClass.
Foi com ele que fiz o teste aqui.
Não cheguei a criar outro programa, foi ele mesmo. Apenas atualizei o github depois.

https://github.com/JoseQuintas/sefazcla ... 3203ad9200
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
MSDN
Usuário Nível 4
Usuário Nível 4
Mensagens: 741
Registrado em: 28 Nov 2003 15:55
Localização: CWB
Contato:

NFC-e - por onde iniciar

Mensagem por MSDN »

Fiz o teste que vc disse, e continua o mesmo erro :
O XML que estou usando é esse :

Código: Selecionar todos

<?xml version="1.0"?>

-<nfeProc xmlns="http://www.portalfiscal.inf.br/nfe" versao="3.10">


-<NFe xmlns="http://www.portalfiscal.inf.br/nfe">


-<infNFe versao="3.10" Id="NFe41171024107498000154650010000000021315105586">


-<ide>

<cUF>41</cUF>

<cNF>31510558</cNF>

<natOp>Venda</natOp>

<indPag>0</indPag>

<mod>65</mod>

<serie>1</serie>

<nNF>2</nNF>

<dhEmi>2017-10-21T10:38:00-02:00</dhEmi>

<tpNF>1</tpNF>

<idDest>1</idDest>

<cMunFG>4106902</cMunFG>

<tpImp>4</tpImp>

<tpEmis>1</tpEmis>

<cDV>6</cDV>

<tpAmb>2</tpAmb>

<finNFe>1</finNFe>

<indFinal>1</indFinal>

<indPres>1</indPres>

<procEmi>0</procEmi>

<verProc>0</verProc>

</ide>


-<emit>

<CNPJ>99999999999999</CNPJ>

<xNome>NOME DA EMPRESA LTDA ME</xNome>

<xFant>NOME FANTASIA DA EMPRESA</xFant>


-<enderEmit>

<xLgr>R. XV de Novembro</xLgr>

<nro>500</nro>

<xBairro>Centro</xBairro>

<cMun>4106902</cMun>

<xMun>Curitiba</xMun>

<UF>PR</UF>

<CEP>80610280</CEP>

<cPais>1058</cPais>

<xPais>BRASIL</xPais>

<fone>4135620010</fone>

</enderEmit>

<IE>9071355516</IE>

<CRT>1</CRT>

</emit>


-<dest>

<CPF>99999999999</CPF>

<xNome>NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL</xNome>

<indIEDest>9</indIEDest>

</dest>


-<det nItem="1">


-<prod>

<cProd>229</cProd>

<cEAN/>

<xProd>BUFFET KG</xProd>

<NCM>21069090</NCM>

<CFOP>5101</CFOP>

<uCom>kg</uCom>

<qCom>0.5600</qCom>

<vUnCom>38.90000</vUnCom>

<vProd>21.78</vProd>

<cEANTrib/>

<uTrib>kg</uTrib>

<qTrib>0.5600</qTrib>

<vUnTrib>38.90000</vUnTrib>

<indTot>1</indTot>

</prod>


-<imposto>

<vTotTrib>0.91</vTotTrib>


-<ICMS>


-<ICMSSN101>

<orig>0</orig>

<CSOSN>101</CSOSN>

<pCredSN>0.0000</pCredSN>

<vCredICMSSN>0.00</vCredICMSSN>

</ICMSSN101>

</ICMS>


-<PIS>


-<PISOutr>

<CST>49</CST>

<vBC>21.78</vBC>

<pPIS>0.00</pPIS>

<vPIS>0.00</vPIS>

</PISOutr>

</PIS>


-<COFINS>


-<COFINSOutr>

<CST>49</CST>

<vBC>21.78</vBC>

<pCOFINS>0.00</pCOFINS>

<vCOFINS>0.00</vCOFINS>

</COFINSOutr>

</COFINS>

</imposto>

</det>


-<det nItem="2">


-<prod>

<cProd>69</cProd>

<cEAN/>

<xProd>TAPIOCA GOURMET ABOBRINHA</xProd>

<NCM>19022000</NCM>

<CEST>1704802</CEST>

<CFOP>5101</CFOP>

<uCom>un</uCom>

<qCom>1.0000</qCom>

<vUnCom>22.00000</vUnCom>

<vProd>22.00</vProd>

<cEANTrib/>

<uTrib>un</uTrib>

<qTrib>1.0000</qTrib>

<vUnTrib>22.00000</vUnTrib>

<indTot>1</indTot>

</prod>


-<imposto>

<vTotTrib>3.56</vTotTrib>


-<ICMS>


-<ICMSSN101>

<orig>0</orig>

<CSOSN>101</CSOSN>

<pCredSN>0.0000</pCredSN>

<vCredICMSSN>0.00</vCredICMSSN>

</ICMSSN101>

</ICMS>


-<PIS>


-<PISOutr>

<CST>49</CST>

<vBC>22.00</vBC>

<pPIS>0.00</pPIS>

<vPIS>0.00</vPIS>

</PISOutr>

</PIS>


-<COFINS>


-<COFINSOutr>

<CST>49</CST>

<vBC>22.00</vBC>

<pCOFINS>0.00</pCOFINS>

<vCOFINS>0.00</vCOFINS>

</COFINSOutr>

</COFINS>

</imposto>

</det>


-<total>


-<ICMSTot>

<vBC>0.00</vBC>

<vICMS>0.00</vICMS>

<vICMSDeson>0.00</vICMSDeson>

<vBCST>0.00</vBCST>

<vST>0.00</vST>

<vProd>43.78</vProd>

<vFrete>0.00</vFrete>

<vSeg>0.00</vSeg>

<vDesc>0.00</vDesc>

<vII>0.00</vII>

<vIPI>0.00</vIPI>

<vPIS>0.00</vPIS>

<vCOFINS>0.00</vCOFINS>

<vOutro>0.00</vOutro>

<vNF>43.78</vNF>

<vTotTrib>4.47</vTotTrib>

</ICMSTot>

</total>


-<transp>

<modFrete>9</modFrete>


-<vol>

<qVol>0</qVol>

<pesoL>0.000</pesoL>

<pesoB>0.000</pesoB>

</vol>

</transp>


-<pag>

<tPag>01</tPag>

<vPag>43.78</vPag>

</pag>

</infNFe>

</NFe>

</nfeProc>
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NFC-e - por onde iniciar

Mensagem por JoséQuintas »

Esse não vale.
Esse é o XML autorizado kkkkk <nfeProc>
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NFC-e - por onde iniciar

Mensagem por JoséQuintas »

Importante: pelo jeito mandou algo visto no Internet Explorer.
O XML mesmo, é tudo numa única linha.
Então se o problema for ENTER/LF, desse jeito não dá pra ver.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NFC-e - por onde iniciar

Mensagem por JoséQuintas »

Por exemplo....

Isso, nem deve existir no XML, é o explorer que acrescenta por conta própria.
<?xml version="1.0"?>

E isto, está correto:
<cEAN/>

Mas pode ser que no XML está <cEAN></cEAN>
Os dois estão certos, mas para o padrão da NFE, o correto é usar o anterior, que "ecomiza XML". é um dos chamados "transforms" usados na NFE.
Mas o explorer pode mostrar diferente do que está no XML.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
MSDN
Usuário Nível 4
Usuário Nível 4
Mensagens: 741
Registrado em: 28 Nov 2003 15:55
Localização: CWB
Contato:

NFC-e - por onde iniciar

Mensagem por MSDN »

Agora está andando, registrando o que fiz de errado para quem ler a postagem não fazer o mesmo :
1- utilizei um XML que já havia sido autorizado pelo SageONE, só retirei o bloco de assinatura e do recibo, e achei que estava tudo certo, não estava, de acordo com o que o Quintas falou ( </nfeProc> )
2- Lembrando que esse XML é da versão 3.10 ainda, estou testando todo o processo primeiro para certificar que está tudo ok, depois farei as mudanças no XML para a versão 4.0
3- quando enviei o conteúdo do XML, copiei do IE mesmo, ao invés de mandar somente o texto, portanto errei

Agora acontece esse erro : Erro SOAP: XML retorno não contém soapenv:Body <env:Envelope.....
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NFC-e - por onde iniciar

Mensagem por JoséQuintas »

Faltou o resto da mensagem.

Normalmente o SOAP tem um padrão de retorno. Se não está no padrão, coloco essa mensagem mas com o retorno na frente.
As vezes a Sefaz fica fora do ar no domingo pra manutenção, não sei se é o caso.

Nota: pelo <env:envelope> parece que teve retorno.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
MSDN
Usuário Nível 4
Usuário Nível 4
Mensagens: 741
Registrado em: 28 Nov 2003 15:55
Localização: CWB
Contato:

NFC-e - por onde iniciar

Mensagem por MSDN »

Desculpe, agora está o erro completo :

Código: Selecionar todos

Erro SOAP: XML retorno não contém soapenv:Body <env:Envelope xmlns:env='http://www.w3.org/2003/05/soap-envelope'><env:Header xmlns:env='http://www.w3.org/2003/05/soap-envelope'><nfeCabecMsg xmlns='http://www.portalfiscal.inf.br/nfe'><cUF>41</cUF><versaoDados>3.10</versaoDados></nfeCabecMsg></env:Header><env:Body xmlns:env='http://www.w3.org/2003/05/soap-envelope'><nfeAutorizacaoLoteResult xmlns='http://www.portalfiscal.inf.br/nfe/wsdl/NfeAutorizacao3'><retEnviNFe versao='3.10' xmlns='http://www.portalfiscal.inf.br/nfe'><tpAmb>2</tpAmb><verAplic>PR-v3_8_5</verAplic><cStat>450</cStat><xMotivo>Modelo da NF-e diferente de 55</xMotivo><cUF>41</cUF><dhRecbto>2017-12-10T21:42:32-02:00</dhRecbto></retEnviNFe></nfeAutorizacaoLoteResult></env:Body></env:Envelope>
MSDN
Usuário Nível 4
Usuário Nível 4
Mensagens: 741
Registrado em: 28 Nov 2003 15:55
Localização: CWB
Contato:

NFC-e - por onde iniciar

Mensagem por MSDN »

Olhando com calma, dentro do que sei, ele acusou que o modelo é diferente de 55 ( NF-e ), e é mesmo, NFC-e é 65.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

NFC-e - por onde iniciar

Mensagem por JoséQuintas »

Ok. PR deve ter webservice próprio e não coloquei na lista da Sefaz.
A resposta que interessa é esta:

cStat>450</cStat><xMotivo>Modelo da NF-e diferente de 55</xMotivo>

55 é nota fiscal eletrônica, então significa que não aceita NFCE (65) no mesmo webservice.

Também significa que A RESPOSTA do PR é diferente de outras UFs, e vou precisar ajustar.... rs

Mas é um bom sinal.
A nota foi enviada pra Sefaz, ela recebeu a nota, verificou, e devolveu essa resposta.
Funcionou assinatura e comunicação.
Agora é verificar os endereços de internet pra nota fiscal ao consumidor do Paraná, pra colocar na SefazClass.
Tem UF que usa o mesmo da NFE, e tem UF que não.
Acho que voce foi o primeiro a testar NFCE do Paraná.

Quanto à Sefaz, nenhum problema, ela não aceitou sua nota, então é como se nada tivesse acontecido.
É só não ficar tentando transmitir a mesma nota novamente, infinitas vezes, pra não ser bloqueado por uso indevido.

Vou procurar os endereços de NFCe do Paraná.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder