Лічильники
Відстежуйте показання лічильників комунальних послуг для ваших об'єктів
Що таке лічильники?
Лічильники дозволяють відстежувати показання приладів обліку для ваших об'єктів: електрика, вода, газ, опалення та інші комунальні послуги. Кожен лічильник зберігає серійний номер, початкове показання та історію всіх показань.
Ключові можливості
- Прив'язані до типів витрат (електрика, вода, газ тощо)
- Додавання документів до лічильників та показань (фото, PDF, до 20 МБ)
- Повна історія показань з датами
- Автоматична валідація: нові показання мають бути більшими або рівними попереднім
- Підтримка багатозонних тарифів на електрику (однозонний, двозонний, тризонний)
Тарифні зони електроенергії
Для лічильників електроенергії ви можете вибрати різні типи тарифів залежно від можливостей вашого лічильника.
| Тип тарифу | Зони | Опис |
|---|---|---|
| однозонний | 1 зона | Стандартний лічильник з одним показанням. За замовчуванням для всіх типів витрат. |
| двозонний | T1 (День (Т1)), T2 (Ніч (Т2)) | День/ніч лічильник. Введіть обидві зони, сума розраховується автоматично. |
| тризонний | T1 (Пік (Т1)), T2 (Напівпік (Т2)), T3 (Ніч (Т3)) | Пік/напівпік/ніч лічильник. Усі зони обов'язкові. |
Важливо
Багатозонні тарифи доступні лише для типів витрат, які їх підтримують (наприклад, електроенергія). При додаванні показання для багатозонного лічильника необхідно ввести значення для всіх зон.
Як створити лічильник?
Перейдіть до вашого об'єкта
Відкрийте сторінку об'єкта, де ви хочете додати лічильник.
Відкрийте розділ Лічильники
Натисніть "Лічильники" в меню об'єкта, щоб побачити існуючі лічильники або додати новий.
Заповніть дані лічильника
Виберіть тип витрат, введіть серійний номер, початкове показання та за бажанням завантажте фото лічильника.
Додавання показань
Після створення лічильника ви можете додавати показання для відстеження споживання з часом.
Правила валідації
Нові показання мають бути більшими або рівними попереднім. Система не приймає менші значення для забезпечення цілісності даних.
Прикріпіть документи
Завантажуйте фото дисплея лічильника або PDF-документи з кожним показанням для підтвердження та довідки.
Відстежуйте дати
Завжди вводьте точну дату зняття показання для точного відстеження споживання.
Регулярні оновлення
Додавайте показання регулярно (щомісяця) для відстеження закономірностей споживання та раннього виявлення проблем.
Коригування та виправлення
Інколи показання лічильників потрібно коригувати через відкат лічильника, заміну або коригування від постачальника послуг.
Споживання
Звичайні показання. Нове значення повинно бути більшим або рівним попередньому показанню.
Коригування
Коригувальні показання. Використовуйте, коли лічильник замінено, відкатано або скориговано постачальником послуг.
Коли використовувати коригування?
- Заміна лічильника - новий лічильник починає з меншого значення
- Відкат лічильника після досягнення максимального значення
- Корекція від постачальника послуг після перерахунку
- Виправлення помилки у раніше введеному показанні
Важливо
Коригувальні показання зберігаються як відємні значення та виключаються з автоматичних розрахунків нарахувань.
Показання, привязані до нарахувань
Коли нарахування створюється на основі показань лічильника, система автоматично привязує показання до нарахування.
Показання не привязане до жодного нарахування. Може бути відредаговане або видалене Власником/Представником.
Показання привязане до нарахування. Не може бути відредаговане або видалене для забезпечення цілісності даних.
Автоматична привязка
При створенні нарахування для витрат на основі лічильника система автоматично знаходить та привязує останнє непривязане показання.
Правила привязки
| Тип показання | Може бути привязане | Причина |
|---|---|---|
| Звичайне споживання | Так | Звичайні показання відображають фактичне споживання |
| Коригування/Виправлення | Ні | Відємні значення не можуть представляти споживання для оплати |
| Початкове показання | Ні | Початкові показання є стартовими точками, а не споживанням |
Створення нарахувань
При створенні нарахування для витрат зі лічильниками ви обираєте існуюче показання замість введення значень вручну. Це забезпечує цілісність даних та правильний облік.
Додайте показання лічильника
Спочатку додайте нове показання лічильника з поточним значенням.
Створіть нарахування
Перейдіть до витрати та створіть нове нарахування. Виберіть показання зі списку.
Автоматичний розрахунок
Система автоматично розраховує споживання на основі різниці між обраним показанням та попереднім.
Немає непривʼязаних показань?
Якщо немає доступних непривʼязаних показань, ви не можете створити нарахування. Спочатку додайте нове показання лічильника, потім поверніться для створення нарахування.
Створення нарахувань через API
# 1. Get available unlinked readings:
GET /api/v1/properties/{propertyId}/expenses/{expenseId}/unlinked-readings
# Response:
{
"has_counters": true,
"has_unlinked_readings": true,
"counters": [
{
"counter_id": 5,
"serial_number": "ABC-123456",
"unlinked_readings": [
{
"id": 12,
"date": "2026-01-15",
"value": "1500.00",
"previous_value": "1350.00",
"consumption": "150.0000"
}
]
}
]
}
# 2. Create charge with selected reading:
POST /api/v1/properties/{propertyId}/expenses/{expenseId}/charges
{
"charge_date": "2026-01-21",
"period_start": "2025-12-01",
"period_end": "2025-12-31",
"counter_value_ids": [12]
}
Права доступу
Різні учасники об'єкта мають різні права на лічильники та показання.
Права на лічильники
| Дія | Хто може це робити |
|---|---|
| Перегляд лічильників | Усі учасники об'єкта |
| Створення лічильників | Усі учасники об'єкта |
| Редагування лічильників | Усі учасники об'єкта |
| Видалення лічильників | Тільки власник та представник |
Права на показання
| Дія | Хто може це робити |
|---|---|
| Перегляд показань | Усі учасники об'єкта |
| Додавання показань | Усі учасники об'єкта |
| Редагування показань | Тільки власник та представник |
| Видалення показань | Тільки власник та представник |
Ролі в об'єкті
- Власник (PROPERTY_LANDLORD): Повний доступ до всіх операцій
- Представник (PROPERTY_LANDLORD_AGENT): Може редагувати та видаляти лічильники та показання
- Інші учасники: Можуть переглядати, створювати лічильники та додавати нові показання
Статус лічильника
Лічильники можуть бути активовані або деактивовані залежно від того, чи використовуються вони в даний час.
Лічильник використовується. Можна додавати нові показання, і лічильник буде використовуватися для автоматичного розрахунку нарахувань.
Лічильник деактивовано. Він залишається в системі для історичних записів, але не використовується для нових розрахунків.
Коли деактивувати лічильник?
- Лічильник замінено на новий
- Лічильник тимчасово не працює
- Лічильник більше не актуальний для об'єкта
Важливо
Неактивні лічильники виключаються з автоматичного розрахунку нарахувань. Якщо вам потрібно знову використовувати лічильник, просто активуйте його.
Видалення лічильника
Для збереження цілісності даних лічильники з пов'язаними нарахуваннями не можна видалити.
Можна видалити
Лічильник не має показань, пов'язаних з нарахуваннями. Вся історія буде остаточно видалена.
Не можна видалити
Лічильник має показання, пов'язані з нарахуваннями. Замість видалення деактивуйте лічильник для збереження історичних даних.
Альтернатива видаленню
Якщо ви не можете видалити лічильник, деактивуйте його. Деактивовані лічильники залишаються в системі для довідки, але не використовуються в нових розрахунках.
REST API
Усі API-ендпоінти потребують JWT-аутентифікації.
Примітка рівня обслуговування
API лічильників
GET /api/v1/properties/{propertyId}/counters # List counters for property
POST /api/v1/properties/{propertyId}/counters # Create counter
GET /api/v1/properties/{propertyId}/counters/{id} # Counter details with readings
PUT /api/v1/properties/{propertyId}/counters/{id} # Update counter
DELETE /api/v1/properties/{propertyId}/counters/{id} # Delete counter (if no linked charges)
POST /api/v1/properties/{propertyId}/counters/{id}/toggle # Toggle active/inactive status
API показань
POST /api/v1/properties/{propertyId}/counters/{counterId}/values # Add reading
PUT /api/v1/properties/{propertyId}/counters/{counterId}/values/{id} # Edit reading
DELETE /api/v1/properties/{propertyId}/counters/{counterId}/values/{id} # Delete reading
Документи лічильника
POST /properties/{propertyId}/counters/{id}/documents/upload # Upload document (multipart/form-data)
POST /properties/{propertyId}/counters/{id}/documents/{documentId}/delete # Delete document
Документи показання
POST /properties/{propertyId}/counters/{id}/values/{valueId}/documents/upload # Upload document (multipart/form-data)
POST /properties/{propertyId}/counters/{id}/values/{valueId}/documents/{documentId}/delete # Delete document
Обмеження файлів
Максимальний розмір файлу: 20 МБ. Підтримувані формати: JPEG, PNG, GIF, WebP, HEIC, PDF. До кожного лічильника або показання можна прикріпити кілька файлів.
Приклад: Створення лічильника
POST /api/v1/properties/1/counters
Content-Type: application/json
Authorization: Bearer <token>
{
"expense_type_id": 1,
"serial_number": "ABC-123456",
"tariff_type": "TWO_ZONE",
"initial_value": "100.500",
"initial_value_t1": "60.300",
"initial_value_t2": "40.200",
"initial_value_date": "2026-01-01"
}
Приклад: Додавання показання
POST /api/v1/properties/1/counters/5/values
Content-Type: application/json
Authorization: Bearer <token>
# Single-zone counter (regular consumption):
{ "value": "1350.75", "date": "2026-01-07" }
# Multi-zone counter (total auto-calculated):
{
"value_t1": "150.300",
"value_t2": "80.200",
"date": "2026-01-07"
}
# Adjustment reading (correction):
{
"value": "50.000",
"date": "2026-01-07",
"is_adjustment": true
}
Документи лічильника: Upload
POST /properties/1/counters/5/documents/upload
Content-Type: multipart/form-data
documents[] — file (jpg, jpeg, png, gif, webp, heic, pdf), max 20 MB
comment — string (optional)
# Response:
{ "success": true, "uploaded": 1 }
Документи показання: Upload
POST /properties/1/counters/5/values/12/documents/upload
Content-Type: multipart/form-data
documents[] — file (jpg, jpeg, png, gif, webp, heic, pdf), max 20 MB
comment — string (optional)
# Response:
{ "success": true, "uploaded": 2 }
Приклад відповіді
{
"id": 12,
"value": "230.500",
"value_t1": "150.300",
"value_t2": "80.200",
"value_t3": null,
"date": "2026-01-07",
"is_initial": false,
"is_adjustment": false,
"has_linked_charge": true,
"expense_charge_id": 45,
"can_edit": false,
"can_delete": false,
"documents_count": 2,
"created_at": "2026-01-07T10:30:00+00:00"
}
Пов'язані розділи
Swagger / OpenAPI
Повна документація API доступна у Swagger UI: /api/v1/doc