DCTF e DIME/SC — Declarações Acessórias
DCTF — Declaração de Débitos e Créditos Tributários Federais
Dados do Model
| Atributo |
Valor |
| Model |
l10n_br_ciel_it_account.dctf |
| Arquivo |
account_dctf.py (934 linhas) |
| Método |
gerar_dctf() |
| Menu |
Faturamento → Relatórios → Relatórios Apuração Impostos → DCTF |
Campos de Configuração
| Campo |
Tipo |
Descrição |
r01_forma_trib_lucro |
Selection |
Forma de tributação (Real, Presumido, Arbitrado, Imune, etc.) |
r01_qual_pj |
Selection |
Qualificação da PJ (01 a 12) |
r01_PJ_bal_sus_mes |
Selection |
PJ levantou balanço/balancete de suspensão |
r01_pj_deb_scp |
Selection |
PJ com débitos de SCP |
r01_pj_cprb |
Selection |
PJ optante pela CPRB |
r01_crvmdco_cftc |
Selection |
Critério de variações monetárias cambiais |
r01_reg_apu_cont_pis_pis_cofins |
Selection |
Regime de apuração PIS/COFINS (cumulativo/não-cumulativo) |
r01_situacao_pj |
Selection |
Situação da PJ no mês |
r01_opc_ref |
Selection |
Opção referente à Lei 12.973/2014 |
Registros Gerados
| Registro |
Finalidade |
Status |
| Header |
Identificação da declaração |
✅ Funcional |
| R01 |
Dados gerais (por fatura do período) |
✅ Funcional |
| R02 |
Dados do contribuinte |
✅ Funcional |
| R03 |
Dados do contabilista/representante |
✅ Funcional |
| R10 |
Débitos tributários (IRPJ, IPI, PIS, COFINS) |
✅ Funcional |
| R11 |
Dados do DARF para pagamento |
⚠️ Parcial — valores #TODO |
| R12 |
Compensação de débitos |
⚠️ Hardcoded 18921.68 |
| R14 |
Suspensão de débitos |
⚠️ Stub — dados de teste hardcoded |
| R15 |
Parcelamento |
⚠️ Stub — dados de teste hardcoded |
| R16 |
Deduções |
⚠️ Stub — dados de teste hardcoded |
| R20-R31 |
Dados trimestrais e pagamentos |
⚠️ Stub — dados de teste hardcoded |
| T9 |
Encerramento |
✅ Funcional |
R10 — Débitos Tributários (Principal)
A lógica real de cálculo está no R10/R11, que agrupa por GRUPO_TRIBUTO:
| GRUPO_TRIBUTO |
Campo Somado |
Descrição |
01 |
sum(move_ids.l10n_br_irpj_valor) |
IRPJ |
03 |
sum(move_ids.l10n_br_ipi_valor) |
IPI |
06 |
sum(move_ids.l10n_br_pis_valor) |
PIS |
07 |
sum(move_ids.l10n_br_cofins_valor) |
COFINS |
Simples Nacional
PJ_SIMPLES_NACIONAL = '1' if company.l10n_br_regime_tributario in ['1','2','4'] else '0'
DIME/SC — Declaração do ICMS e Movimento Econômico (Santa Catarina)
Dados do Model
| Atributo |
Valor |
| Model |
l10n_br_ciel_it_account.dime.sc |
| Arquivo |
account_dime_sc.py (1.142 linhas) |
| Método |
gerar_dime_sc() |
| Menu |
Faturamento → Relatórios → Relatórios Apuração Impostos → DIME SC |
| Validação |
validar_dime_sc() — via webservice SOAP da SEFAZ/SC |
Campos de Configuração
| Campo |
Descrição |
Default |
calculo_fumdes |
Código cálculo FUMDES (0=sem, 1=com) |
1 |
calculo_social |
Código cálculo Fundo Social (0-4) |
3 |
icms_codreceita |
Código receita ICMS normal |
1449 |
icms_classe_vencimento |
Classe vencimento ICMS |
10014 |
icms_data_vencimento |
Dia vencimento ICMS |
10 |
icms_benef_codreceita |
Código receita ICMS benefício |
2496 |
fumdes_codreceita |
Código receita FUMDES |
7137 |
social_codreceita |
Código receita Fundo Social |
3662 |
dcip_credito_presumido |
Identificação regime Quadro 46 |
— |
cod_aj_apur |
Código do ajuste (DCIP) |
— |
Pré-requisitos
| Validação |
Condição |
Erro |
| SPED Fiscal do período |
Deve existir registro sped.fiscal para o mesmo período |
"Não foi encontrado o SPED Fiscal" |
| Base ICMS ≤ Total NF |
Faturas com icms_base > total_nfe |
"Base do ICMS maior que total da NF-e" |
| CFOP preenchido |
Linhas sem l10n_br_cfop_id |
"Notas Fiscais sem CFOP" |
| Contador |
l10n_br_contador_partner_id obrigatório |
"Não tem um contador" |
Quadros Gerados
| Quadro |
Registro |
Descrição |
| 00 |
Reg 21 |
Identificação do contribuinte |
| 01 |
Reg 22 |
Entradas por CFOP |
| 02 |
Reg 23 |
Saídas por CFOP |
| 03 |
Reg 24 |
Resumo entradas/saídas |
| 04 |
Reg 25 |
Débitos |
| 05 |
Reg 26 |
Créditos |
| 09 |
Reg 30 |
Cálculo do imposto a pagar ou saldo credor |
| 12 |
Reg 33 |
Recolhimento (ICMS, FUMDES, Fundo Social) |
| 14 |
Reg 35 |
Crédito presumido TTD |
| 15 |
Reg 36 |
Detalhamento TTD por benefício |
| 46 |
Reg 46 |
Crédito presumido DCIP |
| 80 |
Reg 80 |
Informações do arquivo |
Débitos (item 010) = sum(saídas.icms_valor) + diferencial_aliquota
Créditos (item 050) = saldo_credor_ant + créditos_entradas - deduções_TABELA_3252_A
Total Débitos (040) = Débitos + créditos_presumidos + ajustes_1921
Total Créditos (080) = Créditos + créditos_DCIP + segregação_débitos
Se TotalDébitos > TotalCréditos → Saldo Devedor (120/999)
Se TotalCréditos > TotalDébitos → Saldo Credor (140/998)
Validação SEFAZ/SC
O sistema integra com o webservice da SEFAZ/SC para validação:
| Atributo |
Valor |
| URL |
http://webservices.sathomologa.sef.sc.gov.br/wsDime/ValidadorDime.asmx |
| SOAPAction |
ValidarDime |
| Resultado |
Status + DtoErro[] |
Dependência entre DIME e SPED Fiscal
flowchart LR
A["SPED Fiscal"] --> B["DIME/SC"]
A -- "c197_vl_tot_transf_creditos" --> B
A -- "c197_vl_tot_transf_debitos" --> B
A -- "line_1921_ids (ajustes)" --> B
A -- "c197_move_ids (ajustes ICMS)" --> B
A -- "x1900_indicador_apuracao" --> B
Importante: A DIME busca dados diretamente do SPED Fiscal do mesmo período. Gere sempre o SPED Fiscal antes da DIME.
Referências