Pular para o conteúdo

O Modelo stock.picking: Compreendendo as Operações de Transferência e Armazém do Odoo

Um guia completo sobre o modelo de transferência central do Odoo para gestão de inventário e armazém
10 de março de 2026 por
O Modelo stock.picking: Compreendendo as Operações de Transferência e Armazém do Odoo
Dasolo
| Nenhum comentário ainda

Introdução


No Odoo, os modelos definem como os dados são estruturados e armazenados na base de dados. Cada pedaço de dados empresariais com o qual você trabalha, desde pedidos de venda até transferências de inventário e operações de armazém, vive em um modelo.


Compreender os modelos do Odoo é essencial tanto para desenvolvedores quanto para consultores funcionais. Os modelos são a base da arquitetura de dados do Odoo. Eles definem campos, relacionamentos e lógica de negócios.


Este artigo foca em um dos modelos mais importantes no aplicativo de Inventário: stock.picking. Quer você esteja construindo módulos personalizados para armazém, integrando sistemas externos ou configurando fluxos de trabalho, você trabalhará com este modelo.

O que é o Modelo stock.picking


O modelo stock.picking representa transferências no Odoo. É o local central onde as operações de armazém são rastreadas. Cada registro de picking representa uma única transferência de bens de um local para outro.


Este modelo no Odoo é utilizado em todo o módulo de Inventário. Recebimentos, entregas e transferências internas criam registros stock.picking. Quando você confirma um pedido de entrega de uma venda, recebe bens de uma compra ou move estoque entre armazéns, você está criando ou atualizando um registro stock.picking.


O modelo é definido no módulo stock. Outros módulos o estendem através da herança de modelos do Odoo. O módulo de Vendas adiciona campos relacionados à entrega. O módulo de Compras adiciona fluxos de trabalho de recebimento. O módulo de Fabricação adiciona movimentos de produção. Cada módulo adiciona o que precisa sem duplicar a estrutura central.


O modelo stock.picking herda de mail.thread e mail.activity.mixin. Isso significa que você pode rastrear mudanças, adicionar mensagens de conversa e agendar atividades nas transferências diretamente.

Campos Chave no Modelo


Aqui estão os campos mais importantes do Odoo no modelo stock.picking. Compreender estes ajudará você a trabalhar de forma eficaz com transferências e operações de armazém.


1. name

Tipo: Char. Este campo armazena a referência da transferência. É tipicamente gerado automaticamente a partir de uma sequência (por exemplo, WH/OUT/00001). É exibido no cabeçalho dos formulários de transferência e é o identificador principal para o picking.


2. origin

Tipo: Char. A referência do documento de origem. Para uma entrega, isso pode ser o nome do pedido de venda. Para um recebimento, o pedido de compra. Ajuda a rastrear de onde a transferência se originou.


3. state

Tipo: Selection. O status da transferência. Valores: Rascunho, Aguardando Outra Operação, Aguardando, Pronto, Concluído, Cancelado. Cada estado determina quais ações estão disponíveis. O Odoo calcula isso a partir dos movimentos de estoque relacionados.


4. picking_type_id

Tipo: Many2one (stock.picking.type). O tipo de operação. Define se é um recebimento, entrega ou transferência interna. Obrigatório. Cada tipo de picking tem locais de origem e destino padrão.


5. move_ids

Tipo: One2many (stock.move). Os movimentos de stock. Cada linha representa um produto e quantidade a mover. Este é o núcleo da transferência. Toda a lógica de reserva e disponibilidade funciona nestes movimentos.


6. move_line_ids

Tipo: One2many (stock.move.line). As operações detalhadas. Quando você tem rastreamento de lotes ou séries, estas linhas armazenam os lotes e locais específicos. Usado para picking, embalagem e validação.


7. location_id

Tipo: Many2one (stock.location). O local de origem. De onde os produtos são retirados. Obrigatório. Para entregas, este é geralmente o local de stock. Para recebimentos, o local do fornecedor.


8. location_dest_id

Tipo: Many2one (stock.location). O local de destino. Para onde os produtos são movidos. Obrigatório. Para entregas, este é geralmente o local do cliente. Para recebimentos, o local de stock.


9. partner_id

Tipo: Many2one (res.partner). O contato. Para entregas, o cliente. Para recebimentos, o fornecedor. Usado para endereço em documentos e para integração com transportadoras.


10. scheduled_date

Tipo: Data/hora. Quando a transferência está agendada para ser processada. Usado para planejamento e priorização. Defini-lo manualmente define a data esperada para todos os movimentos de estoque.


11. data_deadline

Tipo: Data/hora. O prazo. Muitas vezes vem do pedido de venda ou do pedido de compra. Usado para sinalizar transferências atrasadas e para datas prometidas ao cliente.


12. data_done

Tipo: Data/hora. Quando a transferência foi validada ou cancelada. Somente leitura. Definido automaticamente quando a separação é concluída.


13. prioridade

Tipo: Seleção. O nível de prioridade. Os produtos são reservados primeiro para transferências com maior prioridade. Usado para pedidos urgentes.


14. tipo_movimento

Tipo: Seleção. A política de envio. Valores: Assim que possível (entrega parcial permitida) ou Quando todos os produtos estiverem prontos (tudo ou nada). Afeta quando a separação pode ser processada.


15. user_id

Tipo: Many2one (res.users). O usuário responsável. Usado para atribuição e rastreamento de carga de trabalho. Padrão para o usuário atual ao criar.


16. company_id

Tipo: Many2one (res.company). A empresa. Relacionado ao tipo de picking. Em configurações de múltiplas empresas, isto determina qual empresa possui a transferência.


17. group_id

Tipo: Many2one (procurement.group). O grupo de aprovisionamento. Liga movimentos relacionados juntos. Usado quando múltiplos pickings vêm do mesmo pedido.


18. backorder_id

Tipo: Many2one (stock.picking). Quando uma transferência é parcialmente validada, uma backorder é criada para o restante. Este campo liga ao picking original.


19. backorder_ids

Tipo: One2many (stock.picking). As back orders criadas a partir deste picking. Usado quando você valida parcialmente e precisa processar o restante mais tarde.


20. return_id

Tipo: Many2one (stock.picking). Se este picking foi criado como um retorno, isto liga ao picking original. Usado para fluxos de trabalho de retorno.


21. note

Tipo: Html. Notas internas. Visíveis para os usuários do armazém. Podem incluir instruções especiais ou requisitos de manuseio.


22. signature

Tipo: Imagem. A assinatura capturada quando a entrega é validada. Usada como prova de entrega. Armazenada como um anexo.


23. está_assinado

Tipo: Booleano. Calculado a partir da assinatura. Indica se a entrega foi assinada.


24. id_do_dono

Tipo: Muitos para um (res.partner). O proprietário a atribuir ao validar. Usado para consignação ou quando os produtos pertencem a um terceiro.


25. ids_nível_pacote

Tipo: Um para muitos (stock.package_level). Níveis de pacote ao usar colocar em pacote. Agrupa linhas de movimento em pacotes para envio.


26. data_criação

Tipo: Data e hora. Quando o registro foi criado. Gerido automaticamente pelo Odoo. Herdado do modelo base.


27. data_modificação

Tipo: Data e hora. Quando o registro foi modificado pela última vez. Gerido automaticamente. Herdado do modelo base.


28. ativo

Tipo: Booleano. Sinal de exclusão suave. Quando Falso, o registro é arquivado. Herdado do modelo base.

Como Este Modelo É Usado em Fluxos de Trabalho Empresariais


1. Vendas e Entregas

Quando um pedido de venda é confirmado, o Odoo cria uma ordem de entrega (stock.picking). A entrega está ligada ao pedido de venda via origem. A equipe do armazém separa e embala, depois valida. O estado passa de rascunho para pronto para feito.


2. Compras e Recebimentos

Quando um pedido de compra é confirmado, o Odoo cria um recebimento de entrada. A entrega recebe produtos da localização do fornecedor para o estoque. O partner_id é o fornecedor. A validação atualiza as quantidades de inventário.


3. Transferências Internas

Mover estoque entre armazéns ou localizações cria entregas internas. O picking_type_id tem o código 'interno'. A localização e o destino são ambos locais de estoque internos.


4. Devoluções e Pedidos Pendentes

Quando uma venda é devolvida, uma entrega de retorno é criada. O return_id está ligado à entrega original. Quando uma entrega é parcialmente validada, backorder_ids contém o trabalho restante.


5. Fabricação e Produção

Os pedidos de fabricação criam entregas para matérias-primas (consumo) e produtos acabados (produção). O modelo stock.picking é estendido pelo módulo mrp para esses fluxos.

Como os Desenvolvedores Estendem Este Modelo


Os desenvolvedores estendem stock.picking usando vários padrões. A herança de modelos do Odoo é o principal mecanismo.


Herança de Modelo

Use _inherit = 'stock.picking' para estender o modelo. Adicione novos campos, sobrescreva métodos ou adicione restrições. O modelo herdado no Odoo mantém suas alterações em um módulo separado para atualizações fáceis.


Adicionando Campos

Defina novos campos Odoo em seu modelo herdado. Use o tipo de campo correto: Char, Many2one, Boolean, Integer, Text, Selection. Considere campos dependentes da empresa para multi-empresa.


Extensões Python

Sobrescreva button_validate, action_assign ou _create_backorder para adicionar lógica. Use super() para chamar o original. Tenha cuidado com transições de estado e criação de movimentos.


Odoo Studio

O Odoo Studio permite que você adicione campos sem código. Bom para personalizações rápidas, como rótulos personalizados ou notas extras. Para lógica complexa ou integração de transportadoras, módulos personalizados são mais fáceis de manter.

Melhores Práticas


  • Sempre defina o picking_type_id ao criar pickings manualmente. Isso determina locais e comportamentos padrão.
  • Use o campo origin para rastrear a origem do documento. Isso ajuda na geração de relatórios e na depuração.
  • Ao construir integrações de API, o modelo stock.picking está totalmente exposto via API do Odoo. Crie movimentos através da relação move_ids. Não crie pickings sem movimentos.
  • Use scheduled_date para planejamento. Isso afeta a reserva e a priorização.
  • Para campos personalizados, use o prefixo x_ ou um prefixo de módulo para evitar conflitos com versões futuras do Odoo.

Erros Comuns


  • Criando picking sem definir picking_type_id. Isso pode levar a locais padrão errados.
  • Modificando move_ids após a confirmação sem entender a máquina de estados. As transições de estado podem ser complexas.
  • Esquecendo de definir partner_id para entregas. Transportadoras e documentos precisam do contato.
  • Substituindo button_validate sem chamar super(). Isso pode quebrar a criação de backorders e outros módulos.
  • Assumindo que move_ids e move_line_ids estão sempre sincronizados. As linhas de movimento são criadas quando você reserva ou quando usa operações detalhadas.

Conclusão


O modelo stock.picking é central para o inventário do Odoo. Ele armazena transferências, entregas e recebimentos. Compreender seus campos e como os módulos o estendem ajudará você a configurar, personalizar e integrar o Odoo de forma eficaz.


Seja você um consultor funcional mapeando processos de armazém ou um desenvolvedor construindo módulos personalizados, um sólido entendimento de stock.picking economizará tempo e evitará erros.

Pronto para Otimizar o Seu Armazém Odoo


A Dasolo ajuda empresas a implementar, personalizar e otimizar o Odoo. Nós nos especializamos em integrações de API e desenvolvimento Odoo. Nossa equipe tem ampla experiência com a arquitetura de dados do Odoo e modelos como stock.picking.


Se você precisar de ajuda com sua implementação do Odoo, módulos personalizados de armazém ou integrações, estamos aqui para ajudar. Agende uma demonstração para discutir seu projeto.

O Modelo stock.picking: Compreendendo as Operações de Transferência e Armazém do Odoo
Dasolo 10 de março de 2026
Compartilhar esta publicação
Iniciar sessão para deixar um comentário