# Verbrauchskostenreport IP-Symcon-Modul zur Aufbereitung von Energie- und Nebenkosten als PDF-Report. Das Modul verwendet eine eigenständige, neutrale öffentliche API mit dem Präfix `VKR`. Aus Enelix 1 wurde ausschließlich die fachliche Berechnungslogik adaptiert. Alte Modulnamen, Aktionen und Medien-Idents werden nicht angeboten. Technische Anpassungen für IP-Symcon 8.0 und PHP 8.3 umfassen einen deklarierten Laufzeit-Cache, ausgabefreie `RequestAction`-Aufrufe und das Abmelden des WebHooks beim Löschen einer Instanz. ## Funktion - erstellt pro Benutzer einen Verbrauchskostenreport - berechnet Stromkosten aus Archivwerten in 15-Minuten-Schritten - berücksichtigt Netz-, Solar- und Einspeisetarife - berechnet zusätzliche Zählerkosten für Warmwasser, Kaltwasser und Wärme - erzeugt optional einen Schweizer QR-Zahlteil - unterstützt den konfigurierbaren MWST-Ausweis ## QR-Zahlteil Der QR-Zahlteil verwendet strukturierte Adressen (`S`) nach SIX SPS 2.3. Er wird nur bei hinterlegter normaler CH/LI-IBAN und positivem Gesamtbetrag erzeugt. QR-IBANs werden abgelehnt, da der Report keine QR-Referenz führt. Benutzer- und Zahlungsempfängeradresse benötigen Name, PLZ, Ort und ISO-2-Land. ## Konfiguration | Property | Beschreibung | |---|---| | `Users` | Benutzerliste | | `PowerMeters` | Stromzählerliste | | `WaterMeters` | Nebenkostenzähler | | `Tariffs` | Tarifliste | | `LogoMediaID` | Logo für PDF-Kopf | | `PropertyText` | Liegenschaftstext | | `FooterText` | PDF-Fusszeile | | `EnableVAT` | aktiviert MWST | | `VATPercentage` | MWST-Satz | | `CreditorName` | Name des Zahlungsempfängers | | `CreditorStreet` | Strasse des Zahlungsempfängers | | `CreditorBuildingNumber` | Hausnummer des Zahlungsempfängers | | `CreditorPostalCode` | PLZ des Zahlungsempfängers | | `CreditorTown` | Ort des Zahlungsempfängers | | `CreditorCountry` | ISO-2-Ländercode des Zahlungsempfängers | | `BankIBAN` | normale CH/LI-IBAN für den QR-Zahlteil | Bei einem Update müssen bisher kombinierte Benutzer- und Empfängeradressen einmalig in die strukturierten Felder aufgeteilt und kontrolliert werden. Bei aktiver IBAN verhindern fehlende QR-Pflichtfelder die Reporterzeugung. ## Bedienung | Ident/Action | Beschreibung | |---|---| | `FromDate` | Startdatum | | `ToDate` | Enddatum | | `CreateReport` | erzeugt das PDF | | `LastResult` | letzter Lauf | | `ReportPDF` | erzeugtes PDF-Dokument |