Pular para conteúdo

Mapeamento Técnico Consolidado — SPED

Referência Cruzada: Método Python → Registros Gerados

EFD ICMS/IPI (account_sped_fiscal.py — 3.131 linhas)

Método Registros Listas Acumuladas Validações
enviar_registro_0000() 0000
enviar_registro_0002() 0002
enviar_registro_0005() 0005
enviar_registro_0100() 0100 RedirectWarning se sem contador
enviar_registro_0150() 0150 (N) Consome partner_ids_list
enviar_registro_0175() 0175
enviar_registro_0190() 0190 Consome product_ids_list → UoMs RedirectWarning se UoM sem código SEFAZ
enviar_registro_0200() 0200, 0300, 0305 Consome product_ids_list RedirectWarning se sem tipo/código
enviar_registro_0205() 0205
enviar_registro_0220() 0220
enviar_registro_0300() 0300
enviar_registro_0400() 0400 Consome cfop_ids_list
enviar_registro_0450() 0450 Consome qtd_cod_inf
enviar_registro_0460() 0460
enviar_registro_0500() 0500
enviar_registro_0600() 0600
enviar_registro_C100() C100, C101, C110, C113, C120 partner_ids, product_ids, cfop_ids RedirectWarning (chave, data)
enviar_registro_C140() C140, C141 ✅ Acumula
enviar_registro_C170() C170
enviar_registro_C190() C190, C195, C197 e110_vl_tot_debitos/creditos, e520_vl_deb/cred_ipi
enviar_registro_C500() C500, C590 ✅ Acumula
enviar_registro_D100() D100, D190, D195, D197 partner_ids, cfop_ids
enviar_registro_D500() D500, D590 ✅ Acumula
enviar_registro_E100() E100
enviar_registro_E110() E110 Usa computed fields
enviar_registro_E116() E116
enviar_registro_E200() E200, E210, E250 line_icmsst_ids por UF
enviar_registro_E300() E300, E310, E316 line_difalfcp_ids por UF
enviar_registro_E500() E500
enviar_registro_E510() E510
enviar_registro_E520() E520 Usa computed fields
enviar_registro_H005() H005, H010 Consome product_ids_list
enviar_registro_K010() K010
enviar_registro_K100() K100
enviar_registro_K200() K200 Consome product_ids_list
enviar_registro_K230() K230, K235 Consome product_ids_list
enviar_registro_1010() 1010
enviar_registro_1105() 1105
enviar_registro_1900() 1900, 1910, 1920, 1921 line_1921_ids

EFD Contribuições (account_sped_contribuicao.py — 2.021 linhas)

Método Registros Particularidades
enviar_registro_0110() 0110 l10n_br_cod_inc_trib, l10n_br_ind_apro_cred
enviar_registro_0111() 0111 ⚠️ Todos os valores zerados
enviar_registro_0140() 0140 Por filial (consolidação)
enviar_registro_A100() A100 NFS-e — 3 regras de exclusão
enviar_registro_A170() A170 Filtro CST PIS para entradas
enviar_registro_C100() C100 NF-e — mesmas validações chave/data
enviar_registro_C170() C170 Detalhado por item
enviar_registro_C500() C500 Energia/comunicação
enviar_registro_D100() D100 CT-e — lógica COD_SIT complexa
enviar_registro_D101() D101 PIS sobre CT-e agrupado por CST
enviar_registro_D105() D105 COFINS sobre CT-e agrupado por CST
enviar_registro_F100() F100 ND/NDS/FAT — sem modelo fiscal
enviar_registro_F600() F600 Retenção — 2 modos (CR / competência)
enviar_registro_M200() M200 PIS — consolidação com VL_RET do F600
enviar_registro_M600() M600, M605, M610 COFINS — consolidação
enviar_registro_M100() M100, M105 ⚠️ Comentado na chamada principal
enviar_registro_M500() M500, M505 ⚠️ Comentado na chamada principal
enviar_registro_M400() M400, M410 ⚠️ Comentado
enviar_registro_M800() M800, M810 ⚠️ Comentado

ECD (account_sped_ecd.py — 1.004 linhas)

Método Registros
enviar_registro_I010() I010
enviar_registro_I030() I030
enviar_registro_I050() I050, I051 (N)
enviar_registro_I150() I150 (12), I155 (N)
enviar_registro_I200() I200 (N), I250 (N)
enviar_registro_I350() I350, I355 (N)
enviar_registro_J005() J005
enviar_registro_J100() J100 (N)
enviar_registro_J150() J150 (N)
enviar_registro_J900() J900
enviar_registro_J930() J930

DCTF (account_dctf.py — 934 linhas)

Método Registros Status
enviar_registro_header() Header
enviar_registro_R01() R01 (por fatura)
enviar_registro_R02() R02
enviar_registro_R03() R03 UserError se sem contador
enviar_registro_R10() R10 + R11 (por tributo) ✅ / ⚠️ R11 parcial
enviar_registro_R12() R12 ⚠️ Valor hardcoded
enviar_registro_R14()-R16() R14, R15, R16 ⚠️ Stub
enviar_registro_R20()-R25() R20-R25 ⚠️ Stub
enviar_registro_R30()-R31() R30, R31 ⚠️ Stub

DIME/SC (account_dime_sc.py — 1.142 linhas)

Método Quadro Registros
gerar_registro_20() Reg 20 (Contabilista)
gerar_registro_21() 00 Reg 21 (Contribuinte)
gerar_registro_22() 01 Reg 22 (Entradas por CFOP)
gerar_registro_23() 02 Reg 23 (Saídas por CFOP)
gerar_registro_24() 03 Reg 24 (Resumo)
gerar_registro_25() 04 Reg 25 (Débitos)
gerar_registro_26() 05 Reg 26 (Créditos)
gerar_registro_30() 09 Reg 30 (Imposto a pagar/credor)
gerar_registro_33() 12 Reg 33 (Recolhimento)
gerar_registro_35() 14 Reg 35 (Crédito presumido)
gerar_registro_36() 15 Reg 36 (TTD detalhamento)

Referência Cruzada: Campo Odoo → Campos SPED (Completa)

Dados da Empresa (res.company)

Campo Odoo EFD Fiscal EFD Contrib ECD DCTF DIME
l10n_br_cnpj 0000.CNPJ 0000.CNPJ 0000.CNPJ Header.CNPJ Reg 21.IE
l10n_br_razao_social 0000.NOME 0000.NOME 0000.NOME R02.NOME Reg 21.Nome
l10n_br_ie 0000.IE 0140.IE 0007.COD_INSCR Reg 21.Inscrição
l10n_br_im 0000.IM 0140.IM
l10n_br_municipio_id.codigo_ibge 0000.COD_MUN 0000.COD_MUN 0000.COD_MUN R02.MUNICIPIO
l10n_br_contador_partner_id 0100.* 0100.* J930.* R03.* Reg 20.*
l10n_br_cod_inc_trib 0110.COD_INC_TRIB
l10n_br_ind_apro_cred 0110.IND_APRO_CRED
l10n_br_incidencia_cumulativa (filtro move_types)
l10n_br_regime_tributario R01.PJ_SIMPLES
l10n_br_sped_fiscal_registros _registro_em_uso()
l10n_br_sped_contribuicao_registros _registro_em_uso()

Dados da Fatura (account.move)

Campo Odoo EFD Fiscal EFD Contrib DCTF
l10n_br_chave_nf C100.CHV_NFE A100.CHV_NFSE / C100.CHV_NFE
l10n_br_tipo_documento C100.COD_MOD (filtro seleção)
l10n_br_numero_nota_fiscal C100.NUM_DOC A100.NUM_DOC
l10n_br_serie_nf C100.SER A100.SER
l10n_br_total_nfe C100.VL_DOC A100.VL_DOC / F600.VL_BC_RET
l10n_br_icms_valor C100.VL_ICMS
l10n_br_icms_base C100.VL_BC_ICMS
l10n_br_pis_valor C100.VL_PIS A100.VL_PIS R10(06).VALOR_DEBITO
l10n_br_cofins_valor C100.VL_COFINS A100.VL_COFINS R10(07).VALOR_DEBITO
l10n_br_ipi_valor C190.VL_IPI R10(03).VALOR_DEBITO
l10n_br_irpj_valor R10(01).VALOR_DEBITO
l10n_br_pis_ret_valor A100.VL_PIS_RET / F600
l10n_br_cofins_ret_valor A100.VL_COFINS_RET / F600
l10n_br_desc_valor C100.VL_DESC A100.VL_DESC
l10n_br_cstat_nf COD_SIT calc COD_SIT calc
l10n_br_tipo_pedido (filtro F100)
l10n_br_operacao_id.l10n_br_finalidade COD_SIT calc COD_SIT calc

Dados da Linha (account.move.line)

Campo Odoo EFD Fiscal EFD Contrib
l10n_br_cfop_id.codigo_cfop C170.CFOP A170.NAT_BC_CRED (calc)
l10n_br_icms_cst C170.CST_ICMS
l10n_br_pis_cst C170.CST_PIS A170.CST_PIS
l10n_br_cofins_cst C170.CST_COFINS A170.CST_COFINS
l10n_br_pis_base C170.VL_BC_PIS A170.VL_BC_PIS
l10n_br_pis_aliquota C170.ALIQ_PIS A170.ALIQ_PIS
l10n_br_pis_valor C170.VL_PIS A170.VL_PIS
l10n_br_cofins_base C170.VL_BC_COFINS A170.VL_BC_COFINS
l10n_br_cofins_aliquota C170.ALIQ_COFINS A170.ALIQ_COFINS
l10n_br_cofins_valor C170.VL_COFINS A170.VL_COFINS
l10n_br_prod_valor C170.VL_ITEM A170.VL_ITEM
l10n_br_desc_valor C170.VL_DESC A170.VL_DESC
l10n_br_nat_bc_cred A170.NAT_BC_CRED
l10n_br_informacao_adicional C110 A170.DESCR_COMPL
l10n_br_icms_ajuste_ids C197
account_id.code A170.COD_CTA

Dados do Produto (product.product)

Campo Odoo EFD Fiscal EFD Contrib
default_code 0200.COD_ITEM 0200.COD_ITEM
name 0200.DESCR_ITEM 0200.DESCR_ITEM
barcode 0200.COD_BARRA 0200.COD_BARRA
l10n_br_ncm_id.codigo_ncm 0200.COD_NCM 0200.COD_NCM
l10n_br_tipo_produto 0200.TIPO_ITEM 0200.TIPO_ITEM
uom_id.l10n_br_codigo_sefaz 0200.UNID_INV 0200.UNID_INV
l10n_br_nat_bc_cred Fallback A170/F100

Dados do Parceiro (res.partner)

Campo Odoo Registros
l10n_br_cnpj 0150.CNPJ, F600.CNPJ
l10n_br_cpf 0150.CPF
l10n_br_ie 0150.IE
l10n_br_municipio_id.codigo_ibge 0150.COD_MUN
l10n_br_razao_social 0150.NOME
l10n_br_orgao_publico F600.IND_NAT_RET
country_id.l10n_br_codigo_bacen 0150.COD_PAIS

Dados Contábeis (account.account)

Campo Odoo EFD Fiscal EFD Contrib ECD
code 0500.COD_CTA 0500.COD_CTA I050.COD_CTA
name 0500.NOME_CTA 0500.NOME_CTA I050.NOME_CTA
group_id 0500.COD_NAT_CC 0500.COD_NAT_CC I050.COD_NAT
l10n_br_conta_referencial I051.COD_CTA_REF
l10n_br_cod_nat I050.COD_NAT

Referências