Download the PHP package azaharizaman/nexus-procurement without Composer
On this page you can find all versions of the php package azaharizaman/nexus-procurement. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download azaharizaman/nexus-procurement
More information about azaharizaman/nexus-procurement
Files in azaharizaman/nexus-procurement
Package nexus-procurement
Short Description Framework-agnostic procurement management package for purchase requisitions, purchase orders, goods receipts, and 3-way matching
License MIT
Informations about the package nexus-procurement
Nexus\Procurement
Framework-agnostic procurement management package for Nexus ERP
The Procurement package provides a comprehensive, pure PHP solution for purchase requisitions, purchase orders, goods receipts, 3-way matching, and vendor quote management. It follows strict contract-driven design principles and integrates seamlessly with the Nexus monorepo architecture.
Features
- ✅ Pure PHP 8.3+ - No framework dependencies in core logic
- ✅ Contract-Driven - All data structures and operations defined via interfaces
- ✅ Purchase Requisition Management - Complete workflow from draft to approval to PO conversion
- ✅ Purchase Order Processing - Create POs from requisitions or directly with budget validation
- ✅ Goods Receipt Notes (GRN) - Record and validate received goods against purchase orders
- ✅ 3-Way Matching Engine - Validate Invoice-PO-GRN alignment (<500ms for 100 lines)
- ✅ Vendor Quote Management - RFQ process and quote comparison
- ✅ Segregation of Duties - Requester ≠ Approver ≠ Receiver ≠ Payment Authorizer
- ✅ Budget Controls - PO cannot exceed requisition by >10% without re-approval
- ✅ Multi-Tenant - Tenant-scoped requisitions, POs, and GRNs
Installation
Architecture
Package Structure
Core Principles
-
Logic in Packages, Implementation in Applications
- Package defines what (interfaces, services, value objects)
- Application defines how (Eloquent models, repositories, migrations)
-
Framework Agnostic
- Zero Laravel dependencies in
src/ - No
Illuminate\*classes - No Eloquent models
- No database queries
- Zero Laravel dependencies in
- Dependency Injection
- Constructor injection for all dependencies
- Interface-based dependencies only
Usage Examples
Create Purchase Requisition
Approve Requisition (with Segregation of Duties)
Convert Requisition to Purchase Order
Record Goods Receipt
Three-Way Matching
Business Rules
Integration Points
- Nexus\Payable: Provides PO and GRN data for 3-way matching and handles vendor bill payments
- Nexus\Inventory: Manages stock levels, which are updated upon successful goods receipt
- Nexus\Finance: Receives journal entries for all procurement-related financial events
- Nexus\Budget: Provides budget data for validation against requisitions and purchase orders
- Nexus\Workflow: Requisition approval workflows and multi-step approval processes
- Nexus\Uom: Unit of measurement validation
- Nexus\Currency: Multi-currency support
- Nexus\AuditLogger: Comprehensive change tracking
- Nexus\Sequencing: Auto-numbering for REQ/PO/GRN
Exception Handling
All domain exceptions extend ProcurementException:
Performance
- 3-Way Matching: <500ms for 100-line invoices (PER-PRO-0341)
- Requisition Creation: <200ms with eager loading
- PO Generation: <300ms with budget validation
Requirements Addressed
This package addresses all requirements in REQUIREMENTS.md:
- ✅ BUS-PRO-0041 to BUS-PRO-0124: 15 Business requirements
- ✅ FUN-PRO-0235 to FUN-PRO-0271: 7 Functional requirements
- ✅ PER-PRO-0327 to PER-PRO-0353: 5 Performance requirements
- ✅ REL-PRO-0389 to REL-PRO-0407: 4 Reliability requirements
- ✅ SEC-PRO-0441 to SEC-PRO-0470: 6 Security requirements
- ✅ USE-PRO-0508 to USE-PRO-0548: 7 User stories
Total: 44 requirements
Testing
Package tests use mocks for all repository implementations:
📖 Documentation
Package Documentation
- Getting Started Guide - Quick start guide with prerequisites, core concepts, and first integration
- API Reference - Complete documentation of all 19 interfaces, 6 services, and 10 exceptions
- Integration Guide - Laravel and Symfony integration examples with complete setup instructions
- Basic Usage Example - Simple usage patterns for requisitions, POs, and GRNs
- Advanced Usage Example - Advanced scenarios including ML extractors and batch matching
Additional Resources
IMPLEMENTATION_SUMMARY.md- Implementation progress, metrics, and key design decisionsREQUIREMENTS.md- All 44 requirements with status trackingTEST_SUITE_SUMMARY.md- Test coverage metrics and test inventoryVALUATION_MATRIX.md- Package valuation metrics for funding assessment- See root
../../ARCHITECTURE.mdfor overall system architecture - See
../../docs/NEXUS_PACKAGES_REFERENCE.mdfor package ecosystem reference
License
MIT License. See LICENSE file for details.