Skip to content

Draft BO Rechnung #976

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/bo4e/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,7 @@
"ZaehlertypSpezifikation",
"Zeitreihentyp",
"ZusatzAttribut",
"Zahlungsinformationen",
"__version__",
"__gh_version__",
]
Expand Down Expand Up @@ -307,6 +308,7 @@
from .com.verwendungszweckpromarktrolle import VerwendungszweckProMarktrolle
from .com.zaehlwerk import Zaehlwerk
from .com.zaehlzeitregister import Zaehlzeitregister
from .com.zahlungsinformationen import Zahlungsinformationen
from .com.zeitraum import Zeitraum
from .com.zeitreihenwert import Zeitreihenwert
from .com.zustaendigkeit import Zustaendigkeit
Expand Down
29 changes: 29 additions & 0 deletions src/bo4e/bo/rechnung.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,20 @@
from ..com.betrag import Betrag
from ..com.rechnungsposition import Rechnungsposition
from ..com.steuerbetrag import Steuerbetrag
from ..com.zahlungsinformationen import Zahlungsinformationen
from ..com.zeitraum import Zeitraum
from ..enum.netznutzungrechnungsart import NetznutzungRechnungsart
from ..enum.netznutzungrechnungstyp import NetznutzungRechnungstyp
from ..enum.rechnungsstatus import Rechnungsstatus
from ..enum.rechnungstyp import Rechnungstyp
from ..enum.sparte import Sparte
from .energiemenge import Energiemenge
from .fremdkosten import Fremdkosten
from .geschaeftspartner import Geschaeftspartner
from .marktlokation import Marktlokation
from .marktteilnehmer import Marktteilnehmer
from .messlokation import Messlokation
from .vertrag import Vertrag

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

Expand Down Expand Up @@ -102,3 +107,27 @@ class Rechnung(Geschaeftsobjekt):
"""Marktlokation, auf die sich die Rechnung bezieht"""
messlokation: Optional["Messlokation"] = None
"""Messlokation, auf die sich die Rechnung bezieht"""
teilrechnungen: Optional[list["Rechnung"]]
"""Rechnungen, die durch diese Rechnung zusammengefasst werden"""
zahlungsinformationen: Optional["Zahlungsinformationen"]
"""Informationen wie eine Rechnung bezahlt werden soll"""
vertrag: Optional["Vertrag"]
"""enthält Informationen über den der Rechnung zugrundeliegenden Vertrag für Rechnungen nach EnWG § 40"""
messstellenbetreiber: Optional["Marktteilnehmer"]
"""der Messtellenbetreiber an der Lieferstelle, relevant für Rechnungen gemäß EnWG § 40"""
netzbetreiber: Optional["Marktteilnehmer"]
"""der Netzbetreiber an der Lieferstelle, relevant für Rechnungen gemäß EnWG § 40"""
anfangszaehlerstand: Optional["Energiemenge"]
"""Für Verbrauchsbasierte Rechnungen der Zählerstand zur Beginn des abgerechneten Zeitraums, Pflicht für Rechnungen gemäß EnWG § 40"""
endzaehlerstand: Optional["Energiemenge"]
"""Für Verbrauchsbasierte Rechnungen der Zählerstand zum Ende des abgerechneten Zeitraums, Pflicht für Rechnungen gemäß EnWG § 40"""
aktuellerverbrauch: Optional["Energiemenge"]
"""Verbrauch des abgerechneten Zeitraums, Pflicht für Rechnungen gemäß EnWG § 40"""
jahresverbrauch: Optional["Energiemenge"]
"""ggf. auf einen Vergleichszeitraum hochgerechneter Verbrauch des abgerechneten Zeitraums zu Vergleichszwecken mit dem Vorjahr, gemäß EnWG § 40"""
vorjahresverbrauch: Optional["Energiemenge"]
"""ggf. auf einen Vergleichszeitraum hochgerechneter Verbrauch des vorherigen Jahres zu Vergleichszwecken mit dem aktuellen Jahr, gemäß EnWG § 40"""
fremdkosten: Optional["Fremdkosten"]
"""Zur Ausweisung der in die Kalkulation eingeflossenen Preise gemäß EnWG § 40"""
referenzverbrauch: Optional[list["Energiemenge"]]
"""Verbräuche von Referenzkundengruppen gemäß EnWG § 40"""
39 changes: 39 additions & 0 deletions src/bo4e/com/zahlungsinformationen.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
"""
Contains Zahlungsinforamtionen class
and corresponding marshmallow schema for de-/serialization
"""

from typing import Optional

from ..utils import postprocess_docstring
from .com import COM

# pylint: disable=too-few-public-methods


@postprocess_docstring
class Zahlungsinformationen(COM):
"""
Die Komponente wird dazu verwendet, Zahlungsinformationen zu einem BO Rechnung zu hinterlegen

.. raw:: html

<object data="../_static/images/bo4e/com/Zahlungsinformationen.svg" type="image/svg+xml"></object>

.. HINT::
`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>`_

"""

kontoinhaber: Optional[str] = None
"""Zahlungsempfänger bzw. Kontoinhaber"""
iban: Optional[str] = None
"""IBAN an die überwiesen werden soll"""
bic: Optional[str] = None
"""BIC der Bank"""
referenz: Optional[str] = None
"""Referenz für die Überweisung"""
ist_sepa_einzug: Optional[bool] = None
"""Wird die Zahlung eingezogen?"""
sepa_referenz: Optional[str] = None
"""Referenz des SEPA Einzugs"""
Loading