Integrar ERP e HubSpot: as decisões de arquitetura que definem o projeto antes da primeira linha de código
Por Juliano Depiné, CEO da Reevia

Fonte de verdade por objeto, chave de reconciliação, direção do fluxo e limites reais de API. As quatro decisões que determinam se a integração se sustenta em produção ou vira manutenção permanente.
A decisão que define um projeto de integração entre ERP e HubSpot não é a escolha da ferramenta de integração. É a definição, objeto por objeto, de qual sistema é fonte de verdade, qual chave reconcilia os registros entre os dois lados e em que direção cada campo pode ser escrito. Projetos que pulam essa etapa entregam sincronização funcionando na primeira semana e produzem divergência de cadastro no terceiro mês, quando os dois sistemas passam a disputar o mesmo campo.
Este artigo trata das decisões estruturais e dos limites técnicos concretos da plataforma, que precisam entrar no desenho antes do orçamento do projeto.
Decisão 1: fonte de verdade por objeto
A pergunta correta não é se o ERP ou o CRM manda. É quem manda em cada objeto e em cada campo. Um desenho típico de indústria ou distribuição no Brasil:
Objeto | Fonte de verdade típica | Direção | Chave de reconciliação |
|---|---|---|---|
Cadastro de cliente | ERP | ERP para HubSpot | CNPJ, com código do cliente do ERP em propriedade dedicada |
Prospect ainda não cadastrado | HubSpot | HubSpot para ERP no fechamento | CNPJ quando existir; identificador interno enquanto não existir |
Contato e papel na conta | HubSpot | HubSpot para ERP quando necessário | E-mail corporativo |
Oportunidade e pipeline | HubSpot | Somente leitura no ERP | Identificador do negócio |
Pedido e faturamento | ERP | ERP para HubSpot | Número do pedido e da nota |
Limite de crédito e situação financeira | ERP | ERP para HubSpot, somente leitura | Código do cliente |
Produtos e tabela de preço | ERP | ERP para HubSpot | SKU |
O critério que resolve quase todos os casos duvidosos: manda quem tem responsabilidade legal ou contábil sobre o dado. Cadastro fiscal, condição comercial e faturamento pertencem ao ERP. Relacionamento, intenção e etapa de negociação pertencem ao CRM.
Campos que aparecem nos dois lados sem dono definido são a causa raiz da maior parte das divergências. A regra prática é que todo campo sincronizado tenha exatamente um sistema com permissão de escrita, e que o outro lado seja explicitamente somente leitura, inclusive na interface, com a propriedade bloqueada para edição manual.
Decisão 2: chave de reconciliação e idempotência
Nome de empresa não é chave. Razão social muda, vem com abreviação diferente em cada sistema e não sobrevive a fusão de registros.
O desenho que se sustenta usa CNPJ como chave de negócio para empresas e e-mail para contatos, e mantém, em propriedade dedicada e imutável na HubSpot, o identificador interno do ERP. Essa propriedade é o que garante idempotência: reprocessar o mesmo evento duas vezes atualiza o mesmo registro em vez de criar um segundo.
Três cuidados que evitam retrabalho:
Normalização antes da comparação. CNPJ sem máscara, e-mail em minúsculas, sem espaços. A normalização precisa ser idêntica dos dois lados do fluxo.
Tratamento de matriz e filial. Empresas com várias inscrições exigem decisão prévia: um registro por CNPJ raiz com filiais como objeto associado, ou um registro por CNPJ completo. As duas soluções funcionam; a ausência de decisão não.
Deleção e fusão. Registro excluído ou fundido no ERP precisa de tratamento definido no CRM. Fusão de registros altera identificador, e integrações que ignoram esse evento passam a escrever em registro órfão.
Decisão 3: evento ou lote
Orientado a evento. O ERP dispara webhook a cada mudança relevante e a integração reage. Latência baixa, volume de chamadas proporcional à mudança. Exige que o ERP tenha webhook, o que nem sempre acontece nos sistemas brasileiros de porte médio.
Lote com marca d'água. A integração consulta periodicamente os registros alterados desde o último carimbo de tempo processado. Simples, tolerante a falha, e a marca d'água precisa ser persistida com cuidado para não reprocessar nem pular janela.
Captura de mudança no banco. Quando o ERP não expõe API adequada, a leitura acontece na camada de dados, com replicação ou trilha de alteração. Exige acordo com o fornecedor do ERP e atenção a contrato de suporte.
Na prática, a maioria dos cenários combina os três: evento para o que precisa de resposta imediata, lote noturno para reconciliação e conferência, e uma rotina de comparação semanal que aponta divergência antes que alguém a descubra em uma reunião comercial.
Decisão 4: os limites de aplicativos privados
Esses números precisam estar no desenho, não na descoberta durante a homologação. Para aplicativos de distribuição privada na HubSpot:
Assinatura | Por 10 segundos | Por dia |
|---|---|---|
Free e Starter | 100 por app | 250.000 por conta |
Professional | 190 por app | 625.000 por conta |
Enterprise | 190 por app | 1.000.000 por conta |
Com API Limit Increase | 250 por app | 1.000.000 adicionais por pacote, máximo de dois |
Detalhes que mudam o desenho:
O limite de rajada é por app; o limite diário é compartilhado por toda a conta. Uma conta com integração de ERP, ferramenta de dados e app de assinatura eletrônica divide o mesmo teto diário. O orçamento de chamadas precisa ser feito no nível da conta.
A API de busca tem limite próprio e mais restrito. Como a busca é o caminho natural para verificar se um registro já existe antes de criar, ela costuma ser o gargalo real, e não o limite de rajada. A alternativa é manter o identificador externo indexado e usar leitura direta ou endpoint em lote.
Endpoints em lote contam como uma requisição. Substituir um laço que lê cem registros individualmente por uma leitura em lote reduz o custo de cem chamadas para uma. É a otimização de maior efeito e a mais frequentemente esquecida.
Erros 429 exigem recuo exponencial. A HubSpot orienta que respostas de erro não ultrapassem 5% do total diário de requisições, e esse é o patamar exigido para certificação de app no Marketplace. Uma integração sem política de repetição atinge esse percentual com facilidade em dia de carga.
Webhooks disparados por workflow não contam para o limite de API. É uma saída de arquitetura relevante para notificar sistemas externos sem consumir cota.
Há tetos estruturais. Até 20 aplicativos privados legados por conta e até 1.000 assinaturas de webhook por app.
O que costuma quebrar em produção
Fila sem tratamento de falha. Toda integração precisa de destino para a mensagem que falhou repetidamente, com registro do payload original e alerta. Sem isso, a perda de dado não deixa rastro.
Ordem de eventos. Atualização e criação chegando fora de ordem produzem registro incompleto. O tratamento é comparar carimbo de tempo do evento com o do registro, e descartar o que for mais antigo.
Automação disparando durante carga. Importação em massa aciona workflows de nutrição e alertas de proprietário. A rotina de carga precisa prever suspensão de automação e critério de reativação.
Ausência de ambiente de teste. Homologar em portal de produção é a origem de boa parte dos incidentes de dado. A HubSpot oferece ambientes de teste e o desenho do projeto precisa contemplá-los.
Falta de observabilidade. O consumo de API é visível na própria conta, em Development, Monitoring, API call usage. Monitorar isso semanalmente antecipa o problema em vez de reagir a ele.
Objetos customizados e o modelo de dados
Pedido, contrato, nota fiscal, apólice, ordem de serviço e equipamento instalado raramente cabem bem em propriedades de negócio. Objetos customizados, disponíveis no plano Enterprise, permitem representar essas entidades com propriedades e associações próprias, o que preserva a granularidade do ERP dentro do CRM sem inflar o registro de empresa com dezenas de campos.
Essa é uma das razões pelas quais a decisão de plano precisa ser tomada com o desenho de integração na mesa, e não depois. Quando o requisito envolve orquestração com muitos ramos, reprocessamento controlado ou volume alto, a construção sai do que se resolve por configuração e entra em engenharia sobre a plataforma, com aplicativos privados, ações de código customizado e controle de fila.
Continue lendo
Perguntas frequentes
Qual o limite de chamadas de API da HubSpot?
Para aplicativos de distribuição privada: 100 requisições por 10 segundos e 250.000 por dia em Free e Starter; 190 por 10 segundos e 625.000 por dia em Professional; 190 por 10 segundos e 1.000.000 por dia em Enterprise. O limite de rajada é por app e o diário é compartilhado por toda a conta. A API de busca e a de associações têm limites próprios e mais restritos.
É possível integrar a HubSpot com um ERP que não tem webhook?
Sim. O padrão nesse caso é consulta periódica por marca d'água de data de alteração, ou captura de mudança na camada de dados quando o ERP permite. A latência é maior e o desenho precisa tratar reprocessamento e janela de leitura.
Qual campo usar como chave entre ERP e CRM?
CNPJ normalizado para empresas e e-mail para contatos, sempre com o identificador interno do ERP armazenado em propriedade dedicada e imutável na HubSpot. Nome de empresa não serve como chave.
Sincronização bidirecional é sempre melhor?
Não. Bidirecional só faz sentido quando cada campo tem dono único definido. Sem essa definição, a bidirecionalidade produz sobrescrita cruzada e divergência crescente. Muitos cenários se resolvem melhor com fluxo unidirecional por objeto.
Quanto tempo leva uma integração entre ERP e HubSpot?
Depende quase inteiramente de duas variáveis: a qualidade da API do ERP e o grau de decisão prévia sobre modelo de dados. O levantamento e o desenho costumam consumir mais tempo que a construção, e projetos que tentam encurtar essa etapa a pagam depois em manutenção.
Fontes
Limites e recursos de plataforma mudam. Confirme na documentação oficial na data do desenho do projeto.
Sobre o autor
Juliano Depiné, CEO da Reevia
Juliano Depiné lidera a Reevia, parceira Diamond da HubSpot no Brasil. Atua na venda de licenças, na implementação da plataforma e na engenharia de agentes de IA em operações de médio e grande porte.