ERP

Furniture Agencies Management System

An operations system for furniture agencies covering warehouses, inventory, sales, purchases, returns, expenses and reporting.

Furniture Agencies Management System
Type
Operations & inventory system
Domain
Furniture retail & distribution
My role
Design & development
Stack
Laravel · PHP · MySQL

Overview

This system manages the day-to-day operations of furniture agencies: warehouses, products, stock movements, sales, purchases, returns, suppliers, customers, expenses and vehicles.

Everything is run from one admin dashboard with fast AJAX-driven screens, two languages, dark and light themes, and export to CSV, PDF and print in every module.

The challenge

Furniture agencies move large, valuable items between warehouses, customers and suppliers. Without one system, stock levels, payments and returns are hard to keep accurate. The agency needed real-time stock, complete sales and purchase records, and reports it could trust.

My role

I designed and built the system: its data model, modules, permissions, reporting and admin interface.

Technical challenges

  • Stock you can trust. Every sale, purchase and return must create a movement so stock levels stay correct across warehouses.
  • Payments on both sides. Customer order payments and supplier purchase payments are tracked separately but feed the same reports.
  • Configurable settings. VAT, currency, language, theme and branding are controlled from settings, not code.
  • Exports everywhere. Each module needed CSV, PDF and print output that matches what is on screen.

Outcomes

The agency manages stock, sales, purchases, returns and expenses in one place, with real-time inventory figures and reports that can be exported or printed from any module.

Lessons learned

  • Record every stock change as a movement; balances should be calculated, not edited.
  • Keep sales and purchase payments separate from invoices so partial payments stay simple.
  • Consistent exports across modules save users more time than any single feature.
What was built

System modules

Inventory

  • Warehouses and categories
  • Products with pricing and status
  • Stock movements in and out
  • Real-time inventory figures

Sales & purchases

  • Orders with printable invoices
  • Order payments and returns
  • Purchases and supplier payments
  • Customers and suppliers

Operations & control

  • Expenses and expense categories
  • Company vehicles
  • Users, roles and permissions
  • Reports with CSV, PDF and print
Important decisions

Key decisions and trade-offs

Movement-based stock

Problem
Stock must stay correct across several warehouses.
Decision
Every stock change is recorded as a movement with full history.
Trade-off
Accurate, auditable inventory; more records to store and query.

AJAX-driven admin

Problem
Staff work in the system all day and need speed.
Decision
All admin operations use AJAX and modals instead of full page reloads.
Trade-off
Fast workflow; more front-end logic to maintain.

Settings over code

Problem
VAT, currency, language and branding differ between agencies.
Decision
A settings module controls these values for the whole system.
Trade-off
Easy to adapt per agency; settings must be validated carefully.
Capabilities

What the system covers

Warehouses
Products
Stock movements
Inventory
Orders & invoices
Returns
Purchases
Vehicles
Expenses
Roles & permissions
Multilingual
CSV, PDF & print
Next step

Have a technical challenge?

Tell me about your application, your goals and your constraints. We'll work out the right next step together.