Home Library Repair Compensations

Repair Compensations

Track repair expenses that tenants can offset against rent.

Overview

The Repair Compensations module allows tracking of repair expenses made by tenants that can be offset against their rent payments. Each compensation can have multiple supporting documents attached.

Expense Tracking

Record repair expenses with amounts, dates, and descriptions of work performed.

Multiple Documents

Attach multiple receipts, invoices, and work completion acts to each compensation.

Owner Confirmation

Property owners confirm or reject compensation requests after review.

Workflow

The typical workflow for repair compensations:

1

Create Compensation

Tenant or owner creates a compensation record with date, amount, and description.

2

Attach Documents

Upload receipts, invoices, or work completion acts as supporting documents.

3

Owner Review

Property owner reviews the compensation and attached documents.

4

Confirmation

Owner confirms or rejects the compensation. Confirmed amounts can be offset against rent.

Permissions

Access rights for repair compensations:

Action Who Can
Create Owners, tenants, and their agents
View All users with access to the property
Edit Only the author of the compensation
Delete Only the author of the compensation
Confirm/Reject Only property owners and their agents
Attach Documents Author or property owner/agent

Confirmation Statuses

Each compensation has a confirmation status:

No

Default status for new compensations. Awaiting review by property owner.

Yes

The owner has confirmed the compensation. Amount can be offset against rent.

REST API

Access repair compensations via REST API (requires JWT authentication):

Service layer note

GET    /api/v1/properties/{id}/repair-compensations                  - List compensations
POST   /api/v1/properties/{id}/repair-compensations                  - Create compensation
GET    /api/v1/properties/{id}/repair-compensations/{rid}            - Get details
PUT    /api/v1/properties/{id}/repair-compensations/{rid}            - Update compensation
DELETE /api/v1/properties/{id}/repair-compensations/{rid}            - Delete compensation
POST   /api/v1/properties/{id}/repair-compensations/{rid}/confirm    - Confirm
POST   /api/v1/properties/{id}/repair-compensations/{rid}/unconfirm  - Remove confirmation
POST   /api/v1/properties/{id}/repair-compensations/{rid}/documents  - Attach document
DELETE /api/v1/properties/{id}/repair-compensations/{rid}/documents/{did} - Detach document

Example Response

{
  "data": [
    {
      "id": 1,
      "property_id": 5,
      "compensation_date": "2026-01-10",
      "amount": "15000.00",
      "amount_formatted": "15 000.00 ₴",
      "currency": {
        "id": 1,
        "code": "UAH",
        "symbol": "₴"
      },
      "tenant": {
        "id": 15,
        "name": "John Tenant"
      },
      "owner_confirmed": true,
      "documents_count": 3,
      "comment": "Kitchen sink replacement and pipe repair",
      "created_by": {
        "id": 15,
        "name": "John Tenant"
      },
      "created_at": "2026-01-10T14:30:00+00:00"
    }
  ],
  "total": 1,
  "totalAmount": "15000.00",
  "page": 1,
  "totalPages": 1
}

Swagger / OpenAPI

Full API documentation with interactive testing is available in Swagger UI: /api/v1/doc