from abc import ABC, abstractmethod from dataclasses import dataclass from vbv_lernwelt.shop.models import CheckoutInformation @dataclass class Item: product_number: str quantity: int description: str class InvoiceCreator(ABC): @abstractmethod def create_invoice( self, checkout_information: CheckoutInformation, filename: str = None, ): pass