26 lines
505 B
Python
26 lines
505 B
Python
import datetime
|
|
from abc import ABC, abstractmethod
|
|
from dataclasses import dataclass
|
|
from typing import List
|
|
|
|
|
|
@dataclass
|
|
class Item:
|
|
product_number: str
|
|
quantity: str
|
|
description: str
|
|
|
|
|
|
class InvoiceCreator(ABC):
|
|
@abstractmethod
|
|
def create_invoice(
|
|
self,
|
|
customer_number: str,
|
|
purchase_order_date: datetime.date,
|
|
delivery_date: datetime.date,
|
|
reference_purchase_order: str,
|
|
unic_id: str,
|
|
items: List[Item],
|
|
):
|
|
pass
|