wmixvideo / nfe

Nota Fiscal Eletrônica em Java.
Apache License 2.0
656 stars 378 forks source link

Recuperar Informações da Nota em Consulta de Lote #46

Closed rodsnjr closed 9 years ago

rodsnjr commented 9 years ago

Fiquei com uma duvida bem simples, eu fiz o envio do Lote, ele foi processado corretamente.

Porém eu quero saber como eu posso identificar qual NFE pertence a qual Protocolo, pra poder corrigir todas elas corretamente.

Os XML ...

<enviNFe versao="3.10" xmlns="http://www.portalfiscal.inf.br/nfe">
    <idLote>333972757970401</idLote>
    <indSinc>0</indSinc>
    <NFe>
        <infNFe Id="NFe60139162043615970298703453485784420676030695"
            versao="3.10">
            <ide>
                <cUF>43</cUF>
                <cNF>14721398</cNF>
                <natOp>COMPRA DE ENERGIA ELETRICA</natOp>
                <indPag>0</indPag>
                <mod>55</mod>
                <serie>999</serie>
                <nNF>1</nNF>
                <dhEmi>2015-06-12T16:12:17-03:00</dhEmi>
                <dhSaiEnt>2015-06-12T16:12:15-03:00</dhSaiEnt>
                <tpNF>1</tpNF>
                <idDest>1</idDest>
                <cMunFG>4317509</cMunFG>
                <tpImp>2</tpImp>
                <tpEmis>1</tpEmis>
                <cDV>8</cDV>
                <tpAmb>2</tpAmb>
                <finNFe>1</finNFe>
                <indFinal>1</indFinal>
                <indPres>0</indPres>
                <procEmi>0</procEmi>
                <verProc>1</verProc>
                <dhCont>2014-10-10T10:10:10-03:00</dhCont>
                <xJust>HwMI6PEhP5LufbTbE7n4C9JGsFCQhbsJqEtoVKZJk0UA</xJust>
            </ide>
            <emit>
                <CNPJ>-</CNPJ>
                <xNome>BIG RIVER TECHNOLOGIES</xNome>
                <xFant>BIG RIVER TECHNOLOGIES</xFant>
                <enderEmit>
                    <xLgr>rrrrr</xLgr>
                    <nro>3333</nro>
                    <xCpl>rrrr</xCpl>
                    <xBairro>Centro</xBairro>
                    <cMun>4317509</cMun>
                    <xMun>Santo Angelo</xMun>
                    <UF>RS</UF>
                    <CEP>98800000</CEP>
                    <cPais>1058</cPais>
                    <xPais>BRASIL</xPais>
                </enderEmit>
                <IE>1234567</IE>
                <IM>1234567</IM>
                <CNAE>1234567</CNAE>
                <CRT>1</CRT>
            </emit>
            <dest>
                <CPF>-</CPF>
                <xNome>FUNCIONARIO DO MES</xNome>
                <indIEDest>9</indIEDest>
                <email>email@gmail.com</email>
            </dest>
            <det nItem="1">
                <prod>
                    <cProd>2</cProd>
                    <cEAN>36811963532505</cEAN>
                    <xProd>AMORTECEDOR GOL</xProd>
                    <NCM>87088000</NCM>
                    <CFOP>5403</CFOP>
                    <uCom>UND</uCom>
                    <qCom>1</qCom>
                    <vUnCom>13</vUnCom>
                    <vProd>13.00</vProd>
                    <cEANTrib>36811963532505</cEANTrib>
                    <uTrib>UND</uTrib>
                    <qTrib>1</qTrib>
                    <vUnTrib>13</vUnTrib>
                    <indTot>1</indTot>
                </prod>
                <imposto>
                    <ICMS>
                        <ICMSSN102>
                            <orig>1</orig>
                            <CSOSN>300</CSOSN>
                        </ICMSSN102>
                    </ICMS>
                    <PIS>
                        <PISOutr>
                            <CST>99</CST>
                            <vBC>1.00</vBC>
                            <pPIS>1.00</pPIS>
                            <vPIS>1.00</vPIS>
                        </PISOutr>
                    </PIS>
                    <COFINS>
                        <COFINSOutr>
                            <CST>99</CST>
                            <qBCProd>1</qBCProd>
                            <vAliqProd>1.0000</vAliqProd>
                            <vCOFINS>1.00</vCOFINS>
                        </COFINSOutr>
                    </COFINS>
                </imposto>
            </det>
            <total>
                <ICMSTot>
                    <vBC>1.00</vBC>
                    <vICMS>1.00</vICMS>
                    <vICMSDeson>1.00</vICMSDeson>
                    <vBCST>1.00</vBCST>
                    <vST>1.00</vST>
                    <vProd>24.00</vProd>
                    <vFrete>10.00</vFrete>
                    <vSeg>1.00</vSeg>
                    <vDesc>1.00</vDesc>
                    <vII>1.00</vII>
                    <vIPI>1.00</vIPI>
                    <vPIS>2.00</vPIS>
                    <vCOFINS>2.00</vCOFINS>
                    <vOutro>1.00</vOutro>
                    <vNF>24.00</vNF>
                </ICMSTot>
                <ISSQNtot>
                    <dCompet>2015-06-12</dCompet>
                    <vDeducao>1.00</vDeducao>
                </ISSQNtot>
            </total>
            <transp>
                <modFrete>0</modFrete>
                <transporta>
                    <CNPJ>66976049000192</CNPJ>
                    <xNome>TRANSPORTES SA</xNome>
                    <IE>080233880</IE>
                </transporta>
            </transp>
        </infNFe>
    </NFe>
    <NFe>
        <infNFe Id="NFe25501300198245075372088494780123473151087748"
            versao="3.10">
            <ide>
                <cUF>43</cUF>
                <cNF>13380924</cNF>
                <natOp>COMPRAS P/INDUSTRIALIZACAO, COMERCIALIZACAO E/OU PRESTACAO D
                </natOp>
                <indPag>0</indPag>
                <mod>55</mod>
                <serie>999</serie>
                <nNF>1</nNF>
                <dhEmi>2015-06-12T16:23:16-03:00</dhEmi>
                <dhSaiEnt>2015-06-12T16:23:13-03:00</dhSaiEnt>
                <tpNF>1</tpNF>
                <idDest>1</idDest>
                <cMunFG>4317509</cMunFG>
                <tpImp>2</tpImp>
                <tpEmis>1</tpEmis>
                <cDV>8</cDV>
                <tpAmb>2</tpAmb>
                <finNFe>1</finNFe>
                <indFinal>1</indFinal>
                <indPres>0</indPres>
                <procEmi>0</procEmi>
                <verProc>1</verProc>
                <dhCont>2014-10-10T10:10:10-03:00</dhCont>
                <xJust>UrMvn7VMXwjHRTDwDi9jSJzIytQZf3opElBwzwfXsT7o</xJust>
            </ide>
            <emit>
                <CNPJ>22388878000189</CNPJ>
                <xNome>BIG RIVER TECHNOLOGIES</xNome>
                <xFant>BIG RIVER TECHNOLOGIES</xFant>
                <enderEmit>
                    <xLgr>rrrrr</xLgr>
                    <nro>3333</nro>
                    <xCpl>rrrr</xCpl>
                    <xBairro>Centro</xBairro>
                    <cMun>4317509</cMun>
                    <xMun>Santo Angelo</xMun>
                    <UF>RS</UF>
                    <CEP>98800000</CEP>
                    <cPais>1058</cPais>
                    <xPais>BRASIL</xPais>
                </enderEmit>
                <IE>1234567</IE>
                <IM>1234567</IM>
                <CNAE>1234567</CNAE>
                <CRT>1</CRT>
            </emit>
            <dest>
                <CPF>02479027058</CPF>
                <xNome>FUNCIONARIO DO MES</xNome>
                <indIEDest>9</indIEDest>
                <email>email@gmail.com</email>
            </dest>
            <det nItem="1">
                <prod>
                    <cProd>2</cProd>
                    <cEAN>36811963532505</cEAN>
                    <xProd>AMORTECEDOR GOL</xProd>
                    <NCM>87088000</NCM>
                    <CFOP>5403</CFOP>
                    <uCom>UND</uCom>
                    <qCom>1</qCom>
                    <vUnCom>13</vUnCom>
                    <vProd>13.00</vProd>
                    <cEANTrib>36811963532505</cEANTrib>
                    <uTrib>UND</uTrib>
                    <qTrib>1</qTrib>
                    <vUnTrib>13</vUnTrib>
                    <indTot>1</indTot>
                </prod>
                <imposto>
                    <ICMS>
                        <ICMSSN102>
                            <orig>1</orig>
                            <CSOSN>300</CSOSN>
                        </ICMSSN102>
                    </ICMS>
                    <PIS>
                        <PISOutr>
                            <CST>99</CST>
                            <vBC>1.00</vBC>
                            <pPIS>1.00</pPIS>
                            <vPIS>1.00</vPIS>
                        </PISOutr>
                    </PIS>
                    <COFINS>
                        <COFINSOutr>
                            <CST>99</CST>
                            <qBCProd>1</qBCProd>
                            <vAliqProd>1.0000</vAliqProd>
                            <vCOFINS>1.00</vCOFINS>
                        </COFINSOutr>
                    </COFINS>
                </imposto>
            </det>
            <total>
                <ICMSTot>
                    <vBC>1.00</vBC>
                    <vICMS>1.00</vICMS>
                    <vICMSDeson>1.00</vICMSDeson>
                    <vBCST>1.00</vBCST>
                    <vST>1.00</vST>
                    <vProd>24.00</vProd>
                    <vFrete>10.00</vFrete>
                    <vSeg>1.00</vSeg>
                    <vDesc>1.00</vDesc>
                    <vII>1.00</vII>
                    <vIPI>1.00</vIPI>
                    <vPIS>2.00</vPIS>
                    <vCOFINS>2.00</vCOFINS>
                    <vOutro>1.00</vOutro>
                    <vNF>24.00</vNF>
                </ICMSTot>
                <ISSQNtot>
                    <dCompet>2015-06-12</dCompet>
                    <vDeducao>1.00</vDeducao>
                </ISSQNtot>
            </total>
            <transp>
                <modFrete>0</modFrete>
                <transporta>
                    <CNPJ>66976049000192</CNPJ>
                    <xNome>TRANSPORTES SA</xNome>
                    <IE>080233880</IE>
                </transporta>
            </transp>
        </infNFe>
    </NFe>
</enviNFe>

<retConsReciNFe versao="3.10"
    xmlns="http://www.portalfiscal.inf.br/nfe">
    <tpAmb>2</tpAmb>
    <verAplic>RS201505250908</verAplic>
    <nRec>431002165652676</nRec>
    <cStat>104</cStat>
    <dhRecbto>2015-06-12T17:41:39-03:00</dhRecbto>
    <xMotivo>Lote processado</xMotivo>
    <cUF>43</cUF>
    <protNFe versao="3.10">
        <infProt>
            <tpAmb>2</tpAmb>
            <verAplic>RS201505250908</verAplic>
            <chNFe>43150622388878000189559990000000011147213988</chNFe>
            <dhRecbto>2015-06-12T17:41:39-03:00</dhRecbto>
            <digVal>O11Z/TxodJf5LYOuPAse6+KzwDw=</digVal>
            <cStat>598</cStat>
            <xMotivo>Rejeicao: NF-e emitida em ambiente de homologacao com Razao
                Social diferente de NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM
                VALOR FISCAL
            </xMotivo>
        </infProt>
    </protNFe>
    <protNFe versao="3.10">
        <infProt>
            <tpAmb>2</tpAmb>
            <verAplic>RS201505250908</verAplic>
            <chNFe>43150622388878000189559990000000011133809248</chNFe>
            <dhRecbto>2015-06-12T17:41:39-03:00</dhRecbto>
            <digVal>Lw2QmPWzo9QMZFWeX8e9qkfVJNY=</digVal>
            <cStat>598</cStat>
            <xMotivo>Rejeicao: NF-e emitida em ambiente de homologacao com Razao
                Social diferente de NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM
                VALOR FISCAL
            </xMotivo>
        </infProt>
    </protNFe>
</retConsReciNFe>
jefperito commented 9 years ago

Vem no protocolo a chave da nota

rodsnjr commented 9 years ago

Sim, sim, e como eu tiro das minhas NFEs a chave para comparação?

Pelo que eu achei, deveria ser o Id="NFe60139162043615970298703453485784420676030695", com o 43150622388878000189559990000000011133809248

Mas ambos estão diferentes.

O que eu queria, era após enviar o lote, saber qual NFE do Lote pertence a qual, para ir verificando as correções necessárias para cada uma.

rodsnjr commented 9 years ago

Bom, o SEFAZ me enviou um XML

<retConsReciNFe versao="3.10"
    xmlns="http://www.portalfiscal.inf.br/nfe">
    <tpAmb>2</tpAmb>
    <verAplic>RS201506180959</verAplic>
    <nRec>431002165762632</nRec>
    <cStat>104</cStat>
    <dhRecbto>2015-06-22T17:49:17-03:00</dhRecbto>
    <xMotivo>Lote processado</xMotivo>
    <cUF>43</cUF>
    <protNFe versao="3.10">
        <infProt>
            <tpAmb>2</tpAmb>
            <verAplic>RS201506180959</verAplic>
            <chNFe>43150622388878000189559990000000011187198618</chNFe>
            <dhRecbto>2015-06-22T17:49:17-03:00</dhRecbto>
            <digVal>qeLauFsjpyXlWjZXYL3gOepQa2I=</digVal>
            <cStat>502</cStat>
            <xMotivo>Rejeicao: Erro na Chave de Acesso - Campo ID nao corresponde
                a concatenacao dos campos correspondentes</xMotivo>
        </infProt>
    </protNFe>
</retConsReciNFe>

Parece que a chave ID não está sendo gerada corretamente na minha NFE, no que ela vai pra o lote. A API já está fazendo isso automaticamente, os campos obrigatórios estão todos ok pelo que parece. O que pode estar errado no XML para isso estar ocorrendo ?


<enviNFe versao="3.10" xmlns="http://www.portalfiscal.inf.br/nfe">
    <idLote>333972757970401</idLote>
    <indSinc>0</indSinc>
    <NFe>
        <infNFe Id="NFe36443608795449268167835016557883704602133619"
            versao="3.10">
            <ide>
                <cUF>43</cUF>
                <cNF>18719861</cNF>
                <natOp>TRANSFERENCIAS P/INDUSTRIALIZACAO, COMERCIALIZACAO E/OU PRES
                </natOp>
                <indPag>0</indPag>
                <mod>55</mod>
                <serie>999</serie>
                <nNF>1</nNF>
                <dhEmi>2015-06-22T17:49:05-03:00</dhEmi>
                <dhSaiEnt>2015-06-22T17:49:04-03:00</dhSaiEnt>
                <tpNF>1</tpNF>
                <idDest>1</idDest>
                <cMunFG>4317509</cMunFG>
                <tpImp>2</tpImp>
                <tpEmis>1</tpEmis>
                <cDV>8</cDV>
                <tpAmb>2</tpAmb>
                <finNFe>1</finNFe>
                <indFinal>1</indFinal>
                <indPres>0</indPres>
                <procEmi>0</procEmi>
                <verProc>1</verProc>
                <dhCont>2014-10-10T10:10:10-03:00</dhCont>
                <xJust>oMyrJeGBvOtH9b6BOera4qc5xBmTVl0qbik0KReFoH5v</xJust>
            </ide>
            <emit>
                <CNPJ>22388878000189</CNPJ>
                <xNome>BIG RIVER TECHNOLOGIES</xNome>
                <xFant>BIG RIVER TECHNOLOGIES</xFant>
                <enderEmit>
                    <xLgr>rrrrr</xLgr>
                    <nro>3333</nro>
                    <xCpl>rrrr</xCpl>
                    <xBairro>Centro</xBairro>
                    <cMun>4317509</cMun>
                    <xMun>Santo Angelo</xMun>
                    <UF>RS</UF>
                    <CEP>98801650</CEP>
                    <cPais>1058</cPais>
                    <xPais>BRASIL</xPais>
                </enderEmit>
                <IE>1234567</IE>
                <IM>1234567</IM>
                <CNAE>1234567</CNAE>
                <CRT>1</CRT>
            </emit>
            <dest>
                <CPF>02479027058</CPF>
                <xNome>NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL
                </xNome>
                <indIEDest>9</indIEDest>
                <email>rodsnjr@gmail.com</email>
            </dest>
            <det nItem="1">
                <prod>
                    <cProd>2</cProd>
                    <cEAN>36811963532505</cEAN>
                    <xProd>AMORTECEDOR GOL</xProd>
                    <NCM>87088000</NCM>
                    <CFOP>5403</CFOP>
                    <uCom>UND</uCom>
                    <qCom>1</qCom>
                    <vUnCom>13</vUnCom>
                    <vProd>13.00</vProd>
                    <cEANTrib>36811963532505</cEANTrib>
                    <uTrib>UND</uTrib>
                    <qTrib>1</qTrib>
                    <vUnTrib>13</vUnTrib>
                    <indTot>1</indTot>
                </prod>
                <imposto>
                    <ICMS>
                        <ICMSSN102>
                            <orig>1</orig>
                            <CSOSN>300</CSOSN>
                        </ICMSSN102>
                    </ICMS>
                    <PIS>
                        <PISOutr>
                            <CST>99</CST>
                            <vBC>1.00</vBC>
                            <pPIS>1.00</pPIS>
                            <vPIS>1.00</vPIS>
                        </PISOutr>
                    </PIS>
                    <COFINS>
                        <COFINSOutr>
                            <CST>99</CST>
                            <qBCProd>1</qBCProd>
                            <vAliqProd>1.0000</vAliqProd>
                            <vCOFINS>1.00</vCOFINS>
                        </COFINSOutr>
                    </COFINS>
                </imposto>
            </det>
            <total>
                <ICMSTot>
                    <vBC>1.00</vBC>
                    <vICMS>1.00</vICMS>
                    <vICMSDeson>1.00</vICMSDeson>
                    <vBCST>1.00</vBCST>
                    <vST>1.00</vST>
                    <vProd>1259.68</vProd>
                    <vFrete>1245.68</vFrete>
                    <vSeg>1.00</vSeg>
                    <vDesc>1.00</vDesc>
                    <vII>1.00</vII>
                    <vIPI>1.00</vIPI>
                    <vPIS>2.00</vPIS>
                    <vCOFINS>2.00</vCOFINS>
                    <vOutro>1.00</vOutro>
                    <vNF>1259.68</vNF>
                </ICMSTot>
                <ISSQNtot>
                    <dCompet>2015-06-22</dCompet>
                    <vDeducao>1.00</vDeducao>
                </ISSQNtot>
            </total>
            <transp>
                <modFrete>1</modFrete>
                <transporta>
                    <CNPJ>66976049000192</CNPJ>
                    <xNome>TRANSPORTES SA</xNome>
                    <IE>080233880</IE>
                </transporta>
            </transp>
        </infNFe>
    </NFe>
</enviNFe>

Segue o XML da NFE.

Pelo que parece deveria estar igual a chave do protocolo : 43150622388878000189559990000000011187198618

No meu código estou gerando a NFE e salvando o XML dela no BD, depois na hora de emitir faço o parse do XML com o NotaParser, e vou adicionando elas ao lote.

Geração do Lote

final NFLoteEnvio loteEnvio = new NFLoteEnvio();
        //TODO pegar um lote correto ...
        loteEnvio.setIdLote("333972757970401");
        loteEnvio.setVersao("3.10");

        ArrayList<NFNota> notasFiscais = new ArrayList<>();

        for (Nfe nfNota : lote.getLotes()) {

            //System.out.println(nfNota.getOrigin());
            //
            notasFiscais.add(getNota(nfNota));

        }
           loteEnvio.setIndicadorProcessamento(NFLoteIndicadorProcessamento.PROCESSAMENTO_ASSINCRONO);
        loteEnvio.setNotas(notasFiscais);

Parse do XML

    public static NFNota getNota(Nfe nfe){
        NFNota notaFiscal = new NotaParser().notaParaObjeto(nfe.getOrigin());       

        return notaFiscal;
    }

Eu não sei em qual momento é gerado o ID da NFE, e se eu devo gerar em algum momento.

Vlw pelas ajudas ae, e desculpa o encomodo!

jefperito commented 9 years ago

Olhando o xml, perceberá que protNFe é uma lista referente as notas enviadas,

  <protNFe versao="3.10">
        <infProt>
            <tpAmb>2</tpAmb>
            <verAplic>RS201505250908</verAplic>
            <chNFe>43150622388878000189559990000000011133809248</chNFe>

Você consegue pegar a chave acessando retConsReciNFe -> protNFe[indice]-> infProt -> chNFe, a tag chNFe possui a sua chave... Então basta comparar com a NFe que você armazenou no envio (no Readme.md tem um subtopico que mostra como gerar os objetos de uma NFe através de arquivo/string)

Tem certeza disso? creio que você pesquisou por um lote errado, a tag Id="" contem a chave (sem o prefixo NFe),

Você pode pesquisar em ambiente de homologação sobre o status da NFe no site da receita:

http://hom.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8=

Na documentação da Fazenda sobre NFe (contém no diretório /docs) da NFe 2.00 pg.91 explica como é formada a chave, verifique se a forma que você está gerando bate com aquelas informações

rodsnjr commented 9 years ago

Valeu a ajuda! Eu tava gerando o valor ID errado, o algoritmo estava bem errado! Achei como fazer e ficou certo! Pode fechar o issue se assim desejar!