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:
Create Compensation
Tenant or owner creates a compensation record with date, amount, and description.
Attach Documents
Upload receipts, invoices, or work completion acts as supporting documents.
Owner Review
Property owner reviews the compensation and attached documents.
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:
Default status for new compensations. Awaiting review by property owner.
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