A proc to nevzit tak jak to doopravdy je:
Osoba je zakladni trida, odvozene jsou fyzicka (majici RC) a pravnicka (majici ICO), s tim, ze u pravnicke je prvek zastoupen (typove: Fyzicka osoba). Odberatel a dodavatel jsou jenom ROLE, neprinasi zadne rozdily v strukture.
Mohl by jste ty role integrovat s vektorem priznaku (nekdy-dodal, nekdy-odebral), neboli skrze interfacy. Ale tyto role nejsou vyhradni, pac samozrejme neni vylouceno, ze dany subjekt nebude jak dodavatelem tak odberatelem

(pokud tedy nechcete definovat roli dedici obe role - napr. s nazvem Obchodni partner)
EDIT: vy tam mate zakaznik/odberatel, to se snad nelisi ne? FO je vzdy zakaznik, PO je vzdy odberatel. Ja to blbe precetl, proto ta jina reakce vyse.