Skip to main content
Tesorería es donde el arriendo se cobra y el giro al propietario se liquida: suscripciones, pagos, desembolsos, cartera y garantías.

Flujo

  1. Tras el contrato, el cobro queda andando (PSE, tarjeta, etc.).
  2. Cada ciclo: lo del inquilino entra; lo del propietario sale con comisión/admin.
  3. Mora, garantes y liquidaciones se operan sobre el mismo libro.

Invariantes

  • Rutas bajo /api/v1/accounts/{account_id}/treasury/....
  • Permisos de tesorería van con suite administrativa / treasury_manage (y admin).
  • MCP treasury:read: cartera, mora, comisiones, liquidación, claims de garantía — sin filtrar PII de más.
  • Listado de suscripciones sin unbilled_leases / status=unbilled. Opciones de terceros: payload.tenancies. Terminar arriendo sin cobro: POST .../contract_submissions/{contract_submission_id}/tenancy/finish.
  • Terminar contrato: PATCH .../treasury/subscriptions/{id} con status = cancelled pide termination (causa y penalidad). Un contrato terminado ya no cambia de estado (422). El mismo PATCH acepta subscription.property.admin_fee (escribe la administración de la propiedad; 422 si no es válido).
  • Un ajuste ya aplicado se anula (POST .../adjustments/{id}/annul) o se corrige (POST .../adjustments/{id}/correct) solo mientras applied_change.allowed sea true en el detalle del ajuste; ambos piden reason.
  • Un tercero puede ser una empresa: regístralo con person_type = legal y company_id, y en las rutas de detalle envía party_type=Company.
  • En un inmueble de una empresa, cada fila de properties lleva el contact_id que actúa por ella. El estado de cuenta y el certificado de retenciones del propietario (.../treasury/owners/{id}/statement y .../withholding_certificate) también aceptan party_type=Company.
  • Si un tercero practica retención en la fuente o de ICA al pagar el arriendo se marca con PATCH .../treasury/third_parties/{id}/tax_profile (withholding_agent, ica_withholding_agent), tenga o no un rol de tercero.
  • Lo que sale a cada tercero se lista en GET .../treasury/payouts (filtros role, status, channel, month o from/to, payout_day, q). Una dispersión se aprueba (POST .../payouts/{id}/approve), se reprograma (.../reschedule), se registra pagada a mano (.../mark_paid) o devuelta por el banco (.../mark_returned). Las rutas treasury/giros, treasury/owners/{id}/debits y .../debit_payments ya no existen.
  • El mismo PATCH .../treasury/subscriptions/{id} cambia el convenio que afianza el arriendo (subscription.guarantee.collection_agreement_id, vacío para dejarlo sin afianzamiento) y su tarifa propia (subscription.guarantee_fee_percentage, vacío para volver a la del convenio). La respuesta trae guarantee con el estado, el convenio y la tarifa.
HTTP: pestaña API. Lectura: MCP tesorería.