Skip to content

Commit 0b56f16

Browse files
committed
Add COM Vorauszahlung
1 parent 2424c66 commit 0b56f16

4 files changed

Lines changed: 49 additions & 8 deletions

File tree

src/bo4e/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@
101101
"Vertragskonditionen",
102102
"Vertragsteil",
103103
"VerwendungszweckProMarktrolle",
104+
"Vorauszahlung",
104105
"Zaehlwerk",
105106
"Zaehlzeitregister",
106107
"Zahlungsinformation",
@@ -304,6 +305,7 @@
304305
from .com.vertragskonditionen import Vertragskonditionen
305306
from .com.vertragsteil import Vertragsteil
306307
from .com.verwendungszweckpromarktrolle import VerwendungszweckProMarktrolle
308+
from .com.vorauszahlung import Vorauszahlung
307309
from .com.zaehlwerk import Zaehlwerk
308310
from .com.zaehlzeitregister import Zaehlzeitregister
309311
from .com.zahlungsinformation import Zahlungsinformation

src/bo4e/bo/rechnung.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from ..com.betrag import Betrag
1616
from ..com.rechnungsposition import Rechnungsposition
1717
from ..com.steuerbetrag import Steuerbetrag
18+
from ..com.vorauszahlung import Vorauszahlung
1819
from ..com.zahlungsinformation import Zahlungsinformation
1920
from ..com.zeitraum import Zeitraum
2021
from ..enum.netznutzungrechnungsart import NetznutzungRechnungsart
@@ -79,36 +80,35 @@ class Rechnung(Geschaeftsobjekt):
7980
zaehler: Optional[list["Zaehler"]] = None
8081
zukuenftiger_abschlag: Optional["Betrag"] = None
8182
kaeuferreferenz: Optional[str] = None
82-
#!
8383

8484
rechnungspositionen: Optional[list["Rechnungsposition"]] = None
8585
"""Die Rechnungspositionen"""
86-
rechnungstitel: Optional[str] = None #!
86+
rechnungstitel: Optional[str] = None
8787
"""Bezeichnung für die vorliegende Rechnung"""
8888
rechnungsstatus: Optional["Rechnungsstatus"] = None
8989
"""Status der Rechnung zur Kennzeichnung des Bearbeitungsstandes"""
9090
original_rechnungsnummer: Optional[str] = None
9191
"""Im Falle einer Stornorechnung (storno = true) steht hier die Rechnungsnummer der stornierten Rechnung"""
92-
vorausgezahlt: Optional["Betrag"] = None #!
92+
vorauszahlungen: Optional[list["Vorauszahlung"]] = None
9393
"""Die Summe evtl. vorausgezahlter Beträge, z.B. Abschläge. Angabe als Bruttowert"""
9494
rabatt_netto: Optional["Betrag"] = None
9595
"""Gesamtrabatt auf den Nettobetrag"""
96-
steuerbetraege: Optional[list["Steuerbetrag"]] = None #!
96+
steuerbetraege: Optional[list["Steuerbetrag"]] = None
9797
"""
9898
Eine Liste mit Steuerbeträgen pro Steuerkennzeichen/Steuersatz;
9999
die Summe dieser Beträge ergibt den Wert für gesamtsteuer.
100100
"""
101-
sparte: Optional["Sparte"] = None #!
101+
sparte: Optional["Sparte"] = None
102102
"""Sparte (Strom, Gas ...) für die die Rechnung ausgestellt ist"""
103103
netznutzungrechnungsart: Optional["NetznutzungRechnungsart"] = None
104104
"""Aus der INVOIC entnommen, befüllt wenn es sich um eine Netznutzungsrechnung handelt"""
105105
netznutzungrechnungstyp: Optional["NetznutzungRechnungstyp"] = None
106106
"""Aus der INVOIC entnommen, befüllt wenn es sich um eine Netznutzungsrechnung handelt"""
107-
ist_original: Optional[bool] = None #!
107+
ist_original: Optional[bool] = None
108108
"""Kennzeichen, ob es sich um ein Original (true) oder eine Kopie handelt (false)"""
109-
ist_simuliert: Optional[bool] = None #!
109+
ist_simuliert: Optional[bool] = None
110110
"""Kennzeichen, ob es sich um eine simulierte Rechnung, z.B. zur Rechnungsprüfung handelt"""
111-
ist_storno: Optional[bool] = None #!
111+
ist_storno: Optional[bool] = None
112112
"""
113113
Kennzeichnung, ob es sich um eine Stornorechnung handelt;
114114
im Falle "true" findet sich im Attribut "originalrechnungsnummer" die Nummer der Originalrechnung.

src/bo4e/com/vorauszahlung.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
"""
2+
Contains Vorauszahlung class
3+
"""
4+
5+
from typing import TYPE_CHECKING, Annotated, Literal, Optional
6+
7+
from pydantic import AwareDatetime, Field
8+
9+
from ..enum.comtyp import ComTyp
10+
from ..utils import postprocess_docstring
11+
from .com import COM
12+
13+
if TYPE_CHECKING:
14+
from .betrag import Betrag
15+
16+
17+
# pylint: disable=too-few-public-methods
18+
19+
20+
@postprocess_docstring
21+
class Vorauszahlung(COM):
22+
"""
23+
Dient zur Identifizierung des Verwendungszwecks der Marktrolle an der Marktlokation, der die Werte zu übermitteln sind.
24+
25+
.. raw:: html
26+
27+
<object data="../_static/images/bo4e/com/Vorauszahlung.svg" type="image/svg+xml"></object>
28+
29+
.. HINT::
30+
`Vorauszahlung JSON Schema <https://json-schema.app/view/%23?url=https://raw.githubusercontent.com/BO4E/BO4E-Schemas/{__gh_version__}/src/bo4e_schemas/com/Vorauszahlung.json>`_
31+
32+
"""
33+
34+
typ: Annotated[Literal[ComTyp.VORAUSZAHLUNG], Field(alias="_typ")] = ComTyp.VORAUSZAHLUNG
35+
36+
betrag: Optional["Betrag"] = None
37+
datum: Optional[AwareDatetime] = None
38+
referenz: Optional[str] = None

src/bo4e/enum/comtyp.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ class ComTyp(StrEnum):
6666
VERTRAGSKONDITIONEN = "VERTRAGSKONDITIONEN"
6767
VERTRAGSTEIL = "VERTRAGSTEIL"
6868
VERWENDUNGSZWECKPROMARKTROLLE = "VERWENDUNGSZWECKPROMARKTROLLE"
69+
VORAUSZAHLUNG = "VORAUSZAHLUNG"
6970
ZAEHLWERK = "ZAEHLWERK"
7071
ZAEHLZEITREGISTER = "ZAEHLZEITREGISTER"
7172
ZAHLUNGSINFORMATION = "ZAHLUNGSINFORMATION"

0 commit comments

Comments
 (0)