Skip to content

Commit 3df12cc

Browse files
committed
initial draft BO Rechnung
1 parent d657df2 commit 3df12cc

2 files changed

Lines changed: 68 additions & 0 deletions

File tree

src/bo4e/bo/rechnung.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
from ..com.rechnungsposition import Rechnungsposition
1818
from ..com.steuerbetrag import Steuerbetrag
1919
from ..com.zeitraum import Zeitraum
20+
from ..com.zahlungsinformationen import Zahlungsinformationen
2021
from ..enum.netznutzungrechnungsart import NetznutzungRechnungsart
2122
from ..enum.netznutzungrechnungstyp import NetznutzungRechnungstyp
2223
from ..enum.rechnungsstatus import Rechnungsstatus
@@ -25,6 +26,10 @@
2526
from .geschaeftspartner import Geschaeftspartner
2627
from .marktlokation import Marktlokation
2728
from .messlokation import Messlokation
29+
from .vertrag import Vertrag
30+
from .marktteilnehmer import Marktteilnehmer
31+
from .energiemenge import Energiemenge
32+
from .fremdkosten import Fremdkosten
2833

2934
# pylint: disable=too-few-public-methods, too-many-instance-attributes
3035

@@ -102,3 +107,27 @@ class Rechnung(Geschaeftsobjekt):
102107
"""Marktlokation, auf die sich die Rechnung bezieht"""
103108
messlokation: Optional["Messlokation"] = None
104109
"""Messlokation, auf die sich die Rechnung bezieht"""
110+
teilrechnungen: Optional[list["Rechnung"]]
111+
"""Rechnungen, die durch diese Rechnung zusammengefasst werden"""
112+
zahlungsinformationen: Optional["Zahlungsinformationen"]
113+
"""Informationen wie eine Rechnung bezahlt werden soll"""
114+
vertrag: Optional["Vertrag"]
115+
"""enthält Informationen über den der Rechnung zugrundeliegenden Vertrag für Rechnungen nach EnWG § 40"""
116+
messstellenbetreiber: Optional["Marktteilnehmer"]
117+
"""der Messtellenbetreiber an der Lieferstelle, relevant für Rechnungen gemäß EnWG § 40"""
118+
netzbetreiber: Optional["Marktteilnehmer"]
119+
"""der Netzbetreiber an der Lieferstelle, relevant für Rechnungen gemäß EnWG § 40"""
120+
anfangszaehlerstand: Optional["Energiemenge"]
121+
"""Für Verbrauchsbasierte Rechnungen der Zählerstand zur Beginn des abgerechneten Zeitraums, Pflicht für Rechnungen gemäß EnWG § 40"""
122+
endzaehlerstand: Optional["Energiemenge"]
123+
"""Für Verbrauchsbasierte Rechnungen der Zählerstand zum Ende des abgerechneten Zeitraums, Pflicht für Rechnungen gemäß EnWG § 40"""
124+
aktuellerverbrauch: Optional["Energiemenge"]
125+
"""Verbrauch des abgerechneten Zeitraums, Pflicht für Rechnungen gemäß EnWG § 40"""
126+
jahresverbrauch: Optional["Energiemenge"]
127+
"""ggf. auf einen Vergleichszeitraum hochgerechneter Verbrauch des abgerechneten Zeitraums zu Vergleichszwecken mit dem Vorjahr, gemäß EnWG § 40"""
128+
vorjahresverbrauch: Optional["Energiemenge"]
129+
"""ggf. auf einen Vergleichszeitraum hochgerechneter Verbrauch des vorherigen Jahres zu Vergleichszwecken mit dem aktuellen Jahr, gemäß EnWG § 40"""
130+
fremdkosten: Optional["Fremdkosten"]
131+
"""Zur Ausweisung der in die Kalkulation eingeflossenen Preise gemäß EnWG § 40"""
132+
referenzverbrauch: Optional[list["Energiemenge"]]
133+
"""Verbräuche von Referenzkundengruppen gemäß EnWG § 40"""
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
"""
2+
Contains Zahlungsinforamtionen class
3+
and corresponding marshmallow schema for de-/serialization
4+
"""
5+
6+
from typing import TYPE_CHECKING, Optional
7+
8+
from ..utils import postprocess_docstring
9+
from .com import COM
10+
11+
# pylint: disable=too-few-public-methods
12+
13+
14+
@postprocess_docstring
15+
class Zahlungsinformationen(COM):
16+
"""
17+
Die Komponente wird dazu verwendet, Zahlungsinformationen zu einem BO Rechnung zu hinterlegen
18+
19+
.. raw:: html
20+
21+
<object data="../_static/images/bo4e/com/Zahlungsinformationen.svg" type="image/svg+xml"></object>
22+
23+
.. HINT::
24+
`Zahlungsinformationen JSON Schema <https://json-schema.app/view/%23?url=https://raw.githubusercontent.com/BO4E/BO4E-Schemas/{__gh_version__}/src/bo4e_schemas/com/Zahlungsinformationen.json>`_
25+
26+
"""
27+
28+
kontoinhaber: Optional[str] = None
29+
"""Zahlungsempfänger bzw. Kontoinhaber"""
30+
iban: Optional[str] = None
31+
"""IBAN an die überwiesen werden soll"""
32+
bic: Optional[str] = None
33+
"""BIC der Bank"""
34+
referenz: Optional[str] = None
35+
"""Referenz für die Überweisung"""
36+
ist_sepa_einzug: Optional[bool] = None
37+
"""Wird die Zahlung eingezogen?"""
38+
sepa_referenz: Optional[str] = None
39+
"""Referenz des SEPA Einzugs"""

0 commit comments

Comments
 (0)