Requisitos RFW.SEFAZ
Requisitos
Objetivo Principal
O objetivo deste módulo é permitir uma integração transparente com os serviços da SEFAZ (WebServices) de forma mais transparente possível e integrada ao framework RFW para facilitar sua utilização.
Para atingir este objetivo o módulo fornece objetos com a estrutura de dados defina nos Schemas dos XMLs da SEFAZ. Desta forma o desenvolvedor pode abstrair toda a preocupação escrita e tratamento do XML. O módulo recebe esses objetos e faz toda a conversão e comunicação com a SEFAZ internamente.
Status do Desenvolvimento
Métodos Implementados
- WebServices Suportados
- Homologação SP
- Produção SP
- Métodos Implementados
- consultaCadastro - Layout v2.00
- nfeAutorizacaoLote - Layout v4.00
- nfeRetAutorizacao - Layout v4.00
- nfeStatusServicoNF - Layout v4.00
Pendêncis da Implementação (Próximos passos e melhorias)
- Próximos Passos de Implementação:
- Implementar suporte aos demais servidores
- Implementação dos métodos restantes:
- nfeAutorizacaoLoteZip
Objetos de Representação do XML
Os objetos que representam as tags do XML são criados com o JAXB a partir do Schema fornecido pela própria SEFAZ.
![]() |
|
Resumo de Informações que Você Deve Saber
Estrutura das Tags da NFe
Definição do Documento Fiscal
- A estrutura de informações de uma NFe é inteiramente escrita dentro de uma tag <NFe>, e a documentação do seu conteúdo está descrito no Anexo I do Manual de Orientações ao Contribuinte (MOC).
- Dentro dessa estrutura existem duas tags: <infNFe> e <Signature> que respecitivamente contém as informações do documento fiscal, e a assinatura digital dos dados dessa nota.
A estrutura simplificada fica assim:
<NFe> <infNFe> [dados da NFe] </infNFe> <Signature> [assinatura digital] </Signature> </NFe>
Envio da NFe para Autorização
Para solicitar a autorização da NFe no WebService da SEFAZ enviamos a tag <NFe> encapsulada dentro da tag <enviNFe>, que aceita uma lista de até 50 tags <NFe> para autorização em Lote. Montando a seguinte estrutura:
<enviNFe> <NFe> <infNFe> [dados da NFe] </infNFe> <Signature> [assinatura digital] </Signature> </NFe> <NFe> <infNFe> [dados da NFe] </infNFe> <Signature> [assinatura digital] </Signature> </NFe> ... </enviNFe>
No método assíncrono, temos de consultar a autorização do lote com outro método do WebService, cujo retorno tem a seguinte estrutura:
<retConsReciNFe> <protNFe> [protocolo de autorização da NFe] </protNFe> <protNFe> [protocolo de autorização da NFe] </protNFe> ... </retConsReciNFe>
Note que há uma tag <protNFe> para cada tag <NFe> enviada para autorização.
Layout de Distribuição
Por fim, o Manual de Orientações ao Contribuinte, define o Layout de Distribuição. Este layout define como os arquivos .XML da NFe devem ser compatilhado entre as pontas. E sua estrutura, de forma simplificada, é a seguinte:
<nfeProc> <NFe> <infNFe> [dados da NFe] </infNFe> <Signature> [assinatura digital] </Signature> </NFe> <protNFe> [protocolo de autorização da NFe] </protNFe> </nfeProc>
Note que o arquivo final .XML da NFe contém a tag <NFe> com a assinatura que foi enviada no começo para a autorização, seguida da tag <protNFe> que contém os dados da sua autorização.