Strona główna › Biblioteka › Liczniki

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?

1

Przejdź do swojej nieruchomości

Otwórz stronę nieruchomości, do której chcesz dodać licznik.

2

Otwórz sekcję Liczniki

Kliknij "Liczniki" w menu nieruchomości, aby zobaczyć istniejące liczniki lub dodać nowy.

3

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.

Niepowiązane

Odczyt nie jest powiązany z żadnym naliczeniem. Może być edytowany lub usunięty przez Właściciela/Przedstawiciela.

Powiązane

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.

1

Dodaj odczyt licznika

Najpierw dodaj nowy odczyt licznika z bieżącą wartością.

2

Utwórz naliczenie

Przejdź do wydatku i utwórz nowe naliczenie. Wybierz odczyt z listy.

3

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.

Aktywny

Licznik jest używany. Można dodawać nowe odczyty, a licznik będzie używany do automatycznego obliczania opłat.

Nieaktywny

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