Apurar e gerar a EFD-Reinf

  • Cenário OBR-01

  • Prévia: em revisão na OCA

  • Perfil: Analista fiscal

  • Mais tarefas do perfil: Analista fiscal, Contador

  • Odoo 16.0

Etapa 1 de 6 do processo Reinf, DCTFWeb e GNRE. Próxima: Apurar e transmitir a DCTFWeb e o MIT.

Apura as retenções e os pagamentos a pessoas jurídicas da competência (EFD-Reinf, evento R-4020), confere as linhas e o espelho dos DARFs, fecha a competência e gera o evento em XML. O módulo está em revisão na OCA (PR OCA/l10n-brazil#4931) e não faz parte da 16.0 oficial; o envio do lote à Receita ainda não existe nele.

Importante

Prévia: módulo novo em revisão na OCA (PR OCA/l10n-brazil#4931), ainda fora da versão oficial 16.0. Telas e regras podem mudar.

Vídeo

Duração: 2 min 06 s. Sem áudio: a narração está nas legendas, na faixa de baixo do vídeo.

Antes de começar

Exemplo usado neste cenário

A Empresa Lucro Presumido (SP) tomou de Processadores Exemplo Ltda um serviço de R$ 10.000,00, lançado em 10/09/2026 e pago em 20/09/2026, com a natureza de rendimento 17003 (Serviços prestados com emprego de materiais), definida no cadastro do fornecedor. A fatura reteve IRRF de 1,2% e PIS, COFINS e CSLL (4,65% no total). A competência 2026-09 é apurada e o evento R-4020 do fornecedor é gerado em XML.

Como os valores são calculados:

  • IRRF de 1,2% sobre 10.000,00 = 120,00 (IN RFB 1.234/2012, anexo I). O módulo data o IRRF pelo crédito da fatura, 10/09/2026.

  • PIS 0,65% + COFINS 3% + CSLL 1% = 4,65% sobre 10.000,00 = 65,00 + 300,00 + 100,00 = 465,00 (Lei 10.833/2003, arts. 30 e 31). Retidos no pagamento, 20/09/2026.

  • Os três juntos vão no valor agregado do R-4020 (vlrAgreg 465,00, com base 10.000,00), nunca junto dos valores separados.

  • Total retido na competência: 120,00 + 465,00 = 585,00; o fornecedor recebe 10.000,00 - 585,00 = 9.415,00.

Passo a passo

  1. Abra o aplicativo Fiscal pelo menu de aplicativos.

  2. Abra o menu EFD-Reinf e clique em Calculations.

  3. Clique em Novo para criar a apuração da competência.

  4. No campo Competence, digite 2026-09.

  5. Clique em Compute: o módulo lê as retenções e os pagamentos da competência.

  6. Na aba Lines, confira o IRRF de 120,00 e a retenção agregada de 465,00.

  7. Na aba DARFs, confira o espelho: código 625605 com 120,00 e 614705 com 465,00.

  8. Clique em Verify para marcar a competência como conferida.

  9. Clique em Close: a competência fecha e o evento R-4020 é gerado.

  10. Na aba Events, confira o evento R-4020 do fornecedor.

  11. No menu EFD-Reinf, clique em Events.

  12. Abra o evento R-4020 da lista.

  13. Clique em Generate XML: o XML é conferido contra o leiaute e anexado.

  14. Abra a aba Files: o XML do evento está anexado no campo XML.

  15. Confira no XML o vlrIR de 120,00 e o vlrAgreg de 465,00.

Resultado esperado

Competência 2026-09 Closed, com 2 linhas e R$ 585,00 retidos (IRRF de R$ 120,00 e agregado de R$ 465,00), e um evento R-4020 Validated do fornecedor, com o XML anexado no campo XML da aba Files. O XML traz o beneficiário, a natureza 17003 e as retenções do exemplo, e passou pela conferência do leiaute 2.1.2. O evento não foi enviado à Receita.

Se houver erro

  • Ao clicar em Close aparece que a competência tem exceções críticas. Há beneficiário sem CNPJ ou pagamento sem natureza de rendimento (aba Exceptions, em vermelho). Use Open source na exceção, corrija o cadastro ou a fatura, clique em Compute de novo e feche.

  • Ao fechar ou gerar o XML aparece que o módulo de bindings não está disponível. A nfelib instalada não traz os bindings da EFD-Reinf (nfelib#158 ainda em revisão). Instale uma nfelib com os bindings da EFD-Reinf e repita.

  • Aparece que o ambiente da EFD-Reinf da empresa não foi definido. A empresa não escolheu entre produção e produção restrita. Escolha o ambiente na aba Fiscal da empresa.

Limites deste cenário

Módulo em PR aberto (OCA/l10n-brazil #4931, sobre os #4928 a #4930), sujeito a mudança; vídeo gravado no ambiente de prévia, com a nfelib completada pelos bindings do PR akretion/nfelib#158. Só existem os eventos R-1000 e R-4020 (e o R-4020 sai com o IRRF e o agregado de PIS, COFINS e CSLL): o R-2010, o R-2020, o R-4010, o R-2099 e o R-4099 não estão no PR. O envio do lote à Receita não existe (Batches tem o botão Send, mas sem transmissão REST nem certificado): este cenário termina no XML e não filma o envio. O fechamento exige o beneficiário com CNPJ, inclusive o das faturas de retenção que o Odoo gera ao lançar o serviço (no exemplo, o Ministério da Fazenda recebeu um CNPJ fictício na preparação). O Total Base da competência soma a base de cada linha, por isso mostra 20.000,00 para um serviço de 10.000,00. O código de receita do espelho do DARF e a alíquota do IRRF dependem da natureza e do serviço, e devem ser conferidos com o contador. Casos levantados pela pesquisa, a conferir na norma: o R-4020 deve ser informado mesmo sem retenção em certas naturezas de rendimento, com dispensa por valor mínimo (regra RF06 do PRD, PRs #4929 a #4931); o R-4080 está fora do escopo declarado e o R-4010 fora do corte atual (a conferir); o fim da DIRF e quem envia o R-2010 (tomador) e o R-2020 (prestador) geram dúvida sem resposta oficial no fórum; a série 4000 reabre pelo R-4099 com fechRet igual a 1; a DCTFWeb vai zerada quando só há distribuição de lucros; dividendos e IRRF de 10% acima de R$ 50 mil por mês (Lei 15.270/2025) e o CNPJ alfanumérico na Reinf (rejeição 1824) ainda precisam ser conferidos na norma. O R-4000, de lucros e dividendos (#4930), é um evento a gravar quando o módulo entrar na série.

Módulos: l10n_br_reinf, l10n_br_reinf_spec. Os valores do exemplo foram conferidos automaticamente na execução gravada; a conferência não substitui a validação do contador da sua empresa.