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 a faturas e leads, 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 os campos do Odoo, relacionamentos e lógica de negócios.
Este artigo foca no modelo crm.lead. Ele alimenta o pipeline de vendas no Odoo CRM. Quer você esteja construindo módulos personalizados, integrando sistemas externos ou configurando fluxos de trabalho de vendas, você trabalhará com este modelo.
O que é o modelo crm.lead
O modelo crm.lead representa leads e oportunidades no Odoo. É o local central onde os dados do pipeline de vendas são armazenados. Um único modelo no Odoo lida tanto com leads em estágio inicial quanto com oportunidades qualificadas.
Este modelo é utilizado pelo módulo CRM. Os módulos de vendas, marketing e website o estendem ou referenciam. Quando um visitante preenche um formulário no seu site, quando um vendedor cria uma oportunidade, ou quando um lead é convertido em cliente, você está trabalhando com crm.lead.
O modelo utiliza a herança de modelos do Odoo para adicionar funcionalidade. O módulo base CRM define a estrutura central. Outros módulos como crm_iap_lead_enrich ou website_crm adicionam campos e comportamentos. Cada módulo estende o que precisa sem duplicar o núcleo.
Campos-chave no modelo
Aqui estão os campos mais importantes do Odoo no modelo crm.lead. Compreender estes ajudará você a trabalhar de forma eficaz com leads e oportunidades.
1. nome
Tipo: Char. Este campo armazena o nome ou título do lead ou oportunidade. É o principal identificador mostrado nas visualizações de lista e kanban. Para um lead, pode ser "Consulta do site." Para uma oportunidade, pode ser "Negócio empresarial - Acme Corp."
2. contact_name
Tipo: Char. O nome da pessoa de contato. Usado quando o lead ainda não está vinculado a um res.partner. Quando você converte um lead, este valor é frequentemente copiado para o novo registro de parceiro.
3. email_from
Tipo: Char. O endereço de e-mail principal do lead. Odoo usa isso para comunicações antes da conversão. É a principal forma de identificar e deduplicar leads.
4. phone
Tipo: Char. O número de telefone principal. Exibido no formulário do lead e usado para registro de chamadas e atividades de acompanhamento.
5. móvel
Tipo: Char. Número de telefone móvel. Frequentemente utilizado para SMS ou acompanhamento urgente quando diferente do telefone principal.
6. partner_id
Tipo: Many2one (res.partner). Liga ao contacto ou empresa quando o lead é qualificado ou convertido. Antes da conversão, este campo está vazio. Após a conversão, liga ao parceiro criado ou correspondente.
7. user_id
Tipo: Many2one (res.users). O vendedor responsável pelo lead. Usado para atribuição, relatórios e agendamento de atividades. Impulsiona os dashboards "Minhas Oportunidades" e da equipe.
8. team_id
Tipo: Many2one (crm.team). A equipe de vendas. Organiza leads por equipe para atribuição em rodízio e relatórios baseados em equipe.
9. stage_id
Tipo: Many2one (crm.stage). A fase atual no pipeline. As fases definem o funil: Novo, Qualificado, Proposta, Negociação, Ganhou, Perdido. Mover entre fases impulsiona a automação e relatórios.
10. tipo
Tipo: Seleção. Indica se o registro é um Lead ou uma Oportunidade. Leads estão em estágio inicial. Oportunidades são qualificadas e têm receita esperada. O tipo afeta quais visualizações e fases estão disponíveis.
11. receita_esperada
Tipo: Float. A receita esperada se a oportunidade for ganha. Usado para relatórios de valor de pipeline e previsões. Frequentemente calculado a partir da probabilidade e de um valor de negócio.
12. probabilidade
Tipo: Float. A probabilidade de ganho em porcentagem (0 a 100). Usado em cálculos de pipeline ponderado. Pode ser manual ou automatizado com base na fase.
13. id_empresa
Tipo: Many2one (res.company). Em configurações de múltiplas empresas, isso indica a qual empresa Odoo o lead pertence. Afeta a visibilidade do registro e a moeda.
14. descrição
Tipo: Texto. Notas e descrição do lead ou oportunidade. Usado para notas internas, resumos de reuniões e contexto que os vendedores precisam ao fazer follow-up.
15. data_criação
Tipo: Datetime. Armazena a data e hora em que o registro foi criado. Gerido automaticamente pelo Odoo. Útil para relatórios de idade do lead e análise do tempo de conversão.
16. data_modificação
Tipo: Datetime. Armazena a data e hora da última modificação. Também gerido automaticamente. Ajuda a rastrear quando o lead foi atualizado pela última vez.
17. date_open
Tipo: Datetime. Quando o lead foi primeiro atribuído a um utilizador. Definido quando user_id é preenchido. Usado para medir o tempo até o primeiro contato e a velocidade de atribuição.
18. date_closed
Tipo: Datetime. Quando o lead foi fechado (ganho ou perdido). Definido quando o estágio passa para um estágio fechado. Usado para análise de conversão e duração do ciclo de vendas.
19. date_deadline
Tipo: Data. A data de fechamento esperada. Usado para previsão e planejamento de atividades. Os vendedores definem isso para acompanhar quando esperam fechar o negócio.
20. active
Tipo: Boolean. Sinalizador de exclusão suave. Quando Falso, o registro é arquivado e oculto das visualizações padrão. Leads perdidos ou fundidos são frequentemente arquivados em vez de excluídos.
21. street, street2, city, zip
Tipo: Char. Campos de endereço. Usado quando o lead tem um endereço antes da conversão. Copiado para o parceiro quando o lead é convertido.
22. country_id
Tipo: Many2one (res.country). O país. Usado para relatórios regionais e formatação de endereços. Filtrar leads por país ajuda na gestão de territórios.
23. state_id
Tipo: Many2one (res.country.state). O estado ou província. O domínio é filtrado por país. Usado para segmentação regional.
24. source_id
Tipo: Many2one (utm.source). A fonte do lead. Rastreia de onde o lead veio: Website, Referência, Campanha, etc. Importante para atribuição de marketing.
25. campaign_id
Tipo: Many2one (utm.campaign). A campanha de marketing. Liga o lead a uma campanha específica para análise de ROI. Usado quando os leads vêm de campanhas de email ou anúncios.
26. activity_ids
Tipo: One2many (mail.activity). As atividades agendadas. Tarefas, chamadas e reuniões ligadas ao lead. Aciona o widget de atividades e lembretes de acompanhamento.
27. color
Tipo: Inteiro. Índice de cor para visualizações kanban e de lista. Usado para distinguir visualmente os leads por prioridade, fonte ou critérios personalizados.
28. message_ids
Tipo: One2many (mail.message). O chatter. Notas internas, emails e histórico de atividades. Odoo armazena toda a comunicação no chatter para contexto completo.
Como este modelo é utilizado em fluxos de trabalho empresariais
1. Captura de Leads no Website
Quando um visitante submete um formulário de contacto no seu website Odoo, um novo registo crm.lead é criado. O email_from, contact_name e description são preenchidos a partir do formulário. O lead aparece no pipeline do CRM para a equipa de vendas acompanhar.
2. Qualificação e Conversão de Leads
Os vendedores movem os leads através de etapas. Quando um lead é qualificado, eles mudam o tipo para Oportunidade e definem expected_revenue. Quando o negócio é ganho, eles convertem o lead. Odoo cria ou liga um res.partner e, opcionalmente, uma sale.order.
3. Relatórios do Pipeline de Vendas
Os gestores utilizam os dados crm.lead para relatórios de pipeline. A receita esperada, a probabilidade e a etapa determinam o valor ponderado do pipeline. Filtros por user_id e team_id mostram o desempenho por vendedor e equipa.
4. Atribuição de Marketing
Os campos source_id e campaign_id ligam os leads aos esforços de marketing. Quando os leads vêm de campanhas de email ou anúncios, os parâmetros UTM preenchem estes campos. As equipas de marketing utilizam isto para medir a eficácia da campanha.
5. Gestão de Atividades e Seguimento
Os vendedores agendam atividades nos leads. O campo activity_ids armazena chamadas, reuniões e tarefas. A activity_date_deadline impulsiona a coluna "Próxima Atividade" nas vistas de lista e lembra os utilizadores de fazer o seguimento.
Como os desenvolvedores estendem este modelo
Os desenvolvedores estendem crm.lead utilizando vários padrões. A herança de modelos do Odoo é o principal mecanismo.
Herança de Modelos
Use _inherit = 'crm.lead' para estender o modelo. Adicione novos campos Odoo, 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 no seu modelo herdado. Use o tipo de campo correto: Char, Many2one, Boolean, Integer, Text, Selection. Adições comuns incluem fontes de leads personalizadas, interesse em produtos ou setor. Considere campos dependentes da empresa para multi-empresa.
Extensões Python
Sobrescreva create, write ou o método action_convert para adicionar lógica. Use super() para chamar o original. Tenha cuidado com mudanças de estágio e lógica de conversão. Os decoradores do modelo api no Odoo (@api.depends, @api.onchange) ajudam com campos computados e comportamento da UI.
Odoo Studio
O Odoo Studio permite que você adicione campos sem código. Bom para personalizações rápidas, como dropdowns extras ou campos de texto. Para lógica complexa, automação de estágios ou atualizações, módulos personalizados são mais fáceis de manter.
Melhores práticas
- Configure estágios para corresponder ao seu processo de vendas. Use sequências de estágios separadas para leads e oportunidades, se necessário.
- Defina source_id e campaign_id a partir de parâmetros UTM em formulários de website. Isso habilita a atribuição de marketing.
- Use team_id para atribuição em round-robin ou baseada em território. Defina regras de atribuição em crm.team.
- Ao construir integrações de API, use a API XML-RPC ou JSON-RPC. O modelo crm.lead está totalmente exposto. Mapeie IDs de CRM externos para um campo personalizado como ref para sincronizaçã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 leads duplicados em vez de pesquisar por email_from. Use
email_normalizedou uma verificação de deduplicação antes de criar. - Confundindo tipo (Lead vs Oportunidade) e stage_id. O tipo determina o tipo de registro. O estágio determina a posição no funil. Ambos são importantes para relatórios.
- Esquecendo de definir user_id ou team_id. Leads não atribuídos se perdem. Configure a atribuição automática ou assegure a atribuição manual.
- Substituindo a lógica de conversão sem chamar super(). O método action_convert faz um trabalho importante. Estenda-o, não o substitua cegamente.
- Adicionando campos personalizados obrigatórios sem valores padrão. Leads existentes falharão na validação quando você atualizar o módulo.
Conclusão
O modelo crm.lead é central para o Odoo CRM. Ele armazena leads e oportunidades e impulsiona o pipeline de vendas. 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 vendas ou um desenvolvedor construindo módulos CRM personalizados, um sólido entendimento do crm.lead economizará tempo e evitará erros.
Precisa de ajuda com a sua implementação do 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 crm.lead.
Se você precisar de ajuda com sua implementação do Odoo, módulos CRM personalizados ou integrações, estamos aqui para ajudar. Agende uma demonstração para discutir seu projeto.