StockFlow - Complete Inventory Management System
Production-ready Laravel 12 inventory platform for managing catalog, procurement, sales, returns, transfers, approvals, payments, reports, and advanced inventory intelligence from a single dashboard.
Highlights
- End-to-end inventory workflow: product setup to purchase, sale, returns, transfer, and reporting.
- SaaS-ready data isolation: each inventory staff user sees only their own records.
- Role and permission management powered by Spatie Laravel Permission.
- Advanced modules: reorder rules, stock forecast, stock take, bundles, serial tracking, valuation, and dead stock analytics.
- Operational exports and documents: CSV exports and PDF invoices.
- Clean admin UI with dashboard analytics, filters, and printable QR labels.
Core Modules
1) Master Data and Catalog
- Brands
- Warehouses
- Suppliers
- Customers
- Categories
- Products
- Product image upload and product barcode/QR generation
2) Procurement
- Purchase creation with item rows, cost, discount, shipping, and status
- Purchase status lifecycle: Ordered, Pending, Received
- Purchase invoices (PDF)
- Purchase returns with item-level details
3) Sales and Billing
- Sales creation with warehouse-aware stock deduction
- Full and partial payment flows
- Due sale tracking
- Sales invoices (PDF)
- Sales return handling and due return tracking
4) Inventory Control
- Stock transfer between warehouses
- Stock adjustments
- Serial/IMEI lifecycle status management
- Approval workflows for controlled operations
5) Finance and Ledgers
- Expense management
- Payment history by record type
- Customer ledger
- Supplier ledger
6) Reporting and Exports
- Purchase report
- Purchase return report
- Sales report
- Sales return report
- Product stock report
- Profit and loss report
- CSV exports for purchases, sales, and stock
7) Advanced Inventory Features
- Dead stock report
- Reorder suggestions and reorder rules
- Stock forecast and demand planning
- Transfer rules and transfer suggestions
- Stock take and cycle counting workflow
- Batch/lot tracking
- Warehouse zone/bin location management
- Product bundles/kits
- Supplier ratings
- Multi-currency support
- Inventory valuation (FIFO, LIFO, weighted average)
- CSV import (products/customers/suppliers)
8) Administration and Website Controls
- Permission and role administration
- Role-permission matrix
- Admin user management
- Activity log
- CMS content blocks
- SEO manager
- Branding settings
SaaS User Data Isolation
The system enforces ownership-based visibility for non-admin users.
- Inventory staff sees only records they created.
- Owner columns are auto-populated at create time.
- Admin/super-admin users can view cross-user records for supervision.
- This enables a shared deployment with per-user data partitioning behavior.
Security and Reliability Notes
- Logout is POST-only with CSRF.
- File uploads use MIME validation.
- Security headers middleware is enabled in web stack.
- Activity logging captures create/update/delete operations.
Tech Stack
- Backend: PHP 8.2+, Laravel 12
- Frontend: Blade, Bootstrap 5, Tailwind utilities, Vite
- Auth UI: Laravel Breeze
- Permissions: spatie/laravel-permission
- PDF: barryvdh/laravel-dompdf
- Images: intervention/image
- Testing: Pest + PHPUnit
Project Structure
app/
Http/Controllers/
Backend/ # inventory, reports, advanced features
AdminController.php # admin profile/password/logout
DashboardController.php
Models/
Traits/
resources/views/admin/
admin_master.blade.php
body/
header.blade.php
sidebar.blade.php
footer.blade.php
backend/
routes/web.php # primary route definitions
database/seeders/ # site settings + dummy data + roles
public/backend/ # admin assets
public/upload/ # user uploads