Why Stock Manager: Inventory, Purchases, Sales & Warehouses
What makes it better
than the alternatives
- 01
Stock ledger that always adds up
Every change is one signed ledger line, stock never goes below zero, and changes run in locked transactions
- 02
Average cost on receipt
Receiving a purchase recalculates each product's cost from the stock on hand and the received lines
- 03
Whole-sale stock check
A sale is refused as a whole if any line is short, and the cost at the time of sale is saved for correct profit
- 04
Multi-warehouse operations
Per-warehouse stock, transfers between locations, adjustments for counts and returns limited to what was sold or received
- 05
Customer invoices on a signed link
Printable invoice with tax, discount, paid and balance, plus a WhatsApp click-to-chat message
Catalogue
- Products with SKU
- barcode
- category
- brand
- unit
- cost
- price and tax rate
- Low-stock alert level per product
- Services that do not track stock
- Opening stock on creation
Warehouses
- Any number of warehouses
- Stock per product and warehouse
- Stock levels with value at average cost
- Read-only stock ledger
Purchasing
- Suppliers
- Purchase orders with discount
- tax and shipping
- Receive stock into a warehouse
- Average cost recalculated on receipt
- Cancel orders not yet received
Sales
- Customers and walk-in sales
- Draft and completed sales with line discount and tax
- Whole-sale stock check
- Cost snapshot per line for profit
- Customer invoice link and WhatsApp message
Payments
- Part-payments on sales and purchases
- Cash
- card
- bank and other methods
- Never above the amount due
- Unpaid
- partial and paid derived from payments
Transfers
- Move stock between warehouses
- All lines or nothing
- Source stock check
Adjustments
- Add or remove stock with a reason
- Stock count corrections
Returns
- Sale returns put goods back
- Purchase returns take goods out
- Limited to what was sold or received
Finance
- Expenses with categories
- Gross profit and net after expenses
- Receivables and payables on the dashboard
Dashboard and settings
- Sales
- profit
- stock value
- low stock
- 6-month chart
- best sellers
- unpaid invoices with Pay and Remind
- Company name
- address
- phone
- currency
- tax label and invoice footer
Security and roles
- Admin and staff roles with policies on every resource
- Posted documents are read-only
- No public registration
- Rate limited public pages
- Optional demo mode with signed one-click logins (off by default)
| Language | Version | Framework | Used for | Share of code |
|---|---|---|---|---|
| PHP | — | — | Web, API | 79.4% |
| SQL | — | — | Database | 17.3% |
| CSS | — | — | Styling | 2.6% |
| Shell | — | — | Scripts | 0.5% |
| JavaScript | — | — | Front-end | 0.3% |
- Primary language
- PHP 8.3+
- Framework
- Laravel 13, Filament 5, Livewire, Tailwind CSS 4
- Database
- MySQL 8.0 / MariaDB 10.6+ (SQLite for evaluation)
- Authentication
- Laravel session login with admin and staff roles and policies; no public registration
- Licence
- Single-site
- Screens
- 20
- Database tables
- 21
- Supported languages
- English only
- Browser support
- Modern browsers (Chrome, Firefox, Safari, Edge, last 2 versions)
| Minimum | Recommended | |
|---|---|---|
| CPU | 1 vCPU | 2 vCPU |
| RAM | 512 MB | 1 GB |
| OS | Linux; PHP 8.3+ with intl, gd, zip, bcmath, exif, mbstring, pdo_mysql; Apache or Nginx; Node 20+ for the one-time build (not needed with Docker) | Linux; PHP 8.3+ with intl, gd, zip, bcmath, exif, mbstring, pdo_mysql; Apache or Nginx; Node 20+ for the one-time build (not needed with Docker) |
| Est. monthly hosting | $10 | $10 |
```bash unzip stock-manager-vibe96.zip -d stock && cd stock cat > .env <<ENV APP_KEY=base64:$(openssl rand -base64 32) DB_PASSWORD=$(openssl rand -hex 16) SEED_ADMIN_EMAIL=you@example.com SEED_ADMIN_PASSWORD=choose-a-strong-password ENV docker compose up -d --build # http://localhost:8080/admin ```
```bash unzip stock-manager-vibe96.zip -d /var/www/stock && cd /var/www/stock composer install --no-dev -o && npm ci && npm run build cp .env.example .env && php artisan key:generate # set APP_ENV=production, APP_URL, DB_*, SEED_ADMIN_PASSWORD in .env php artisan migrate --force --seed php artisan config:cache && php artisan route:cache # point nginx at public/ (full steps in HowToSetup.md) ```
Quality report
Manually reviewedHow to read the quality report
What this is. Every project on Vibe96 goes through an automated audit of its source code before a reviewer in Dubai checks it by hand. The score is out of 100; 75 is the minimum to be listed, and any single failing check blocks a listing regardless of the score.
- Security
- No real credentials in the code, every data-changing route protected, admin areas role-gated, no SQL built from user input.
- Code structure
- A developer can navigate and extend it: clear module boundaries, no giant files, little copy-paste.
- Docs & completeness
- The setup guide, example config, schema and required files the builder committed to are actually in the archive.
- Dependency health
- Packages pinned, no known critical vulnerabilities, no abandoned libraries in production paths.
- Build & deploy
- A clean machine can restore, build and start it by following the shipped instructions.
Warnings are problems that didn't block the listing; they stay visible here until a later version clears them. The audit reads the code — it does not run it — so always try the live demo before you buy. Lines of code are counted from the same audited archive.
93/ 100
Automated audit score
✓ Passed the auditReviewer notes (3 minor)
Strong authentication on all mutating endpoints; minor ownership gap on invoice view; schema solid, minor indexing gaps on foreign keys and one unscoped delete path; good module boundaries with some duplication and oversized resource classes. None of these stop the software from working; the developer has been told and improvements come in a future update.
Versions & updates
No updates yet. New versions appear here with a changelog.
Buyers receive updates free for 1 year.
What you get
- </>Full source codeThe complete audited source, delivered as a download from your account. No obfuscation.
- ▤DocumentationSetup guide, architecture notes, CLAUDE.md and AGENTS.md.
- ↻One year of updatesEvery new version the builder publishes, free for 12 months.
- ♧30 days of supportInstallation and defect support through Vibe96 tickets.