Apuração de Impostos¶
Objetivo¶
Documentar o módulo de apuração fiscal que consolida impostos por período (mensal/trimestral), suporta regimes de Caixa e Competência, calcula saldos credores/devedores, aplica deduções históricas e gera guias financeiras de recolhimento.
Menu do Sistema¶
Faturamento → Configuração → Faturamento → Regra de Apuração Fiscal Faturamento → Relatórios → Relatórios Apuração Impostos (para visualizar apurações) Faturamento → Configuração → Faturamento → Saldos Credores
Implementação Técnica¶
| Model | Nome Técnico | Arquivo |
|---|---|---|
L10nBrCielItApuracao |
l10n_br_ciel_it_account.apuracao |
l10n_br_ciel_it_account_apuracao.py |
L10nBrCielItApuracaoLine |
l10n_br_ciel_it_account.apuracao.line |
l10n_br_ciel_it_account_apuracao.py |
L10nBrCielItApuracaoSummary |
l10n_br_ciel_it_account.apuracao.summary |
l10n_br_ciel_it_account_apuracao.py |
L10nBrCielItApuracaoTaxBalance |
l10n_br_ciel_it_account.apuracao.tax.balance |
l10n_br_ciel_it_account_apuracao.py |
L10nBrCielItApuracaoRule |
l10n_br_ciel_it_account.apuracao.rule |
l10n_br_ciel_it_account_apuracao_rule.py |
L10nBrCielItApuracaoSaldo |
l10n_br_ciel_it_account.apuracao.saldo |
l10n_br_ciel_it_account_apuracao_saldo.py |
L10nBrCielItApuracaoSaldoUso |
l10n_br_ciel_it_account.apuracao.saldo.uso |
l10n_br_ciel_it_account_apuracao_saldo.py |
Impostos Suportados¶
| Código | Imposto | Tipo |
|---|---|---|
pis |
PIS | Federal |
cofins |
COFINS | Federal |
icms |
ICMS | Estadual |
icmsst |
ICMS ST | Estadual |
ipi |
IPI | Federal |
iss |
ISS | Municipal |
irpj |
IRPJ | Federal |
csll |
CSLL | Federal |
inss |
INSS | Federal |
irrf |
IRRF | Federal |
csll_retida |
CSLL Retida | Federal |
pis_retido |
PIS Retido | Federal |
cofins_retido |
COFINS Retido | Federal |
iss_retido |
ISS Retido | Municipal |
ir_retido |
IR Retido | Federal |
inss_retido |
INSS Retido | Federal |
Regras de Apuração (apuracao.rule)¶
Regra funcional: As regras definem QUAIS impostos serão apurados e COMO serão classificados (débito, crédito ou retenção). Cada empresa deve ter suas próprias regras configuradas.
Campos¶
| Campo | Tipo | Descrição |
|---|---|---|
name |
Char | Nome descritivo da regra |
tax_name |
Selection | Imposto que esta regra apura |
tipo_operacao |
Selection | Entrada (in), Saída (out) ou Ambos (both) |
natureza |
Selection | debit (a Pagar), credit (a Recuperar) ou retention (Retenção) |
state_id |
Many2one | Filtro por UF (opcional) |
city_id |
Many2one | Filtro por município (opcional — útil para ISS) |
supplier_id |
Many2one | Fornecedor para geração de guia financeira |
product_id |
Many2one | Produto/Serviço para a linha da fatura de recolhimento |
Lógica de Filtro¶
As regras filtram documentos por:
1. Tipo de operação: Entrada vs. Saída
2. UF do parceiro: Se state_id preenchido, só apura documentos daquela UF
3. Município: Se city_id preenchido, só apura documentos daquele município (busca em l10n_br_iss_municipio_id ou no município do parceiro)
Fluxo de Apuração¶
flowchart TD
A["Criar Apuração<br/>(Período + Imposto)"] --> B{"Regime?"}
B -->|Competência| C["Buscar faturas postadas<br/>por invoice_date"]
B -->|Caixa| D["Buscar conciliações<br/>por max_date"]
C --> E["Para cada linha da fatura<br/>aplicar regras"]
D --> F["Calcular proporção<br/>pago/total"]
F --> E
E --> G["Criar apuracao.line"]
G --> H["Consolidar resumo<br/>por regra"]
H --> I["Consolidar saldo<br/>por imposto"]
I --> J["Gerar tax_balance<br/>(Débitos - Créditos)"]
J --> K{"Saldo > 0?"}
K -->|Sim| L["Imposto a Pagar<br/>(pode deduzir saldos)"]
K -->|Não| M["Saldo Credor<br/>(registrar para uso futuro)"]
L --> N["Gerar guia financeira"]
M --> O["Criar registro de saldo"]
Regime de Competência vs. Caixa¶
Competência (padrão)¶
Regra funcional: Apura impostos de todas as faturas postadas dentro do período, independente de terem sido pagas.
moves = account.move.search([
company_id, state='posted',
invoice_date >= date_start,
invoice_date <= date_end
])
Caixa¶
Regra funcional: Apura impostos proporcionalmente aos pagamentos efetivamente recebidos no período. Se uma fatura de R$ 1.000 teve R$ 600 pagos no período, apenas 60% dos impostos são apurados.
Fórmula: proporção = partial.amount / move.amount_total
Os valores de base e imposto são multiplicados pela proporção:
- base = base_line × proporção
- valor = valor_imposto × proporção
Saldos Credores (apuracao.saldo)¶
Regra funcional: Quando a apuração resulta em créditos superiores aos débitos (ex: muitas compras e poucas vendas), o saldo credor é registrado para uso futuro como dedução em apurações posteriores.
Campos¶
| Campo | Descrição |
|---|---|
tax_name |
Imposto do saldo |
apuracao_origem_id |
Apuração que gerou o saldo |
date |
Data de geração |
valor_original |
Valor original do saldo |
valor_utilizado |
Quanto já foi utilizado |
valor_disponivel |
Saldo disponível (computed) |
Uso de Saldos (apuracao.saldo.uso)¶
Registra cada utilização de saldo credor como dedução em uma apuração:
| Campo | Descrição |
|---|---|
apuracao_id |
Apuração que consumiu o saldo |
saldo_id |
Saldo credor que foi consumido |
tax_name |
Imposto da dedução |
valor_utilizado |
Valor efetivamente deduzido |
Geração de Guias Financeiras¶
O método action_generate_financial() gera faturas de fornecedor (in_invoice) para cada imposto com saldo a pagar:
- Fornecedor: Definido na regra de apuração (
supplier_id) - Produto: Definido na regra (
product_id) - Valor:
imposto_a_pagardotax_balance - Referência:
Apuração: {nome} - {regra}
Cenários de Uso / Troubleshooting¶
1. "Nenhuma regra de apuração fiscal encontrada"¶
- Causa: Não existem regras cadastradas para a empresa e/ou imposto
- Solução: Criar regras em Faturamento → Configuração → Faturamento → Regra de Apuração Fiscal
2. Apuração com valores zerados¶
- Verificar: As faturas do período estão postadas (
state = posted)? - Verificar: Os campos de imposto nas linhas das faturas estão preenchidos?
- Verificar: O tipo de operação da regra corresponde ao tipo de fatura?
3. ISS apurado sem considerar município¶
- Solução: Criar regras de apuração específicas com
city_idpreenchido para cada município
Referências Cruzadas¶
- Anterior: Estoque e Logística
- Próximo: Encerramento Contábil
- Faturas: Notas Fiscais
- Contas contábeis: Configuração da Empresa
- SPED: SPED
- Índice: Sumário Geral