Business & Operations

Inventra

Source code included

Multi-warehouse inventory & purchasing system for UAE/GCC traders and contractors

Built by Build Nest Updated 9 Oct 2026 45,629 lines of code

Open live demo Built withOpenAI CodexClaude Code

Why Inventra

What makes it better
than the alternatives

  1. 01

    Multi-company tenancy

    Run several legal entities or branches in one system; each company's data, users, and settings are completely isolated with separate audit logs.

  2. 02

    GCC-ready compliance

    UAE VAT with reverse charge for imports, 15-digit TRN validation, multi-currency documents that lock exchange rates at approval, and fiscal year configuration.

  3. 03

    Proof-of-delivery workflow

    Goods-out requests reserve stock by bin, generate pick lists and delivery notes, capture receiver signature/photo on mobile, and handle returns with inspection (restock/quarantine/scrap).

  4. 04

    Approval chains with delegation

    Amount-based and conditional rules (e.g. invoice 3-way match tolerance) trigger multi-step approvals; users can delegate authority while away, recorded in audit log.

  5. 05

    Bin-level inventory control

    Warehouses divided into zones and bins with blocking, printable bin labels (Code 128), batch/serial tracking, expiry alerts, and FIFO/FEFO picking order; every movement is an immutable ledger row.

Inventory Management

  • Multi-warehouse stock with zones
  • bins
  • and bin blocking; printable Code 128 bin labels
  • Items with batch or serial tracking
  • expiry dates
  • purchase units (e.g. box of 50)
  • reorder points
  • Stock ledger: every movement is an immutable row; weighted-average or FIFO costing (switchable)
  • Adjustments with approval workflow; inter-warehouse transfers with stock-in-transit status
  • Stock counts: cycle
  • full
  • or spot; blind counting option; zone freeze; recounts; tolerance checks
  • Barcode scanning via USB/Bluetooth scanner or phone camera; Code 128 item label generation
  • Excel import for items
  • suppliers
  • and opening stock (app/Domain/Masters/Excel/
  • app/Domain/Inventory/Excel/)
  • Valuation reports (current or any month-end)
  • ageing
  • expiry alerts
  • slow-stock analysis

Goods Out & Delivery

  • Requests for site delivery
  • internal issue
  • customer dispatch
  • write-off; approval limits by amount
  • Stock reservation bin-by-bin on approval (earliest expiry first for FEFO)
  • Pick lists with bin locations; delivery notes; truck trips with multiple stops
  • Proof of delivery: receiver name
  • signature capture
  • photo upload
  • shortage notes (stored in storage/app/private/companies/{id}/pod/)
  • Returns from site with inspection workflow (restock
  • quarantine
  • scrap); returns to supplier with credit notes
  • Visibility rules: requesters see only their own requests unless granted wider access (app/Domain/GoodsOut/Visibility.php)

Purchasing

  • Full cycle: Purchase Request → RFQ → Purchase Order → Goods Receipt → Supplier Invoice → Payment
  • Approval rules by amount and condition (e.g. invoice mismatch)
  • per document type; delegation while away (approval_delegations table)
  • RFQ comparison side-by-side in base currency; award to draft PO with one click
  • Purchase orders emailed as PDF; exchange rate locked at approval (stored per document)
  • Goods receipts at landed cost (freight and customs spread over lines); 3-way match of PO/receipt/invoice with tolerances
  • Invoices on hold when they don't match; payment workflow with advances and bank accounts
  • Reorder suggestions based on stock levels; optional automatic draft PRs at reorder point (inventory.auto_reorder_pr setting)
  • Purchase register
  • spend analysis
  • supplier performance reports (app/Domain/Reports/)

Finance & Compliance

  • UAE VAT: standard rate for local suppliers
  • reverse charge for imports
  • TRN validation (15 digits)
  • Multi-currency: daily rate feed (open.er-api.com by default
  • configurable); each document stores its own currency and rate
  • Fiscal year configuration per company; month-end stock valuation snapshots
  • Audit log of sign-ins
  • settings changes
  • document approvals; 7-year retention (activities table with is_alert flag)
  • Security alerts for failed sign-ins (5 attempts lock account)
  • suspended users
  • approval rule changes
  • Budget tracking per cost center (planned feature: budgets table exists
  • not yet enforced in UI)

Access & Security

  • Multi-company: one sign-in
  • switch between companies; data separated by company_id with CompanyScope
  • Roles with 5 permission levels per area (None
  • View
  • Create
  • Edit
  • Admin); 7 built-in roles plus custom (app/Support/Access/Permissions.php)
  • Two-factor authentication (TOTP via pragmarx/google2fa); optional enforcement per company (security.require_2fa setting)
  • Single sign-on: Microsoft Entra ID (Azure AD) and Google Workspace (app/Http/Controllers/Auth/SsoController.php)
  • API tokens (Laravel Sanctum) with scoped abilities and expiry; rate limiting (app/Http/Controllers/Api/V1/)
  • Session timeout (120 minutes default); HTTPS-only cookies in production; security headers (app/Http/Middleware/SecurityHeaders.php)
  • Warehouse access control: users assigned to specific warehouses; store staff see only their warehouse (app/Domain/Inventory/WarehouseAccess.php)

Reports & Notifications

  • Dashboard by role: stock value
  • low stock
  • open POs
  • approvals waiting (resources/views/dashboard.blade.php)
  • Stock valuation (today or any month-end)
  • ageing
  • expiry
  • purchase register
  • spend analysis
  • supplier performance
  • Excel and PDF export (maatwebsite/excel
  • barryvdh/laravel-dompdf); reports emailed on schedule (app/Domain/Reports/Export/)
  • In-app notifications (notifications table) and email (app/Mail/); user chooses which events to receive (user_preferences.notifications JSON)
  • Scheduled reports: daily/weekly/monthly delivery to chosen recipients (scheduled_reports table
  • app/Console/Commands/SendScheduledReports.php)

Master Data

  • Items: code
  • name
  • category
  • unit
  • purchase unit (conversion factor)
  • batch/serial tracking
  • expiry
  • reorder point
  • multiple suppliers
  • Suppliers: name
  • TRN
  • country
  • currency
  • contact details
  • payment terms
  • documents (stored in storage/app/private/companies/{id}/suppliers/)
  • Warehouses: name
  • code
  • zones (with freeze for counts)
  • bins (with blocking); bin labels printable as Code 128 barcodes
  • Currencies: 170 currencies (currencies table seeded from database/seeders/CurrencySeeder.php); company picks active set
  • Excel import/export for items and suppliers (app/Domain/Masters/Excel/ItemsSheet.php
  • SuppliersSheet.php)

Administration

  • Company settings: legal name
  • TRN
  • address
  • logo (printed on POs/delivery notes)
  • fiscal year
  • timezone
  • working week
  • User management: invite by email
  • assign roles
  • warehouse access
  • suspend/reactivate; invitation links expire in 7 days
  • Approval rules: define amount bands and conditions per document type; simulator shows who approves a given amount
  • Document numbering: configurable prefix/suffix per type; gap-free sequences (app/Support/Numbering/DocumentNumbers.php)
  • Audit log viewer: filter by category
  • user
  • date range
  • alerts; CSV export (app/Http/Controllers/Admin/AuditLogController.php)
  • Health check command: config
  • database
  • queue worker
  • scheduler
  • storage
  • mail (php artisan stockroom:check)

Quality report

Manually reviewed

92/ 100

Automated audit score

✓ Passed the audit

Passed the audit and a manual review.
Audit run: 7 Oct 2026
Reviewed by Vibe96 staff, Dubai.

Security93
Code structure78
Docs & completeness100
Dependency health95
Build & deploy92
Reviewer notes (4 minor)

Database access mostly safe; a few missing indexes and one unscoped delete risk; weak demo password generation and empty db_password default in templates; strong authentication and authorization with minor ownership check gaps on read endpoints; good module structure with some duplication and oversized files in workflows. None of these stop the software from working; the developer has been told and improvements come in a future update.

Versions & updates

1.0.0
First release9 Oct 2026✓ Reviewed & audited

No updates yet. New versions appear here with a changelog.
Buyers receive updates free for 1 year.

Quality report

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.
$199Single-site licence Details