Managing inventory is one of the most operationally critical functions in any product-based business. Get it wrong and you're either sitting on dead stock burning cash or losing sales to stockouts. Floware's customisable stock control module ships with a complete stock control foundation designed to give you visibility and accuracy from day one — and a clear path to extend it as your operation grows.
We deliberately keep the out-of-the-box feature set focused. Every business handles inventory differently — a food manufacturer tracking expiry dates and batch recalls has almost nothing in common with an electronics distributor managing serial numbers and channel allocation. Shipping opinionated implementations of these features would mean shipping the wrong implementation for most users. Worse, it would add complexity that gets in the way for businesses that don't need it. Instead, we ship the primitives — accurate quantities, a complete audit trail, event hooks, and a clean action layer — and let you build exactly the features your operation requires, without fighting defaults that don't fit.
Every stock item is tracked per product, per variant, per warehouse. If you sell a blue t-shirt in size medium and hold it across three locations, you get three distinct stock records — each with its own quantities and reorder settings. This granularity matters the moment you operate from more than one site.
Floware tracks three quantities for every stock item:
This separation prevents the classic problem of overselling. When a sales order is confirmed, stock is allocated immediately. The available quantity drops, and subsequent orders can only draw from what's genuinely free.
Every change to inventory — adjustments, allocations, releases, transfers, receipts, and fulfillments — is recorded as a stock movement with a timestamp, quantity, type, reason, and a polymorphic reference back to the originating document. Nothing happens silently. If a number looks wrong, you can trace exactly what happened, when, and why.
Your business is unique — your software should be too. Let's talk about a system built around how you actually work.
Book a free consultationStock adjustments and warehouse transfers are handled through dedicated actions with built-in validation. Adjustments won't push stock negative unless you explicitly allow it in configuration. Transfers deduct from the source and add to the destination atomically, with movement records created on both sides.
Each stock item can have its own reorder point and reorder quantity. When available stock falls to or below the reorder point, the item is flagged across the application:
On top of per-item reorder points, a global low stock threshold fires a LowStockDetected event whenever a stock adjustment drops availability below the configured level. This event is your hook for building automated responses.
Inventory access is permission-gated. View-only users can see stock levels and dashboards. Only users with the manage permission can record adjustments and transfers. This keeps warehouse operations tight without locking out the people who need visibility.
The full inventory listing — filtered or unfiltered — can be exported to CSV with a single click. Product, SKU, variant, warehouse, available quantity, and reorder point. Useful for periodic reviews, supplier communications, or feeding external systems.
The out-of-the-box features cover the fundamentals well. But manufacturers and distributors operate in environments where inventory touches everything — procurement, production, logistics, costing, and customer commitments. Here are the highest-value extensions we see teams build.
Bill of Materials (BOM) Integration Link finished goods to their component materials. When a production order is created, automatically check component availability and allocate raw materials. Surface shortages before they stall the production line, not after.
Work-in-Progress Tracking Add a WIP location type that sits between raw materials and finished goods. Track items as they move through production stages so your inventory numbers reflect reality at every point in the process, not just at the start and end.
Batch and Lot Tracking Assign batch or lot numbers to incoming materials and trace them through to finished goods. Essential for recall management, quality investigations, and regulatory compliance in food, pharmaceutical, and chemical manufacturing.
Scrap and Yield Reporting Record expected versus actual yield from production runs. Track scrap rates by product, line, or shift. Over time, this data tightens your planning and highlights process problems before they compound.
Production-Driven Reorder Points Instead of static reorder points, calculate them dynamically based on production schedules and lead times. If you have a large production run scheduled in three weeks and the raw material lead time is two weeks, the system should flag that now — not when you run out.
Automated Purchase Order Generation When stock hits the reorder point, automatically draft a purchase order for the reorder quantity and route it for approval. The data is already there — the reorder_quantity column and the LowStockDetected event. Wiring them together eliminates the manual step where reorders get forgotten.
Supplier Lead Time Tracking Record expected and actual lead times per supplier per product. Use this data to set smarter reorder points and to flag suppliers whose delivery performance is slipping.
Demand Forecasting Analyse historical sales order data to project future demand by product and season. Use forecasts to adjust reorder points and quantities ahead of demand shifts rather than reacting to stockouts.
Stock Ageing and FIFO/FEFO Track when stock was received and surface items that have been sitting too long. For perishable or date-sensitive goods, enforce first-expired-first-out picking. For everything else, first-in-first-out keeps stock fresh and write-downs low.
Multi-Channel Stock Reservation If you sell through multiple channels — direct, marketplace, wholesale — reserve portions of available stock per channel. Prevent your wholesale commitments from eating into marketplace availability and vice versa.
Backorder Management When a sales order exceeds available stock, automatically split it into a fulfilled portion and a backorder. Track backorders separately, link them to incoming purchase orders, and fulfil them automatically on receipt.
Push Notifications Listen for the LowStockDetected event and send notifications via email, Slack, or SMS. Different products might route to different people — the warehouse manager for fast-moving items, the procurement team for expensive ones.
Scheduled Stock Health Reports Run a nightly job that scans all stock items and sends a summary: items below reorder point, items with zero availability, items with high allocation ratios, and items that haven't moved in 90 days. Proactive beats reactive.
Barcode and Scanner Integration Add barcode generation to products and stock locations. Support handheld scanner input for receiving, picking, and cycle counting. This dramatically reduces manual entry errors and speeds up warehouse operations.
Cycle Counting Instead of annual full stocktakes that disrupt operations, implement rolling cycle counts. Schedule a subset of items for counting each week, record variances, and adjust automatically. Over a quarter, every item gets counted without ever shutting down the warehouse.
Inventory Valuation Calculate the total value of on-hand stock using weighted average cost, standard cost, or FIFO costing. Surface this on dashboards and in reports. Finance teams need this for accurate balance sheets and margin analysis.
Stock control systems tend to grow in complexity as businesses scale. Features that seem unnecessary at ten SKUs become essential at ten thousand. What matters most at the start is not having every feature — it's having the right architecture to add them without rebuilding.
Floware gives you that architecture: actions that encapsulate business logic, events that signal when something important happens, a movement audit trail that never loses data, and a configuration-driven design that lets you swap strategies without rewriting core code. Start with what ships. Extend it when the business demands it.
Your business is unique, but your software is off the shelf? Ditch the workarounds and let's build your ERP systems to fit your teams.