diff --git a/src/bo4e/__init__.py b/src/bo4e/__init__.py
index 255977773..fa383351e 100644
--- a/src/bo4e/__init__.py
+++ b/src/bo4e/__init__.py
@@ -193,6 +193,7 @@
"Zaehlertyp",
"ZaehlertypSpezifikation",
"ZusatzAttribut",
+ "Bankverbindung",
"__version__",
"__gh_version__",
]
@@ -247,6 +248,7 @@
from .com.aufabschlagstaffelproort import AufAbschlagstaffelProOrt
from .com.ausschreibungsdetail import Ausschreibungsdetail
from .com.ausschreibungslos import Ausschreibungslos
+from .com.bankverbindung import Bankverbindung
from .com.betrag import Betrag
from .com.com import COM
from .com.dienstleistung import Dienstleistung
diff --git a/src/bo4e/bo/geschaeftspartner.py b/src/bo4e/bo/geschaeftspartner.py
index 992bb0650..f2a6d734b 100644
--- a/src/bo4e/bo/geschaeftspartner.py
+++ b/src/bo4e/bo/geschaeftspartner.py
@@ -8,6 +8,7 @@
from pydantic import Field
+from ..com.bankverbindung import Bankverbindung
from ..enum.typ import Typ
from ..utils import postprocess_docstring
from .geschaeftsobjekt import Geschaeftsobjekt
@@ -78,6 +79,10 @@ class Geschaeftspartner(Geschaeftsobjekt):
#: Internetseite des Marktpartners
website: Optional[str] = None
#: Adresse des Geschäftspartners
+ bankverbindung: Optional[Bankverbindung] = None
+ #: Bankverbindung des Geschäftspartners
+ steuernummer: Optional[str] = None
+ #: Steuernummer des Geschäftspartners
adresse: Optional["Adresse"] = None
#: Todo: Add optional connection to marktteilnehmer as discussed in workshop
#: not clear what is the best solution here - circular import marktteilnehmer?
diff --git a/src/bo4e/com/bankverbindung.py b/src/bo4e/com/bankverbindung.py
new file mode 100644
index 000000000..9aa47f7af
--- /dev/null
+++ b/src/bo4e/com/bankverbindung.py
@@ -0,0 +1,38 @@
+"""
+Contains Bankverbindung class and corresponding marshmallow schema for de-/serialization
+"""
+
+# pylint: disable=too-few-public-methods, too-many-instance-attributes
+# pylint: disable=no-name-in-module
+from typing import Optional
+
+from ..utils import postprocess_docstring
+from .com import COM
+
+
+@postprocess_docstring
+class Bankverbindung(COM):
+ """
+ Eine Komponente zur Abbildung einer einzelner Bankverbindung
+
+ .. raw:: html
+
+
+
+ .. HINT::
+ `Bankverbindung JSON Schema `_
+
+ """
+
+ iban: Optional[str] = None
+ #: International Bank Account Number = IBAN z.B.: DE07 1234 1234 1234 1234 12
+
+ kontoinhaber: Optional[str] = None
+ #: Juristische Person welche das Konto hält
+
+ bankkennung: Optional[str] = None
+ #: Ein eindeutiger Code, wie z.B. BIC (Bank Identifier Code) oder SWIFT-Code, der eine bestimmte Bank bei
+ #: internationalen Transaktionen identifiziert (z.B. BIC: DEUTDEFF für die Deutsche Bank)."
+
+ bankname: Optional[str] = None
+ #: Name der bank z.B. Deutsche Bank
diff --git a/tests/test_bankverbindung.py b/tests/test_bankverbindung.py
new file mode 100644
index 000000000..adb8be1b2
--- /dev/null
+++ b/tests/test_bankverbindung.py
@@ -0,0 +1,26 @@
+import pytest
+
+from bo4e import Bankverbindung
+from tests.serialization_helper import assert_serialization_roundtrip
+
+
+class TestBankverbindung:
+ @pytest.mark.parametrize(
+ "bankverbindung",
+ [
+ pytest.param(
+ Bankverbindung(
+ iban="DE07123412341234123412",
+ kontoinhaber="Jürgen W.",
+ bankkennung="DEUTDEFF",
+ bankname="Deutsche Bank",
+ ),
+ id="maximal attributes",
+ ),
+ ],
+ )
+ def test_serialization_roundtrip(self, bankverbindung: Bankverbindung) -> None:
+ """
+ Test de-/serialisation of Ausschreibungslos
+ """
+ assert_serialization_roundtrip(bankverbindung)
diff --git a/tests/test_geschaeftspartner.py b/tests/test_geschaeftspartner.py
index 786ad90af..7839e10e3 100644
--- a/tests/test_geschaeftspartner.py
+++ b/tests/test_geschaeftspartner.py
@@ -3,6 +3,7 @@
from bo4e import (
Adresse,
Anrede,
+ Bankverbindung,
Geschaeftspartner,
Geschaeftspartnerrolle,
Kontaktweg,
@@ -27,6 +28,12 @@ class TestGeschaeftspartner:
vorname="Hans",
nachname="Müller-Schmidt",
organisationstyp=Organisationstyp.UNTERNEHMEN,
+ bankverbindung=Bankverbindung(
+ iban="DE07123412341285723412",
+ kontoinhaber="Hans Müller-Schmidt",
+ bankkennung="DEUTDEFF",
+ bankname="Deutsche Bank",
+ ),
handelsregisternummer="HRB 254466",
amtsgericht="Amtsgericht München",
kontaktwege=[Kontaktweg()],
@@ -52,6 +59,12 @@ class TestGeschaeftspartner:
kontaktwege=[Kontaktweg()],
umsatzsteuer_id="AT12345",
geschaeftspartnerrollen=[Geschaeftspartnerrolle.DIENSTLEISTER],
+ bankverbindung=Bankverbindung(
+ iban="DE07123412341234123412",
+ kontoinhaber="Jürgen W.",
+ bankkennung="DEUTDEFF",
+ bankname="Deutsche Bank",
+ ),
adresse=Adresse(
postleitzahl="1014", ort="Wien 1", strasse="Ballhausplatz", hausnummer="2", landescode=Landescode.AT # type: ignore[attr-defined]
),