Liczniki
Śledź odczyty liczników dla swoich nieruchomości
Czym są liczniki?
Liczniki pozwalają śledzić odczyty liczników dla Twoich nieruchomości: elektryczność, woda, gaz, ogrzewanie i inne media. Każdy licznik przechowuje numer seryjny, odczyt początkowy i historię wszystkich odczytów.
Kluczowe funkcje
- Powiązane z typami wydatków (elektryczność, woda, gaz itp.)
- Załączniki dokumentów do liczników i odczytów (zdjęcia, PDF, do 20 MB)
- Pełna historia odczytów z datami
- Automatyczna walidacja: nowe odczyty muszą być większe lub równe poprzednim
- Obsługa wielostrefowych taryf za energię (jednostrefowa, dwustrefowa, trzystrefowa)
Strefy taryfowe energii elektrycznej
Dla liczników energii elektrycznej możesz wybrać różne typy taryf w zależności od możliwości licznika.
| Typ taryfy | Strefy | Opis |
|---|---|---|
| jednostrefowy | 1 strefa | Standardowy licznik z jednym odczytem. Domyślny dla wszystkich typów wydatków. |
| dwustrefowy | T1 (Dzień (T1)), T2 (Noc (T2)) | Licznik dzień/noc. Wprowadź obie strefy, suma obliczana automatycznie. |
| trzystrefowy | T1 (Szczyt (T1)), T2 (Półszczyt (T2)), T3 (Noc (T3)) | Licznik szczyt/półszczyt/noc. Wszystkie strefy wymagane. |
Ważne
Taryfy wielostrefowe są dostępne tylko dla typów wydatków, które je obsługują (np. energia elektryczna). Przy dodawaniu odczytu dla licznika wielostrefowego należy wprowadzić wartości dla wszystkich stref.
Jak utworzyć licznik?
Przejdź do swojej nieruchomości
Otwórz stronę nieruchomości, do której chcesz dodać licznik.
Otwórz sekcję Liczniki
Kliknij "Liczniki" w menu nieruchomości, aby zobaczyć istniejące liczniki lub dodać nowy.
Wypełnij dane licznika
Wybierz typ wydatku, wprowadź numer seryjny, odczyt początkowy i opcjonalnie prześlij zdjęcie licznika.
Dodawanie odczytów
Po utworzeniu licznika możesz dodawać odczyty, aby śledzić zużycie w czasie.
Zasady walidacji
Nowe odczyty muszą być większe lub równe poprzedniemu. System nie zaakceptuje niższych wartości, aby zapewnić integralność danych.
Dołącz dokumenty
Przesyłaj zdjęcia wyświetlacza licznika lub dokumenty PDF z każdym odczytem jako dowód i odniesienie.
Śledź daty
Zawsze wprowadzaj dokładną datę odczytu dla dokładnego śledzenia zużycia.
Regularne aktualizacje
Dodawaj odczyty regularnie (miesięcznie), aby śledzić wzorce zużycia i wcześnie wykrywać problemy.
Korekty i poprawki
Czasami odczyty liczników wymagają korekty z powodu cofnięcia licznika, wymiany lub korekt od dostawcy usług.
Zużycie
Normalne odczyty. Nowa wartość musi być większa lub równa poprzedniemu odczytowi.
Korekta
Odczyty korygujące. Użyj, gdy licznik został wymieniony, cofnięty lub skorygowany przez dostawcę usług.
Kiedy używać korekt?
- Wymiana licznika - nowy licznik zaczyna od niższej wartości
- Cofnięcie licznika po osiągnięciu maksymalnej wartości
- Korekta od dostawcy usług po przeliczeniu
- Korekta błędu w poprzednio wprowadzonym odczycie
Ważne
Odczyty korygujące są przechowywane jako wartości ujemne i są wyłączone z automatycznych obliczeń naliczeń.
Odczyty powiązane z naliczeniami
Gdy naliczenie jest tworzone na podstawie odczytów licznika, system automatycznie wiąże odczyt z naliczeniem.
Odczyt nie jest powiązany z żadnym naliczeniem. Może być edytowany lub usunięty przez Właściciela/Przedstawiciela.
Odczyt jest powiązany z naliczeniem. Nie może być edytowany ani usunięty w celu zapewnienia integralności danych.
Automatyczne powiązanie
Podczas tworzenia naliczenia dla wydatku na podstawie licznika system automatycznie znajduje i wiąże ostatni niepowiązany odczyt.
Zasady powiązania
| Typ odczytu | Może być powiązane | Powód |
|---|---|---|
| Zwykłe zużycie | Tak | Normalne odczyty reprezentują rzeczywiste zużycie |
| Korekta/Poprawka | Nie | Wartości ujemne nie mogą reprezentować zużycia do rozliczenia |
| Odczyt początkowy | Nie | Odczyty początkowe to punkty startowe, a nie zużycie |
Tworzenie naliczeń
Podczas tworzenia naliczenia dla wydatków z licznikami wybierasz istniejący odczyt zamiast wprowadzania wartości ręcznie. Zapewnia to integralność danych i prawidłowe śledzenie.
Dodaj odczyt licznika
Najpierw dodaj nowy odczyt licznika z bieżącą wartością.
Utwórz naliczenie
Przejdź do wydatku i utwórz nowe naliczenie. Wybierz odczyt z listy.
Automatyczne obliczenie
System automatycznie oblicza zużycie na podstawie różnicy między wybranym odczytem a poprzednim.
Brak niepowiązanych odczytów?
Jeśli nie ma dostępnych niepowiązanych odczytów, nie możesz utworzyć naliczenia. Najpierw dodaj nowy odczyt licznika, a następnie wróć, aby utworzyć naliczenie.
Tworzenie naliczeń przez 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]
}
Prawa dostępu
Różni uczestnicy nieruchomości mają różne uprawnienia do liczników i odczytów.
Uprawnienia do liczników
| Akcja | Kto może to zrobić |
|---|---|
| Przeglądanie liczników | Wszyscy uczestnicy nieruchomości |
| Tworzenie liczników | Wszyscy uczestnicy nieruchomości |
| Edycja liczników | Wszyscy uczestnicy nieruchomości |
| Usuwanie liczników | Tylko właściciel i przedstawiciel |
Uprawnienia do odczytów
| Akcja | Kto może to zrobić |
|---|---|
| Przeglądanie odczytów | Wszyscy uczestnicy nieruchomości |
| Dodawanie odczytów | Wszyscy uczestnicy nieruchomości |
| Edycja odczytów | Tylko właściciel i przedstawiciel |
| Usuwanie odczytów | Tylko właściciel i przedstawiciel |
Role w nieruchomości
- Właściciel (PROPERTY_LANDLORD): Pełny dostęp do wszystkich operacji
- Przedstawiciel (PROPERTY_LANDLORD_AGENT): Może edytować i usuwać liczniki i odczyty
- Inni uczestnicy: Mogą przeglądać, tworzyć liczniki i dodawać nowe odczyty
Status licznika
Liczniki mogą być aktywowane lub dezaktywowane w zależności od tego, czy są obecnie używane.
Licznik jest używany. Można dodawać nowe odczyty, a licznik będzie używany do automatycznego obliczania opłat.
Licznik jest dezaktywowany. Pozostaje w systemie do celów historycznych, ale nie jest używany do nowych obliczeń.
Kiedy dezaktywować licznik?
- Licznik został zastąpiony nowym
- Licznik jest tymczasowo niesprawny
- Licznik nie jest już odpowiedni dla nieruchomości
Ważne
Nieaktywne liczniki są wyłączone z automatycznego obliczania opłat. Jeśli potrzebujesz ponownie użyć licznika, po prostu go aktywuj.
Usuwanie licznika
Aby zachować integralność danych, liczniki z powiązanymi opłatami nie mogą być usunięte.
Można usunąć
Licznik nie ma odczytów powiązanych z opłatami. Cała historia zostanie trwale usunięta.
Nie można usunąć
Licznik ma odczyty powiązane z opłatami. Zamiast usuwać, dezaktywuj licznik, aby zachować dane historyczne.
Alternatywa dla usunięcia
Jeśli nie możesz usunąć licznika, dezaktywuj go. Dezaktywowane liczniki pozostają w systemie do celów referencyjnych, ale nie są używane w nowych obliczeniach.
REST API
Wszystkie endpointy API wymagają uwierzytelnienia JWT.
Uwaga dotycząca warstwy usługowej
API liczników
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 odczytów
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
Dokumenty licznika
POST /properties/{propertyId}/counters/{id}/documents/upload # Upload document (multipart/form-data)
POST /properties/{propertyId}/counters/{id}/documents/{documentId}/delete # Delete document
Dokumenty odczytu
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
Limity plików
Maksymalny rozmiar pliku: 20 MB. Obsługiwane formaty: JPEG, PNG, GIF, WebP, HEIC, PDF. Do każdego licznika lub odczytu można dołączyć wiele plików.
Przykład: Tworzenie licznika
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"
}
Przykład: Dodawanie odczytu
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
}
Dokumenty licznika: 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 }
Dokumenty odczytu: 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 }
Przykładowa odpowiedź
{
"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"
}
Powiązane sekcje
Swagger / OpenAPI
Pełna dokumentacja API jest dostępna w Swagger UI: /api/v1/doc