1. Emitindo uma NFC-e Online

A transmissão da NFC-e online é realizada através do client do Fiscal Flow, esse client é quem realiza toda interface de comunicação entre o PDV e os servidores de autorização que consomem os webservices da SEFAZ .

Ao receber uma requisição, o serviço de autorização do Fiscal Flow complementa as informações do xml, inserindo os dados do emissor, Chave do documento, URL de consulta e assinatura, deixando o documento pronto para autorização.

Após montagem do do XML o mesmo é transmitido para o webservice que atenderá o serviço de autorização de acordo com a UF do emissor, cabendo a SEFAZ validar as informações e autorizar ou rejeitar a nota.


Nota rejeitada

Quando uma NFC-e emitida online é rejeitada, o retorno do webservice é devolvido para o PDV na mesma requisição, após essa rejeição cabe ao PDV realizar a inutilização desta nota, evitando assim a quebra de numeração e divergências fiscais.

Reenvio de notas rejeitadas

Conforme o ajuste SINIEF 19/2016, é vedada reutilização de notas emitidas online em contingência, não sendo possível reenviar em contingência uma NFC-e que tenha sido rejeitada online.


Guarda do XML

A guarda do XML é realizada pelo Fiscal Flow e os XML's são disponibilizados para os usuários da plataforma através de nosso portal, não havendo necessidade do PDV realizar a guarda em sua base de dados, desonerando assim a infraestrutura do cliente.

Caso o PDV necessite do XML para obtenção de dados fiscais, o mesmo deverá enviar a tag "devolveXML" com o valor "true" no JSON de autorização, indicando que deseja receber o XML na requisição de autorização.

Caminho XML

Caso seja informado o caminho do XML na tela de configuração do client, o XML será armazenado no diretório, não sendo devolvido na API de autorização.


Impressão DANFE

O Fiscal Flow retornar o DANFE no formato PDV em um array de bytes no formato base64, podendo ser utilizado para impressão da NFC-e, sem a necessidade de implementar a impressão no PDV, para receber o PDF basta enviar a tag "GeraDanfe" com o valor "true" no JSON de autorização, caso o PDV utilize um DANFE personalizado, basta informar o valor "false" que o PDF não será encaminhado no retorno da autorização. Caso opte por não utilizar o DANFE do gerado pelo Fiscal Flow, caberá ao time de desenvolvimento do PDV implementar seu proprio DANFE seguindo todas as regras do manual de especificação do DANFE NFC-e.

Caminho DANFE

Caso seja informado o caminho do DANFE na tela de configuração do client, o PDF do DANFE será armazenado no diretório, não sendo devolvido na API de autorização.

2. Fluxo NFC-e.*

3. Contingência

Em situações onde não for possível obter a autorização da nota no momento do envio, o envio em contingência é ativado, permitindo que a nota seja emitida sem a autorização da sefaz, essa modalidade de emissão é chamada de contingência offline. No processo de emissão em contingência offline, o XML e o DANFE da NFC-e são gerados pelo Fiscal Flow Client e devolvidos para o PDV logo após seu registro na base de dados do Fiscal Flow Client, sem a necessidade de conexão com a internet ou comunicação com o ambiente do Fiscal Flow Client.

Emissão em contingência

O Tipo de emissão em contingência fica a critério de cada UF, podendo variar de estado para estado.

No estado de São Paulo, a contingência da NFC-e é realizada através do equipamento SAT ou EPEC (Evento Prévio de emissão em Contingência) sendo que o ambiente EPEC é liberado apenas em períodos pré estabelecidos pela SEFAZ SP.

Para o estado do Ceará a emissão deve ser realizada através de modulo MFE e a NFC-e deve ser utilizada apenas em casos onde o aparelho apresente algum problema de funcionamento.



As notas emitidas em contingência são transmitidas ao Fiscal Flow Cloud para que sejam enviadas a sefaz, entrando em uma fila de emissão, neste momento não é possível determinar se a nota será ou não autorizada pela SEFAZ, cabendo ao PDV realizar consultas periódicas ao Fiscal Flow até a obtenção de um retorno da SEFAZ. Essas consultas devem ser realizadas em intervalos regulares de mínimo 10 minutos, evitando o consumo excessivo dos recursos de infra e consequentemente o bloqueio da nota por consumo indevido.

Caso uma nota emitida em contingência seja rejeitada, a mesma deverá ser corrigida e autorizada , após autorização, o PDV poderá cancelar a nota caso a operação não tenha sido realizada.

Consulta de notas emitidas

O PDV deverá consultar as notas emitidas de forma automática e sem a necessidade de intervenção do usuário, gerando alertas que auxiliem a identificação de notas que estão pendentes de autorização a mais de 24h ou notas que tenham sido rejeitadas após seu envio para a SEFAZ

Exemplo Prático


1- Tentativa de Transmissão

Há a tentativa de transmissão de uma NFC-e com numeração 20.

Há um problema técnico na comunicação ou processamento das informações.

Não há retorno da SEFAZ .


2- Emissão off-line

A NFC-e é emitida offline com numeração diferente, n° 21, para evitar a duplicidade da nota.

Deve-se imprimir o DANFE-NFCe, em duas vias ou manter em local seguro, o arquivo digital, sendo impresso para apresentar ao fisco quando solicitado.


3- Transmissão

Superado o problema técnico, a NFC-e n°21 é transmitida para obtenção da autorização de uso.

Se vier a ser rejeitada, gerar novamente o arquivo com a mesma numeração e série, sanando a irregularidade e transmitir novamente.

4. Processo Incompleto

Durante o processo de envio podem ocorrer falhas de comunicação, impedindo o Fiscal Flow de determinar o status da NFC-e, para esses casos foi criado o serviço de processo incompleto M0020, permitindo ao PDV identificar situações onde será necessário emitir uma segunda nota para finalizar a operação.

Caso a nota receba o retorno M0020, a mesma não poderá ser utilizada em nenhuma outra operação pois a mesma será inutilizada e cancelada pelo MID-e Client, para essas notas o PDV deve apenas consultar a nota até que receba a inutilização ou cancelamento dessas notas. Para finalizar a venda após a ocorrência do M0020 o PDV deverá emitir uma segunda nota que será gerada em contingência.

Nota em Contingência

A nota emitida em contingência deverá possuir os mesmos dados da nota emitida online, caso algum dado da nota seja alterado não será possível realizar o cancelamento por substituição e a mesma será retornada autorizada para o PDV.

O serviço de processo incompleto realiza a consulta das notas junto a SEFAZ, dependendo do funcionamento dos webservices para determinar se a nota será inutilizada ou cancelada, onde as notas que foram autorizadas serão canceladas e as notas que não constarem na base da SEFAZ serão inutilizadas. Como o serviço de processo incompleto depende do funcionamento dos webservices da SEFAZ, o PDV deve realizar consultas repeitando o intervalo mínimo de 30 minutos, não realizando consultas desnecessárias para notas que ainda se encontram pendentes de processamento. As consultas devem ocorrer de forma automática, gerando alertas para notas que estão a mais de 24h sem retorno.

5. Cancelamento e Inutilização

Cancelamento

O cancelamento de uma NFC-e deve ser utilizado sempre que a nota for autorizada e a operação não houver sido realizada, seja por desistência ou erro operacional, para realizar o cancelamento basta passar os dados da nota autorizada e justificativa de cancelamento para a API especifica para este serviço, o prazo para o cancelamento de uma NFC-e é de 30 minutos após a autorização da nota, podendo ser estendido até 24h a critério da UF.

O Serviço de cancelamento funciona de maneira síncrona, onde o retorno é devolvido na mesma requisição, por esse motivo a venda somente deve ser desfeita caso o PDV receba a confirmação do cancelamento junto a SEFAZ, sendo essa a única garantia que o cancelamento foi realizado com sucesso. Caso o cancelamento da nota não tenha sido processado com sucesso e a venda seja desfeita, é necessário que o PDV faça uma nota de devolução para desfazer a operação.

Além do cancelamento normal existe o cancelamento por substituição, que tem a finalidade de cancelar notas que tenham sido autorizadas em duplicidade devido a falha em sua transmissão. O MID-e já utiliza essa modalidade para cancelar as notas que tenham sido colocadas em processo incompleto, contudo, caso seja necessário o PDV pode utilizar esse cancelamento informando o tpEvento 110112 e a chave da nota emitida online quando for cancelar a nota.

Retorno M0020

Não é necessário realizar o agendamento de cancelamento para notas que tenham recebido o retorno M0020, sendo necessário apenas garantir que os dados da NFC-e emitida em contingência sejam os mesmos da nota que apresentou erro na transmissão.

Inutilização

A Inutilização de notas visa garantir o registro sequencial das notas, eliminando lacunas na numeração de notas devido a falhas técnicas ou operacionais, onde as notas transmitidas não tenham sido autorizadas junto a SEFAZ. antes de solicitar a inutilização é recomendado que o PDV realize a consulta da nota a fim de garantir que a nota que está sendo inutilização não tenha sido autorizada junto a sefaz. Caso o PDV envie um pedido de inutilização para uma nota que tenha sido autorizada, o PDV receberá a rejeição 241, sendo necessário realizar uma nova consulta para obter os dados da nota autorizada.

5. API's de integração

Toda comunicação com o Fiscal Flow é realizada através do Fiscal Flow Client por meio de API REST, utilizando o formato JSON, para se comunicar com o client.

Para se comunicar com o Client, o PDV deve sempre utilizar a porta 8089 e o host da máquina em que o Client foi instalado, utilizando preferencialmente o client de maneira local, evitando a utilização de um client para diversos PDV's, para autorizar uma nota por exemplo o PDV utilizará o endpoint http://localhost:8089/NFCe/Autoriza, passando os dados da nota que deseja autorizar.

O Fiscal Flow Client funciona de maneira síncrona, sempre devolvendo o retorno na mesma chamada, mesmo em situações onde a nota for emitida em contingência devido a falha técnica ou em contingência, nunca deixando o PDV sem um retorno, exceto em casos onde o Client possuir algum problema na sua instalação ou de funcionamento.

Tags do JSON

As tags do JSON podem variar de acordo com as características fiscais da nota, por esse motivo o Fiscal Flow utiliza os mesmos nomes das tags dos schemas da sefaz, facilitando o processo de integração.

CLIQUE AQUI PARA ACESSAR A DOCUMENTAÇÃO das API's E EXEMPLOS DE JSON DO FISCAL FLOW

  • Sem rótulos