Tabelas e Informações
1. Ambientes de Homologação e Produção
O Ambiente Autorizador Nacional mantém dois ambientes para recepção de BP-e. O ambiente de homologação destina-se aos testes e à integração das aplicações durante a implementação e adequação do sistema do contribuinte. Os BP-e gerados nesse ambiente não têm valor fiscal.
A emissão em produção fica condicionada à aprovação prévia das equipes de tecnologia e de negócios da própria empresa, após a avaliação da adequação, do comportamento e da performance de seu sistema em homologação. Testes decorrentes de falha da aplicação no ambiente de produção podem acionar os mecanismos de controle de uso indevido e causar bloqueios administrativos.
2. Tratamento de Caracteres Especiais no XML
Caracteres que afetam o parser XML devem ser representados por sequências de escape.
| Caractere | Sequência de escape |
|---|---|
| < | < |
| > | > |
| & | & |
| " | " |
| ' | ' |
Exemplo oficial: DIAS & DIAS LTDA deve ser informado no XML como DIAS & DIAS LTDA.
3. CNPJ Alfanumérico e Tipos Gerais
O CNPJ alfanumérico mantém 14 posições: doze caracteres alfanuméricos e dois dígitos verificadores numéricos. O cálculo dos dígitos verificadores continua baseado no módulo 11; cada caractere é convertido pelo valor decimal do código ASCII menos 48.
A NT 2025.001 v.1.14a registra que as alterações dos tipos gerais se aplicam automaticamente aos campos de CNPJ e de chave de acesso dos schemas do projeto BP-e. Entretanto, até a publicação de Nota Técnica que modifique as validações desses campos, as letras não devem ser utilizadas.
| Tipo | Expressão | Observação oficial |
|---|---|---|
| CNPJ | [0-9]{14}[A-Z0-9]{12}[0-9]{2} | Passa a aceitar letras maiúsculas nas primeiras 12 posições. |
| Chave de acesso | [0-9]{44}[0-9]{6}[A-Z0-9]{12}[0-9]{26} | A expressão do QR Code segue a mesma formação na parte da chave de acesso. |
cStat | [0-9]{3,4} | O tipo geral passa a admitir códigos de retorno com três ou quatro dígitos. |
4. Chave de Acesso do BP-e
A chave de acesso identifica univocamente o BP-e e totaliza 44 caracteres.
| Campo | Quantidade | Conteúdo |
|---|---|---|
cUF | 2 | Código da UF do emitente |
| AAMM | 4 | Ano e mês da emissão |
| CNPJ | 14 | CNPJ do emitente |
mod | 2 | Modelo do documento fiscal |
serie | 3 | Série do documento fiscal |
nBP | 9 | Número do BP-e |
tpEmis | 1 | Forma de emissão do BP-e |
cBP | 8 | Código numérico |
cDV | 1 | Dígito verificador |
A chave natural é composta por UF, CNPJ do emitente, modelo, série e número do BP-e. O Ambiente Autorizador valida a existência de documento previamente autorizado e rejeita novo pedido com duplicidade dessa chave natural.
4.1. Cálculo do Dígito Verificador
O DV é calculado pelo módulo 11. Da direita para a esquerda, cada algarismo é multiplicado repetidamente pelos pesos de 2 a 9. Soma-se a ponderação, divide-se por 11 e aplica-se:
DV = 11 - resto da divisãoQuando o resto for 0 ou 1, o DV será 0. No exemplo oficial, a soma das ponderações é 644, o resto da divisão por 11 é 6 e o DV resultante é 5.
Para a chave com CNPJ alfanumérico, a NT Conjunta determina a conversão dos caracteres da chave pelo respectivo valor ASCII menos 48 antes da aplicação do módulo 11.
5. Número do Protocolo
O Ambiente Autorizador gera um protocolo único para identificar as transações de autorização de uso e de registro de eventos do BP-e.
| Parte | Posições | Regra |
|---|---|---|
| Tipo de autorizador | 1 | 1 = SEFAZ Autorizadora; 3 = SEFAZ Virtual RS |
| Código da UF | 2 | Código IBGE |
| Ano | 2 | Dois dígitos |
| Sequencial | 10 | Posições numéricas sequenciais no ano |
No DABPE, o protocolo é acompanhado da data no formato DD/MM/AAAA e da hora no formato hh:mm:ss.
6. Tempo Médio de Resposta
O indicador mede a performance do serviço de processamento nos últimos cinco minutos. O tempo de processamento de um BP-e é contado entre o recebimento da mensagem e o armazenamento da mensagem de processamento do arquivo. O tempo médio de resposta é a média desses tempos no período.
Quando o resultado ficar abaixo de um segundo, será informado como um segundo. Frações de segundo serão arredondadas para cima.
7. Expressões Regulares
As tabelas abaixo reproduzem separadamente os anexos de cada variante oficial. As alterações gerais preparatórias para o CNPJ alfanumérico estão apresentadas na seção 3.
7.1. BP-e
| 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|19|18)(([02468][048])|([13579][26]))-02-29))|((20|19|18)[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 | ([!-ÿ]{0}|[!-ÿ]{5,20})? |
| ER44 | [0-9]{7,12} |
| ER45 | BPe[0-9]{44} |
| ER46 | ((HTTPS?|https?)://.*\?chBPe=[0-9]{44}&tpAmb=[1-2](&sign=[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1})?) |
| ER47 | [0-9]{1,15} |
| ER48 | 1\.00 |
| ER49 | (([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9]) |
| ER50 | [^@]+@[^\.]+\..+ |
| ER51 | [123567][0-9]([0-9][1-9]|[1-9][0-9]) |
| ER52 | ((HTTPS?|https?)://.*\?chBPe=[0-9]{44}&tpAmb=[1-2](&sign=[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1})?) |
7.2. BP-e Transporte Metropolitano
| 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} |
| ER41 | [0-9]{8} |
| ER42 | [0-9]{1} |
| ER43 | [0-9]{5} |
| ER44 | [1-9]{1}[0-9]{0,1}|[1-8]{1}[0-9]{2}|[9]{1}[0-8]{1}[0-9]{1}|[9]{1}[9]{1}[0]{1} |
| ER45 | [0-9]{1,6} |
| ER46 | BPe[0-9]{44} |
| ER47 | ([!-ÿ]{0}|[!-ÿ]{5,20})? |
| ER48 | [0-9]{7,12} |
| ER49 | ((HTTPS?|https?)://.*\?chBPe=[0-9]{44}&tpAmb=[1-2](&sign=[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1})?) |
| ER50 | [0-9]{1,15} |
| ER51 | 1\.00 |
| ER52 | (([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9]) |
| ER53 | [^@]+@[^\.]+\..+ |
| ER54 | [123567][0-9]([0-9][1-9]|[1-9][0-9]) |
7.3. BP-e Transporte Aéreo
| 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]{6}[A-Z0-9]{12}[0-9]{26} |
| ER4 | [0-9]{36} |
| ER5 | [0-9]{15} |
| ER6 | [0-9]{3,4} |
| ER7 | [A-Z0-9]{12}[0-9]{2} |
| ER8 | [0-9]{0}|[A-Z0-9]{12}[0-9]{2} |
| ER9 | [0-9]{11} |
| ER10 | [0-9]{3,11} |
| ER11 | 0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})? |
| ER12 | 0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,2}(\.[0-9]{3})? |
| ER13 | 0\.[0-9]{1}[1-9]{1}|0\.[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{0,2}(\.[0-9]{2})? |
| ER14 | [0-9]{1,3}(\.[0-9]{2,3})? |
| ER15 | 0|0\.[0-9]{3}|[1-9]{1}[0-9]{0,7}(\.[0-9]{3})? |
| ER16 | 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})? |
| ER17 | 0|0\.[0-9]{4}|[1-9]{1}[0-9]{0,7}(\.[0-9]{4})? |
| ER18 | 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})? |
| ER19 | 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})? |
| ER20 | 0|0\.[0-9]{4}|[1-9]{1}[0-9]{0,10}(\.[0-9]{4})? |
| ER21 | 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})? |
| ER22 | 0|0\.[0-9]{3}|[1-9]{1}[0-9]{0,11}(\.[0-9]{3})? |
| ER23 | 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})? |
| ER24 | 0|0\.[0-9]{4}|[1-9]{1}[0-9]{0,11}(\.[0-9]{4})? |
| ER25 | 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})? |
| ER26 | 0|0\.[0-9]{2}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})? |
| ER27 | 0\.[0-9]{1}[1-9]{1}|0\.[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})? |
| ER28 | [0-9]{0,14}|ISENTO|PR[0-9]{4,8} |
| ER29 | [0-9]{2,14} |
| ER30 | [1-9]{1}[0-9]{0,8} |
| ER31 | 0|[1-9]{1}[0-9]{0,2} |
| ER32 | [0-9]{2} |
| ER33 | [0-9]{1,4} |
| ER34 | [!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1} |
| ER35 | ((((20|19|18)(([02468][048])|([13579][26]))-02-29))|((20|19|18)[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))))) |
| ER36 | [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} |
| ER37 | [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} |
| ER38 | (([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]) |
| ER39 | [A-Z]{2,3}[0-9]{4}|[A-Z]{3,4}[0-9]{3}|[A-Z0-9]{7} |
| ER40 | [0-9]{8} |
| ER41 | [0-9]{1} |
| ER42 | ([!-ÿ]{0}|[!-ÿ]{5,20})? |
| ER43 | [0-9]{7,12} |
| ER44 | [0-9]{3} |
| ER45 | BPe[0-9]{44} |
| ER46 | ((HTTPS?|https?)://.*\?chBPe=[0-9]{6}[A-Z0-9]{12}[0-9]{26}&tpAmb=[1-2](&sign=[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1})?) |
| ER47 | [0-9]{5} |
| ER48 | [1-9]{1}[0-9]{0,1}|[1-8]{1}[0-9]{2}|[9]{1}[0-8]{1}[0-9]{1}|[9]{1}[9]{1}[0]{1} |
| ER49 | [0-9]{1,6} |
| ER50 | BPe[0-9]{6}[A-Z0-9]{12}[0-9]{26} |
| ER51 | [0-9]{1,15} |
| ER52 | 1\.00 |
| ER53 | (([0-1][0-9])|([2][0-3])):([0-5][0-9]):([0-5][0-9]) |
| ER54 | [^@]+@[^\.]+\..+ |
| ER55 | [123567][0-9]([0-9][1-9]|[1-9][0-9]) |
8. Valores de Domínio
8.1. BP-e
| Código | Valores de domínio |
|---|---|
| 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 |
| 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 | 63 |
| 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 | 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 |
| D7 | 1, 2 |
| D8 | 1, 2, 3 |
| D9 | 00, 01 |
| D10 | 1, 2, 3, 4, 5, 6, 7, 8, 9 |
| D11 | 1, 2, 3, 4, 5 |
| D12 | 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 99 |
| D13 | 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 99 |
| D14 | 01, 02, 03, 04, 05, 06, 99 |
| D15 | 01, 02, 03, 04, 05, 99 |
| D16 | 00 |
| D17 | 20 |
| D18 | 40, 41, 51 |
| D19 | 90 |
| D20 | 1 |
| D21 | 0, 3 |
| D22 | 1, 3, 4 |
| D23 | 1, 2, 0 |
| D24 | 1, 2, 3, 4, 5, 9 |
8.2. BP-e Transporte Metropolitano
| Código | Valores de domínio |
|---|---|
| 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 |
| 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 | 63 |
| 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 | 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 |
| D7 | 1, 2 |
| D8 | 5 |
| D9 | 4 |
| D10 | 1, 2, 3 |
| D11 | 00, 01 |
| D12 | 1, 2, 3, 4, 5, 6, 7, 8, 9 |
| D13 | 1, 2, 3, 4, 5 |
| D14 | 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 99 |
| D15 | 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 99 |
| D16 | 01, 02, 03, 04, 05, 06, 99 |
| D17 | 01, 02, 03, 04, 05, 99 |
| D18 | 00 |
| D19 | 20 |
| D20 | 40, 41, 51 |
| D21 | 90 |
| D22 | 1 |
| D23 | 0, 3 |
| D24 | 1, 3, 4 |
| D25 | 1, 2, 0 |
| D26 | 1, 2, 3, 4, 5, 9 |
8.3. BP-e Transporte Aéreo
| Código | Valores de domínio |
|---|---|
| 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, 80, 81 |
| 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 | 63 |
| 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 | 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 |
| D7 | 1, 2, 3, 4 |
| D8 | 1,2,3,4,5,6 |
| D9 | 2 |
| D10 | 1, 2, 3 |
| D11 | 00, 01, 02, 03 |
| D12 | 12, 13 |
| D13 | 6, 7 |
| D14 | 03, 09, 10, 11, 12, 13, 99 |
| D15 | 01, 03, 06, 07, 08, 99 |
| D16 | 01, 02, 03, 04, 05, 06, 99 |
| D17 | 00, 01 |
| D18 | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 |
| D19 | 1, 2, 3, 4, 5 |
| D20 | 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 99 |
| D21 | 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 99 |
| D22 | 00 |
| D23 | 20 |
| D24 | 40, 41, 51 |
| D25 | 90 |
| D26 | 1 |
| D27 | 0, 3 |
| D28 | 0, 1, 2 |
| D29 | 1, 3, 4 |
| D30 | 1, 2, 0 |
| D31 | 1, 2, 3, 4, 5, 9 |
| D32 | 1, 2, 3, 4, 5, 6, 7, 9 |
9. Uso Indevido
Os ambientes autorizadores mantêm controles para identificar tentativas sucessivas e repetidas que consumam recursos indevidamente. Novas tentativas podem ser rejeitadas com o código 678 — “Rejeição: Consumo Indevido”. Os critérios assinalados com asterisco no MOC são preferenciais e parametrizáveis por ambiente autorizador.
| # | Situação | Bloqueio previsto | Crítica | cStat | Efeito |
|---|---|---|---|---|---|
| CI01 | BP-e enviado com mais de 30* rejeições iguais. | WS de autorização com rejeição 678 por até 1* hora. Após 50* bloqueios, a UF pode aplicar bloqueio permanente até contato com a autorizadora. | Facult. | 678 | Rej. |
| CI03 | Mesma chave de acesso consultada mais de 10* vezes em 1* hora. | WS de Consulta Protocolo com rejeição 678 por até 1* hora. | Facult. | 678 | Rej. |
| CI04 | Evento enviado com mais de 20* rejeições iguais. | WS de Eventos com rejeição 678 por até 1* hora. Após 50* bloqueios, a UF pode aplicar bloqueio permanente até contato com a autorizadora. | Facult. | 678 | Rej. |
| CI05 | Mais de 60* envios repetidos em cinco minutos, em outro Web Service, gerando erro ou onerando o autorizador. | Web Service correspondente com rejeição 678 por até 1* hora. | Facult. | 678 | Rej. |
Nas regras CI01 e CI04, a repetição do mesmo envio depois do período de bloqueio pode iniciar novo bloqueio. A identificação pode utilizar o CNPJ do certificado digital de transmissão combinado com o endereço IP ou o CNPJ do emitente, do autor ou do grupo correspondente, conforme o serviço. Os valores marcados com asterisco podem ser alterados a qualquer tempo, a critério do ambiente autorizador.
10. Endereços dos Web Services
Os endereços dos serviços disponíveis podem ser obtidos na página oficial Serviços do BP-e. A documentação WSDL é obtida acrescentando ?WSDL ao endereço do Web Service desejado.

