CODIF
O Codif é um sistema informatizado de controle destinado à prévia autorização do diferimento do lançamento do imposto incidente na operação interna ou interestadual, que destina Álcool Etílico Anidro Combustível (AEAC) aos estabelecimentos distribuidores de combustíveis.
Está disponível no eDocs um web service denominado Codif, que faz a obtenção do código de autorização Codif e retorna esse código ao Gestão Empresarial | ERP, para que seja efetuada a emissão do documento.
Para ativar o serviço Codif, no eDocs acesse Configuração > Geral > Integração e assinale a opção Sim do campo Ativar web service CODIF e clique em Salvar. Em seguida, reinicie os serviços do sistema através da guia Serviços do Configurador.
Para acessar o web service do Codif verifique a porta configurada em Configuração > Geral > Integração > Porta e se o web service está configurado para ser inicializado (Configuração > Geral > Integração > Ativar web service CODIF).
Para verificar se o serviço está em execução pode-se acessar o endereço: http://<nome do servidor>:<número da porta>/SDE/Codif.
<nome do servidor>: nome/IP da máquina, onde está instalado o serviço "Senior Documentos Eletrônicos". Caso estiver instalado no mesmo computador que o Gestão Empresarial | ERP pode ser utilizado "localhost" (Ex.: http://localhost:<porta>/SDE/Codif)
<número da porta>: porta configurada para o web service. A porta padrão é 8989, podendo ser alterada de acordo com as necessidades de instalação e configuração do ambiente. É exibida uma página com o título "CodifServico Serviço" indicando que o serviço está em execução.
Para acessar o WSDL do web service basta adicionar ao final da URL "?wsdl", sendo retornada a descrição do serviço.
Definições dos parâmetros que devem constar na regra criada no ERP, para envio ao web service Codif:
- Usuário – Usuário da integração via WCF
- Senha – Senha da integração via WCF
- XML – Mensagem no formato SolicitacaoAutorizacao
XML
É o arquivo em formato XML que será enviado ao eDocs para, em seguida, ser encaminhado à Sefaz para obtenção do código de autorização do Codif. Este modelo de XML é similar ao da Sefaz.
<SolicitacaoAutorizacao>
< CNPJ do Remetente>
<CnpjRemetente>11111111111111</CnpjRemetente>
<CNPJ do Destinatário>
<CnpjDestinatario>11111111111111</CnpjDestinatario>
<Tag reservada para o CPF do Destinatário, atualmente não utilizada pelo SDE >
<CpfDestinatario>11111111111</CpfDestinatario>
<Tag reservada para a Razão Social do Destinatário, atualmente não utilizada pelo SDE>
<RazaoSocialDestinatario>4</RazaoSocialDestinatario>
<Código IBGE da UF do Remetente>*
<CodigoUfRemetente>50</CodigoUfRemetente>
<Tag reservada para o Código IBGE da UF do Destinatário, atualmente não utilizada pelo SDE>
<CodigoUfDestinatario>6</CodigoUfDestinatario>
<Volume (quantidade) de combustível transportado>
<Quantidade>1</Quantidade>
<Tag reservada para o Código da Unidade de Medida da <Quantidade>. Hoje a unidade de medida é fixa em litros>
<CodigoUnidadeMedida>8</CodigoUnidadeMedida>
<Tag reservada para o Tipo de Combustível transportado, atualmente não utilizada pelo SDE>
<TipoCombustivel>9</TipoCombustivel>
<Código do combustível transportado segundo classificação da ANP>
<CodigoAnp>810102001</CodigoAnp>
<CFOP da Nota Fiscal>
<CodigoCfop>6652</CodigoCfop>
<Tag reservada para Deferimento, atualmente não utilizada pelo SDE>
<Deferimento>12</Deferimento>
</SolicitacaoAutorizacao>
Importante
*O serviço Codif só é suportado pelo eDocs quando o <CodigoUfRemetente> é o estado do Mato Grosso do Sul (código IBGE: 50).
Quando o sistema recebe a requisição para obtenção do CODIF, são checadas as informações referentes ao usuário, senha e XML. Seguem algumas situações possíveis após esse processamento:
- Caso usuário ou senha sejam inválidos, o retorno é do tipo <RetornoSolicitacaoAutorizacao> com o campo Sucesso = false, e a mensagem "Usuário e/ou senha incorretos" é apresentada.
- Caso, na requisição, seja passado um XML vazio, o retorno é do tipo <RetornoSolicitacaoAutorizacao> com o campo Sucesso = false, e mensagem "XML Inválido" é exibida.
- Quando, no XML, a tag <CodigoUfRemetente> é preenchida com um valor diferente de 50 (Mato Grosso do Sul), o retorno é do tipo <RetornoSolicitacaoAutorizacao> com o campo Sucesso = false, e a mensagem "Codif não suportado para o estado" é apresentada.
Após realizadas as validações pelo eDocs, uma solicitação para autorização do Codif é enviada à Sefaz.
Seguem algumas situações possíveis após essa solicitação:
- Caso a Sefaz rejeite a solicitação, o retorno é do tipo <RetornoSolicitacaoAutorizacao> com o campo Sucesso = false, e uma mensagem de rejeição é retornada pela Sefaz.
- Caso a solicitação seja autorizada, o retorno é do tipo <RetornoSolicitacaoAutorizacao> com o campo Sucesso = true, e é gerado o código de autorização do Codif no campo CodigoAutorizacao.
- Durante o processo de autorização do Codif, se ocorrer qualquer tipo de erro não esperado, a mensagem "Não foi possível atender a requisição: {mensagem_de_erro}" é exibida, onde mensagem_de_erro é a descrição do problema.
O retorno da requisição ao ERP é do tipo <RetornoSolicitacaoAutorizacao> e contém os campos Sucesso, Mensagem, CodigoAutorizacao e Identificador.
Sucesso
Identifica se o Codif foi autorizado com sucesso.
- Caso tenha sido autorizado é retornado Sucesso = true.
- Se houver rejeição ou erros no processamento é retornado Sucesso = false.
Mensagem
Descreve o erro em casos de falha, e só é informado quando Sucesso = false.
CodigoAutorizacao
Representa o código de autorização do Codif gerado pela Sefaz, e só é informado quando Sucesso = true.
Identificador
Faz parte da estrutura padrão de retornos de web services do eDocs e não é utilizado pelo Serviço Codif. Deve ser ignorado.
Codigo
Faz parte da estrutura padrão de retornos de web services do eDocs e não é utilizado pelo Serviço Codif. Deve ser ignorado.
Importante
Para utilizar o web service codif é indispensável a criação de uma regra no Gestão Empresarial | ERP. Essa regra deve ser construída com a seguinte estrutura:
Definir SDE.Codif.Solicitar codif;
Definir alfa usuario;
Definir alfa senha;
Definir alfa xml;
Definir alfa CodigoAutorizacao;
Definir alfa MensagemResult;
Definir alfa Sucesso;
@ Definição de Usuário e senha utilizado pelo Web Service do CODIF @
usuario = "usuario";
senha = "senha";
codif.usuario = usuario;
codif.senha = senha;
@ Definições dos parâmetros enviados ao Web Service @
xml = "<SolicitacaoAutorizacao>"
xml = xml + "<CnpjRemetente>11111111111111</CnpjRemetente>";
xml = xml + "<CnpjDestinatario>11111111111111</CnpjDestinatario>";
xml = xml + "<RazaoSocialDestinatario>4</RazaoSocialDestinatario>";
xml = xml + "<CodigoUfRemetente>50</CodigoUfRemetente>";
xml = xml + "<CodigoUfDestinatario>6</CodigoUfDestinatario>";
xml = xml + "<Quantidade>1</Quantidade>";
xml = xml + "<CodigoUnidadeMedida>8</CodigoUnidadeMedida>";
xml = xml + "<TipoCombustivel>9</TipoCombustivel>";
xml = xml + "<CodigoAnp>810102001</CodigoAnp>";
xml = xml + "<CodigoCfop>6652</CodigoCfop>";
xml = xml + "<Deferimento>12</Deferimento>";
xml = xml + "</SolicitacaoAutorizacao>";
@ Execução do Web Service CODIF @
codif.xml = xml;
codif.Executar();
@ Obtenção do Retorno do Processamento @
CodigoAutorizacao = codif.SolicitarResult.CodigoAutorizacao;
MensagemResult = codif.SolicitarResult.Mensagem;
Sucesso = codif.SolicitarResult.Sucesso;