D-9001 Retorno de eventos de tabela
Retorno de eventos de tabela. No XML é a tag evtRetornoTabela, dentro do
envelope DeRE.
- Campos no leiaute
- 37
- Grupos
- 12
- Com regra citada
- 2
- Esquema XML
- v1.0.1
O leiaute, campo a campo
Na ordem em que o documento oficial os numera. O recuo mostra a hierarquia: um campo indentado mora dentro do grupo acima dele.
| Campo | O que é | Ocor. | Tam. |
|---|---|---|---|
| DeRE grupo | Envelope raiz dos eventos da DeRE. | 1-1 | — |
| evtRetornoTabela grupo | Retorno de eventos de tabela. Chave do grupo: id | 1-1 | — |
| id atributo | Identificação única do evento (campo id do evento transmitido pelo contribuinte, a que se refere este retorno). | 1-1 | 42 |
| ideContrib grupo | Informações de identificação do contribuinte. Chave do grupo: nrInsc | 1-1 | — |
| nrInsc | Número de inscrição do contribuinte (CNPJ raiz). | 1-1 | 8 |
| ideStatus grupo | Situação do processamento do evento. | 1-1 | — |
| cdRetorno | Código indicativo do status do retorno. Valores: 0 Erro · 1 Sucesso | 1-1 | 1 |
| descRetorno | Descrição literal do status do retorno. – Erro; – Sucesso. | 1-1 | 4,7 |
| ocorrencias grupo | Informações de ocorrências registradas. | 0-10 | — |
| codigo | Código numérico da ocorrência. | 1-1 | 1-6 |
| descricao | Descrição detalhada da ocorrência (mensagem de erro ou aviso). | 1-1 | 1-2048 |
| tipo | Classificação do tipo da ocorrência. Valores: 1 Erro · 2 Aviso | 1-1 | 1 |
| localizacao | Identificação do campo ou grupo onde a ocorrência foi detectada. | 0-1 | 1-2048 |
| infoRecEv grupo | Informações de processamento dos eventos. | 1-1 | — |
| nrRecibo | Número do recibo do evento processado com sucesso. Preenchimento: Preenchido somente quando {cdRetorno} = [1] (Sucesso). RN - Formação do Número do Recibo do Evento | 0-1 | 31 |
| protocoloLote | Número do protocolo de entrega do lote. RN - Numero do Protocolo do Lote | 0-1 | 28 |
| dhRecepcao | Data e hora da recepção do evento (UTC). | 1-1 | 25-33 |
| dhProcess | Data e hora do início do processamento do evento (UTC). | 1-1 | 25-33 |
| tpEv | Sigla de identificação do tipo de evento. Exemplo: D-1001, D-1011. | 1-1 | 6 |
| hash | Hashcode do arquivo processado. | 1-1 | 44 |
| infoEvento grupo | Informações do evento processado. | 0-1 | — |
| idePeriodo grupo | Grupo de identificação do período de validade do evento. Chave do grupo: iniValid, fimValid | 1-1 | — |
| iniValid | Data de início da validade informada no evento. | 1-1 | 10 |
| fimValid | Data de término da validade informada no evento, se houver. | 0-1 | 10 |
| novaValidade grupo | Novo período de validade. Chave do grupo: iniValid, fimValid | 0-1 | — |
| iniValid | Data de início da nova validade das informações. | 1-1 | 10 |
| fimValid | Data de término da nova validade das informações, se houver. | 0-1 | 10 |
| extratoEventos grupo | Grupo contendo o "extrato" completo das vigências ativas para os eventos processados da respectiva tabela do contribuinte. Retorna a "Foto" atualizada após o processamento. | 0-1 | — |
| detEvento grupo | Detalhamento do evento constante na tabela do contribuinte. | 0-100 | — |
| nrRecibo | Número do recibo do evento que fundamenta a vigência deste período. | 1-1 | 31 |
| iniValid | Data de início de validade informada pelo contribuinte. | 1-1 | 10 |
| fimValid | Data de fim de validade informada pelo contribuinte. Preenchimento: Não informado se for indeterminada/aberta. | 0-1 | 10 |
| fimValidEfetiva | Data limite da validade do evento considerada pelo sistema. Corresponde à data efetiva de encerramento do período, aplicando- se as regras de não-sobreposição. Preenchimento: a) Se {fimValid} foi informado: Este campo será idêntico ao {fimValid}; b) Se {fimValid} é indeterminado e não há evento posterior: Este campo não é informado; c) Se {fimValid} é indeterminado, mas existe evento posterior: Este campo conterá a data de corte (dia anterior ao início do próximo evento), indicando encurtamento forçado da validade por sobreposição de novo evento ({indAjusteAutomatico} = [1]). | 0-1 | 10 |
| indAjusteAuto | Indicador se este período sofreu corte temporal com a atribuição do campo {fimValidEfetiva} pelo sistema em razão da existência de outro evento com vigência posterior. Valores: 0 Não · 1 Sim (houve corte pelo sistema) | 0-1 | 1 |
| detLacuna grupo | Detalhamento de período descoberto (sem cobertura de evento) na linha do tempo. | 0-100 | — |
| iniLacuna | Data de início do período da lacuna. | 1-1 | 10 |
| fimLacuna | Data fim do período da lacuna. Preenchimento: Não informado se for indeterminada/aberta. | 0-1 | 10 |
As regras de validação que este evento cita — 2
Cada regra tem nome, e é por ele que o leiaute a cita. Quando ela falha, o ambiente devolve um código MS####: se ele interrompe, o processamento para naquele ponto; se não, o erro se acumula e o retorno traz a lista inteira.
RN - Formação do Número do Recibo do Evento
Campo de 31 caracteres conforme abaixo: 0000-000000-0000000000000000000, onde: 0000 (Código do Tipo do Evento. Ex.: 1001, 1011 etc. / 4 caracteres); - (Preencher com "-" / 1 caractere); 000000 (Período de apuração do evento "AAAAMM" ou o ano/mês do campo da recepção do evento, no formato "AAAAMM", caso seja um evento não periódico / 6 caracteres); - (Preencher com "-" / 1 caractere); 0000000000000000000 (idInternoEvento/Valor do campo id da tabela do respectivo evento/ Campo autoincremental gerado ao incluir o evento na respectiva tabela do evento/1 a 19 caracteres).
RN - Numero do Protocolo do Lote
O número do protocolo será composto por no máximo 28 caracteres conforme abaixo: T.AAAAMM.NNNNNNNNNNNNNNNNNNN, onde: T (Tipo de ambiente de recepção): 1-Produção; 2-Pré-Produção; AAAAMM (Ano/Mês): Ano e Mês da recepção do lote; NNNNNNNNNNNNNNNNNNN (Número de Identificação do Lote): Máximo de 19 posições. Número sequencial gerado internamente pelo sistema DeRE.
Os outros eventos do mesmo prazo
Todos com data em 01/01/2027: quem precisa deste evento quase sempre precisa destes também.
Perguntas frequentes
O que é o evento D-9001 da DeRE?
D-9001 é o retorno de eventos de tabela da Declaração de Regimes Específicos. No XML ele é a tag evtRetornoTabela, dentro do envelope DeRE, e o leiaute dele tem 37 campos, sendo 12 grupos e 25 campos de valor. O esquema oficial o descreve como "Retorno de eventos de tabela".
Quando o D-9001 passa a ser obrigatório?
Em 01/01/2027. Ele pertence ao grupo "Eventos de Retorno e Totalização", que é a alínea "c" do inciso XVII do Ato Conjunto RFB/CGIBS nº 4, de 30 de julho de 2026 — a alínea residual, que o ato descreve como "eventos não enquadrados nas alíneas anteriores". O Buscador NCM tira essa data do próprio ato, não de texto escrito à mão, para que duas páginas do site não publiquem prazos diferentes para o mesmo documento.
Quais campos do D-9001 são obrigatórios?
16 dos 25 campos de valor têm ocorrência mínima 1: id, nrInsc, cdRetorno, descRetorno, codigo, descricao, tipo, dhRecepcao, dhProcess, tpEv, hash, iniValid, iniValid, nrRecibo…. ⚠ Ocorrência mínima 1 dentro de um grupo opcional não é obrigatoriedade global: o campo só é exigido se o grupo em que ele mora for informado. Neste evento, 4 campos trazem condição de preenchimento declarada no leiaute, e ela aparece em cada linha da tabela.
Que erros o D-9001 pode gerar?
O leiaute deste evento cita 2 regras de validação do Anexo II, que disparam as mensagens . A DeRE não usa a numeração de rejeição das notas fiscais: os erros dela são códigos MS####, com texto próprio, e cada um diz se interrompe o processamento ou se apenas se acumula no retorno.
O leiaute do D-9001 já está fechado?
O esquema XML deste evento está na versão 1.0.1, que é uma versão estável, e o documento de leiaute não o marca como preliminar. Ainda assim, a documentação técnica da DeRE evolui de forma incremental: o Buscador NCM publica a versão do esquema em cada evento para que dê para conferir se o que está em uso é a safra corrente.