fev
02
2024

Módulo NFCom

2 de fevereiro de 2024

Índice

-

A Nota Fiscal Fatura de Serviço de Comunicação Eletrônica (NFCom) é um documento fiscal eletrônico utilizado para registrar a prestação de serviços de comunicação, que foi criado para atender às necessidades de empresas que oferecem serviços de comunicação, tais como telefonia, internet e TV por assinatura, substituindo a Nota Fiscal de Serviço de Comunicação/Telecomunicações, modelos 21 e 22.

O principal objetivo da NFCom é documentar as operações de prestação de serviços de comunicação, possibilitando o controle fiscal, a apuração dos tributos devidos e o cumprimento das obrigações legais por parte das empresas prestadoras desses serviços.

  • Quem precisa emitir a NFCom?

A emissão da NFCom é obrigatória para as empresas que prestam serviços de comunicação, conforme estabelecido pela legislação. Isso inclui operadoras de telefonia fixa e móvel, provedores de internet, empresas de TV por assinatura, entre outras que oferecem serviços de comunicação eletrônica.

Importante! Para emissão de NFCom, é necessário credenciamento junto à Sefaz, conforme Ajuste SINIEF nº 7 de 07 de Abril de 2022.

Emissão de NFCom com o InvoiCy
A emissão de NFCom já está disponível em ambiente de homologação no InvoiCy, em fase Beta, com os serviços de Emissão, Consulta e Cancelamento disponíveis nesse primeiro momento.

A Integração pode ser realizada via SOAP, utilizando o webservice https://homolog.invoicy.com.br/arecepcao.aspx.

Este Web Service é único, e deve ser utilizado para qualquer integração com o InvoiCy, independente do tipo de documento a ser enviado. Abaixo, detalhamos o processo de integração com o módulo NFCom.

Para realizar a integração, realize os seguintes passos:

1.      Visualize a estrutura WSDL do Web Service
Para visualizar a estrutura WSDL do Web Service, basta copiar e colar o link do Web Service em seu navegador de internet, por exemplo https://homolog.invoicy.com.br/arecepcao.aspx?WSDL. Assim podemos visualizar toda a estrutura do WSDL, conforme demonstra a imagem abaixo:

2.      Realize o consumo do Web Service
Você deverá realizar o consumo do Web Service para realizar a integração. Ao realizar a consumo do WS, você deverá informar os seguintes parâmetros:EmpPK: Chave de Parceiro disponibilizada pela Migrate para cada cliente.
Exemplo: PYcEsFuKroDBojfiFEl+Ms==

  • EmpPK: Chave de Parceiro disponibilizada pela Migrate para cada cliente.
    Exemplo: PYcEsFuKroDBojfiFEl+Ms==

A chave de parceiro é gerada por nosso Sistema de Gestão no momento que a sua empresa é cadastrada como nosso parceiro. A mesma será enviada por e-mail e utilizada para controlar as empresas de clientes finais que utilizarão licenças adquiridas pela sua empresa.

  • EmpCK: Código HASH gerado em formato MD5 de acordo com dados enviados.
    Exemplo: 213f3b55d679e790258fd811cc86d309

Utilizado para validar a comunicação e proporcionar segurança à comunicação. Consulte o artigo “Como gerar o código Hash MD5?” para mais informações.

  • EmpCO: Identificador do PDV.
  • Texto: Uso interno do InvoiCy. Não é necessário o preenchimento.
  • Documento: Conteúdo do documento Fiscal a ser enviado para o InvoiCy.
  • Parâmetros: Neste campo podem ser informados alguns parâmetros, como por exemplo, quais dados deseja que retorne na consulta de documentos. Seu preenchimento não é obrigatório.

Dentro da TAG <inv:Documento>, você deverá informar o conteúdo XML da NFCom, contendo a estrutura de campos do layout 1.00 da NFCom. Os campos da NFCom devem ser convertidos para texto.

Obs: Caso deseje enviar mais de um documento, deve-se repetir a TAG <inv:DadosItem>, contendo o conteúdo dos documentos a serem enviados.

Para facilitar seu entendimento, disponibilizamos para você o download de um exemplo completo de consumo do WS de recepção.

Clique aqui, e realize o download do documento.

Para obter o Layout atualizado da NFCom  Clique Aqui. Nele você encontra a estrutura completa do arquivo XML  para gerar o documento a ser enviado ao InvoiCy.

3.      Realize a leitura do retorno do envio da NFComApós o envio da nota, precisamos realizar a leitura do retorno do processamento do documento. O retorno recebido segue a seguinte estrutura SOAP:

A estrutura SOAP acima demonstra o retorno do envio de apenas um único documento.

Note que na TAG <Documento> é retornado o conteúdo XML do retorno, codificado em “CDATA”. Este conteúdo pode ser lido pelo ERP para atualização do Status do documento.

Para facilitar seu entendimento, anexamos um documento completo a este artigo.

Clique aqui, e realize o download do arquivo SOAP de retorno. Existe ainda uma tabela de códigos e descrições dos retornos da SEFAZ, que você pode consultar no artigo “Códigos de Retorno da SEFAZ”.

Consulta de documentos NFCom

A consulta de um documento permite obter o status atual, além de suas principais informações, juntamente com o PDF e o XML do mesmo. É possível também consultar documentos que não foram efetivados ou que não foram emitidos pelo InvoiCy. Neste caso, é necessário informar a chave de acesso do documento no momento do consumo do Web Service.

Caso seja executada uma consulta de um documento que não existe na base de dados do InvoiCy, o usuário receberá o retorno: 117 – Nenhum documento localizado na base de dados.

1.      Gere a estrutura do arquivo XML de consulta
Através da consulta, é possível buscar informações de vários documentos em apenas uma requisição.

Clique aqui para visualizar um exemplo de XML para consulta. Deve-se optar por apenas uma das formas de consulta a seguir:

– Por faixa de numeração: Deve informar o número inicial e final, juntamente com a série do documento.

– Pela chave de acesso: Informar apenas a chave de acesso do documento, obrigatório caso ocorra a consulta de um documento que não esteja na base de dados do InvoiCy. Neste caso o sistema irá consultar seu status junto a SEFAZ.

– Intervalo de datas: A data inicial e a data final deverão ser preenchidas, juntamente com o horário. Ao optar por essa forma de consulta, as tags de numeração e série deverão ser preenchidas com zero, ou removidas da estrutura do layout enviado.

2015-09-10T00:00:01

2015-09-11T23:59:00

– Por série: Informar apenas a série utilizada pela empresa, onde será retornada a numeração do último documento emitido para a respectiva série.

Vale ressaltar que deve-se optar por apenas uma destas opções de consulta por requisição ao Web Service, caso seja informada mais de uma, o sistema irá buscar os documentos pela primeira forma de consulta encontrada, seguindo a ordem descrita acima.

– Status do documento: Juntamente com as formas de consulta listadas acima, é possível ainda filtrar pelo status específico do documento, informando na tag <StatusDocumento> os possíveis status listados a seguir:

1 – Pendente;
2 – Autorizado;
3 – Rejeitado;
4 – Necessita interação;
5 – Cancelado;
6 – Inutilizado;
7 – Aguardando Consulta;
8 – Encerrado;
9 – Em Conflito;
10 – EPEC;
11 – Contingência off-line;
12 – Denegado;
13 – Contingência FS-DA.

Destacando que no momento de realizar uma consulta, a tag dhUF não deve ser informada. Esta deverá ser usada apenas quando se deseja consultar o status de serviço da SEFAZ.

Deve-se também escolher quais as informações que serão retornadas no momento da consulta. Para isso, é necessário gerar um XML específico que será informado na tag “parametros” do SOAP de envio. Clique aqui, para visualizar um XML de exemplo dos parâmetros de retorno.

Disponibilizamos também um documento que especifica o layout dos XMLs que devem ser gerados, clique para fazer o download.

2.      Consuma o Web Service de envio de documentos do InvoiCy
Após a geração do XML dos parâmetros de consulta e do XML dos parâmetros de retorno, o próximo passo é realizar o consumo do Web Service de recepção do InvoiCy.

O XML dos parâmetros de consulta deve estar na tag “Documento”; o XML dos parâmetros de retorno deve estar na tag “Parametros”. Ambos convertidos para texto, como mostra a imagem abaixo:

Clique aqui para fazer download do XML exibido na imagem.

Para a geração do código hash informado no campo “EmpCK” deve-se utilizar apenas o conteúdo da tag “Documento”. O procedimento para a geração do hash você encontra no artigo Gerando o hash MD5.

3.      Obtenha o retorno da consulta
Os dados do retorno da consulta serão de acordo com os parâmetros informados no XML de parâmetros de retorno. Caso for consultado algum documento que não esteja no InvoiCy, será retornado apenas o seu status perante a SEFAZ.

Disponibilizamos um exemplo de XML de retorno, clique aqui para visualizar.

O base 64 do XML e do PDF retornado estarão codificados em UTF-8. Este mesmo padrão deve ser utilizado para a decodificação e geração dos respectivos arquivos.

Destacando que o limite de documentos retornados na consulta é de 100 documentos, mas este valor pode ser alterado para menos, sempre em escala de 50 em 50, sendo que 50 é a menor quantidade retornada. Ao consultar uma quantidade maior que 100 documentos, a consulta não será executada e nenhum documento será retornado.

OBSERVAÇÃO: O InvoiCy conta com um controle das requisições recebidas, onde ao receber várias vezes a mesma requisição de consulta, dentro de um determinado período de tempo, irá bloquear essa requisição para prevenir que o ERP do cliente não entre em loop e cause lentidão no sistema.

Para evitar esse bloqueio, recomenda-se que em caso de consulta de documento, deve-se adicionar um “sleep” entre uma e outra conexão, de 15 segundos, por exemplo. E também limitar o número total de consultas.

Para mais informações sobre esse processo, leia o artigo Bloqueio do Web Service no InvoiCy.

Cancelamento de NFCom

Proceda com os seguintes passos para realizar o cancelamento de um documento:

1. Autorize um documento
O cancelamento só pode ser feito para documentos que receberam a autorização de uso pelo SEFAZ. Atente-se para o prazo de cancelamento que pode variar para cada UF. Em caso de dúvidas, consulte a SEFAZ de seu estado para maiores informações.

2. Gere a estrutura do arquivo XML de cancelamento
Você deverá gerar a estrutura do XML de cancelamento de uma NFCom. Nós disponibilizamos para você um exemplo da estrutura do arquivo de cancelamento para facilitar seu entendimento. Clique aqui  para realizar o download.

4. Obtenha o retorno do cancelamento
Ao realizar o consumo do Web Service do InvoiCy, no retorno será possível identificar se a operação for realizada com sucesso e qual o status do documento.

O layout de retorno do Web Service para o cancelamento, assim como qualquer outro evento, é o mesmo retornado no momento da emissão da NFCom. Para os eventos, estarão preenchidas as tags específicas no retorno, como o EveTp e EveId, como mostra a imagem abaixo.