Buscar Documentos de entrada na SEFAZ

Última atualização em: 21 de fevereiro, 2017

 

A Plataforma InvoiCy foi adequada de acordo com a NT2015/002, que tem como objetivo apresentar um novo Web Service denominado MDFeDistribuicaoDFe, que irá disponibilizar para os atores do MDF-e informações e documentos fiscais eletrônicos de seu interesse. A distribuição será realizada para terceiros informados no conteúdo do MDF-e, no grupo de pessoas autorizadas a acessar o XML (tag: autXML).

Este serviço permitirá que um ator do MDF-e tenha acesso aos documentos fiscais eletrônicos (DF-e) que não foram gerados por ele, mas que sejam de seu interesse. Pode ser consumido por qualquer ator de MDF-e, Pessoa Jurídica ou Pessoa Física, que possua um certificado digital de PJ ou PF.

Os documentos fiscais eletrônicos estarão disponíveis para distribuição por até 3 meses após sua recepção pelo ambiente Nacional do MDF-e. Os seguintes documentos serão disponibilizados para terceiros:

– MDF-e

– Evento de Cancelamento

– Evento de Encerramento

– Evento de Inclusão de Condutor

Para o usuário não terá nenhum impacto na execução do processo, que continuará integrando com o Web Service de recepção do InvoiCy.

1. Gere a estrutura do arquivo XML de consulta do MDF-e de entrada

Através dessa funcionalidade é possível realizar a busca dos documentos emitidos contra o CNPJ da empresa que está manifestando.

Clique aqui para visualizar um exemplo de XML com a estrutura para consulta de MDF-e de entrada.

Disponibilizamos também um documento que especifica o layout do XML que devem ser gerado, clique para fazer o download.

2. Consuma o Web Service de envio de documentos do InvoiCy

Após a geração do XML de consulta dos MDF-e de entrada, o próximo passo é realizar o consumo do Web Service de recepção do InvoiCy.

O XML de consulta deve estar na tag “Documento”, convertido para texto.

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

3. Obtenha retorno da consulta do MDF-e de entrada

Será retornada uma lista com os Documentos de entrada de acordo com os parâmetros informados para a busca.

Para ter acesso completo as informações da Nota Técnica 2015/002, clique aqui.

Destacando que o XML retornado não é armazenado no InvoiCy, apenas exibido no momento da consulta.

Também é importante ressaltar que este novo Web Service ainda não foi liberado por parte da SEFAZ, mas que o InvoiCy já está preparado para suportar esta nova funcionalidade, assim que o ambiente para consulta estiver disponível.

Cadastrar Empresa via Web Service

Última atualização em: 13 de julho, 2015

 

Neste artigo iremos demonstrar como realizar o cadastro de uma empresa através do Web Service do InvoiCy.

A partir de agora, assumimos que você já leu o artigo Como enviar um MDF-e. Caso ainda não tenha lido o artigo, recomendamos que realize a leitura do mesmo, para facilitar o entendimento deste artigo.

O cadastramento da empresa é muito simples. 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 Cadastro de empresas  – https://homolog.invoicy.com.br/arecepcao.aspx

2. Criar os XML para o envio
O XML deve ser convertido para String, porém, antes disso, deve-se gerar a chave de comunicação empCK. Mas como fazer isso se ainda não temos a chave de comunicação da empresa?

É simples. Neste caso, deve-se utilizar a chave de parceiro (EmpPK) para fazer a concatenação e posteriormente gerar a chave hash MD5.

3. Armazenar os dados de retorno
Caso a empresa seja cadastrada com sucesso, é preciso guardar o Código da Empresa no InvoiCy e a chave de acesso, informações fundamentais para a emissão com a empresa.

Para obter os Layouts de envio e retorno do Cadastro de Empresas, faça o download do arquivo CadastroEmpresa.zip. Nele você encontrará também arquivos XML de exemplo.

O documento XML deve ser convertido para texto, e inserido entre as TAGS <Documento></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 “&lt;”, “&gt;” e “&quot;” 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, que poderá servir como base.

4. Realize a leitura do retorno do cadastro de Empresa
Após o envio do XML, precisamos realizar a leitura do retorno do processamento do cadastro. O retorno recebido segue a seguinte estrutura SOAP:

A estrutura SOAP acima demonstra o retorno do envio de apenas uma empresa.

O seu sistema deve ler o retorno, validando as informações conforme o layout de retorno. O retorno apresentará o status de cada processo, desde o cadastro da empresa, a instalação do certificado, a validação da licença e o cadastro do usuário.

Para saber mais sobre os possíveis códigos de retorno ao cadastrar uma empresa via Web Service, acesse o artigo Códigos de Retorno Cadastro de Empresa via Web Service.

Contingência para Módulo MDF-e

Última atualização em: 23 de fevereiro, 2015

 

Olá! Neste artigo iremos explicar sobre o processo de envio de documentos em contingência, as possíveis situações que podem acontecer e como o emissor deve proceder em cada uma delas.

Para o módulo MDF-e está disponível apenas a forma de contingência Offline, então o emissor não tem a necessidade de configurar a Ordem de Entrada em Contingência para a sua empresa. Diferente dos demais módulos, quem integra com o módulo MDF-e conseguirá sempre emitir seus documentos, indiferente do retorno que receber.

Ao receber o arquivo xml, por alguma falha na comunicação a Plataforma InvoiCy pode não conseguir enviar o documento para a SEFAZ, nesse caso então entrará em modo Contingência e o documento enviado irá detectar a entrada em contingência, ficando com status “Necessita interação” e retornando para o Emissor o código 108.

O correto a fazer neste caso de retorno 108, é emitir uma cópia do documento anterior e avançar a numeração. Esta cópia terá um avanço na numeração e deverá referenciar o documento emitido anteriormente. Recomendamos a leitura do artigo Referenciando documento emitido anteriormente para compreender o funcionamento desse processo.

Enquanto o InvoiCy estiver operando em modo contingência, o emissor receberá como retorno de status da comunicação o código 109, e como retorno de status do documento o código 105. Mas diferente dos demais módulos, o emissor poderá continuar emitindo seus documentos normalmente, que ficarão armazenados e serão enviados para a SEFAZ quando a comunicação voltar.

É importante salientar que o emissor deve sempre estar atento para o código de retorno do status do documento, e não apenas para o código de retorno da comunicação. Para auxiliar na identificação de ambos, o código de status da comunicação pode ser observado no cabeçalho de retorno do SOAP. Já o código do status do documento pode ser visualizado dentro do arquivo xml do documento.

Após a empresa sair do modo contingência no InvoiCy, então os documentos serão enviados para a SEFAZ e terão seu devido retorno.

É importante destacar ainda que sempre que o Emissor receber como retorno o código 108 deverá avançar a numeração e enviar um novo documento referenciando o anterior.

Para facilitar o entendimento do emissor, foi elaborado um fluxo abrangendo todas essas situações de emissão em contingência, bem como o retorno de cada situação.

Durante o processo de envio, ainda podem acontecer situações como o Aplicativo Comercial ou ERP não possuir conexão com a internet, ou a conexão com o InvoiCy ser perdida durante o processo de emissão e não dar nenhum retorno do documento.

Na primeira situação o documento não será enviado para o InvoiCy, sendo responsabilidade do emissor ajustar a sua infraestrutura para permitir a comunicação com o InvoiCy. Já na segunda situação, o emissor deverá consultar o status do documento para verificar se o mesmo já não foi emitido, ou se será necessário enviá-lo novamente.

Consulta de MDF-e não encerrados

Última atualização em: 21 de fevereiro, 2017

 

Olá! Neste artigo descrevemos como é realizada a consulta dos documentos MDF-e não encerrados através do InvoiCy.

A Plataforma InvoiCy foi adequada de acordo com a NT2015/001, que tem como objetivo disponibilizar um novo Web Service para que os usuários da Plataforma InvoiCy possam verificar quais os documentos MDF-e que ainda não estão encerrados para a sua empresa, pois a SEFAZ não permite enviar um novo MDF-e para a mesma placa antes de executar o encerramento de todos os demais MDF-e.

O Web Service receberá as solicitações de consultas dos documentos MDF-e que ainda não foram encerrados pelo emitente, ou seja, que ainda estejam com status Autorizado. O acesso a consulta é permitido apenas através do CNPJ da empresa emitente do MDF-e.

1. Gere a estrutura do arquivo XML de consulta de MDF-e não encerrados

Através dessa nova funcionalidade é possível realizar a busca de todos os documentos MDF-e ainda não encerrados para a empresa do usuário.

Clique aqui para visualizar um exemplo de XML com a estrutura para consultar os MDF-e não encerrados.

Disponibilizamos também um documento que especifica o layout do arquivo XML que deve ser gerado, clique para fazer o download.

2. Consuma o Web Service de envio de documentos do InvoiCy

Após a geração do XML de consulta dos documentos MDF-e não encerrados, o próximo passo é realizar o consumo do Web Service de recepção do InvoiCy.

O XML de consulta deve estar na tag “Documento”, convertido para texto, como demonstra 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 todo o conteúdo da tag “Documento”. O procedimento para a geração do hash você encontra no artigo Gerando o hash MD5.

3. Obtenha retorno da consulta de MDF-e não encerrados

Será retornada uma relação com as chaves de acesso e número de protocolo dos MDF-e não encerrados.

Disponibilizamos um exemplo de XML de retorno, clique aqui para fazer o download.

Para ter acesso completo as informações da Nota Técnica 2015/001, clique aqui.

Incluindo um condutor no MDF-e

Última atualização em: 21 de fevereiro, 2017

 

Olá! Neste artigo iremos descrever o funcionamento e finalidade do evento de inclusão de condutor no MDF-e.

A inclusão de condutor para o MDF-e não consiste em um evento obrigatório. Este deverá ser informado apenas quando ocorrer alterações referentes ao condutor do veículo e for necessária a inclusão de um novo condutor.

Proceda com os seguintes passos para realizar a inclusão de condutor em um documento:

1. Autorize um documento
A inclusão de condutor somente poderá ser realizada para documentos que receberam a autorização de uso pela SEFAZ.

2. Gere a estrutura do arquivo XML para inclusão de condutor
Você deverá gerar a estrutura do XML para inclusão de condutor em um MDF-e de acordo com o Layout de eventos do MDF-e. Disponibilizamos aqui um exemplo do “Layout 3.0 Evento MDF-e”.

Para facilitar seu entendimento, disponibilizamos também um exemplo com a estrutura do arquivo xml de inclusão de condutor em MDF-e. Clique aqui, para realizar o download.

Por fim, para facilitar a geração do XML de inclusão de condutor, disponibilizamos um arquivo de esquema XSD que poderá servir como base. Clique aqui, para realizar o download do arquivo.

Encerrando um MDF-e

Última atualização em: 21 de fevereiro, 2017

 

Olá! Neste artigo iremos descrever o funcionamento e finalidade do evento de encerramento do MDF-e.

O encerramento do MDF-e consiste em um evento obrigatório, onde deve-se informar ao fisco, através da utilização do Web Service de registro de eventos, sobre o fim da vigência do mesmo, ou seja, quando o MDF-e chegar ao seu destino final este deverá ser encerrado.

Enquanto houver um MDF-e pendente de encerramento não será possível autorizar novo MDF-e para o mesmo UF de carregamento e descarregamento, e para o mesmo veículo.

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

1. Autorize um documento
O encerramento só pode ser feito para documentos que receberam a autorização de uso pela SEFAZ.

2. Gere a estrutura do arquivo XML de encerramento
Você deverá gerar a estrutura do XML de encerramento de um MDF-e de acordo com o Layout de eventos do MDF-e. Disponibilizamos aqui um exemplo do “Layout 3.0 Evento MDF-e”.

Para facilitar seu entendimento, disponibilizamos também um exemplo com a estrutura do arquivo xml de encerramento do MDF-e. Clique aqui, para realizar o download.

Por fim, para facilitar a geração do XML de encerramento, disponibilizamos um arquivo de esquema XSD que poderá servir como base. Clique aqui, para realizar o download do arquivo.

Códigos de retorno do InvoiCy – MDF-e

Última atualização em: 10 de julho, 2014

 

CÓDIGO RESULTADO DO PROCESSAMENTO DA SOLICITAÇÃO
100 Autorizado o uso do MDF-e
101 Cancelamento de MDF-e homologado
103 Arquivo recebido com sucesso
104 Arquivo processado
105 Arquivo em processamento
106 Arquivo não localizado
107 Serviço em Operação
108 Serviço Paralisado Momentaneamente (curto prazo)
109 Serviço Paralisado sem Previsão
111 Consulta cadastro com uma ocorrência
112 Consulta cadastro  com mais de uma ocorrência
132 Encerramento de MDF-e homologado
135 Evento registrado e vinculado a MDF-e
136 Evento registrado, mas não vinculado a MDF-e
CÓDIGO MOTIVOS DE NÃO ATENDIMENTO DA SOLICITAÇÃO
203 Rejeição: Emissor não habilitado para emissão do MDF-e
204 Rejeição: Duplicidade de MDF-e [nRec: 999999999999999]
207 Rejeição: CNPJ do emitente inválido
209 Rejeição: IE do emitente inválida
212 Rejeição: Data de emissão MDF-e posterior a data de recebimento
213 Rejeição: CNPJ-Base do Emitente difere do CNPJ-Base do Certificado Digital
214 Rejeição: Tamanho da mensagem excedeu o limite estabelecido
215 Rejeição: Falha no schema XML
216 Rejeição: Chave de Acesso difere da cadastrada
217 Rejeição: MDF-e não consta na base de dados da SEFAZ
218 Rejeição: MDF-e já está cancelado na base de dados da SEFAZ
219 Rejeição: Circulação do MDF-e verificada
220 Rejeição: MDF-e autorizado há mais de 24 horas
222 Rejeição: Protocolo de Autorização de Uso difere do cadastrado
223 Rejeição: CNPJ do transmissor do arquivo difere do CNPJ do transmissor da consulta
225 Rejeição: Falha no Schema XML do MDF-e
226 Rejeição: Código da UF do Emitente diverge da UF autorizadora
227 Rejeição: Erro na composição do Campo ID
228 Rejeição: Data de Emissão muito atrasada
229 Rejeição: IE do emitente não informada
230 Rejeição: IE do emitente não cadastrada
236 Rejeição: Chave de Acesso com dígito verificador inválido
238 Rejeição: Cabeçalho – Versão do arquivo XML superior a Versão vigente
239 Rejeição: Cabeçalho – Versão do arquivo XML não suportada
242 Rejeição: Elemento mdfeCabecMsg inexistente no SOAP Header
243 Rejeição: XML Mal Formado
245 Rejeição: CNPJ Emitente não cadastrado
247 Rejeição: Sigla da UF do Emitente diverge da UF autorizadora
248 Rejeição: UF do Recibo diverge da UF autorizadora
249 Rejeição: UF da Chave de Acesso diverge da UF autorizadora
250 Rejeição: UF diverge da UF autorizadora
252 Rejeição: Ambiente informado diverge do Ambiente de recebimento
253 Rejeição: Dígito Verificador da chave de acesso composta inválido
280 Rejeição: Certificado Transmissor inválido
281 Rejeição: Certificado Transmissor Data Validade
282 Rejeição: Certificado Transmissor sem CNPJ
283 Rejeição: Certificado Transmissor – erro Cadeia de Certificação
284 Rejeição: Certificado Transmissor revogado
285 Rejeição: Certificado Transmissor difere ICP-Brasil
286 Rejeição: Certificado Transmissor erro no acesso a LCR
290 Rejeição: Certificado Assinatura inválido
291 Rejeição: Certificado Assinatura Data Validade
292 Rejeição: Certificado Assinatura sem CNPJ
293 Rejeição: Certificado Assinatura – erro Cadeia de Certificação
294 Rejeição: Certificado Assinatura revogado
295 Rejeição: Certificado Assinatura difere ICP-Brasil
296 Rejeição: Certificado Assinatura erro no acesso a LCR
297 Rejeição: Assinatura difere do calculado
298 Rejeição: Assinatura difere do padrão do Projeto
299 Rejeição: XML da área de cabeçalho com codificação diferente de UTF-8
402 Rejeição: XML da área de dados com codificação diferente de UTF-8
404 Rejeição: Uso de prefixo de namespace não permitido
409 Rejeição: Campo cUF inexistente no elemento mdfeCabecMsg do SOAP Header
410 Rejeição: UF informada no campo cUF não é atendida pelo WebService
411 Rejeição: Campo versaoDados inexistente no elemento mdfeCabecMsg do SOAP Header
455 Rejeição: Código de Município de Carregamento do MDF-e: dígito inválido
456 Rejeição: Código de Município diverge da UF de Carregamento do MDF-e
473 Rejeição: Tipo autorizador do Recibo diverge do Órgão Autorizador
494 Rejeição: Processo de emissão informado inválido
539 Rejeição: Duplicidade de MDF-e, com diferença na Chave de Acesso [chMDFe: 99999999999999999999999999999999999999999999][nRec:999999999999999]
579 Rejeição: Versão informada para o modal não suportada
580 Rejeição: Falha no Schema XML específico para o modal
592 Rejeição: Chave de acesso inválida (Ano < 2012 ou Ano maior que Ano corrente)
593 Rejeição: Chave de acesso inválida (Mês = 0 ou Mês > 12)
594 Rejeição: Chave de acesso inválida (CNPJ zerado ou dígito inválido)
595 Rejeição: Chave de acesso inválida (modelo diferente de 58)
596 Rejeição: Chave de acesso inválida (número MDF-e = 0)
598 Rejeição: Usar somente o namespace padrão do MDF-e
599 Rejeição: Não é permitida a presença de caracteres de edição no início/fim da mensagem ou entre as tags da mensagem
600 Rejeição: Chave de Acesso difere da existente em BD
601 Rejeição: Chave de Acesso do CT-e informado inválida
602 Rejeição: Segundo Código de Barras deve ser informado para CT-e em contingência
603 Rejeição: Segundo Código de Barras não deve ser informado para CT-e Normal
604 Rejeição: Chave de acesso da NF-e informada inválida
605 Rejeição: NF-e emitida por empresa diferente da empresa emitente do MDF-e
606 Rejeição: Segundo Código de Barras deve ser informado para NF-e em contingência
607 Rejeição: Segundo Código de Barras não deve ser informado para NF-e Normal
608 Rejeição: NF emitida por empresa diferente da empresa emitente do MDF-e
609 Rejeição: MDF-e já está encerrado na base de dados da SEFAZ
610 Rejeição: Existe MDF-e não encerrado para esta placa, UF carregamento e UF descarregamento em data de emissão diferente
611 Rejeição: Código de Município de descarregamento: dígito inválido
612 Rejeição: Código de Município diverge da UF de descarregamento do MDF-e
613 Rejeição: Código de Município de encerramento: dígito inválido
614 Rejeição: Código de Município diverge da UF de encerramento do MDF-e
615 Rejeição: Data de encerramento anterior a data de autorização do MDF-e
616 Rejeição: Nenhum grupo de documentos foi informado (CT-e, CT, NF-e, NF)
617 Rejeição: Chave de acesso de CT-e inválida (Ano < 2009 ou Ano maior que Ano corrente)
618 Rejeição: Chave de acesso de CT-e inválida (Mês = 0 ou Mês > 12)
619 Rejeição: Chave de acesso de CT-e inválida (CNPJ zerado ou dígito inválido)
620 Rejeição: Chave de acesso de CT-e inválida (modelo diferente de 57)
621 Rejeição: Chave de acesso de CT-e inválida (número CT = 0)
622 Rejeição: Chave de acesso de NF-e inválida (Ano < 2005 ou Ano maior que Ano corrente)
623 Rejeição: Chave de acesso de NF-e inválida (Mês = 0 ou Mês > 12)
624 Rejeição: Chave de acesso de NF-e inválida (CNPJ zerado ou dígito inválido)
625 Rejeição: Chave de acesso de NF-e inválida (modelo diferente de 55)
626 Rejeição: Chave de acesso de NF-e inválida (número NF = 0)
627 Rejeição: CNPJ do autor do evento inválido
628 Rejeição: Erro Atributo ID do evento não corresponde a concatenação dos campos (“ID” + tpEvento + chMDFe + nSeqEvento)
629 Rejeição: O tpEvento informado inválido
630 Rejeição: Falha no Schema XML específico para o evento
631 Rejeição: Duplicidade de evento
632 Rejeição: O autor do evento diverge do emissor do MDF-e
633 Rejeição: O autor do evento não é um órgão autorizado a gerar o evento
634 Rejeição: A data do evento não pode ser menor que a data de emissão do MDF-e
635 Rejeição: A data do evento não pode ser maior que a data do processamento
636 Rejeição: O número sequencial do evento é maior que o permitido
637 Rejeição: A data do evento não pode ser menor que a data de autorização do MDF-e
999 Rejeição: Erro não catalogado (informar a mensagem de erro capturado no tratamento da exceção)

Como criar um Projeto no SoapUI

Última atualização em: 18 de abril, 2016

 

Olá! Neste artigo vamos mostrar como realizar a criação de um projeto no aplicativo SoapUI para consumo do Web Service do InvoiCy, integrando com o módulo NF-e.

Apesar de estarmos utilizando como exemplo o envio de documento do modelo NF-e, o presente artigo pode ser utilizado como base para criação de projetos de qualquer documento. Nosso objetivo é apenas mostrar de forma mais clara e objetiva o funcionamento do aplicativo SoapUI, importante ferramenta de testes de Web Service.

O SoapUI é um aplicativo que nos possibilita o teste de consumo de Web Service e obter o devido retorno da requisição. No nosso contexto, o SoapUI torna-se muito útil para testes de integração com o Web Service do InvoiCy.

Mas, chega de conversa e vamos aprender na prática como criar um projeto.

1. Primeiramente, o SoapUI está disponível para download no seguinte endereço:
http://sourceforge.net/projects/soapui/files/

2. Após o Download, basta realizar a instalação do aplicativo, que é muito simples. Basta executar “Next” em todas as etapas até concluir a instalação.

3. Após instalado, abra o aplicativo. Veja que no canto superior esquerdo temos um menu de árvore onde consta o item “Project”. Veja abaixo:

 

4. Ao clicar sobre “New SOAP Project”, abrirá uma tela onde se deve informar um nome para o projeto e o endereço do Web Service que vamos trabalhar.

 

Note que no campo “Project Name” inserimos o valor “Projeto Teste”, e no campo “Initial WSDL” informamos o endereço do Web Service que vamos trabalhar.

Obs.: Neste momento é necessário que ao final do endereço seja incluído “?WSDL” (sem as aspas). Caso não seja inserido, vai gerar um erro na hora de criar o projeto. Também precisamos inserir o Web Service com HTTPS. Não deve ser utilizado HTTP.

O campo “Create Requests” já vem marcado por padrão pelo SoapUI. Porém, caso não esteja marcado, marque-o. Clique em OK para criar o projeto.

5. Será criado na árvore de projetos um novo item, denominado “Projeto Teste”, contendo a estrutura “RecepcaoSoapBinding” > “Execute” > “Request 1”. Dê duplo clique sobre o item “Request 1”.


 
6. Será aberto no quadro ao lado, toda a estrutura Soap do Web Service de Recepção do InvoiCy. Veja:

 

Perceba na figura acima, que mesmo criando o projeto do WebService em HTTPS, o aplicativo SoapUI gera o link de consumo em HTTP. Este é um bug do SoapUI, e neste caso, você deverá editar esta linha inserindo HTTPS manualmente, ficando desta forma:

 

7. Agora que já realizamos o consumo do Web Service, devemos inserir as informações para que possamos fazer a requisição de forma adequada, conforme segue:

– No campo “EmpPK” devemos inserir a chave de Parceiro, chave esta que é fornecida pela Migrate. (Ex: ATxRwjxIbpWZthiuRNm+XU==).

– No campo “EmpCK” devemos inserir o código hash MD5 gerado a partir do documento a ser enviado, conforme artigo “Como gerar o código HASH MD5”.

– O campo “EmpCO” pode ser mantido em branco.

– O campo “Texto” pode ser mantido em branco.

– No campo “Documento” devemos inserir o conteúdo XML gerado da NF-e. Neste campo também podemos inserir qualquer outro tipo de documento, como CT-e, MDF-e e NFC-e.

– Já no campo “Parametros”, inicialmente podemos deixa-lo em branco. Existem alguns casos em que devem ser passados parâmetros, como no cadastro de uma nova empresa, porém não é nossa intenção detalhar estes processos neste momento.

Vejam na imagem abaixo um exemplo de Soap.

 

Obs: As tags “EmpCo”, “Texto” e “Parametros” também podem ser removidas da estrutura Soap, pois não é necessário o envio de nenhuma informação, conforme imagem acima.

8. Após inserir os dados, basta clicar sobre o botão “Play”, no canto superior esquerdo do aplicativo. Veja:

 

9. Após a execução do mesmo, será exibido o retorno na parte direita do aplicativo, conforme demonstra a imagem abaixo. Veja:

 

No retorno, será exibido o código e mensagem de retorno do Soap, e também será retornado o arquivo XML na tag “Documento”, contendo mensagens mais detalhadas de retorno.

Realize o download de um exemplo de SOAP completo, clicando aqui. Ou acesse a página de downloads do Portal dos Desenvolvedores para obter mais exemplos.

Cancelando um MDF-e

Última atualização em: 21 de fevereiro, 2017

 

Olá! Neste artigo iremos descrever como é realizado o cancelamento de um MDF-e através do InvoiCy.

A partir deste momento, assumimos que você já leu o artigo “Enviando um MDF-e”. Caso ainda não tenha lido este artigo, recomendamos a sua leitura para facilitar o entendimento deste artigo.

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 um MDF-e, de acordo com o Layout de eventos do MDF-e. Para visualizá-lo, faça download do “Layout 3.0 Evento MDF-e”.

Nós disponibilizamos para você um exemplo da estrutura do arquivo de cancelamento para facilitar seu entendimento. Clique aqui, para realizar o download.

3. Consuma o Web Service de envio de documentos do InvoiCy
Após gerar o layout de cancelamento do MDF-e que você deseja cancelar, basta realizar o consumo do WS de integração do InvoiCy, conforme já descrito no artigo “Integrando com o InvoiCy”.

Para facilitar o seu entendimento, anexamos a este artigo um exemplo completo de cancelamento de uma MDF-e através do WS de integração do InvoiCy. Clique aqui, e realize o download do documento.

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 do MDF-e. Para os eventos, estarão preenchidas as tags específicas no retorno, como o EveTp e EveId, como mostra a imagem abaixo.

O próximo passo é: Consultando um documento

Artigos Relacionados:

Enviando um MDF-e

Última atualização em: 21 de fevereiro, 2017

 

Olá! Neste artigo iremos demonstrar como realizar o envio de um MDF-e através do InvoiCy.

A partir de agora, assumimos que você já leu o artigo “Integrando com o InvoiCy”. Caso ainda não tenha lido o artigo, recomendamos que realize a leitura do mesmo, para facilitar o entendimento deste artigo.

Os seguintes passos são necessários para enviar um MDF-e:

1. Consumindo o Web Service arecepcao.aspx.
Primeiramente, você deve realizar o consumo do Web Service de envio de documentos do InvoiCy, conforme o artigo “Integrando com InvoiCy”.

2. Gerando o documento no layout do MDF-e.
Para obter o layout atualizados do MDF-e, consulte o artigo “Layout 3.0 MDF-e”. Neles você encontra a estrutura completa do arquivo XML da para gerar o documento a ser enviado ao InvoiCy.

O XML do documento deve ser convertido para texto, e 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 “>” por “&lt;” e “&gt;” respectivamente, de acordo com a tabela da W3C: http://www.w3schools.com/html/html_entities.asp.

Para facilitar o seu entendimento, anexamos a este artigo alguns exemplos de arquivo XML no layout do MDF-e.

Clique aqui, e realize o download do arquivo zip contendo exemplos de arquivos XML do MDF-e.

3. Realize a leitura do retorno do envio do MDF-e.
Após o envio do MDF-e, 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.

Abaixo demonstramos a estrutura do XML de retorno:

Todo o conteúdo acima estará dentro da tag “CDATA” que, por sua vez, estará dentro da TAG <Documento> do 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 do MDF-e”.

Agora que você já está familiarizado com a integração, podemos prosseguir ao próximo passo.

Seu próximo passo é: Cancelando um MDF-e