Built for Omega Wholesale Sdn Bhd (OWSB)
This project is an automated Purchase Order Management System designed for Omega Wholesale Sdn Bhd (OWSB), a growing wholesale supplier based in Kuala Lumpur. The system replaces their manual procurement process with a structured, efficient, and error-resistant digital platform.
Developed using Java (Object-Oriented Programming) principles and Swing GUI, the system supports role-based access and document automation features essential for managing inventory, suppliers, requisitions, orders, and payments.
- Admin-controlled login & registration system
- Role-based access (Admin, Sales Manager, Purchase Manager, Inventory Manager, Finance Manager)
- Add, update, delete, and search inventory items
- Supplier management with supplier-item relationships
- Low-stock alert & item validation
- Create, approve, and manage Purchase Requisitions (PR)
- Generate & approve Purchase Orders (PO)
- Track PO statuses (Pending, Approved, Verified)
- Supplier payment processing with validation
- Generate receipts with tax and total calculations
- Generate PDF reports for:
- Stock
- Finance
- Payment receipts
- Auto-generate and download receipts
This project was built by fully applying OOP principles:
- ✅ Encapsulation — Private fields with public accessors (getters/setters)
- ✅ Inheritance —
Usersuperclass with subclasses for different roles - ✅ Polymorphism — Overridden
accessMenu()for role-specific UI - ✅ Abstraction — Abstract classes/interfaces like
PdfGenerator - ✅ Constructor Overloading, Composition, Association, Aggregation, and Exception Handling implemented throughout
| Role | Key Functions |
|---|---|
| Admin | Manage users, view all modules |
| Sales Manager | Manage inventory, suppliers, daily sales, create PR |
| Purchase Manager | Approve PR, generate PO |
| Inventory Manager | Track stock, generate stock reports |
| Finance Manager | Approve/verify PO, process payments, financial reports |
- Java (JDK 8+)
- Java Swing (GUI)
- File I/O for data storage (text-based)
- iText PDF (for PDF generation)
- Open the project in Apache NetBeans or any Java IDE.
- Run the
LoginGUI.javaor designated main class file. - Login using default/admin credentials or register new users (admin only).
- Navigate features based on assigned roles.
⚠️ All data is stored in.txtfiles locally. Ensure file paths are correct if relocating the project.
The Purchase Order Management System streamlines OWSB’s procurement workflow by:
- Reducing manual errors
- Improving internal coordination
- Supporting data-driven decisions via reports
While effective, its dependency on accurate data input and basic security measures should be noted for real-world deployment.









