ERP – eDocs NFS-e Recebimento – Como ocorre o fluxo de comunicação entre o eDocs e o Motor Senior para a conversão de NFS-e utilizando arquivos
Dúvida
Como ocorre o fluxo de comunicação entre o eDocs e o Motor Senior para a conversão de NFS-e utilizando arquivos?
Solução
Importante
O fluxo descrito mostra o detalhamento da comunicação utilizando arquivos, sejam eles XML ou PDF.
Os exemplos a seguir estão indentados para facilitar a visualização, recomenda-se fazer esse processo durante a análise.
O fluxo de comunicação entre o eDocs e o Motor Senior ocorre conforme descrito abaixo:
1. Envio arquivo: Neste momento o eDocs envia ao Motor Senior o arquivo convertido em base64;
Exemplo de envio:
2023-05-08 10:19:09,001 [6] WARN NB020560 - Senior.SapiensNfe.Processos.Service.Documento.Recebimento.Invoicy.ClienteInvoicy.EnviarArquivo - XML: <?xml version="1.0" encoding="utf-8"?>
<ImportacaoRecepcao xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<Cabecalho xmlns="InvoiCy">
<EmpPK>XXXXXXX==</EmpPK>
<EmpCK>YYYYYYY</EmpCK>
<EmpCNPJ>00000000000000</EmpCNPJ>
</Cabecalho>
<Dados xmlns="InvoiCy">
<DadosItem>
<Documento>
<ImportacaoXML
<Base64Arquivo>PD94bWwgdm...c3RhPg==</Base64Arquivo>
<NomeArquivo>NFSe-0000000000000000000000000000000000.xml</NomeArquivo>
</ImportacaoXML>
</Documento>
</DadosItem>
</Dados>
</ImportacaoRecepcao>
2. Retorno Protocolo: Neste momento o Motor Senior retorna ao eDocs o resultado do recebimento;
Exemplo de retorno:
2023-05-08 10:19:09,471 [6] WARN NB020560 - Senior.SapiensNfe.Processos.Service.Documento.Recebimento.Invoicy.ClienteInvoicy.EnviarArquivo - XML: <?xml version="1.0" encoding="utf-8"?>
<ImportacaoRetorno xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<NumeroProtocolo xmlns="InvoiCy">00000000000000</NumeroProtocolo>
<DataProtocolo xmlns="InvoiCy">2023-05-08T10:49:09</DataProtocolo>
<Mensagem xmlns="InvoiCy">
<MensagemItem>
<Codigo>100</Codigo>
<Descricao>Documentos processados</Descricao>
</MensagemItem>
</Mensagem>
</ImportacaoRetorno>
3. Consulta Protocolo: Neste momento o eDocs enviará a consulta do protocolo ao Motor Senior;
Exemplo de de consulta:
2023-05-08 10:19:11,750 [12] WARN NB020560 - Senior.SapiensNfe.Processos.Service.Documento.Recebimento.Invoicy.ClienteInvoicy.ConsultarArquivo - XML: <?xml version="1.0" encoding="utf-8"?>
<ImportacaoRecepcao xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<Cabecalho xmlns="InvoiCy">
<EmpPK>XXXXXXX==</EmpPK>
<EmpCK>YYYYYYY</EmpCK>
<EmpCNPJ>00000000000000</EmpCNPJ>
</Cabecalho>
<Dados xmlns="InvoiCy">
<DadosItem>
<Documento><?xml version="1.0" encoding="utf-8"?>
<ConsultaImportacao xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ModeloDocumento>NFSe</ModeloDocumento>
<NumeroProtocolo>00000000000000</NumeroProtocolo>
<RetornarDocumentos>S</RetornarDocumentos>
</ConsultaImportacao>
</Documento>
</DadosItem>
</Dados>
</ImportacaoRecepcao>
4. Retorno Protocolo/Documento: Neste momento o Motor Senior retornará uma das seguintes situações:
4.1. Informando que o protocolo não existe ou não foi processado. Baseado neste retorno, o eDocs fará novamente a consulta do protocolo a cada um minuto, durante dez minutos:
Atenção
Este cenário é comum e poderá ocorrer com frequência nos momentos de alta demanda de processamento.
Exemplo de retorno:
2023-05-08 10:19:11,841 [12] WARN NB020560 - Senior.SapiensNfe.Processos.Service.Documento.Recebimento.Invoicy.ClienteInvoicy.ConsultarArquivo - XML: <?xml version="1.0" encoding="utf-8"?>
<ImportacaoRetorno xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<DataProtocolo p3:nil="true" xmlns:p3="http://www.w3.org/2001/XMLSchema-instance" xmlns="InvoiCy"/>
<Mensagem xmlns="InvoiCy">
<MensagemItem>
<Codigo>101</Codigo>
<Descricao>Protocolo inexistente ou não processado</Descricao>
</MensagemItem>
</Mensagem>
</ImportacaoRetorno>
4.2. Informando que o protocolo foi encontrado:
Atenção
O protocolo ser encontrado não garante a tradução do arquivo e deverá ser analisado o retorno.
Exemplo de retorno de documento traduzido:
2023-05-08 10:19:17,782 [272] WARN NB020560 - Senior.SapiensNfe.Processos.Service.Documento.Recebimento.Invoicy.ClienteInvoicy.ConsultarArquivo - XML: <?xml version="1.0" encoding="utf-8"?>
<ImportacaoRetorno xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<DataProtocolo p3:nil="true" xmlns:p3="http://www.w3.org/2001/XMLSchema-instance" xmlns="InvoiCy"/>
<Mensagem xmlns="InvoiCy">
<MensagemItem>
<Codigo>100</Codigo>
<Descricao>Protocolo encontrado</Descricao>
<Documentos>
<DocumentosItem>
<Documento>
<ResultadoImportacao xmlns="InvoiCy">
<ModeloDocumento>NFS-e</ModeloDocumento>
<NumeroProtocolo>000000000000</NumeroProtocolo>
<Sucesso>1</Sucesso>
<Falhas>0</Falhas>
<DocumentosFalhas/>
</ResultadoImportacao>
</Documento>
</DocumentosItem>
<DocumentosItem>
<Documento>
<nfse>
...
Tradução da NFS-e no leiaute Senior.
...
<anexos>
<base64Content>...</base64Content>
<docType>.xml</docType>
<name>NFSE000000000000000000000000</name>
</anexos>
</nfse>
</Documento>
</DocumentosItem>
</Documentos>
</MensagemItem>
</Mensagem>
</ImportacaoRetorno>
Exemplo de retorno de documento não traduzido:
2023-05-08 11:21:19,619 [278] WARN NB020560 - Senior.SapiensNfe.Processos.Service.Documento.Recebimento.Invoicy.ClienteInvoicy.ConsultarArquivo - XML: <?xml version="1.0" encoding="utf-8"?>
<ImportacaoRetorno xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<DataProtocolo p3:nil="true" xmlns:p3="http://www.w3.org/2001/XMLSchema-instance" xmlns="InvoiCy"/>
<Mensagem xmlns="InvoiCy">
<MensagemItem>
<Codigo>100</Codigo>
<Descricao>Protocolo encontrado</Descricao>
<Documentos>
<DocumentosItem>
<Documento>
<ResultadoImportacao xmlns="InvoiCy">
<ModeloDocumento>NFS-e</ModeloDocumento>
<NumeroProtocolo>0000000000000</NumeroProtocolo>
<Sucesso>0</Sucesso>
<Falhas>1</Falhas>
<DocumentosFalhas>
<DocumentosFalhasItem>
<Descricao>101-Falha na importação do documento: Arquivo enviado não é uma NFS-e, ou não está homologado!</Descricao>
<Documento>lFwAAB...RcAAA=</Documento>
<DataProcessamento>2023-05-08T11:21:16</DataProcessamento>
</DocumentosFalhasItem>
</DocumentosFalhas>
</ResultadoImportacao>
</Documento>
</DocumentosItem>
</Documentos>
</MensagemItem>
</Mensagem>
</ImportacaoRetorno>
Observação
- Em casos onde a tradução ocorrer corretamente, o documento deverá estar integrado na respectiva aba, caso não seja integrada ou a tradução for retornada com uma mensagem específica ou falha, uma crítica de integração será apresentada;
- Para mais informações sobre o processo de recebimento de NFS-e, consulte o artigo ERP – eDocs NFS-e Recebimento – Onde encontrar informações sobre o recebimento de NFS-e (índice).