Ir para o conteúdo
Todos os artigos
Configuração

ERP, faturamento e conciliação bancária

Envie pagamentos e propostas aceitas ao seu ERP e concilie automaticamente as transações do seu banco com os pagamentos pendentes, tudo no modelo BYO (o ERP e o banco são seus).

Esta integração é um conector genérico, neutro e global para o seu financeiro, com duas capacidades independentes: (1) enviar dados ao seu ERP/sistema contábil quando um pagamento é confirmado ou uma proposta é aceita; e (2) receber transações do seu banco (via Open Banking, um agregador financeiro como Plaid, Tink ou TrueLayer, ou o próprio banco) e conciliá-las automaticamente com os pagamentos pendentes. Funciona em qualquer país e moeda, com qualquer ERP (QuickBooks, Xero, NetSuite, SAP, entre outros) e qualquer banco. Modelo BYO: as contas e credenciais são suas; não há nenhum custo nosso.

Ambas nascem inertes: nada acontece até você configurar e ativar. Os segredos (API key do ERP e segredo do webhook bancário) ficam cifrados e nunca são exibidos de volta.

Pré-requisitos

  • ERP/Faturamento: um endpoint HTTP no seu ERP (QuickBooks, Xero, NetSuite, SAP ou outro) capaz de receber um POST JSON, e a credencial para autenticá-lo (API key ou token).
  • Conciliação bancária: uma conta em um banco ou agregador de Open Banking (Plaid, Tink, TrueLayer ou o próprio banco) que possa enviar webhooks de transação e assiná-los com HMAC-SHA256.
  • No Sellio, ser administrador para salvar e ativar os conectores em Configurações → Integrações.

ERP / Faturamento (envio)

Quando um pagamento é confirmado (pelo webhook do provedor de pagamento ou pela conciliação bancária), ou quando a proposta ligada é aceita, o CRM faz um POST para o endpoint do seu ERP com um envelope JSON no formato { event, data, source, sentAt }. O event indica o fato (por exemplo, payment.paid) e o data traz os campos (valor, moeda, referência, ids da proposta/oportunidade).

  1. Abra Configurações → Integrações e vá ao cartão "ERP / Faturamento".
  2. Endpoint (URL): cole o endereço do seu ERP que recebe o POST (ex.: https://erp.suaempresa.com/api/webhooks/crm).
  3. Header de autenticação e Prefixo: informe como autenticar (ex.: Authorization com prefixo "Bearer ", ou um header próprio como X-Api-Key sem prefixo).
  4. API key: cole a chave do seu ERP. Ela é guardada cifrada.
  5. Salve o conector, use "Enviar teste" para validar e depois clique em Ativar. O envio automático só ocorre com o conector ATIVADO.
💡 O envio é best-effort: se o seu ERP estiver fora do ar ou recusar a chamada, o CRM não é afetado: o pagamento continua registrado normalmente.

Conciliação bancária (recebimento)

Você aponta o webhook do seu banco/Open Banking para a URL que o CRM gera. A cada transação recebida (um JSON com valor, moeda, referência/descrição e um id externo), o CRM procura um pagamento PENDENTE que case e o marca como pago.

  1. No cartão "Conciliação bancária", informe o Segredo do webhook (a chave usada para assinar as chamadas) e salve.
  2. Gere a URL do webhook e cole-a no seu banco/Open Banking/agregador.
  3. Configure o provedor para assinar o corpo de cada chamada com HMAC-SHA256 e enviar a assinatura no header X-Signature (hex ou base64, com ou sem o prefixo sha256=).
  4. Ative a integração.

Como o casamento funciona

O CRM concilia de forma conservadora (é dinheiro, então nunca adivinha) e agnóstica de país: (1) filtra os pagamentos pendentes pelo valor exato e, quando a transação informa a moeda, pela mesma moeda; (2) se a transação trouxer uma referência/descrição, prefere o pagamento cujo identificador (id, id externo, proposta ou oportunidade) apareça nessa referência; (3) sem referência que desempate, só concilia se houver exatamente um pagamento pendente com aquele valor. Se vários pagamentos têm o mesmo valor e nada os distingue, a transação fica sem conciliar (para você tratar manualmente).

Exemplo: Transação: { amount: 199.90, currency: "USD", reference: "Pagto proposta q_8f2a", external_id: "tx_123" } → casa com o pagamento pendente de 199,90 cuja proposta é q_8f2a e o marca como pago.
💡 A conciliação é idempotente: como só pagamentos pendentes entram no casamento, se o banco reenviar a mesma transação o pagamento já pago não é tocado de novo. Transações que não casam são registradas (log) sem interromper o recebimento.

Como testar

  1. ERP: com o conector ativado, clique em "Enviar teste" no cartão "ERP / Faturamento" e confirme no seu ERP que o POST chegou (procure o registro/log de webhook recebido).
  2. Conciliação bancária: crie um pagamento pendente com um valor único e dispare (ou simule) uma transação no seu banco/agregador com o mesmo valor e uma referência que cite a proposta/oportunidade. Verifique se o pagamento passou a "Pago".
  3. Confira o histórico/log da integração para ver as chamadas recebidas e o resultado da conciliação.

Solução de problemas

  • "Enviar teste" falha com 401/403: a API key do ERP está errada ou o header/prefixo de autenticação não confere. Recole a chave e confira o nome do header (ex.: Authorization "Bearer ", ou X-Api-Key).
  • 404 ao enviar: o endpoint do ERP está errado ou a rota não existe. Confirme a URL completa que recebe o POST.
  • Assinatura inválida na conciliação (webhook rejeitado): o Segredo do webhook no CRM difere do usado pelo banco para assinar, ou a assinatura não vem no header X-Signature (HMAC-SHA256, hex ou base64). Alinhe o mesmo segredo dos dois lados.
  • A transação não concilia: pode haver mais de um pagamento pendente com o mesmo valor e sem referência que desempate; inclua o id/proposta na descrição da transação, ou concilie manualmente. Confirme também que a moeda bate.
  • Nada acontece no envio: o envio automático só ocorre com o conector ATIVADO. Ative-o depois de salvar.

Abrir este artigo dentro do sistema

Leu e quer ver funcionando?

A conta é grátis e o manual inteiro está disponível dentro do sistema, com um assistente que responde pelo próprio conteúdo.

Criar conta grátis
ERP, faturamento e conciliação bancária · Sellio