Skip to content

Commit a121aa4

Browse files
committed
Rework COM Rechnungsposition
1 parent de563e5 commit a121aa4

1 file changed

Lines changed: 4 additions & 28 deletions

File tree

src/bo4e/com/rechnungsposition.py

Lines changed: 4 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,11 @@
1313
from .com import COM
1414

1515
if TYPE_CHECKING:
16+
from ..com.zeitraum import Zeitraum
1617
from ..enum.bdewartikelnummer import BDEWArtikelnummer
17-
from ..enum.mengeneinheit import Mengeneinheit
1818
from .betrag import Betrag
1919
from .menge import Menge
2020
from .preis import Preis
21-
from .steuerbetrag import Steuerbetrag
2221

2322

2423
@postprocess_docstring
@@ -41,10 +40,8 @@ class Rechnungsposition(COM):
4140
positionsnummer: Optional[int] = None
4241
"""Fortlaufende Nummer für die Rechnungsposition"""
4342

44-
lieferung_von: Optional[pydantic.AwareDatetime] = None
45-
"""Start der Lieferung für die abgerechnete Leistung (inklusiv)"""
46-
lieferung_bis: Optional[pydantic.AwareDatetime] = None
47-
"""Ende der Lieferung für die abgerechnete Leistung (exklusiv)"""
43+
lieferungszeitraum: Optional["Zeitraum"] = None
44+
"""Zeitraum der Lieferung für die abgerechnete Leistung"""
4845

4946
positionstext: Optional[str] = None
5047
"""Bezeichung für die abgerechnete Position"""
@@ -53,34 +50,13 @@ class Rechnungsposition(COM):
5350
"""Die abgerechnete Menge mit Einheit"""
5451
einzelpreis: Optional["Preis"] = None
5552
"""Der Preis für eine Einheit der energetischen Menge"""
53+
gesamtpreis: Optional["Betrag"] = None
5654

57-
teilsumme_netto: Optional["Betrag"] = None
58-
"""
59-
Das Ergebnis der Multiplikation aus einzelpreis * positionsMenge * (Faktor aus zeitbezogeneMenge).
60-
Z.B. 12,60€ * 120 kW * 3/12 (für 3 Monate).
61-
"""
6255
# the cross check in general doesn't work because Betrag and Preis use different enums to describe the currency
6356
# see https://github.com/Hochfrequenz/BO4E-python/issues/126
6457

65-
teilsumme_steuer: Optional["Steuerbetrag"] = None
66-
"""Auf die Position entfallende Steuer, bestehend aus Steuersatz und Betrag"""
67-
68-
zeiteinheit: Optional["Mengeneinheit"] = None
69-
"""Falls sich der Preis auf eine Zeit bezieht, steht hier die Einheit"""
70-
7158
artikelnummer: Optional["BDEWArtikelnummer"] = None
7259
"""Kennzeichnung der Rechnungsposition mit der Standard-Artikelnummer des BDEW"""
73-
lokations_id: Optional[str] = None
74-
"""Marktlokation, die zu dieser Position gehört"""
75-
76-
zeitbezogene_menge: Optional["Menge"] = None
77-
"""
78-
Eine auf die Zeiteinheit bezogene Untermenge.
79-
Z.B. bei einem Jahrespreis, 3 Monate oder 146 Tage.
80-
Basierend darauf wird der Preis aufgeteilt.
81-
"""
82-
teilrabatt_netto: Optional["Betrag"] = None
83-
"""Nettobetrag für den Rabatt dieser Position"""
8460

8561
artikel_id: Optional[str] = None
8662
"""Standardisierte vom BDEW herausgegebene Liste, welche im Strommarkt die BDEW-Artikelnummer ablöst"""

0 commit comments

Comments
 (0)