2014
Como cancelar uma NFS-e?
26 de março de 2014Neste artigo iremos demonstrar como realizar o cancelamento de NFS-e através do Web Service do InvoiCy.
A partir de agora, assumimos que você já leu o artigo Como consultar uma NFS-e?. Caso ainda não tenha lido o artigo, recomendamos que realize a leitura do mesmo, para facilitar o entendimento deste artigo.
O Cancelamento de uma NFS-e é extremamente simples e constitui um processo adicional, embora usado com bastante frequência. Para que isso se torne possível, siga os seguintes passos:
1. Consumindo o Web Service
Primeiramente, você deve realizar o consumo do Web Service de Cancelamento de NFS-e – https://homolog.invoicy.com.br/arecepcao.aspx-wsdl
2. Criar o XML para o envio
O XML de Cancelamento pode conter uma ou mais NFS-e a serem canceladas. Os detalhes de como criar o XML e transmitir estão detalhados abaixo.
Para obter os Layouts de envio e retorno do XML de Cancelamento de NFS-e, faça o download do arquivo Cancelamento.zip. Nele você encontrará também o arquivo XSD e XML de exemplo.
O XML a ser enviado pode ser divido em duas partes: Cabeçalho (comum a todos os serviços – exceto no cadastro de prestador) e os dados do RPS/NFS-e (Tag <inv:Documento>). Para saber como gerar a Tag inv:Documento corretamente e como gerar a Chave de Comunicação, consulte o artigo Gerar um XML de Envio passo-a-passo.
Após finalizado, o documento XML deve ser inserido entre as TAGS <inv:Documento> </inv:Documento> do SOAP de envio. Veja abaixo um exemplo:
Nos casos em que for usada uma ferramenta RAD para consumo do Web Service através de componente nativo, por exemplo Visual Studio utilizando Web Reference, a conversão do XML para texto irá ocorrer de forma automática.
Para os casos em que o desenvolvedor preferir codificar toda a comunicação sem utilizar componentes, além de ser necessário escrever todo o XML do SOAP, também deverá ser feita a conversão do XML do documento para texto, substituindo os caracteres “<”, “>” e “ “ ” (aspas) por “<”, “>” e “"” respectivamente, de acordo com a tabela da W3C: http://www.w3schools.com/html/html_entities.asp.
Para facilitar a geração do XML de integração, disponibilizamos o XML de envio, bem como um arquivo de esquema XSD que poderá servir como base.
É recomendável que após a geração do arquivo XML e antes do consumo do Web Service, o mesmo seja validado contra o arquivo de esquema. Maiores detalhes no artigo Validação de arquivos XML.
3. Realize a leitura do retorno do envio da NFS-e
Após o envio do XML, precisamos realizar a leitura do retorno do cancelamento de NFS-e. O retorno recebido segue a seguinte estrutura SOAP:
A estrutura SOAP acima demonstra o retorno do serviço de Cancelamento de apenas uma NFS-e, porém, é possível cancelar mais de uma numa única requisição.
O seu sistema deve ler o retorno, validando as informações conforme o layout de retorno. O retorno criará um grupo para cada NFS-e, contendo o número, série, situação, entre outros. Retornará também os erros, caso a prefeitura não permita o cancelamento.
Seu próximo passo é: Cadastrar uma empresa via Web Service
Artigos Relacionados: