Mudanças entre as edições de "Requisitos RFW.SEFAZ"
(8 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 6: | Linha 6: | ||
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. | 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 == | == Objetos de Representação do XML == | ||
Linha 17: | Linha 40: | ||
= 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: | |||
<pre> | |||
<NFe> | |||
<infNFe> | |||
[dados da NFe] | |||
</infNFe> | |||
<Signature> | |||
[assinatura digital] | |||
</Signature> | |||
</NFe> | |||
</pre> | |||
=== 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: | |||
<pre> | |||
<enviNFe> | |||
<NFe> | |||
<infNFe> | |||
[dados da NFe] | |||
</infNFe> | |||
<Signature> | |||
[assinatura digital] | |||
</Signature> | |||
</NFe> | |||
<NFe> | |||
<infNFe> | |||
[dados da NFe] | |||
</infNFe> | |||
<Signature> | |||
[assinatura digital] | |||
</Signature> | |||
</NFe> | |||
... | |||
</enviNFe> | |||
</pre> | |||
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: | |||
<pre> | |||
<retConsReciNFe> | |||
<protNFe> | |||
[protocolo de autorização da NFe] | |||
</protNFe> | |||
<protNFe> | |||
[protocolo de autorização da NFe] | |||
</protNFe> | |||
... | |||
</retConsReciNFe> | |||
</pre> | |||
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: | |||
<pre> | |||
<nfeProc> | |||
<NFe> | |||
<infNFe> | |||
[dados da NFe] | |||
</infNFe> | |||
<Signature> | |||
[assinatura digital] | |||
</Signature> | |||
</NFe> | |||
<protNFe> | |||
[protocolo de autorização da NFe] | |||
</protNFe> | |||
</nfeProc> | |||
</pre> | |||
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. | |||
Edição atual tal como às 00h07min de 14 de fevereiro de 2025
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.