Sales Order Component
Responsibilities
Section titled “Responsibilities”Mengelola dokumen penjualan sebagai sumber demand outbound dan acuan pemrosesan alokasi serta picking.
Interfaces/APIs
Section titled “Interfaces/APIs”Inputs
Section titled “Inputs”- Nomor SO
- Customer ID
- Tanggal order dan required date
- Warehouse target pemenuhan
- Informasi referensi eksternal
Outputs
Section titled “Outputs”- Dokumen sales order tervalidasi untuk alur outbound dari alokasi hingga pengiriman.
Error Handling
Section titled “Error Handling”- Menolak nomor SO duplikat
- Menolak customer tidak valid
- Menolak status transisi SO yang tidak legal.
Data Structures:
Section titled “Data Structures:”| Field | Data Type | Constraints | Nullable | Description |
|---|---|---|---|---|
| sales_order_id | ULID | Primary Key | Tidak | Identifier unik sales order |
| so_number | VARCHAR(50) | Unique, Not Null | Tidak | Nomor dokumen sales order |
| reference_number | VARCHAR(100) | Indexed | Ya | Referensi eksternal order |
| customer_id | ULID | Foreign Key -> business_partner.partner_id | Tidak | Customer pemesan |
| warehouse_id | ULID | Foreign Key -> warehouse.warehouse_id | Tidak | Gudang pemenuhan order |
| order_date | TIMESTAMP | Indexed, Not Null | Tidak | Tanggal order dibuat |
| required_date | TIMESTAMP | Indexed, Not Null | Tidak | Tanggal target pemenuhan |
| status | ENUM(‘DRAFT’,‘RELEASED’,‘ALLOCATING’,‘PICKING’,‘PACKED’,‘SHIPPED’,‘CANCELLED’) | Not Null | Tidak | Status siklus order |
Algorithms/Logic
Section titled “Algorithms/Logic”Mengendalikan transisi status sales order dan memastikan data order siap diproses ke outbound order serta picking workflow.
State Management
Section titled “State Management”Menyimpan state order dari draft hingga shipped atau cancelled untuk mendukung visibilitas fulfillment.