Tabelas e Informações do MDF-e
1. Ambientes de Homologação e Produção
O Ambiente Autorizador Nacional mantém ambientes de homologação e produção. A homologação é destinada aos testes e à integração das aplicações do contribuinte durante a implementação ou adequação do sistema emissor.
A entrada em produção depende da aprovação, pelas equipes de TI e de negócios da própria empresa, da adequação, do comportamento e da performance do sistema em homologação. O contribuinte pode gerar MDF-e sem valor fiscal para sua massa de testes. Testes indevidos em produção podem acionar controles de uso indevido e causar bloqueios administrativos.
2. Tratamento de Caracteres Especiais no XML
Todo texto XML é analisado por um parser. Os caracteres abaixo afetam esse processamento e devem ser substituídos por sequências de escape, especialmente em razão social, endereço e informação adicional.
Exemplo: DIAS & DIAS LTDA deve ser representado no XML como DIAS & DIAS LTDA.
| Caractere | Sequência de escape |
|---|---|
< | < |
> | > |
& | & |
" | " |
' | ' |
3. Cálculo do Dígito Verificador da Chave de Acesso
O dígito verificador usa módulo 11. Cada algarismo dos 43 caracteres anteriores ao DV é multiplicado, da direita para a esquerda, pela sequência 2, 3, 4, 5, 6, 7, 8, 9, repetida. Soma-se a ponderação, divide-se o total por 11 e aplica-se DV = 11 - resto. Se o resto for 0 ou 1, o DV é 0.
No exemplo oficial, a base é 5206043300991100250655012000000780026730161; a soma ponderada é 644, o resto da divisão por 11 é 6 e o DV é 5, completando a chave de 44 caracteres.
| Etapa | Resultado |
|---|---|
| Soma das ponderações | 644 |
| Divisão | 644 ÷ 11 = 58, resto 6 |
| Cálculo | 11 - 6 = 5 |
| Dígito verificador | 5 |
4. Codificação das Unidades Federadas
O projeto utiliza a codificação de UF definida pelo IBGE.
| Norte | Nordeste | Sudeste | Sul | Centro-Oeste |
|---|---|---|---|---|
| 11 - Rondônia | 21 - Maranhão | 31 - Minas Gerais | 41 - Paraná | 50 - Mato Grosso do Sul |
| 12 - Acre | 22 - Piauí | 32 - Espírito Santo | 42 - Santa Catarina | 51 - Mato Grosso |
| 13 - Amazonas | 23 - Ceará | 33 - Rio de Janeiro | 43 - Rio Grande do Sul | 52 - Goiás |
| 14 - Roraima | 24 - Rio Grande do Norte | 35 - São Paulo | 53 - Distrito Federal | |
| 15 - Pará | 25 - Paraíba | |||
| 16 - Amapá | 26 - Pernambuco | |||
| 17 - Tocantins | 27 - Alagoas | |||
| 28 - Sergipe | ||||
| 29 - Bahia |
5. Número do Protocolo
O Ambiente Autorizador gera um número único de 15 posições para identificar as transações de autorização e registro de eventos.
| Tipo de autorizador | Código da UF | Ano | Sequencial |
|---|---|---|---|
| 1 posição | 2 posições | 2 posições | 10 posições |
O tipo de autorizador é 9 para o Ambiente Nacional do MDF-e ou 2 para o Site Alternativo do Ambiente Nacional. Junto ao protocolo, o DAMDFE apresenta data no formato DD/MM/AAAA e hora no formato hh:mm:ss.
6. Tempo Médio de Resposta
O tempo médio de resposta mede a performance do processamento nos últimos cinco minutos. O tempo individual decorre do intervalo entre o recebimento e o armazenamento da mensagem processada. Médias inferiores a um segundo são informadas como um segundo, e frações são arredondadas para cima.
7. Uso Indevido
Os ambientes autorizadores controlam requisições repetidas que onerem os serviços. Novas tentativas podem ser rejeitadas com 678 - Rejeição: Consumo Indevido.
Os exemplos oficiais de aplicações com erro ou problema são:
| Web Service | Aplicação com erro ou problema |
|---|---|
| Envio de MDF-e | Aplicação em repetição enviando o mesmo MDF-e rejeitado por erro de Schema ou por erro específico; reenvio manual repetitivo do mesmo documento. |
| Consulta do resultado assíncrono | Consulta repetitiva de números de recibo, inclusive recibos não gerados para a empresa, ou repetição manual da mesma consulta. |
| Registro de evento | Envio repetitivo do mesmo pedido de evento rejeitado ou repetição manual do evento. |
| Consulta situação | Uso da consulta para verificar disponibilidade do autorizador, consultando repetidamente a mesma chave, ou repetição manual durante períodos prolongados. |
| Consulta status serviço | Consumo do Web Service em frequência superior à prevista. |
7.1 Regras de Validação de Consumo Indevido
Os limites marcados como referência são parametrizáveis pelo ambiente autorizador e podem ser alterados conforme o comportamento identificado.
| # | Serviço | Regra de Validação | Aplic. | cStat | Efeito |
|---|---|---|---|---|---|
| CI01 | Autorização de MDF-e | Mais de 30 rejeições iguais. O WS pode retornar 678 por até uma hora; a repetição após esse período pode renovar o bloqueio. A identificação pode considerar CNPJ/CPF do certificado + IP ou CNPJ/CPF do emitente. A critério da UF, após 50 bloqueios, a rejeição pode permanecer até contato com a autorizadora. | Facult. | 678 | Rej. |
| CI02 | Consulta situação | Mais de 10 consultas do mesmo MDF-e em uma hora. O WS de consulta protocolo pode retornar 678 por até uma hora. Após o período, podem ser feitas novamente até 10 consultas. A identificação pode considerar CNPJ/CPF do certificado + IP ou CNPJ/CPF do emitente. | Facult. | 678 | Rej. |
| CI03 | Registro de eventos | Mais de 20 rejeições iguais. O WS pode retornar 678 por até uma hora; a repetição após esse período pode renovar o bloqueio. A identificação pode considerar CNPJ/CPF do certificado + IP ou CNPJ/CPF do autor. A critério da UF, após 50 bloqueios, a rejeição pode permanecer até contato. | Facult. | 678 | Rej. |
| CI04 | Outros serviços | Mais de 60 envios repetidos em cinco minutos que gerem erro ou onerem o autorizador. O Web Service pode retornar 678 por até uma hora. A identificação pode considerar CNPJ/CPF do certificado + IP ou CNPJ/CPF do emitente. | Facult. | 678 | Rej. |
7.2 Rejeições Relacionadas ao Não Encerramento
Quando o contribuinte receber mais de cinco rejeições, dentro de uma hora, dos códigos 462, 610, 611 ou 686, o autorizador suprime da mensagem o complemento com a chave e o protocolo causadores do bloqueio. A medida vale por uma hora a partir da sexta rejeição.
8. Expressões Regulares
As referências ERXX usadas na coluna Exp. Reg. do Leiaute correspondem às expressões oficiais abaixo.
| Código | Expressão Regular |
|---|---|
| ER1 | (((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30)))))T(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d([\-,\+](0[0-9]|10|11):00|([\+](12):00)) |
| ER2 | [0-9]{7} |
| ER3 | [0-9]{44} |
| ER4 | [0-9]{36} |
| ER5 | [0-9]{15} |
| ER6 | [0-9]{3} |
| ER7 | [0-9]{14} |
| ER8 | [0-9]{3,14} |
| ER9 | [0-9]{0}|[0-9]{14} |
| ER10 | [0-9]{11} |
| ER11 | [0-9]{3,11} |
| ER12 | 0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})? |
| ER13 | 0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{3})? |
| ER14 | 0\.[0-9]{1}[1-9]{1}|0\.[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})? |
| ER15 | [0-9]{1,3}(\.[0-9]{2,3})? |
| ER16 | 0|0\.[0-9]{3}|[1-9]{1}[0-9]{0,7}(\.[0-9]{3})? |
| ER17 | 0\.[1-9]{1}[0-9]{2}|0\.[0-9]{2}[1-9]{1}|0\.[0-9]{1}[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{0,7}(\.[0-9]{3})? |
| ER18 | 0|0\.[0-9]{4}|[1-9]{1}[0-9]{0,7}(\.[0-9]{4})? |
| ER19 | 0\.[1-9]{1}[0-9]{3}|0\.[0-9]{3}[1-9]{1}|0\.[0-9]{2}[1-9]{1}[0-9]{1}|0\.[0-9]{1}[1-9]{1}[0-9]{2}|[1-9]{1}[0-9]{0,7}(\.[0-9]{4})? |
| ER20 | 0\.[1-9]{1}[0-9]{5}|0\.[0-9]{1}[1-9]{1}[0-9]{4}|0\.[0-9]{2}[1-9]{1}[0-9]{3}|0\.[0-9]{3}[1-9]{1}[0-9]{2}|0\.[0-9]{4}[1-9]{1}[0-9]{1}|0\.[0-9]{5}[1-9]{1}|[1-9]{1}[0-9]{0,8}(\.[0-9]{6})? |
| ER21 | 0|0\.[0-9]{4}|[1-9]{1}[0-9]{0,10}(\.[0-9]{4})? |
| ER22 | 0\.[1-9]{1}[0-9]{3}|0\.[0-9]{3}[1-9]{1}|0\.[0-9]{2}[1-9]{1}[0-9]{1}|0\.[0-9]{1}[1-9]{1}[0-9]{2}|[1-9]{1}[0-9]{0,10}(\.[0-9]{4})? |
| ER23 | 0|0\.[0-9]{3}|[1-9]{1}[0-9]{0,11}(\.[0-9]{3})? |
| ER24 | 0\.[1-9]{1}[0-9]{2}|0\.[0-9]{2}[1-9]{1}|0\.[0-9]{1}[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{0,11}(\.[0-9]{3})? |
| ER25 | 0|0\.[0-9]{4}|[1-9]{1}[0-9]{0,11}(\.[0-9]{4})? |
| ER26 | 0\.[1-9]{1}[0-9]{3}|0\.[0-9]{3}[1-9]{1}|0\.[0-9]{2}[1-9]{1}[0-9]{1}|0\.[0-9]{1}[1-9]{1}[0-9]{2}|[1-9]{1}[0-9]{0,11}(\.[0-9]{4})? |
| ER27 | 0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})? |
| ER28 | 0\.[0-9]{1}[1-9]{1}|0\.[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})? |
| ER29 | [0-9]{0,14}|ISENTO|PR[0-9]{4,8} |
| ER30 | [0-9]{2,14} |
| ER31 | [1-9]{1}[0-9]{0,8} |
| ER32 | 0|[1-9]{1}[0-9]{0,2} |
| ER33 | [0-9]{2} |
| ER34 | [0-9]{1,4} |
| ER35 | [!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1} |
| ER36 | (((20(([02468][048])|([13579][26]))-02-29))|(20[0-9][0-9])-((((0[1-9])|(1[0-2]))-((0[1-9])|(1\d)|(2[0-8])))|((((0[13578])|(1[02]))-31)|(((0[1,3-9])|(1[0-2]))-(29|30))))) |
| ER37 | [0-9]\.[0-9]{6}|[1-8][0-9]\.[0-9]{6}|90\.[0-9]{6}|-[0-9]\.[0-9]{6}|-[1-8][0-9]\.[0-9]{6}|-90\.[0-9]{6} |
| ER38 | [0-9]\.[0-9]{6}|[1-9][0-9]\.[0-9]{6}|1[0-7][0-9]\.[0-9]{6}|180\.[0-9]{6}|-[0-9]\.[0-9]{6}|-[1-9][0-9]\.[0-9]{6}|-1[0-7][0-9]\.[0-9]{6}|-180\.[0-9]{6} |
| ER39 | (([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]) |
| ER40 | [A-Z]{2,3}[0-9]{4}|[A-Z]{3,4}[0-9]{3}|[A-Z0-9]{7} |
| ER41 | [0-9]{8} |
| ER42 | [0-9]{1} |
| ER43 | 3\.(0[0-9]|[1-9][0-9]) |
| ER44 | [0-9]{4}|ND |
| ER45 | SEM GTIN|[0-9]{0}|[0-9]{8}|[0-9]{12,14} |
| ER46 | [0-9]{2}|[0-9]{8} |
| ER47 | [0-9]{1,6} |
| ER48 | MDFe[0-9]{44} |
| ER49 | ((HTTPS?|https?)://.*\?chMDFe=[0-9]{44}&tpAmb=[1-2](&sign=[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1})?) |
| ER50 | [0-9]{7,12} |
| ER51 | [0-9]{7,10} |
| ER52 | [0-9]{1,15} |
| ER53 | 3\.00 |
| ER54 | (([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9]) |
| ER55 | [1-9]{1}[0-9]{1,8} |
| ER56 | [A-Z0-9]+ |
| ER57 | [^@]+@[^\.]+\..+ |
| ER58 | [0-9]{12} |
| ER59 | [0-9]{1,20} |
| ER60 | ([!-ÿ]{0}|[!-ÿ]{5,20})? |
| ER61 | 0|[1-9]{1}[0-9]{0,5} |
9. Valores de Domínio
As referências DXX usadas na coluna Domínio do Leiaute correspondem aos valores oficiais abaixo. Alterações posteriores permanecem registradas na célula original, com o conteúdo substituído tachado e o vigente logo abaixo.
| Código | Valores |
|---|---|
| D1 | 11, 12, 13, 14, 15, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 41, 42, 43, 50, 51, 52, 53 |
| D2 | 11, 12, 13, 14, 15, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 41, 42, 43, 50, 51, 52, 53, 90, 91, 92, 93, 94 |
| D3 | 11, 12, 13, 14, 15, 16, 17, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 41, 42, 43, 50, 51, 52, 53, 99 |
| D4 | 58 |
| D5 | AC, AL, AM, AP, BA, CE, DF, ES, GO, MA, MG, MS, MT, PA, PB, PE, PI, PR, RJ, RN, RO, RR, RS, SC, SE, SP, TO, EX |
| D6 | 1, 2 |
| D7 | 1, 2, 3 |
| D8 | 1, 2, 3, 4, 5, 6, 7 |
| D9 | 1, 2, 3, 4 |
| D10 | 1 |
| D11 | 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11 |
| D12 | 01, 02 |
| D13 | 0 |
| D14 | 01, 1B, 02, 2D, 2E, 04, 06, 07, 08, 8B, 09, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 55 |
| D15 | 01, 04 |
| D16 | 02, 04, 06, 07, 08, 10, 11, 12, 13, 14 |
| D17 | 01, 02, 03, 04, 99 |
| D18 | 0, 1 |
| D19 | 0, 1, 2 |
| D20 | 01, 02, 03, 04, 05, 06 |
| D21 | 00, 01, 02, 03, 04, 05 |