Integrações··6 min de leitura

Integrar Tiny ERP com CRM - como sincronizar pedidos sem retrabalho

Como funciona a integração nativa Tiny + Glinter CRM. Sync de produtos, criação automática de pedido, rate limit e cuidados práticos.

Por Equipe Glinter

Empresa B2B brasileira de PME tem dois sistemas chave: o CRM (onde vendedor trabalha leads e fecha) e o ERP (onde o pedido é faturado, produto sai, nota fiscal é emitida). Sem integração entre os dois, alguém precisa digitar pedido duas vezes — uma vez no CRM (acaba de fechar a venda), outra vez no ERP (operação precisa do dado pra emitir NF). É o tipo clássico de retrabalho que custa 5-10 minutos por pedido + erro humano (digitação errada de SKU, quantidade, valor).

O Glinter CRM tem integração nativa com Tiny ERP — um dos ERPs mais usados pela PME brasileira. Esse texto explica como funciona, o que sincroniza automaticamente, e os cuidados práticos (especialmente sobre rate limit da API Tiny, que é estrito e deixa muita gente travada).

O que sincroniza

A integração cobre dois fluxos principais:

Sync de produtos (Tiny → CRM)

  • Produtos cadastrados no Tiny aparecem no Glinter CRM
  • SKU, nome, descrição, preço unitário, estoque atual
  • Atualização sob demanda ou agendada
  • Vendedor vende usando catálogo confiável, sem inventar SKU

Criação de pedido (CRM → Tiny)

  • Pedido fechado no CRM gera pedido automaticamente no Tiny
  • Cliente é criado no Tiny se não existir
  • Itens, valores, descontos, condições de pagamento espelhados
  • Vendedor não precisa abrir Tiny

Como configurar

Setup no Glinter CRM:

  1. Token API Tiny: gere no painel do Tiny (admin → integrações → API)
  2. Cole no Glinter CRM: tela /integrations/tiny → Conectar
  3. Importação inicial: clique "Importar produtos" → Glinter busca primeira página, valida, salva
  4. Sync de pedidos: ative toggle "Enviar pedidos para Tiny automaticamente"

Pronto em 10 minutos.

A pegadinha do rate limit

Aqui está o que toda integração com Tiny precisa respeitar — e onde 90% das integrações mal feitas falham. Tiny API v2 tem rate limit estrito:

  • Máximo ~1 requisição por segundo
  • Em burst, retorna erro: "API Bloqueada - Excedido o número de acessos"
  • Se você bater muito, IP fica bloqueado por minutos

Integração mal feita faz isso:

// ERRADO — paraleliza, leva ban
const products = await Promise.all(
  ids.map(id => tiny.getProduct(id))
)

Resultado: 50 requests simultâneos → bloqueio na 5ª, sistema quebra.

Integração correta:

// CERTO — sequencial com delay
for (const id of ids) {
  await tiny.getProduct(id)
  await sleep(1000) // 1 segundo entre requests
}

Glinter CRM tem DELAY_BETWEEN_REQUESTS = 1000 constante em todo o código de integração Tiny. Não negociável, está no rule book do projeto.

Casos onde isso impacta

Importação de catálogo grande:

  • 500 produtos × 1.5s/cada (request listagem + estoque) = ~12 minutos
  • Não é instantâneo
  • Glinter mostra progresso na tela
  • Roda em background, vendedor pode continuar trabalhando

Criação de pedido:

  • 1 pedido = 2-3 requests (criar cliente se não existir + criar pedido + buscar status)
  • Sequencial com delay = 3-5s por pedido
  • Em volume alto (50+ pedidos/dia), processo roda em fila — vendedor não espera

Quando sincronizar

Estratégias possíveis:

Sync em tempo real (recomendado para pedidos)

  • Pedido fechado no CRM → request imediato pra Tiny
  • Vendedor vê confirmação ("Enviado ao Tiny")
  • Em 5 segundos, OPS vê no Tiny e começa expedição

Sync agendado (recomendado para produtos)

  • Diariamente às 4h da manhã
  • CRM busca produtos atualizados
  • Quando vendedor abre catálogo de manhã, está atualizado
  • Não consome rate limit em horário comercial

Sync sob demanda (manual)

  • Botão "Sincronizar agora" disponível
  • Útil quando lançou produto novo e quer aparecer pra vendedor imediatamente

Glinter CRM combina os três modelos.

O que pode dar errado

1. Token expirado ou revogado

Tiny revoga token às vezes (mudança de plano, segurança). Sincronização para de funcionar silenciosamente. Solução: monitor de sync que envia alerta quando última sync falhou. Glinter CRM tem dashboard com status da integração.

2. SKU duplicado

Vendedor cria produto manualmente no CRM com SKU ABC123 e o mesmo SKU já existe no Tiny. Quando integração roda, conflita. Solução: política de "Tiny é a fonte da verdade pra produto" — CRM aceita, mas avisa.

3. Cliente sem CNPJ

Tiny exige CNPJ válido para criar pedido B2B. Lead que virou oportunidade sem CNPJ trava. Glinter CRM valida CNPJ antes de tentar enviar — alerta para vendedor preencher.

4. Estoque insuficiente

Vendedor fecha pedido de 50 unidades, mas estoque é 30. Tiny retorna erro. Solução: Glinter checa estoque na hora de fechar (UI mostra "30 disponíveis"), e vendedor decide.

5. Tiny indisponível (downtime)

API do Tiny cai 2-3× por ano. Pedido enviado fica em fila no Glinter, retry automático quando volta. Vendedor não perde nada — só atrasa um pouco.

Customização

Algumas customizações comuns:

  • Mapeamento de status: status no Glinter (Pendente, Aprovado, etc.) mapeado para status no Tiny correspondente
  • Forma de pagamento: pré-configurada por plano de venda
  • Vendedor responsável: vendedor do CRM = vendedor no Tiny (relatórios batem)
  • Imposto e CFOP: configurado no Tiny, Glinter respeita

Pra customização específica, conversamos no onboarding.

Comparação com integração via Zapier

Tem gente que tenta integrar Tiny + qualquer CRM via Zapier. Funciona pra cenário simples, mas tem problemas:

AspectoGlinter CRM nativoZapier
Latência<2s5-30s
Custo extraZero$20-50/mês
Rate limit TinyRespeitadoIgnorado (causa bloqueio)
Lógica de retryRobustaLimitada
Mapping customizadoTotalLimitado
ManutençãoEquipe GlinterVocê

Pra operação séria, integração nativa é único caminho.

Outros ERPs

Glinter CRM tem roadmap pra:

  • Bling (já em beta com 3 clientes)
  • Omie (planejado Q3 2026)
  • WebMaisERP (planejado Q4 2026)

Para outros ERPs ou integrações específicas, plano Enterprise inclui desenvolvimento sob demanda.

Para aprofundar

Resumo

Integração CRM + Tiny ERP elimina dupla digitação, reduz erro humano, e libera vendedor para fechar mais. Implementação correta respeita rate limit (1 request/segundo), gerencia falhas com retry, e mantém Tiny como fonte da verdade para produto.

Glinter CRM tem integração nativa Tiny rodando em produção. Fale com nosso time para configurar no seu cenário.