Manual de Integração Versão 1.0
Conteúdo 1 Obtendo e Instalando o Conhecimento de Transporte... 4 1.1 Obtendo o Instalador... 4 1.2 Instalando Componentes... 4 1.3 Instalando o CT-e... 4 2 Padrão de Pastas (Diretórios)... 7 2.1 Pasta Autorizadas... 8 2.2 Pasta Cancelamentos... Erro! Indicador não definido. 2.3 Pasta Conhecimentos... Erro! Indicador não definido. 2.4 Pasta Inutilizadas... Erro! Indicador não definido. 2.5 Pasta Processados... 8 2.6 Pasta Remessas... 9 3 Funcionalidades do NSCT-e... 9 3.1 Processamento do CT-e no sistema... 9 3.1.1 Retornos em caso de processo realizado com sucesso... 9 3.1.2 Retornos em caso de erro ao realizar o processo... 9 3.2 Processando Conhecimento com número específico... 10 4 Informações Úteis... 11 4.1 Retorno de Processamento da Sefaz (XML)... 11 4.1.1 Motivos do Retorno... 11 2
4.2 Retorno de Processamento da Sefaz (.txt)... 11 4.2.1 Conhecimentos... Erro! Indicador não definido. 4.2.2 Cancelamentos... 12 4.2.3 Inutilização... 13 4.3 Chamando o NSCT-e a partir do seu Sistema... 14 4.4 Acessando a tela de Operações... 15 3
1 Obtendo e Instalando o MDF-e 1.1 Obtendo o Instalador Para realizar o download do Manifesto do Documento Fiscal acesse o link a seguir: http:// 1.2 Instalando Componentes O Manifesto do Documento Fiscal Eletrônica possui como requisitos mínimos a instalação do Microsoft Framework.NET 2.0, Framework.NET 4.0 e da Máquina Virtual Java (JVM). Para fazer o download e instalação desses itens, utilize os links abaixo e siga as instruções fornecidas nas páginas: Framework.NET 2.0: http://www.microsoft.com/pt-br/download/details.aspx?id=22 Framework.NET 4.0: http://www.microsoft.com/pt-br/download/details.aspx?id=17851 JAVA (JVM): http://www.java.com/pt_br/ 1.3 Instalando o MDF-e A tela a seguir irá aparecer indicando o início da instalação, clique em Avançar: 4
Figura 1 - Início da Instalação do Sistema NS MDF-e Na próxima tela, selecione o local onde deseja instalar o sistema. Este local será o diretório raiz do sistema. Depois de selecionar o local, clique em Avançar: Figura 2 - Seleção do Diretório de Instalação do MDF-e Figura 3 - Início da Instalação do Sistema NS MDF-e Na próxima tela, selecione o local onde deseja instalar o atalho para o sistema.. Depois de selecionar o local, clique em Avançar: 5
Figura 4 - Confirmação de Instalação do MDF-e Obs.: É aconselhável que o Manifesto do Documento Fiscal seja instalado dentro da pasta do sistema da software house. Clique em Instalar na próxima tela: Figura 5 - Confirmação de Instalação do MDF-e 6
A próxima tela mostrará o processo de instalação: Figura 6 - Processo de Instalação do MDF-e 2 Padrão de Pastas (Diretórios) O Conhecimento de Transporte NS CT-e contém uma série de pastas que são instaladas junto com o sistema, não podendo haver alteração em sua estrutura. 7
Cada pasta possui uma finalidade específica para o sistema conforme descrito abaixo: 2.1 Pasta Autorizadas Esta pasta contém os arquivos XML que o SEFAZ retorna para o sistema referente a cada conhecimento autorizado e cancelado. Cada arquivo possui, no final de seus registros, as informações fornecidas pela SEFAZ referente ao recebimento e processamento das notas.. 2.2 Pasta Processados Sempre que um arquivo de texto é lido dentro da pasta remessas o sistema move automaticamente o arquivo para dentro desta pasta. Nestes arquivos é adicionado ao final de seus registros, uma linha contendo o registro RP que contém dados sobre o retorno de processamento da nota fornecido 8
pela SEFAZ. Desta forma o sistema ERP da software House pode fazer a leitura do.txt retornado. Para mais informações sobre esses dados, verifica o capítulo de informações úteis. 2.3 Pasta Remessas Dentro desta pasta deve ser colocados os arquivos.txt Manifesto do documento, cancelamento e encerramento gerado pelo sistema ERP da software House. Estas pastas ficam localizadas no diretório raiz do sistema (C:\NSMDFe). 3 Funcionalidades do NSMDF-e 3.1 Processamento do MDF-e no sistema O sistema realiza as funções de validação, do Manifesto de documento fiscal e impressão do DACTE toda a vez que é executado e encontra um arquivo de notas na pasta remessas (vide capítulo 2.6). Os passos necessários podem ser descritos então na seguinte ordem: Gerar o arquivo de manifesto dentro da pasta remessas Executar o MDFe.exe 3.1.1 Retornos em caso de processo realizado com sucesso Em caso de sucesso no processo de manifesto do documento fiscal o sistema exibe na tela o DACTE para impressão. 3.1.2 Retornos em caso de erro ao realizar o processo Quando ocorrer algum erro durante o processo de transmissão do manifesto o sistema automaticamente encerra o processo e exibe em tela a 9
mensagem informando o respectivo erro. O sistema aguarda que o usuário leia e confirme a mensagem. O sistema fica aberto aguardando que o erro seja resolvido e que o manifesto seja exportado para a pasta remessas novamente para recomeçar o processo. 3.2 Processando Manifesto com número específico É possível dizer ao MDF-e que ele deve processar um manifesto especifico disponível dentro da pasta remessas. Para isso, basta que você passe o número do manifesto desejado como parâmetro na chamada do sistema. Este recurso é muito importante para sistemas que emitem manifesto em diversas estações, pois neste caso, duas máquinas podem gerar e lançar manifestos ao mesmo tempo dentro da pasta remessas, mas cada máquina deve processar o manifesto que gerou. Exemplos de como chamar o emissor passando um manifesto específico como parâmetro: Para processar somente a nota número 1 (arquivo: 00001.txt): Visual Basic 6: Shell ( C:\NSMDFe\MDFe.exe 1 ) Java Process p = Runtime.getRuntime().exec("C:\\NSMDFe\\MDFe.exe 1"); Delphi WinExec ('C:\NSMDFe\CTe.exe 1', 1); VB.NET Dim p as Process = new Process() 10
p.startinfo.filename = C:\NSMDFe\MDFe.exe p.startinfo.arguments = "1" p.start(); p.waitforexit(); 4 Informações Úteis 4.1 Retorno de Processamento da Sefaz (XML) Os arquivos XML contidos dentro da pasta autorizados (vide capítulo 2.1) possuem algumas informações que são fornecidas pelo sistema da Sefaz. Este capítulo descreve algumas dessas informações que podem ser de utilizadas pela Software House. 4.1.1 Motivos do Retorno Uma das informações mais úteis fornecidas pelo sistema da Sefaz é o motivo de retorno do manifesto. O campo que contém este valor é o campo <xmotivo>. Dentro dos motivos de retorno os mais comuns são: Autorizado Uso do MDF-e: quando o manifesto é recebido pela Sefaz e a impressão do DACTE é autorizada; Rejeição: este motivo virá sempre seguido do motivo pelo qual o manifesto foi rejeitado. Exemplo: se o motivo for Rejeição: Duplicidade de MDF-e, significa que o manifesto foi rejeitado, pois já estava no banco de dados da Sefaz quando foi enviada. Obs.: Sempre que ocorrer alguma rejeição o sistema mostrará uma mensagem informando que a nota foi rejeitada e o motivo do mesmo. 4.2 Retorno de Processamento da Sefaz (.txt) O manifesto de documento também guarda algumas informações de retorno da Sefaz nos arquivos de texto referentes aos manifestos processados. 11
4.2.1 Manifestos Os arquivos txt s dos manifestos contidos dentro da pasta processados possuem no final de seus registros, o registro RP que contém as seguinte informações de retorno: RP + protocolo de autorização + digest value + cod. Retorno + descrição do retorno + chave de acesso Cada campo é separado dentro do registro pelo caracter pipe ( ). Ex.: para o registro RP: RP 943140000062546 s1xkrf13rmr5yxw3hnkrymtkddc= 100 Autorizado o uso do MDF-e MDFe43140612936129000195580000000000342000000340 0 34 Os valores obtidos seriam: Protocolo de autorização: 943140000062546 Digest Value: s1xkrf13rmr5yxw3hnkrymtkddc= Código do Retorno: 100 Descrição do Retorno: Autorizado o uso do MDF-e Chave de Acesso: MDFe43140612936129000195580000000000342000000340 Cancelamentos Os arquivos de cancelamento ficam armazenados dentro da pasta processados, também possuem as informações de retorno de processamento. O registro RP neste caso possui o seguinte layout: RP + codigo retorno processamento do cancelamento + descricao do processamento do cancelamento Cada campo é separado dentro do arquivo pelo caracter pipe ( ). Ex.: Para o registro RP: RP 101 Cancelamento de CT-e homologado 12
Os valores obtidos seriam Cod. Retorno de Processamento: 101 Descrição de Retorno de Processamento: Cancelamento de CT-e homologado 4.2.2 Inutilização Os arquivos de inutilização conhecimentos que ficam armazenados dentro da pasta Inutilizadas, também possuem as informações de retorno de processamento. O registro RP neste caso possui o seguinte layout: RP + cód. processamento + mensagem processamento + data e hora recebimento da solicitação de processamento + protocolo de processamento Cada campo é separado dentro do arquivo pelo caracter pipe ( ). Ex.: Para o registro RP: RP 102 Inutilizacao de numero homologado 2010-08-30T18:09:47 143200001624655 Os valores obtidos seriam Cod. Retorno de Processamento: 102 Mensagem de Processamento: Inutilização de Numero Homologado. Data e Hora do Recebimento: 2010-08-30t18:09:47 Protocolo de Processamento: 143200001624655 Obs.: No momento em que o CT-e recebe o retorno de processamento da Sefaz, na inutilização do conhecimento, é salvo, dentro da pasta Inutilizadas, um arquivo xml contendo todos os dados de solicitação de inutilização e logo abaixo retorno do processamento. 13
4.2.3 Reimpressão Os arquivos de reimpressão ficam armazenados dentro da pasta processados, mas neste caso não grava no txt as informações de retorno de processamento. Seu CT-e somente será reimpresso. 4.2.4 Carta de Correção Os arquivos da Carta de Correção ficam armazenados dentro da pasta processados, também possuem as informações de retorno de processamento. O registro RP neste caso possui o seguinte layout: RP + Informação do Protocolo do Evento + Código do status da resposta + Descrição do status da resposta + Chave de Acesso da CT-e vinculada ao evento + Data e hora do processamento. Cada campo é separado dentro do arquivo pelo caracter pipe ( ). Ex.: Para o registro RP: RP 135 Evento registrado e vinculado a CT-e - CC-e Os valores obtidos seriam Cod. Retorno de Processamento: 135 Descrição de Retorno de Processamento: Evento registrado e vinculado a CT-e - CC-e. 4.3 Chamando o NSCT-e a partir do seu Sistema O CT-e pode ser integrado com qualquer sistema em ambiente Windows, independente da linguagem em que foi desenvolvido. Abaixo segue alguns exemplos de como chamar o executável do emissor diretamente pelo sistema ERP: Visual Basic 6: Shell ( C:\NSCTe\OperacoesCTe.exe ) 14
Java Process p = Runtime.getRuntime().exec("C:\\NSCTe\\OperacoesCTe.exe"); Delphi WinExec ('C:\NSCTe\OperacoesCTe.exe', 1); VB.NET Dim p as Process = new Process() p.startinfo.filename = C:\NSCTe\CTe.exe p.start(); 4.4 Acessando a tela de Operações A tela de operações possui um arquivo executável próprio que pode ser aberto diretamente através do sistema ERP da software house e que dá acesso as funções de reimpressão, cancelamento e inutilização de notas. Este arquivo encontra-se na pasta raiz do sistema com o nome de OperacoesCT-E.exe. Sempre que aberto, este executável carrega a lista a lista de todos os conhecimentos que foram emitidos através do NS CT-e. Exemplo de execução do arquivo (levando em conta que o sistema tenha sido instalado no diretório C:\NSCTe): Visual Basic 6 e VB.NET: Shell ( C:\NSCTe\OperacoesCTe.exe ) Java Process p = Runtime.getRuntime().exec("C:\\NSCTe\\OperacoesCTe.exe"); Delphi WinExec ('C:\NSCTe\OperacoesCTe.exe', 1); VB.NET 15
Dim p as Process = new Process() p.startinfo.filename = C:\NSCTe\OperacoesCTe.exe p.start(); 16