/api/v1/br/...). Todo lo de aquí aplica a los préstamos originados bajo la jurisdicción de Brasil. Los términos de dominio en portugués se mantienen tal cual, con una glosa (consulta Conceptos clave para la lista completa).
CET (Custo Efetivo Total)
El CET (Custo Efetivo Total, costo efectivo total del crédito) es el costo completo que se divulga al prestatario (intereses más impuestos y comisiones). Lender persiste la divulgación del CET en la originación y la expone por cuenta de préstamo:
GET /api/v1/br/loan-accounts/{id}/cet-disclosure
IOF y previsualización de impuestos
El IOF (Imposto sobre Operações Financeiras) es el impuesto federal sobre las operaciones de crédito. Previsualiza el componente diario y el componente adicional del IOF, y el monto neto que recibe el prestatario, antes de originar:
POST /api/v1/br/tax/preview
En el desembolso, Lender calcula el IOF y congela el CET a partir del régimen tributario de la versión, en todo desembolso en efectivo, con o sin jurisdictionExtensions. Lender lee de ese objeto solo las claves de consentimiento de capitalización. Acepta el desembolso solo cuando el neto es igual al bruto menos ese IOF, menos la comisión de originación que la plantilla origination_fee de la versión define para la liberación.
Una solicitud puede declarar un taxRegime, y GET /api/v1/br/loan-product-versions/{id}/tax-regimes lista los regímenes que una versión admite. brazilSimplesNacional es para una pessoaJuridica que opta por el Simples Nacional, MEI incluido. En una versión que admite brazilFullIof y brazilSimplesNacional, una pessoaJuridica debe declararlo: una solicitud, una cotización, una previsualización de impuestos, una previsualización de cronograma que nombra la versión y una liberación responden 422 (LENDER-0962) cuando falta, y no se escribe nada. El tenant fija el IOF de cada tipo de prestatario con PUT /api/v1/br/tax/iof-rates/{borrowerKind}, y un desembolso conserva la versión de la alícuota con que retuvo. Un despliegue ya viene con pessoaFisica fijado. Fija pessoaJuridica y simplesNacional antes de prestar a esos prestatarios: hasta entonces, la previsualización de impuestos responde 422 (LENDER-0900) y la liberación responde 422 (LENDER-0233). Fijar un tipo exige accounting supersede, que solo tiene el rol admin.
Consentimiento de capitalización
La capitalización brasileña de interés compuesto (juros compostos) requiere el consentimiento explícito del prestatario. Lender registra ese consentimiento como una ceremonia con verificación de integridad. El cliente envía el texto de la cláusula y su hash. El servidor canonicaliza el texto, recalcula el hash y rechaza cualquier discrepancia. Por eso el consentimiento registrado es, de forma demostrable, la cláusula que vio el prestatario.
POST /api/v1/br/loan-applications/{id}/capitalization-consents
Clasificación en etapas de PDD
La PDD (Provisão para Devedores Duvidosos) es la provisión por pérdidas crediticias. Cada cuenta de préstamo se ubica en una etapa de PDD. Lender registra cada cambio de etapa como una transición, no como una sobrescritura silenciosa.
El número de días de atraso determina la etapa. En un contrato consignado, la nómina que el operador del cliente mantiene en Espera a escrituração no fecha atraso: cubre primero las cuotas más antiguas. En las etapas finales, cada corrida de devengo contabiliza el mes del contrato como un asiento
accrual_withholding: debita los intereses por cobrar y acredita la cuenta de rentas a apropiar del producto. El monto pasa a ingreso al cobrar. Una transición manual acepta un businessDate no posterior a hoy en São Paulo: una fecha posterior responde 422 (LENDER-0938) y no se escribe nada. Un contrato en la etapa 2 o 3 que una renegociación sustancial reemplaza le da al reemplazo la misma etapa, en la transacción de la propia renegociación. El reemplazo mantiene sus ingresos suspendidos y su provisión constituida hasta que se cure.
El barrido nocturno de promoción
Las etapas también avanzan solas. Un barrido diario lee la cartera en atraso de la fecha de negocio, mide cada cuenta contra la escalera de provisión de la Res. CMN 4.966 vigente y aplica la misma operación de transición de arriba donde la etapa deba cambiar. Un contrato en etapa 2 o 3 se mantiene en etapa 2 o superior hasta que se cura, y una etapa 2 o 3 manual rige como piso: el barrido puede subir la etapa, pero nunca la baja por debajo del piso. Consulta Curar un activo problemático. Así, un préstamo que envejece más allá de un límite se reclasifica sin que nadie llame a la API. El barrido está encendido por defecto y corre a las 05:00 UTC hasta que le des otro horario. Cada despliegue lo corre contra su propia cartera. El barrido lee la foto de cartera de esa fecha de negocio, así que arma esa foto por su cuenta cuando nada más la armó, y falla el barrido de ese tenant cuando no puede. Una cartera que nadie midió y una cartera sin nada en atraso se ven idénticas desde afuera, y el barrido se niega a reportar la primera como si fuera la segunda. DefineJOBS_PDD_PROMOTION_ENABLED=false para apagarlo.
En una instalación por defecto, este barrido también es el único productor de la foto de cartera, porque el job dedicado de foto viene apagado. Apaga el barrido y tienes que habilitar JOBS_PORTFOLIO_SNAPSHOT_ENABLED en su lugar, o el panel de cartera y el registro de préstamos morosos rechazan cada fecha de negocio con 503.
Activos problemáticos cualitativos
La Res. CMN 4.966, art. 3, párrafos 1 y 2, también caracteriza un activo como problemático por un motivo cualitativo, sin nada en atraso. Registra ese juicio como una declaración en la cuenta de préstamo.
Una declaración requiere
trigger (el artículo, por ejemplo art_3_p2_iii), source, evidenceReference, evaluatedOn y characterizesProblemAsset. Las declaraciones son inmutables. Para retirar una caracterización, declara el mismo trigger otra vez con characterizesProblemAsset: false y su propia evidencia.
El barrido nocturno de promoción lee las declaraciones vigentes. Un contrato caracterizado toma la más severa entre su etapa por atraso y el piso de activo problemático de la escalera vigente. Por eso, puede entrar en una etapa de PDD sin nada en atraso. Superar el plazo de reevaluación no cambia ninguna etapa ni ninguna provisión. El contrato sigue en la lista de trabajo de reevaluaciones hasta que alguien declare otra vez, con cualquier veredicto.
Curar un activo problemático
Un contrato en la etapa 2 o 3 solo se cura a la etapa 1, nunca directo a corriente. Aplica la cura conPOST /api/v1/br/loan-accounts/{id}/pdd-stage/transitions. Exige las cuatro condiciones de la Res. CMN 4.966, art. 3, § 4:
- Nada está vencido, contando la nómina que el operador del cliente mantiene en Espera a escrituração, y ninguna declaración de caracterización, además del piso manual de etapa, está vigente (
LENDER-1608). - El contrato pagó a tiempo durante N meses seguidos (
LENDER-1611). N es elcureTimelyMonthsde la escalera vigente, 12 por defecto. Para un instrumento pagado cada tres meses o más, una declaraciónart_3_p4_ivregistrada después de que el contrato entró en la etapa 2 o 3, al menos 90 días antes de la cura, reemplaza los meses a tiempo (LENDER-1610). - Una justificación escrita para el inciso III, en
conditionIIIReason. Una escalera que definecureAttestsConditionIIIya lo atestigua, y el campo pasa a ser opcional. - Una justificación escrita para el inciso IV, en
conditionIVReason.
LENDER-0924. Después de una cura, el contrato sigue en la etapa 1 hasta que un operador lo mueva a corriente con una justificación.
Descriptor de la operación de crédito
El descriptor de crédito es el perfil de operación de crédito al estilo SCR para una cuenta de préstamo, la descripción regulada de la operación. Su
annualRate es la tasa anual efectiva, (1 + m)^12 - 1 para la tasa mensual m, como porcentaje con dos decimales.
GET /api/v1/br/loan-accounts/{id}/credit-descriptor
Cotización de pago anticipado
Una cuenta de préstamo brasileña se liquida de forma anticipada contra una cotización de pago anticipado: crea primero la cotización, y luego paga por anticipado con su identificador. La cotización es válida por la vigencia de cotización de liquidación de la versión, 24 horas por defecto, y acepta una sola liquidación, y el monto que liquidas debe ser igual al monto neto de liquidación de la cotización. La ruta de pago anticipado BR refleja la genérica y toma la misma clave
X-Idempotency. Una cotización total devuelve la parte no consumida de cada cargo declarado reembolsable cuando se evaluó, de forma proporcional a los días que faltan hasta la fecha final de vencimiento programada, menos lo que devolvieron los pagos anticipados anteriores. Una cotización parcial devuelve una parte proporcional de ello. Los demás cargos no devuelven nada.
Una cotización parcial acepta un campo opcional amortization que dice cómo la parcial acorta el contrato. reduce_term mantiene todas las cuotas y termina el contrato antes. reduce_installment mantiene los vencimientos restantes y baja las cuotas a cuotas iguales. Sin el campo, la cotización de un contrato consignado reduce el plazo, y la cotización de un contrato sin reglas de pago aplica el comportamiento de principal abierto más antiguo primero. La cotización devuelve la elección explícita. Un contrato consignado solo reduce el plazo, así que reduce_installment se rechaza con 422 y LENDER-0952. Un contrato con reglas de pago también solo reduce el plazo: envía reduce_term, o la cotización se rechaza con 422 y LENDER-0953. La cuenta de préstamo muestra partialPrepaymentAmortizationSupported.
Garantías
Un contrato brasileño puede tener garantías: personales (un garante, encontrado o creado como titular en el CRM de la institución) o reales (una identificación y un valor original). Cada una tiene códigos del SCR y una situación, y Lender los guarda. Una garantía pertenece a una institución y se vincula a uno o más contratos de ella, cada uno en el porcentaje que cubre.
Un vínculo se escribe una vez. Otro porcentaje se rechaza (
LENDER-1704): desvincula la garantía y vincúlala de nuevo. Un contrato rechazado o retirado, o que salió de la cartera, no acepta garantía (LENDER-1702), un contrato de otra institución no la acepta (LENDER-1703), y un contrato del gateway de nómina recibe la garantía por la averbação (LENDER-1705). El vínculo de una garantía no ejecutada exige que el plan vigente declare el par guarantee_received y guarantee_received_contra: sin él, POST /api/v1/br/guarantees y el vínculo responden 422 (LENDER-1803), y también lo hacen la liberación y una renegociación sustancial cuando el plan perdió el par después del vínculo. Cuando el contrato está desembolsado, un vínculo de una garantía que no fue ejecutada abre ese control en la misma transacción. Una plantilla de CCB puede imprimir las garantías del contrato.
Un recibo de ejecución lleva el monto, el día en que entró el dinero y cómo lo divides entre los contratos vinculados. Registra toda la división o nada. Cada asignación paga lo que se debe en el contrato ese día, como pago o, en un contrato dado de baja, como recuperación de crédito. Lo que supera la parte vencida anticipa el contrato. Solo lo que supera toda la deuda queda como dinero retenido del prestatario, que devuelves por la mesa de reembolsos. Un contrato sin nada que pagar sale de la cartera. Envía X-Idempotency: la misma clave con la misma división repite el recibo, y la misma clave con otra división, otro monto u otro día del dinero responde 409 (LENDER-1709). Después de que la mesa de reembolsos pagó cualquier parte del saldo que retuvo un recibo, Lender rechaza la reversión de la recuperación de crédito del recibo (LENDER-0988).
Lotes de apertura de contratos
Un lote de apertura de contratos carga contratos que ya están en curso en una fecha de corte, convertidos de otro sistema (
conversion) o adquiridos de un cedente (acquisition). Cada línea abre un contrato a partir del número de la CCB original, del flujo restante, de los saldos, de las garantías y del estado regulatorio en el corte.
Una línea rechazada o fallida no abre nada y no deshace las otras. Para recuperar un lote interrumpido, reenvía el lote entero con una clave nueva: una línea ya abierta responde
LENDER-1804. El plan de cuentas vigente necesita la regla conversion_opening o acquisition_opening para el motivo del lote, o la línea se rechaza con LENDER-1803. Los rechazos de un lote van de LENDER-1800 a LENDER-1811: consulta la Lista de errores de Lender.
En un contrato abierto, el dinero fechado en el corte o antes se rechaza (LENDER-0985), y una escalera migrada que no es nivelada solo reduce el plazo (LENDER-0953). Las filas del cronograma y las asignaciones traen originalInstallmentNumber, el número de cuota de la CCB original.
Topes del CDC
Los productos brasileños de crédito al consumidor (CDC) pueden llevar topes regulatorios, por ejemplo un techo de comisión por mora. Lender hace cumplir los topes rechazando un cargo que los violaría, en lugar de recortar el monto en silencio. Así el contrato y su registro de auditoría quedan explícitos sobre cada rechazo.
Calendario de días hábiles
Las matemáticas de fechas brasileñas (fechas del cronograma, liquidación) usan un calendario de días hábiles brasileño con feriados de ANBIMA. Por eso las fechas de las cuotas caen en días hábiles. El conteo de días es un término de la versión:
monthly_30 por defecto.
Productos BR
Creas y versionas productos brasileños mediante alias que reconocen la jurisdicción:
POST /api/v1/br/loan-products,GET /api/v1/br/loan-products,GET /api/v1/br/loan-products/{id}POST /api/v1/br/loan-products/{id}/versions,POST /api/v1/br/loan-products/{id}/activate,POST /api/v1/br/loan-products/{id}/promote
Próximos pasos
Consignado privado
El recorrido brasileño: préstamos con descuento en nómina de punta a punta.

