Pular para conteúdo

Blocos G, H e K — CIAP, Inventário, Produção e Estoque


Bloco G — CIAP (Ativo Imobilizado)

G001 — Abertura

Indicador de movimento definido automaticamente. Se existirem ativos (account.asset), IND_MOV = '0'.

G110 — ICMS - Ativo Permanente

Campo Origem Regra
DT_INI / DT_FIN ⚙️ Período do SPED 🧮
SALDO_IN_ICMS / SOM_PARC / VL_TRIB_EXP / VL_TOTAL / IND_PER_SAI / ICMS_APROP / SOM_ICMS_OC 🔒 0.00 Fixo (stub)

⚠️ CIAP parcialmente implementado: Os valores de apuração do G110 são todos zero. O registro existe no código mas falta a lógica de cálculo.

G125 — Movimentação do Bem

Campo Origem Regra
COD_IND_BEM 📦 asset.id 🔒
TIPO_MOV 🔒 'SI' (saldo inicial) Fixo
DT_MOV 📦 depreciation_move.date Última depreciação
NUM_PARC 🧮 Contador de depreciações lançadas Calculado
VL_PARC_PASS 📦 depreciation_move.amount_total 💰
VL_IMOB_ICMS_OP 📋 original_move_line.l10n_br_icms_valor 💰
VL_IMOB_ICMS_ST 📋 original_move_line.l10n_br_icmsst_valor 💰

G130/G140 — Documento de Entrada do Bem / Componentes

Campo G130 Origem
IND_EMIT 🧮 CNPJ empresa na chave
COD_PART 👤 partner.id
COD_MOD / SERIE / NUM_DOC / CHV_NFE_CTE / DT_DOC 📄 Dados da NF de entrada
Campo G140 Origem
NUM_ITEM 📋 Sequência
COD_ITEM 📦 product.id
QTDE 📋 line.quantity
UNID 📦 product_uom.name
VL_ICMS_OP_APLICADO 📋 line.l10n_br_icms_valor
VL_ICMS_ST_APLICADO 📋 line.l10n_br_icmsst_valor

Bloco H — Inventário Físico

H005 — Totais do Inventário

Campo Origem Regra
DT_INV ⚙️ self.h005_dt_inv ✅ SPED → Data do Inventário
VL_INV 🧮 self.h005_vl_inv — soma dos H010 Acumulado
MOT_INV 🔒 '01' (final do período) Fixo

Pré-requisito: h005_dt_inv deve estar preenchido. Se vazio, bloco H não é gerado.

H010 — Itens do Inventário

Origem: Camadas de valorização de estoque (stock.valuation.layer).

Campo Origem Regra
COD_ITEM 📦 product.default_code
UNID 📦 product.uom_id.l10n_br_codigo_sefaz
QTD 🧮 sum(stock_valuation.quantity) — mínimo 0 Calculado
VL_UNIT 🧮 vl_item / abs(qtd) Calculado
VL_ITEM 🧮 sum(stock_valuation.value) — mínimo 0 Calculado
IND_PROP 🔒 '0' (próprio) Fixo
COD_CTA 📦 categ.property_stock_valuation_account_id.code

Filtros: - Somente produtos com NCM (l10n_br_ncm_id) - Exclui produtos consumíveis (type == 'consu') - stock_valuation.create_date <= h005_dt_inv


Bloco K — Produção e Estoque

K010 — Tipo de Leiaute

Campo Origem Regra
IND_TP_LEIAUTE 🏢 company.l10n_br_ind_tp_leiaute_k010 ou '1' ✅ Empresa → Tipo Leiaute K

K100 — Período

Campo Origem
DT_INI / DT_FIN ⚙️ Período do SPED

K200 — Estoque Escriturado

Origem: Camadas de valorização de estoque no final do período.

Campo Origem Regra
DT_EST ⚙️ self.date_fim Período
COD_ITEM 📦 product.default_code
QTD 🧮 sum(stock_valuation.quantity) — mínimo 0 Calculado
IND_EST 🔒 '0' (próprio) Fixo

Filtros: - NCM obrigatório - l10n_br_tipo_produto in ['00'...'06','10'] - Exclui quantidade zero

K230 — Produção (Ordens de Produção)

Origem: stock.move com production_id no período.

Campo Origem Regra
DT_INI_OP 📄 production.date_start
DT_FIN_OP 📄 move_line.date
COD_DOC_OP 📄 production.name
COD_ITEM 📦 production.product.default_code ✅ Produto acabado
QTD_ENC 📄 move_line.quantity

K235 — Insumos Consumidos

Campo Origem Regra
COD_ITEM 📦 move_raw.product.default_code ✅ Insumo
DT_SAIDA 📄 move_line.date
QTD 📄 move_line.quantity

Referências