# Supporting BCs - Übersicht **Domain Type:** SUPPORTING **DDD-Aufwand:** Vereinfacht (weniger Komplexität als Core) --- ## Master Data BC ### Article (Aggregate Root) ``` Article ├── ArticleId ├── ArticleName ├── ArticleNumber (SKU) ├── Category (ProductCategory) ├── SalesUnits[] (Entity) │ ├── Unit (PIECE_FIXED | KG | 100G | PIECE_VARIABLE) │ ├── PriceModel (FIXED | WEIGHT_BASED) │ └── Price (Money) ├── Status (ACTIVE | INACTIVE) └── Supplier References[] ``` ### Supplier (Aggregate Root) ``` Supplier ├── SupplierId ├── Name ├── Address ├── PaymentTerms ├── QualityCertificates[] └── Rating (Quality, Delivery, Price) ``` ### Customer (Aggregate Root) ``` Customer ├── CustomerId ├── CustomerType (B2C | B2B) ├── Name ├── DeliveryAddresses[] ├── FrameContract (optional) └── Preferences (Bio, Regional, etc.) ``` --- ## Sales BC ### Order (Aggregate Root) ``` Order ├── OrderId ├── OrderType (PRE_ORDER | B2B_ORDER | WALK_IN) ├── CustomerId ├── OrderDate ├── DeliveryDate ├── Items[] └── Status (OPEN | CONFIRMED | FULFILLED) ``` ### Invoice (Aggregate Root) ``` Invoice ├── InvoiceId ├── OrderId ├── InvoiceDate ├── Items[] ├── TotalAmount └── PaymentStatus (OPEN | PAID | OVERDUE) ``` --- ## Scale Integration BC ### ScaleSyncJob (Aggregate Root) ``` ScaleSyncJob ├── SyncJobId ├── ScaleId ├── SyncType (ARTICLES | PRICES | LABELS) ├── Status (PENDING | IN_PROGRESS | COMPLETED | FAILED) └── SyncedAt ``` ### BondDataImport (Aggregate Root) ``` BondDataImport ├── ImportId ├── ImportDate ├── BranchId ├── ScaleId ├── SalesData[] (Entity) │ ├── ArticleId │ ├── Quantity │ ├── Price │ ├── SoldAt │ └── BatchId (if traceable) └── Status (PENDING | IMPORTED | FAILED) Triggers: StockMovement for each sale ```