---
title: "Create installment schedule"
method: POST
path: "/leases/{lease_id}/charges/installments"
tags: ["Charges"]
---

# Create installment schedule

`POST /leases/{lease_id}/charges/installments`

## Request

- Base URL: `https://api.faireplace.com/api`
- URL: `https://api.faireplace.com/api/leases/{lease_id}/charges/installments`
- Auth: HTTP bearer

Generate a complete regularization installment schedule for a lease.
Divides the total regularization amount into monthly payments (max 12 per Art. 23 al. 5).

**Business rules:**
- `num_installments` must be between 1 and 12
- `total_amount` cannot be zero
- Each installment is rounded to 2 decimal places
- Last installment adjusted to ensure total equals original amount

## Path parameters

- `lease_id` string, uuid, required

## Request body

- CreateRegularizationSchedule
  - `charge_review_id` string, uuid, nullable: Link to the charge review that triggered this schedule
  - `total_amount` number, double, required: Total regularization amount (cannot be zero)
  - `start_date` string, date, required: Start date for the first installment
  - `num_installments` integer: Number of monthly installments (1-12, per Art. 23 al. 5)
  - `notes` string, nullable

## Response `201`

Schedule created

- RegularizationInstallment[]
  - `id` string, uuid
  - `lease_id` string, uuid
  - `charge_review_id` string, uuid, nullable: Associated charge review (bilan de régularisation)
  - `total_amount` number, double: Total regularization amount to spread
  - `installment_number` integer: Installment number (1-12)
  - `total_installments` integer: Total number of installments (max 12)
  - `installment_amount` number, double: Amount for this installment
  - `due_date` string, date: Payment due date
  - `payment_date` string, date, nullable: Actual payment date (when paid)
  - `status` 'PENDING' | 'PAID' | 'OVERDUE' | 'CANCELLED': Status of a regularization installment: - `PENDING`: Payment due - `PAID`: Payment received - `OVERDUE`: Payment overdue - `CANCELLED`: Installment cancelled
  - `notes` string, nullable
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found

---

[API](https://skmtc.dev/faireplace/apis/faireplace-property-management-api.md) · [All operations](https://skmtc.dev/faireplace/apis/faireplace-property-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/faireplace/apis/faireplace-property-management-api/revisions/69de39762919?raw)
