| name | demonstracoes-cpc26 |
| description | Gera DRE, BP, DFC e DMPL conforme CPC 51 R3 (IFRS 18 — Apresentação e Divulgação, vigência obrigatória 01/01/2027 com adoção antecipada permitida em 2026) — padrão atual e recomendado. Suporta CPC 26 R3 (norma anterior, IAS 1) como modo legado para exercícios encerrados sem adoção antecipada. Use SEMPRE que receber balancete*.xlsx ou pedido de "fechar competência", "gerar demonstrações", "DRE", "BP", "balanço", "fluxo de caixa", "DMPL", "demonstrações IFRS 18". Aplica padrão CFC + CPC 51 R3 com 3 categorias obrigatórias na DRE (operacional, investimento, financiamento) + 2 subtotais novos (Resultado Operacional, Resultado antes financiamento e tributos) + reconciliação de MPMs. Triggers — balancete, DRE, BP, balanço, DFC, fluxo de caixa, DMPL, CPC 51, IFRS 18, CPC 26, CPC 03, fechar competência, demonstrações contábeis, fechamento, MPM, management performance measure, resultado operacional. |
Demonstrações CPC 51 (IFRS 18) — Skill
⚠️ CPC 51 R3 (IFRS 18 — Apresentação e Divulgação) é o padrão recomendado a partir de 2026 (adoção antecipada permitida) e OBRIGATÓRIO a partir de 01/01/2027. Esta skill gera as demonstrações no novo modelo por padrão. Use o modo legado --cpc26-legacy apenas para exercícios encerrados sem adoção antecipada.
Recebe um balancete em .xlsx e gera as 4 demonstrações contábeis no padrão CFC + CPC 51 R3 (IFRS 18), com as 3 categorias obrigatórias, 2 subtotais novos, reconciliação de MPMs, fórmulas vivas e formatação pronta para auditoria.
Regra Zero — Ler ANTES de executar
OBRIGATÓRIO: validar que o balancete tem as colunas:
- codigo_conta (string com pontos: 1.1.01.001)
- nome_conta (string)
- natureza (D ou C)
- saldo_anterior (decimal)
- debito_periodo (decimal)
- credito_periodo (decimal)
- saldo_final (decimal)
Se faltar qualquer coluna → PARAR e pedir balancete formatado.
O que esta skill gera
Modelo padrão — CPC 51 R3 (IFRS 18)
| Demonstração | Norma | Output |
|---|
| DRE estruturada em 3 categorias (Operacional, Investimento, Financiamento) | CPC 51 R3 §38-§50 | output/DRE.xlsx |
| BP classificado (AC, ANC, PC, PNC, PL) | CPC 51 R3 §76-§79 | output/BP.xlsx |
| DFC método indireto | CPC 03 R3 §18-§24 | output/DFC.xlsx |
| DMPL com todas movimentações de PL | CPC 51 R3 §103 | output/DMPL.xlsx |
| Reconciliação MPMs (EBITDA, EBIT ajustado, etc) | CPC 51 R3 §122-§128 | output/MPMs.xlsx |
Modelo legado — CPC 26 R3 (apenas com --cpc26-legacy)
Mantido para exercícios encerrados antes da adoção antecipada do CPC 51. Mesmas 4 demonstrações mas sem categorização IFRS 18.
Todas com:
- Fórmulas vivas (não valores estáticos)
- Cabeçalho com CNPJ, razão social, competência, regime tributário
- Notas explicativas numeradas
- Formatação ABNT + CFC
- Total ativo = total passivo + PL (validação BS)
O que muda no CPC 51 R3 (IFRS 18)
1. DRE em 3 categorias obrigatórias
| Categoria | O que entra | Exemplos |
|---|
| Operacional | Receitas/despesas da atividade principal | Vendas, CMV, despesas comerciais e administrativas |
| Investimento | Resultados de investimentos não-operacionais | Equivalência patrimonial, dividendos recebidos, ganho/perda em investimentos |
| Financiamento | Custos/receitas de capital | Juros sobre empréstimos, variação cambial passiva sobre dívida, JCP |
2. Dois subtotais novos OBRIGATÓRIOS
(=) Resultado Operacional
(±) Resultado de Investimentos
(=) Resultado antes do Financiamento e Tributos ← NOVO subtotal CPC 51
(±) Resultado de Financiamento
(=) Resultado antes dos Tributos
(±) IR e CSLL
(=) Resultado Líquido do Exercício
3. Reconciliação de MPMs (Management Performance Measures)
Qualquer métrica não-GAAP que a administração divulga (EBITDA, EBIT ajustado, Lucro Recorrente, etc) DEVE ser reconciliada nas notas explicativas com a medida GAAP mais próxima, mostrando cada ajuste e seu efeito tributário.
4. Maior granularidade na agregação/desagregação
Despesas devem ser apresentadas com nível de detalhe que permita comparabilidade. CPC 51 R3 §41-§44 reforça princípio de agregação útil + desagregação relevante.
Pipeline de execução
1. ler_balancete($input) → DataFrame validado
2. mapear_contas_cpc51() → Mapping conta → grupo CPC 51 (3 categorias)
3. gerar_dre_cpc51() → output/DRE.xlsx (com 2 subtotais novos)
4. gerar_bp() → output/BP.xlsx
5. gerar_dfc() → output/DFC.xlsx (a partir de DRE + BP)
6. gerar_dmpl() → output/DMPL.xlsx
7. gerar_reconciliacao_mpms() → output/MPMs.xlsx (se houver MPMs configurados)
8. validar_balancete_fechado() → assert ATIVO == PASSIVO + PL
Mapeamento conta → categoria CPC 51 R3 (IFRS 18)
Balanço Patrimonial
| Prefixo conta | Grupo | Onde aparece |
|---|
1.1.* | Ativo Circulante | BP |
1.2.* | Ativo Não Circulante | BP |
2.1.* | Passivo Circulante | BP |
2.2.* | Passivo Não Circulante | BP |
2.3.* | Patrimônio Líquido | BP + DMPL |
DRE — 3 categorias CPC 51 R3
| Prefixo conta | Categoria CPC 51 | Onde aparece |
|---|
3.1.* | Receita Operacional | DRE — Operacional |
3.2.* | Custos (CMV/CSP) | DRE — Operacional |
3.3.* | Despesas Operacionais (comercial/admin) | DRE — Operacional |
3.4.* | Outras Receitas/Despesas Operacionais | DRE — Operacional |
4.1.* | Resultado de Equivalência Patrimonial | DRE — Investimento |
4.2.* | Dividendos Recebidos | DRE — Investimento |
4.3.* | Ganho/Perda em Investimentos | DRE — Investimento |
5.1.* | Despesas Financeiras (juros, variação cambial passiva) | DRE — Financiamento |
5.2.* | Receitas Financeiras (aplicações, JCP) | DRE — Financiamento |
6.* | Tributos sobre Lucro (IR + CSLL) | DRE — após Resultado antes dos Tributos |
Se o plano de contas usa apenas 1 nível em 3.*, 4.*, 5.*, a skill aplica heurística por nome de conta (palavras-chave: "juros", "variação cambial", "equivalência", "JCP", "dividendos recebidos") + emite warning pedindo refinamento.
Validações obrigatórias (FAIL FAST)
| Check | Falha → |
|---|
Coluna codigo_conta presente | PARAR — pedir balancete formatado |
| Soma débitos = soma créditos | PARAR — balancete não fecha |
| ATIVO == PASSIVO + PL | PARAR — equação patrimonial quebrada |
| Sem conta em prefixo desconhecido | WARNING — pedir mapeamento manual |
| Data de implantação anterior à competência | PARAR — período inválido |
| Subtotal "Resultado Operacional" calculado (CPC 51) | PARAR se não bater |
| MPM declarado sem reconciliação (CPC 51) | PARAR — exigir nota |
Como rodar
python scripts/gerar_dfs.py path/to/balancete-junho-2026.xlsx
python scripts/gerar_dfs.py balancete.xlsx --cpc26-legacy
.claude/hooks/post-tool-use.sh path/to/balancete-junho-2026.xlsx
Output esperado
output/
├── DRE.xlsx (Demonstração do Resultado — 3 categorias CPC 51)
├── BP.xlsx (Balanço Patrimonial)
├── DFC.xlsx (Demonstração dos Fluxos de Caixa indireto)
├── DMPL.xlsx (Demonstração das Mutações do Patrimônio Líquido)
└── MPMs.xlsx (Reconciliação de MPMs com medidas GAAP, se aplicável)
Cada arquivo com:
- Aba
Demonstração (formatada)
- Aba
Notas (explicativas + agregação/desagregação CPC 51 §41-§44)
- Aba
Origem (referência ao balancete)
Norma de referência
| Norma | Vigência | Status |
|---|
| CPC 51 R3 / IFRS 18 | 01/01/2027 obrigatório; antecipação permitida em 2026 | Padrão desta skill |
| CPC 26 R3 / IAS 1 | Até 31/12/2026 sem antecipação | Modo legado (--cpc26-legacy) |
| CPC 03 R3 / IAS 7 | Vigente (DFC método indireto) | Aplicado |
| CPC 36 / IFRS 10 | Vigente (consolidação) | Não implementado nesta versão |
Limites conhecidos
- Aceita 1 competência por vez (não consolida múltiplas empresas)
- Requer plano de contas alinhado com CFC (10 dígitos, separadores por ponto)
- Não calcula tributos diferidos automaticamente (input manual)
- DFC método direto não implementado nesta versão
- Heurística de classificação CPC 51 (operacional/investimento/financiamento) precisa de revisão humana quando plano de contas é raso
Próximas versões