Files
Enelix-Utils/docs/module/Verbrauchskostenreport/README.md
T
dh 59eec738ab
Tests / test (push) Successful in 51s
chore(release): erste Beta vorbereiten
2026-09-29 06:25:29 +00:00

68 lines
3.5 KiB
Markdown

# Verbrauchskostenreport
> Status: Implementiert. Die fachliche Kosten- und Verbrauchsauswertung aus
> Enelix 1 wurde ohne EMS-Abhängigkeit mit einer neutralen öffentlichen API
> adaptiert.
Der Modulpräfix lautet `VKR`. Der Report wird über die Aktion `CreateReport`
erstellt und im Medium `ReportPDF` bereitgestellt.
## Lizenzierung
Die Freigabe besteht aus einer Grundlizenz und getrennten Kontingenten fuer
Stromzaehler und Nebenzaehler. Der konfigurierte Umfang darf die vom
Lizenzdienst bestaetigten Mengen nicht ueberschreiten.
## Variablen
| Technischer Ident / Anzeige | Typ / Zugriff | Beschreibung |
| --- | --- | --- |
| `FromDate` / Startdatum | Integer / bedienbar | Unixzeit. |
| `ToDate` / Enddatum | Integer / bedienbar | Unixzeit; nach Startdatum. |
| `LastResult` / Letzter Report | String / Anzeige | Ergebnisstatus. |
| `VisuTariffOverview` / Tarife bearbeiten | String / Anzeige | Bestehende Tarifdarstellung. |
| `VisuTariffType` / Tarifart | Integer / bedienbar | Vorhandene Tarifarten. |
| `VisuTariffStart` / Tarif Startdatum | Integer / bedienbar | Unixzeit. |
| `VisuTariffEnd` / Tarif Enddatum | Integer / bedienbar | Unixzeit. |
| `VisuTariffPrice` / Tarifpreis | Float / bedienbar | Rp/Einheit gemäss bestehender Logik. |
| `VisuTariffStatus` / Tarifstatus | String / Anzeige | Bearbeitungsergebnis. |
| `VisuTariffPayload` / Tarifdaten | String / bedienbar | Interner JSON-Eingang. |
| `VisuUserOverview` / Benutzer bearbeiten | String / Anzeige | Benutzerdarstellung. |
| `VisuUserStatus` / Benutzerstatus | String / Anzeige | Bearbeitungsergebnis. |
## Properties
| Technischer Ident / Anzeige | Typ | Standard / Beschreibung |
| --- | --- | --- |
| `Lizenzcode` / Lizenzcode | String | leer; wird zur Laufzeit am Lizenzdienst geprueft. |
| `Users` / Benutzer | String/JSON | `[]`; Benutzerstruktur. |
| `PowerMeters` / Stromzähler | String/JSON | `[]`; Zuordnungen. |
| `WaterMeters` / Wasserzähler | String/JSON | `[]`; Zuordnungen. |
| `Tariffs` / Tarife | String/JSON | `[]`; Tarifstruktur und Einheiten. |
| `LogoMediaID` / Logo | Integer | `0`; Medienobjekt. |
| `PropertyText` / Liegenschaft | String | `Liegenschaft`. |
| `FooterText` / Fusstext | String | Bestehender editierbarer Text. |
| `EnableVAT` / MWST aktiv | Boolean | `false`. |
| `VATPercentage` / MWST-Satz | Float | Code-Default `8.1`; kein automatisch gültiger Steuersatz. |
| `CreditorName` / Zahlungsempfänger | String | leer; Pflichtfeld bei aktivem QR-Zahlteil. |
| `CreditorStreet` / Strasse | String | leer; strukturierter Adressbestandteil. |
| `CreditorBuildingNumber` / Hausnummer | String | leer; strukturierter Adressbestandteil. |
| `CreditorPostalCode` / PLZ | String | leer; Pflichtfeld bei aktivem QR-Zahlteil. |
| `CreditorTown` / Ort | String | leer; Pflichtfeld bei aktivem QR-Zahlteil. |
| `CreditorCountry` / Land | String | ISO-2-Code; Standard `CH`. |
| `BankIBAN` / IBAN | String | normale CH/LI-IBAN; leer deaktiviert den QR-Zahlteil. |
## Migration der QR-Adressen
Bestehende kombinierte Adresswerte werden nicht automatisch aufgeteilt. Vor dem
nächsten QR-Report müssen Strasse, Hausnummer, PLZ, Ort und Land kontrolliert und
strukturiert gespeichert werden. Bei aktiver IBAN verhindern fehlende Pflichtfelder
die Reporterzeugung mit einer verständlichen Fehlermeldung.
## Offene Punkte
- Die Kosten- und Verbrauchsauswertung mit anonymisierten Referenzdaten
vollständig regressionsprüfen.
- Rechtliche und kaufmännische Vorgaben wie MWST-Satz bleiben
Projektkonfiguration.