Controle de Numeração

Essa funcionalidade do MDFePack tem como objetivo prover automaticamente ao usuário, a numeração dos documentos enviados para a SEFAZ. É de responsabilidade do MDFePack, manter essa informação atualizada.

O controle de numeração do MDFePack pode ser utilizado de duas formas:

1 - Controlar somente o número

Através dessa forma, é possível integrar um MDF-e sem a informação de número. O sistema irá assumir a emissão com número 1, sempre incrementando o número.

OBS.: Para esse cenário, caso não seja infromada a série do documento, o sistema irá assumir 0 para o campo.

Configuração

Não é necessário ter nenhuma configuração ativa. Salvo casos em que o usuário queira emitir a partir de um derminado número. Sendo assim é necessário indicar o último número utilizado, inserindo um registro na tabela CONTRO_NUMERA_EDOC indicando o CNPJ do emissor, modelo (58) e série, conforme segue:

1
2
INSERT INTO CONTRO_NUMERA_EDOC (CNPJ, MODELO, SERIE, ULTIMO_NUMERO, DATA_GERACAO)
VALUES (9999999999999, 57, 1, 50, GETDATE())

Se for a primeira emissão e não tiver registros configurados na tabela CONTRO_NUMERA_EDOC, será adotado número inicial do MDFe = 1.

Integração

  • Banco de dados: Informar a coluna INTERF_MDFE_XML.nMDF valor = 0.
  • Arquivo (XML): Informar a tag <nMDF> com valor = 0 ou remover essa tag do XML.
  • WebService: Informar a tag <nMDF> com valor = 0 ou remover essa tag do XML.

Para mais informações sobre essa estrutura de integração acesse: RecepcionarMDFe

2 - Controlar série e número

Esta forma possibilita ao usuário maior controle da operação, cadastrando uma série padrão e a numeração inicial desejada.

Configuração

O primeiro passo é configurar o(s) servidor(es) de cache que serão utilizados pelas empresas. Sem essa informação, a configuração do controlador de numeração não será habilitada. Acessar o menu Configurações > Sistema:

Configuração de servidores cache

Na configuração do sistema existe a aba “Servidores de cache” onde é possível adicionar, visualizar, editar e remover os dados dos servidores de cache.

Configuração de servidores cache

Clicando no botão “Novo” é exibida uma tela para preenchimento das informações do servidor:

Tela dados servidor cache

Tendo finalizado o cadastro do servidor de cache, o próximo passo é preciso fazer um apontamento agora no cadastro da empresa direcionando para o servidor de cache que gostaria de utilizar. Acessar as configurações da empresa no menu Configurações > Empresas:

Menu da configuração de empresas

Clicar no botão Editar da empresa desejada:

Listagem das empresas

Na aba “Controle de Numeração”, habilitar a configuração “Utiliza controle de numeração”. Será exibido campos para cadastro:

Configuração habilitada do controle de numeração no cadastro da empresa
  • Série padrão: Essa será a série padrão que o MDFePack utilizará para geração dos documentos.
  • Último número: Esse é o último número válido utilizado pelo MDFePack para autorização de um documento e que será incrementado automaticamente ao autorizar um documento para SEFAZ.
  • Servidor de cache: Selecionar qual servidor de cache será utilizado que foi cadastrado anteriormente.

Integração

  • Banco de dados: Informar as colunas INTERF_MDFE_XML.nMDF e INTERF_MDFE_XML.serie valor = 0.
  • Arquivo (XML): Informar as tags <nMDF> e <serie> com valor = 0 ou remover essas tags do XML.
  • WebService: Informar as tags <nMDF> e <serie> com valor = 0 ou remover essas tags do XML.

Quando é habilitada essa forma de controle de numeração do MDFePack integrando via WebService, é obrigatório informar um identificadorOperacao para controle interno do MDFePack, conforme estrutura abaixo:

1
2
3
4
5
6
7
<?xml version="1.0" encoding="ISO-8859-1"?>
<IntegracaoMDFe>
    <MDFe xmlns="http://www.portalfiscal.inf.br/mdfe">
        <!--dados do mdfe-->
    </MDFe>
    <IdentificadorOperacao>234872847</IdentificadorOperacao>
</IntegracaoMDFe>

Para mais informações sobre essa estrutura de integração acesse: RecepcionarMDFe

OBS.: Essa estrutura é também recomendada para as integrações que não utilizam o controle de numeração, porém a TAG IdentificadorOperacao é opicional nesse cenário. A integração antiga ainda será suportada para os cenários que não necessitem de informações adicionais tampouco façam uso do controle de numeração.

Casos de falha

Assumindo que existam falhas no processo de comunicação (oscilação, falhas de rede, etc), o ERP pode ficar sem receber a resposta do WebService do MDFePack contendo a chave do MDFe integrado. Para situações como essa, o ERP poderá realizar uma consulta do MDFe pelo IdentificadorOperacao passado na integração.

Acesse a documentação sobre web_service_consulta para visualizar os XMLs de integração e suas respectivas respostas.

A proposta desta consulta é possibilitar o ERP de identificar como está a situação deste MDF-e e poder reintegrá-lo em caso de rejeições. Neste caso, o ERP irá reintegrar o MDFe contendo as informações de série e número retornadas através da consulta do MDFe.

Segue abaixo uma tabela comparativa com os principais cenários de integração. Os campos marcados com X são informados na integração com valor aleatório.

ID = <IdentificadorOperacao>
Série = <serie>
Número = <nMDF>

      Resultado da integração
ID Série Número MDFePack controla número e série
X X X Integra com sucesso
X     Integra com sucesso
X X 0 Integra com sucesso
X X 123 Integra com sucesso (Mantém o número inforado)
      Crítica de integração
    0 Crítica de integração
  X 0 Crítica de integração
  X 123 Integra com sucesso