Saltar al contenido principal

Rendiciones de cobranzas

Producto

La rendición de cobranzas registra los pagos y retenciones aplicados sobre tus documentos de deuda (facturas, NC, ND) realizados por tus clientes a través de Frisvy. Podés obtenerla por API REST, por archivo SFTP, y recibir avisos por notificaciones de negocio.

Tres formas de integrarte Notificaciones de negocio para enterarte en tiempo real cuando una orden de pago está lista; API REST para consultar la rendición en JSON; y SFTP para procesar el archivo de rendición por lotes.

1. Notificaciones de negocio (webhook)

El servicio de notificaciones permite a Frisvy informar automáticamente a tu empresa sobre eventos relevantes (por ejemplo, Órdenes de Pago habilitadas para rendición). En lugar de tener que "ir a buscar" la información, los eventos se envían en tiempo real a un endpoint que expone tu empresa.

POST https://{CLIENT_DOMAIN}:{PORT}/business-notifications

El nombre /business-notifications es una recomendación; podés usar el que prefieras. Frisvy hará un POST a la URL que acuerdes.

Request body (lo envía Frisvy)

CampoTipoRequeridoDescripción
document_typestringTipo de documento de la empresa recaudadora. Ej: CUIT.
document_numberstringNúmero de documento de la empresa recaudadora.
business_unitstringNoCódigo de unidad de negocio.
notification_typestringTipo de notificación. Ej: RENDITION, PAYMENT.
business_objectstringEntidad asociada. Ej: PAYMENT_ORDER, PAYMENT, DOCUMENT.
business_object_idsList<Long>NoLista de IDs de los objetos de negocio asociados.
additional_datajsonNoLista de claves/valor con datos adicionales.
creation_timetimestampFecha de la notificación. Ej: 2024-12-13T13:36:01.913Z.

Ejemplo de notificación recibida

{
  "document_type": "CUIT",
  "document_number": "30556688449",
  "business_unit": "",
  "notification_type": "RENDITION",
  "business_object": "PAYMENT_ORDER",
  "business_object_ids": [],
  "additional_data": { "key1": "val1" },
  "creation_time": "2024-12-13T13:36:01.913Z"
}

Response (lo devuelve tu endpoint)

CampoTipoDescripción
reception_idstringID/referencia comprobante de la recepción de la notificación.
reception_timetimestampFecha y hora de recepción de la notificación.

Response 200

{
  "reception_id": "123456",
  "reception_time": "2024-12-13T13:36:01.913Z"
}

Recomendaciones de seguridad

  • Autenticá el endpoint (OAuth 2.0 o JWT) y exponelo siempre sobre HTTPS.
  • Devolvé códigos de estado HTTP apropiados y manejá errores adecuadamente.
  • El tiempo de respuesta máximo recomendado es de 5 segundos para evitar timeouts.

2. Rendición de Órdenes de Pago mediante API

La Report Manager API genera la rendición de órdenes de pago (con sus documentos, pagos y retenciones) según los parámetros provistos. Requiere un token con el scope ibcobros.renditions.read. Base URL: /report-manager/v1.

Autenticación

Request — POST /auth/login

curl -X POST 'https://apim.{ambiente}.frisvy.com/auth/login' \
  --header 'Authorization: Basic {CREDENCIALES_BASE_64}' \
  --header 'Scope: ibcobros.renditions.read'

Endpoint

POST https://ibcobros.apim.{ambiente}.frisvy.com/report-manager/v1/reports/renditions

Los headers collector-document-type, collector-document-number y business-unit-code se completan internamente; no los envíes. Paginá con page y size (máx 100).

Request body

CampoTipoRequeridoDescripción
collector_document_typestringTipo de documento de la empresa recaudadora. Ej: CUIT.
collector_document_numberstringNúmero de documento de la empresa recaudadora.
business_unit_codestringNoCódigo de unidad de negocio.
from_datestringFecha y hora de inicio. Formato yyyy-mm-ddThh:mm:ssZ (UTC-0).
to_datestringFecha y hora de fin. Formato yyyy-mm-ddThh:mm:ssZ (UTC-0).
payment_order_idsList<Long>NoLista de IDs de Órdenes de Pago a filtrar.

Ejemplo de request body

curl --location 'https://ibcobros.apim.{ambiente}.frisvy.com/report-manager/v1/reports/renditions?page=0&size=20' \
  --header 'Authorization: Bearer {SESSION_TOKEN}' \
  --header 'Content-Type: application/json' \
  --data '{
    "collector_document_type": "CUIT",
    "collector_document_number": "12345678901",
    "business_unit_code": "CO223",
    "from_date": "2023-12-01T00:00:00Z",
    "to_date": "2023-12-31T23:59:59Z",
    "payment_order_ids": [1234, 1235]
  }'

Respuesta — 200

La rendición se estructura en estos bloques:

CampoTipoDescripción
renditionRenditionDetalle de la empresa recaudadora que solicita la rendición.
data_summaryDataSummaryResumen: cantidades y montos de órdenes, documentos, pagos y retenciones.
payment_ordersList<PaymentOrder>Órdenes de pago con sus documentos, pagos y retenciones.
page_numbernumberNúmero de página actual.
page_sizenumberCantidad de registros por página.
total_elementsnumberCantidad total de registros.
total_pagesnumberCantidad total de páginas.

Cada PaymentOrder incluye sus documentos, pagos y retenciones:

CampoTipoDescripción
idnumberId de la orden de pago.
payer_document_typestringTipo de documento de la empresa pagadora. Ej: CUIT.
payer_document_numberstringNúmero de documento de la empresa pagadora.
updated_datestringFecha y hora de la última actualización (yyyy-mm-dd hh:mm:ss +TZ).
documentsList<Document>Documentos incluidos en la orden de pago.
paymentsList<Payment>Pagos aplicados.
retentionsList<Retention>Retenciones aplicadas.

A su vez, cada Document, Payment y Retention trae su propio detalle (importes, moneda, método de pago, banco, número de transacción, datos de cheque/echeq, código y jurisdicción de retención, etc.).

3. Rendición de Órdenes de Pago mediante SFTP

Frisvy publica el archivo de rendición de órdenes de pago, con la frecuencia pactada, en la carpeta de salida asignada a tu empresa en el servidor SFTP (sftp.frisvy.com, directorio ibcobros-payment-order-rendition/output). El alta SFTP es la misma del resto de integraciones (ver Publicación de deuda).

Nombre del archivo

Formato de nombre

<YYYYMMDDHHMISS>_ROP_<NROSEQ>.csv

# Ejemplo
20251002164510_ROP_1274.csv

Estructura del archivo (registros por tipo)

Es un CSV con registros de distinto tipo, identificados por la primera columna. Cada orden de pago agrupa sus documentos, instrumentos y retenciones:

IdentificadorTipo de registro
HCabecera general (datos de la empresa y del archivo).
CCabecera de lote / orden de pago (paymentOrderId, cliente, fecha).
DDocumento (deuda): tipo, número, importes, identificadores.
IInstrumento de pago: medio de pago, banco, importe, datos de cheque/echeq.
RRetención: código, jurisdicción, importe, base imponible.
AAjuste.
PPie de lote / pie general (totales).

El archivo incluye tablas de referencia para medios de pago, estados de pago, estados de cheques/echeqs, bancos, códigos de retención, jurisdicciones, tipos de ajuste y códigos de moneda.