Recibir una factura self-billing a través de la API

Recibir documentos self-billing: capabilities SMP y flujo de procesamiento.

Como proveedor, usted recibe facturas self-billing de sus compradores. El comprador elabora la factura en su nombre y la envía a través de la red Peppol. Este artículo describe el registro necesario y cómo procesar los documentos recibidos.

¿Cómo llegan las facturas self-billing?

Las facturas self-billing se entregan de la misma manera que las facturas de compra estándar. El PSB envía una notificación webhook y usted puede descargar el documento a través del endpoint PurchaseInvoice. La diferencia está en el registro y el tipo de documento.

El flujo de recepción:

  1. El comprador envía una factura self-billing (InvoiceTypeCode 389) a través del PSB
  2. La red Peppol enruta el documento a su Access Point
  3. El PSB envía un evento InvoiceReceived a su webhook
  4. Usted descarga y procesa el documento
Registro SMP

Para poder recibir facturas self-billing, su organización debe estar registrada en el Peppol SMP. El registro necesario depende de la variante:

Variante NLCIUS

Si ya está registrado para la recepción de facturas NLCIUS estándar, no necesita hacer nada adicional. Las facturas self-billing con InvoiceTypeCode 389 se entregan a través del mismo perfil. El PSB reconoce automáticamente el tipo de documento.

BIS Self-Billing 3.0

Para el perfil BIS Self-Billing 3.0 se necesita un registro separado. Este perfil tiene sus propios CustomizationID y ProfileID, y requiere una configuración SMP específica.

Configure la capability self-billing a través de la API Peppol config:

PUT /api/v1/peppol/config HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
Content-Type: application/json

{
  "selfBilling": {
    "state": "on"
  }
}

Sin este registro, los compradores que utilicen el perfil BIS Self-Billing 3.0 no podrán encontrarle mediante un lookup Peppol SMP.

Configurar el webhook

Utilice el mismo topic que para las facturas de compra estándar:

{
  "action": "https://mijn-systeem.nl/webhook/invoices#mijnSecretKey",
  "topics": ["InvoiceReceived"]
}

Las facturas self-billing llegan como eventos InvoiceReceived. Puede distinguirlas de las facturas estándar verificando el InvoiceTypeCode en el documento XML: 389 para una factura self-billing, 261 para una nota de crédito self-billing.

Descargar y procesar el documento

Descargue el documento de la misma manera que una factura de compra estándar:

GET /api/v1/{partyId}/purchaseInvoice/{documentId}/download HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}

Opcionalmente puede solicitar el documento en otro formato con targetDocumentTypeId si su sistema lo requiere.

Reconocer una factura self-billing

Después de la descarga, puede verificar en el documento XML si se trata de una factura self-billing:

<!-- InvoiceTypeCode 389 = self-billing factuur -->
<InvoiceTypeCode>389</InvoiceTypeCode>

<!-- InvoiceTypeCode 261 = self-billing creditnota -->
<InvoiceTypeCode>261</InvoiceTypeCode>

En una factura self-billing, el AccountingSupplierParty es su organización (el proveedor), mientras que el AccountingCustomerParty es el comprador que elaboró la factura.

Enviar Invoice Response de vuelta

Después de la recepción, puede enviar un Invoice Response de vuelta al comprador para confirmar el procesamiento o rechazar la factura. El flujo es idéntico al de facturas estándar:

POST /api/v1/{partyId}/purchaseInvoice/{documentId}/response HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
Content-Type: application/json

{
  "status": "AP",
  "clarificationCode": "NON",
  "actionCode": "NOA"
}

Consulte Enviar Invoice Response para la visión completa de códigos de estado y códigos de aclaración.

Retención

Las reglas de retención para documentos self-billing son las mismas que para facturas de compra estándar: conservados 90 días después de la recepción, 7 días después de la descarga. Recupere los documentos a tiempo y almacénelos en su propio sistema.

Preguntas frecuentes
¿Necesito webhooks separados para self-billing?

No, el self-billing utiliza el mismo topic que las facturas de compra regulares: InvoiceReceived. Se distingue el self-billing en el procesamiento leyendo el InvoiceTypeCode en el XML (389 para factura, 261 para nota de crédito).

¿Qué registro SMP necesito para NLCIUS versus BIS Self-Billing 3.0?

Si ya recibe facturas de compra NLCIUS, ese registro también cubre el self-billing NLCIUS con código 389 o 261. Para BIS Self-Billing 3.0 se requiere una capability separada; establezca selfBilling.state en on a través de PUT /api/v1/peppol/config, de lo contrario los compradores no le encontrarán para ese perfil en el SMP.

¿Cómo descargo una factura self-billing recibida y puedo cambiar el formato?

Utilice GET /api/v1/{partyId}/purchaseInvoice/{documentId}/download como con cualquier factura de compra. Con el parámetro de consulta targetDocumentTypeId puede solicitar un formato de destino diferente si su sistema back-end lo requiere. Después de la descarga, verifique en el XML qué parte es el proveedor y cuál el comprador según AccountingSupplierParty y AccountingCustomerParty.


Si como proveedor recibe facturas NLCIUS o BIS Self-Billing 3.0 depende de lo que envíe el comprador. Asegúrese de tener el registro SMP correcto para las variantes que utilizan sus compradores. En caso de duda: regístrese para ambas.

Consultar la documentación API