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-notificationses una recomendación; podés usar el que prefieras. Frisvy hará un POST a la URL que acuerdes.
Request body (lo envía Frisvy)
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
document_type | string | Sí | Tipo de documento de la empresa recaudadora. Ej: CUIT. |
document_number | string | Sí | Número de documento de la empresa recaudadora. |
business_unit | string | No | Código de unidad de negocio. |
notification_type | string | Sí | Tipo de notificación. Ej: RENDITION, PAYMENT. |
business_object | string | Sí | Entidad asociada. Ej: PAYMENT_ORDER, PAYMENT, DOCUMENT. |
business_object_ids | List<Long> | No | Lista de IDs de los objetos de negocio asociados. |
additional_data | json | No | Lista de claves/valor con datos adicionales. |
creation_time | timestamp | Sí | Fecha 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)
| Campo | Tipo | Descripción |
|---|---|---|
reception_id | string | ID/referencia comprobante de la recepción de la notificación. |
reception_time | timestamp | Fecha 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-numberybusiness-unit-codese completan internamente; no los envíes. Paginá conpageysize(máx 100).
Request body
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
collector_document_type | string | Sí | Tipo de documento de la empresa recaudadora. Ej: CUIT. |
collector_document_number | string | Sí | Número de documento de la empresa recaudadora. |
business_unit_code | string | No | Código de unidad de negocio. |
from_date | string | Sí | Fecha y hora de inicio. Formato yyyy-mm-ddThh:mm:ssZ (UTC-0). |
to_date | string | Sí | Fecha y hora de fin. Formato yyyy-mm-ddThh:mm:ssZ (UTC-0). |
payment_order_ids | List<Long> | No | Lista 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:
| Campo | Tipo | Descripción |
|---|---|---|
rendition | Rendition | Detalle de la empresa recaudadora que solicita la rendición. |
data_summary | DataSummary | Resumen: cantidades y montos de órdenes, documentos, pagos y retenciones. |
payment_orders | List<PaymentOrder> | Órdenes de pago con sus documentos, pagos y retenciones. |
page_number | number | Número de página actual. |
page_size | number | Cantidad de registros por página. |
total_elements | number | Cantidad total de registros. |
total_pages | number | Cantidad total de páginas. |
Cada PaymentOrder incluye sus documentos, pagos y retenciones:
| Campo | Tipo | Descripción |
|---|---|---|
id | number | Id de la orden de pago. |
payer_document_type | string | Tipo de documento de la empresa pagadora. Ej: CUIT. |
payer_document_number | string | Número de documento de la empresa pagadora. |
updated_date | string | Fecha y hora de la última actualización (yyyy-mm-dd hh:mm:ss +TZ). |
documents | List<Document> | Documentos incluidos en la orden de pago. |
payments | List<Payment> | Pagos aplicados. |
retentions | List<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:
| Identificador | Tipo de registro |
|---|---|
| H | Cabecera general (datos de la empresa y del archivo). |
| C | Cabecera de lote / orden de pago (paymentOrderId, cliente, fecha). |
| D | Documento (deuda): tipo, número, importes, identificadores. |
| I | Instrumento de pago: medio de pago, banco, importe, datos de cheque/echeq. |
| R | Retención: código, jurisdicción, importe, base imponible. |
| A | Ajuste. |
| P | Pie 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.