Compras e Importação¶
Objetivo¶
Documentar o fluxo completo de compras nacionais e importação na localização brasileira, incluindo os tipos de entrada, DF-e (Documento Fiscal Eletrônico), importação de NF-e, cálculo reverso de impostos, e integração com Siscomex.
Menu do Sistema¶
Compras → Pedidos → Pedidos de Compra Contabilidade → Documentos Fiscais → DF-e Entrada
Implementação Técnica¶
- Model:
purchase.order(herança) — classePurchaseOrder - Model linhas:
purchase.order.line(herança) — classePurchaseOrderLine - Arquivo:
l10n_br_ciel_it_account/models/purchase.py(linha 104)
Tipos de Pedido de Entrada¶
O sistema define 40+ tipos de pedido de entrada (TIPO_PEDIDO_ENTRADA), organizados por categoria:
| Categoria | Exemplos |
|---|---|
| Compra | compra, compra-ent-futura, compra-rec-ent-futura, compra-venda-ordem |
| Importação | importacao, importacao-transporte, comp-importacao |
| Serviço | servico, credito-imposto |
| Retornos | retorno, demonstracao, mostruario, feira, consignacao, comodato, deposito, conserto |
| Industrialização | rem-industrializacao, industrializacao, serv-industrializacao |
| Devolução | devolucao (emissão própria), devolucao_compra (devolução de venda) |
| Locação | locacao, ret-locacao |
| Transferências | transf-filial |
Entradas Sem Financeiro¶
A lista TIPO_PEDIDO_ENTRADA_NO_PAYMENT define operações que não geram movimentação financeira (retornos, industrialização, transferências, etc.).
Campos Fiscais do Pedido de Compra¶
Cabeçalho¶
| Campo | Tipo | Descrição | Padrão |
|---|---|---|---|
l10n_br_tipo_pedido |
Selection | Tipo de entrada (40+ opções) | compra |
l10n_br_operacao_consumidor |
Selection | Se é operação consumidor final | 0 |
l10n_br_compra_indcom |
Selection | Destinação de uso | uso |
l10n_br_imposto_auto |
Boolean | Calcular impostos automaticamente | True |
dfe_id |
Many2one | Documento Fiscal Eletrônico (DF-e) vinculado | — |
original_currency_id |
Many2one | Moeda original (para importação) | — |
Linha de Compra — Campos Adicionais¶
| Campo | Tipo | Descrição |
|---|---|---|
l10n_br_operacao_manual |
Boolean | Permite definir operação manualmente |
l10n_br_compra_indcom |
Selection | Destinação de uso por linha |
dfe_line_id |
Many2one | Linha do DF-e vinculada |
l10n_br_unit_tax |
Float | Valor unitário com imposto |
l10n_br_di_adicao_id |
Many2one | DI/Adição (importação) |
Todos os campos de impostos (ICMS, IPI, PIS, COFINS, II, ICMS ST, ISS, retenções, IBS/CBS/IS) são duplicados nas linhas de compra, seguindo o mesmo padrão das linhas de venda — ver Cálculo de Impostos.
Regras de Negócio¶
1. Cálculo de Impostos na Entrada¶
Regra funcional: O motor de cálculo de compras segue a mesma lógica do motor de vendas, porém com
l10n_br_tipo_operacao = 'entrada'e usandoTIPO_PEDIDO_ENTRADA.
Trigger: @api.onchange('order_line','l10n_br_tipo_pedido','partner_id','company_id','l10n_br_frete','l10n_br_seguro','l10n_br_despesas_acessorias')
2. Destinação de Uso (Herança do Parceiro)¶
Regra funcional: Ao criar um pedido de compra, o sistema herda a
l10n_br_compra_indcom(destinação de uso) cadastrada no parceiro.
Implementação técnica: create() verifica partner.l10n_br_compra_indcom e seta como valor padrão se não informado.
3. Importação de NF-e (XML)¶
O campo dfe_id vincula o pedido a um DF-e importado. Ao gerar a fatura (action_create_invoice()), o sistema:
- Copia chave de acesso, número, série e XML autorizado do DF-e
- Preenche data de emissão e data de entrada
- Identifica automaticamente o tipo de documento (NF-e, CT-e)
- Detecta se o fornecedor é Simples Nacional (crédito ICMS)
4. Seleção Automática de Diário¶
Regra funcional: O diário contábil é selecionado automaticamente com base no tipo de pedido de entrada.
Hierarquia de busca:
1. Diário da empresa atual com l10n_br_tipo_pedido_entrada correspondente
2. Diário da empresa pai com l10n_br_tipo_pedido_entrada
3. Mapeamento via tabela l10n_br_ciel_it_account.tipo.pedido.diario
5. Devolução de Compra¶
Regra funcional: Pedidos com
l10n_br_tipo_pedidoemTIPO_PEDIDO_ENTRADA_DEVOLUCAOgeram faturas do tipoout_refund(nota de crédito de saída).
6. Controle de Estoque em Operação¶
Regra funcional: A operação fiscal define via
l10n_br_movimento_estoquese a entrada gera movimentação no estoque. Se desabilitado, nenhum picking é gerado ao confirmar.
Implementação técnica: _create_picking() é sobrescrito — pedidos cujas operações não movimentam estoque são filtrados antes de chamar super().
7. Sincronização CATP (Siscomex)¶
Ação action_sync_catp_products() permite enviar todos os produtos do pedido para o Portal Único Siscomex (CATP) de uma vez.
Importação — Campos Específicos¶
Para pedidos de importação (importacao, comp-importacao), campos adicionais na fatura incluem:
| Campo | Descrição |
|---|---|
| Via de transporte DI | Marítima, Aérea, Rodoviária, etc. (12 opções) |
| Tipo de importação | Conta própria, Conta e ordem, Encomenda |
| Despesas de importação | Frete, seguro, AFRMM, aduaneira, tributos |
| Tipo de rateio | Peso, valor FOB ou valor CIF |
| DI/Adição | Dados da Declaração de Importação |
| II (Imposto de Importação) | Base, alíquota e valor calculados |
Para detalhes da integração Siscomex, consulte Siscomex DUIMP/CATP.
Cenários de Uso / Troubleshooting¶
1. "Não encontrado Diário para o tipo de pedido de entrada informado"¶
- Causa: Não existe diário de compra configurado para o tipo de entrada selecionado
- Solução: Criar diário em Contabilidade → Configuração → Diários com
l10n_br_tipo_pedido_entradaou configurar mapeamento eml10n_br_ciel_it_account.tipo.pedido.diario
2. Estoque não movimentado após confirmação¶
- Causa: A operação fiscal tem
l10n_br_movimento_estoque = False - Solução: Verificar a operação fiscal vinculada ao pedido
3. Impostos divergentes da NF-e do fornecedor¶
- Verificar: Operações fiscais de entrada estão configuradas corretamente
- Verificar: NCM/UF para a combinação UF origem → UF destino
- Alternativa: Desabilitar
l10n_br_imposto_autoe definir valores manualmente
Referências Cruzadas¶
- Anterior: Vendas
- Próximo: Estoque e Logística
- Motor de cálculo: Cálculo de Impostos
- DF-e / XML: Notas Fiscais
- Siscomex: Siscomex DUIMP/CATP
- Índice: Sumário Geral