Configurar la entrega multi-channel

Configurar múltiples canales de entrega: Peppol, DICO, otras redes de procurement, fallback por correo electrónico y prioridades.

Una de las características más potentes de la PSB es la entrega multi-channel: a través de una única integración API puede llegar a los destinatarios en Peppol, otras redes de procurement y por correo electrónico. La PSB selecciona automáticamente el mejor canal, pero usted también puede controlar el enrutamiento manualmente.

¿Cómo funciona multi-channel?

Por defecto, la PSB enruta todas las facturas a través de Peppol. El sistema verifica si el destinatario está registrado en Peppol y envía la factura a través de la red Peppol. Si el destinatario no está en Peppol, se activa el fallback.

Al configurar múltiples hooks con topics Send*, puede activar canales adicionales:

CanalConfiguraciónUsoPeppolEstándar, siempre activoRuta principal para todos los participantes de PeppolDICOHook con topic DICOFacturas del sector de la construcción a través del estándar de cadena DICOOtras redesHook con configuración de redOrganizaciones que reciben a través de otras redes de procurement como Coupa o SAP AribaFallback por correoHook con topic de correo electrónicoDestinatarios que no son accesibles a través de una redSFTPHook con configuración SFTPSistemas on-premise con transferencia de archivosHTTPSHook con configuración HTTPSSistemas empresariales con recepción directa por APICollabrrHook con configuración CollabrrDocumentos hacia/desde la plataforma Collabrr; puede incluir una instrucción de envío en la misma llamada (p. ej., «enviar via Peppol»). Utiliza el ID de Collabrr (-0003:XC...) como identificador
Selección automática de canal

La PSB selecciona el canal según un orden de prioridad:

  1. Los hooks a nivel de PartyId tienen prioridad sobre los hooks a nivel de environment. Si ha configurado un canal para un destinatario específico, ese canal se utiliza siempre
  2. Los topics específicos tienen prioridad sobre los wildcards. Un hook para InvoiceSent tiene prioridad sobre un hook wildcard
  3. Si varios hooks con filtros coinciden en el mismo topic: gana el filtro más largo (según el número de caracteres) -- por ejemplo, un filtro con una cláusula && adicional gana a un filtro más corto sin esa cláusula
  4. En caso de igual prioridad: el hook-id como desempate (alfanumérico -- los ID enteros van antes que el texto, por ejemplo: 1 < 02 < 10 < dico < peppol)

Antes de enviar una factura, puede verificar a través de queryRecipientParty qué canal utilizará la PSB. Existen dos endpoints, uno por tipo de documento:

POST /api/v1/{partyId}/salesInvoice/queryRecipientParty
POST /api/v1/{partyId}/purchaseOrder/queryRecipientParty

El cuerpo acepta un array simple ["0106:12345678"] o un objeto con atributos meta { "partyIds": [...], "metaAttributes": {...} }. Parámetros de consulta opcionales: ?preferredDocumentTypeId, ?includeOptions, ?documentFamily (solo en la variante purchaseOrder).

La respuesta muestra el canal seleccionado y las alternativas disponibles. Regla de validación: en la misma llamada queryRecipientParty, se puede incluir como máximo un identificador por esquema/código de agencia (p. ej. 0106, 0190, 0208, 9944). Varios identificadores en esquemas diferentes en la misma llamada están permitidos. En caso de infracción, la PSB responde con EConnect.Psb.Models.EConnectException: 'Duplicate id agencies {code} requested.' donde {code} es el código de agencia sin cero inicial (esquema 0208208). Para probar varios candidatos en el mismo esquema, realice llamadas API separadas -- una por candidato. Para búsquedas avanzadas incluyendo URL del Access Point y certificado, utilice el endpoint Peppol: GET /api/v1/peppol/deliveryOption?partyIds=...&documentFamily=...&isCredit=...&documentTypeIds=...&preferredDocumentTypeId=... La respuesta contiene partyId, documentTypeId, processId, protocol (As2/As4), url y certificate.

Forzar un canal

En algunos casos querrá anular la selección automática de canal. Esto se puede hacer con el parámetro de consulta ?channel={hookId} en los endpoints de envío:

POST /api/v1/{partyId}/salesInvoice/send?channel=hook-123-abc

Esto fuerza a la PSB a utilizar el canal (hook) específico, independientemente de la selección automática.

Peppol con fallback de correo electrónico como canal independiente

Una combinación habitual es un hook de Peppol con un hook de correo electrónico como fallback. A través de los conditional output topics, el hook de Peppol publica un topic Send*Fallback ante errores de entrega (HTTP 400, 404 o 500), al que escucha el hook de correo electrónico. Cuando ese mismo hook de correo también escucha explícitamente Send* (además de Send*Fallback), aparece automáticamente como canal peppol-fallback en la respuesta queryRecipientParty. Esto permite que el código llamante elija el canal de forma explícita mediante ?channel=peppol-fallback en los endpoints de envío, lo que resulta útil en escenarios en los que Peppol se omite intencionalmente.

Configurar Coupa y Ariba
Coupa

eConnect transforma automáticamente las facturas UBL al formato cXML que Coupa espera. La conexión requiere:

  1. Su cliente crea cuentas en los entornos de prueba y producción de Coupa CSP
  2. La parte receptora crea un Shared Secret
  3. TechSupport configura la conexión en la PSB
Ariba (SAP Business Network)

La conexión con Ariba funciona con relaciones comerciales 1 a 1, a diferencia de la red abierta de Peppol:

  1. El proveedor comparte su AN-ID con el comprador
  2. SAP puede requerir una suscripción de pago para volúmenes más altos
  3. El entorno de prueba utiliza un AN-ID con el sufijo "-T"
Incorporación de cXML a través de eConnect

eConnect transforma una factura UBL a cXML y la entrega al destinatario de Ariba, de la misma manera que la transformación de Coupa descrita arriba. El proceso de incorporación es el siguiente:

  1. Se registra en el SAP Business Network.
  2. Acuerda con el destinatario cómo desea recibir el cXML y completa el formulario de incorporación de eConnect en consecuencia.
  3. Con base en el formulario, eConnect establece la conexión con el destinatario, primero a través de la red de pruebas y luego en producción.

Umbral de suscripción SAP: para el envío/recepción automatizados de cXML a través de su propio ERP (mediante eConnect) se requiere como mínimo el nivel de suscripción SAP Silver (Enterprise). Este nivel cubre volúmenes de 25 a 99 documentos al año.

Transformación XML

La PSB convierte automáticamente entre todos los formatos comunes de factura electrónica. Si envía una factura en formato NLCIUS pero el destinatario espera XRechnung, la PSB transforma el documento automáticamente. Esto funciona para todos los estándares soportados: BIS Billing, NLCIUS, PINT, XRechnung, Svefaktura, ebInterface, DICO, SETU y más.

La transformación está disponible a partir del paquete 10K.

SI 2.0 y SALES005

La PSB admite la transformación en ambas direcciones entre SI 2.0 y SALES005:

  • SI 2.0 → SALES005
  • SALES005 → SI 2.0

Importante: las facturas SALES005 no pueden enviarse a través de Peppol. El envío de SALES005 requiere una conexión por correo electrónico. La entrega multi-channel resuelve esto: envía principalmente por Peppol, con fallback automático a correo electrónico cuando sea necesario.

Formato destino en todos los canales excepto Peppol

Al enviar por correo electrónico, SFTP o endpoint HTTPS, puede incluir un targetFormat. La PSB transforma entonces la factura al vuelo al formato requerido. Un cliente que desea convertir una factura UBL a SALES005 proporciona un targetDocumentTypeId en la descarga o envío -- la factura se transforma automáticamente.

Peppol no admite targetFormat (SALES005 no está permitido vía Peppol). En todos los demás canales -- correo electrónico, SFTP, HTTPS -- targetFormat está disponible.

Disponibilidad

La entrega multi-channel no está incluida de forma predeterminada en el servicio base y debe contratarse por separado como servicio/configuración independiente. Contacte con TechSupport para conocer las opciones disponibles en su situación.

Escenario práctico

Una gran empresa envía facturas a:

  • Clientes neerlandeses → Peppol (automáticamente)
  • Empresas del sector de la construcción → DICO (hook específico por partyId)
  • Una multinacional en Coupa → Coupa (hook específico)
  • Pequeños proveedores sin red → fallback por correo electrónico

Todas las facturas se envían a través de la misma API (POST /api/v1/{partyId}/salesInvoice/send). La PSB se encarga del enrutamiento correcto, el formato adecuado y el canal apropiado para cada factura.

Preguntas frecuentes
¿Cómo determina la PSB qué canal usar para una factura?

La PSB selecciona el canal según un orden de prioridad. Los hooks a nivel PartyId tienen prioridad sobre los hooks a nivel de entorno, y los topics específicos tienen prioridad sobre los wildcards. Por defecto, la PSB enruta a través de Peppol. Si el destinatario no está en Peppol, se activa el fallback configurado (p. ej., DICO, Coupa o correo electrónico).

¿Puedo anular el canal seleccionado automáticamente?

Sí, con el parámetro de consulta ?channel={hookId} en los endpoints de envío puede forzar un canal específico. Esto anula la selección automática de canal. Puede verificar con antelación a través de queryRecipientParty qué canal seleccionaría la PSB y decidir en base a ello si desea anularlo.

¿El multi-channel admite otros tipos de documentos además de facturas?

Sí, el enrutamiento multi-channel funciona para todos los tipos de documentos que admite la PSB, como notas de crédito, pedidos y respuestas a pedidos. Todos los documentos se envían a través de la misma API y la PSB gestiona el enrutamiento, formato y canal correctos para cada documento.


¿Necesita ayuda para configurar la entrega multi-channel? Contacte con TechSupport.

Abrir la referencia de la API