ERP, facturación y conciliación bancaria
Envía pagos y propuestas aceptadas a tu ERP y concilia automáticamente las transacciones de tu banco con los pagos pendientes, todo en el modelo BYO (el ERP y el banco son tuyos).
Esta integración es un conector genérico, neutral y global para tus finanzas, con dos capacidades independientes: (1) enviar datos a tu ERP/sistema contable cuando se confirma un pago o se acepta una propuesta; y (2) recibir transacciones de tu banco (mediante Open Banking, un agregador financiero como Plaid, Tink o TrueLayer, o el propio banco) y conciliarlas automáticamente con los pagos pendientes. Funciona en cualquier país y moneda, con cualquier ERP (QuickBooks, Xero, NetSuite, SAP, entre otros) y cualquier banco. Modelo BYO: las cuentas y credenciales son tuyas; no hay ningún costo de nuestra parte.
Ambas nacen inertes: no ocurre nada hasta que configures y actives. Los secretos (API key del ERP y secreto del webhook bancario) se guardan cifrados y nunca se muestran de vuelta.
Requisitos previos
- ERP/Facturación: un endpoint HTTP en tu ERP (QuickBooks, Xero, NetSuite, SAP u otro) capaz de recibir un POST JSON, y la credencial para autenticarlo (API key o token).
- Conciliación bancaria: una cuenta en un banco o agregador de Open Banking (Plaid, Tink, TrueLayer o el propio banco) que pueda enviar webhooks de transacción y firmarlos con HMAC-SHA256.
- En Sellio, ser administrador para guardar y activar los conectores en Configuración → Integraciones.
ERP / Facturación (envío)
Cuando se confirma un pago (por el webhook del proveedor de pago o por la conciliación bancaria), o cuando se acepta la propuesta vinculada, el CRM hace un POST al endpoint de tu ERP con un sobre JSON en el formato { event, data, source, sentAt }. El event indica el hecho (por ejemplo, payment.paid) y el data trae los campos (valor, moneda, referencia, ids de la propuesta/oportunidad).
- Abre Configuración → Integraciones y ve a la tarjeta "ERP / Facturación".
- Endpoint (URL): pega la dirección de tu ERP que recibe el POST (ej.: https://erp.tuempresa.com/api/webhooks/crm).
- Header de autenticación y Prefijo: indica cómo autenticar (ej.: Authorization con prefijo "Bearer ", o un header propio como X-Api-Key sin prefijo).
- API key: pega la clave de tu ERP. Se guarda cifrada.
- Guarda el conector, usa "Enviar prueba" para validar y luego haz clic en Activar. El envío automático solo ocurre con el conector ACTIVADO.
Conciliación bancaria (recepción)
Apuntas el webhook de tu banco/Open Banking a la URL que el CRM genera. Por cada transacción recibida (un JSON con valor, moneda, referencia/descripción y un id externo), el CRM busca un pago PENDIENTE que coincida y lo marca como pagado.
- En la tarjeta "Conciliación bancaria", indica el Secreto del webhook (la clave usada para firmar las llamadas) y guarda.
- Genera la URL del webhook y pégala en tu banco/Open Banking/agregador.
- Configura al proveedor para firmar el cuerpo de cada llamada con HMAC-SHA256 y enviar la firma en el header X-Signature (hex o base64, con o sin el prefijo sha256=).
- Activa la integración.
Cómo funciona la coincidencia
El CRM concilia de forma conservadora (es dinero, así que nunca adivina) y agnóstica de país: (1) filtra los pagos pendientes por el valor exacto y, cuando la transacción informa la moneda, por la misma moneda; (2) si la transacción trae una referencia/descripción, prefiere el pago cuyo identificador (id, id externo, propuesta u oportunidad) aparezca en esa referencia; (3) sin referencia que desempate, solo concilia si hay exactamente un pago pendiente con ese valor. Si varios pagos tienen el mismo valor y nada los distingue, la transacción queda sin conciliar (para que la trates manualmente).
Cómo probar
- ERP: con el conector activado, haz clic en "Enviar prueba" en la tarjeta "ERP / Facturación" y confirma en tu ERP que el POST llegó (busca el registro/log de webhook recibido).
- Conciliación bancaria: crea un pago pendiente con un valor único y dispara (o simula) una transacción en tu banco/agregador con el mismo valor y una referencia que cite la propuesta/oportunidad. Verifica que el pago pasó a "Pagado".
- Revisa el historial/log de la integración para ver las llamadas recibidas y el resultado de la conciliación.
Solución de problemas
- "Enviar prueba" falla con 401/403: la API key del ERP es incorrecta o el header/prefijo de autenticación no coincide. Vuelve a pegar la clave y verifica el nombre del header (ej.: Authorization "Bearer ", o X-Api-Key).
- 404 al enviar: el endpoint del ERP es incorrecto o la ruta no existe. Confirma la URL completa que recibe el POST.
- Firma inválida en la conciliación (webhook rechazado): el Secreto del webhook en el CRM difiere del usado por el banco para firmar, o la firma no viene en el header X-Signature (HMAC-SHA256, hex o base64). Alinea el mismo secreto en ambos lados.
- La transacción no concilia: puede haber más de un pago pendiente con el mismo valor y sin referencia que desempate; incluye el id/propuesta en la descripción de la transacción, o concilia manualmente. Confirma también que la moneda coincide.
- No ocurre nada en el envío: el envío automático solo ocurre con el conector ACTIVADO. Actívalo después de guardar.