Operations · App Starter
A working inventory system — stock ledger, reorder alerts, PO receiving — generated into a codebase you own.
Describe what you stock and where, and Dual7 generates this inventory app around it: six connected entities, a movement-level stock ledger, and purchasing, shipped as a real full-stack app. Add a location, a unit of measure, or a whole costing method — it's your code, not a per-user license.
01 · Data model
Inventory software is only as trustworthy as its ledger. This starter generates six connected entities, and every quantity on every screen is computed from recorded movements — no mystery counters to drift out of sync.
| table | what it holds |
|---|---|
items | Everything you stock — SKU, unit of measure, cost, and current quantity per warehouse, derived from movements. |
warehouses | Physical locations that hold stock — a back room, a 3PL, a van — each with its own on-hand view. |
stock_movements | The append-only ledger: every receipt, sale, transfer, and adjustment as a signed, timestamped row. |
suppliers | Who you buy from — contacts, lead times, and per-item pricing that feeds purchase order defaults. |
purchase_orders | Orders out to suppliers with line items, expected dates, and a receiving status per line. |
reorder_rules | Per-item, per-warehouse minimums and order quantities — the thresholds that drive reorder alerts. |
02 · Screens
On-hand quantity is never a number someone typed — it's the sum of movements. That means every count is auditable: click any quantity and see the receipts, sales, transfers, and adjustments that produced it, with who and when on each row.
When an item drops below its rule for a warehouse, it lands on the reorder screen with the suggested quantity and preferred supplier pre-filled. One review pass turns the list into draft purchase orders instead of a walk through the stockroom with a clipboard.
Receive against the order, line by line — partial deliveries, over-shipments, and rejections are normal states, not edge cases. Each received line writes a movement, so the ledger and the supplier's paperwork reconcile by construction.
Move stock between warehouses with a paired out-and-in movement that can't half-complete. In-transit quantity is visible the whole way, which ends the classic argument about whether the missing pallet left or never arrived.
03 · Process
Tell Dual7 what you carry, where it lives, and how you buy — units, locations, suppliers, and what running out actually costs you. Plain language is enough.
Get the working system in minutes, then adjust conversationally: add a bin-location field, a second unit of measure, or a landed-cost calculation. Every change is real code you can read.
When the counts have to be trusted, ship through Dual7's approval gates to your own infrastructure — audit trail included, stock data in your database from day one.
04 · Fit
The stock sheet works until two people edit it during the same delivery. This starter keeps the columns you already track but adds the thing a spreadsheet can't: a movement history that explains every number, so shrinkage becomes a question with an answer.
When the same 400 SKUs sell in three places, inventory truth has to live somewhere neutral. Own the ledger, and each channel becomes an integration writing movements into your schema — not another dashboard claiming to be the source of record.
Warehouse software priced per login punishes exactly the teams who need everyone counting. With a generated codebase there's no seat math — pickers, receivers, and bookkeepers all work from the same tables at the cost of running your own app.
Big ERP suites bundle inventory with accounting, MRP, and a decade of settings. If stock control is the part you actually need, generate just that — sized to your operation, extendable the day your operation changes.
05 · Yours
The generated schema is a starting point with opinions, not a cage. Rename items to products, materials, or parts and the screens follow. Add fields conversationally in Vibe mode — batch numbers, bin locations, a hazmat flag, a second currency on supplier pricing — and both the ledger and the reports pick them up.
Bigger moves are still just edits to your code: add a sales-order entity to reserve stock before it ships, wire a barcode scanner into receiving, or compute FIFO costing from the movement history you already have. The output is a normal full-stack codebase with no runtime dependency on Dual7, so your team can extend it directly.
Inventory data is operational memory — what you paid, what you lost, what moved where. Renting that memory from a subscription tool means your own stock history sits behind someone else's API limits and export formats. This starter generates the schema, screens, and rules as source code in your repository, running on your infrastructure with the ledger in your database.
The honest trade is that you operate the app instead of a vendor. Dual7's governed pipeline exists to make that safe for systems where wrong numbers cost money: approval gates before changes ship, an audit trail of what changed, and regeneration when you want to restructure rather than patch.
06 · Industries
Store-level stock control — cycle counts, shrinkage visibility, transfer between shops — in a codebase you own.
Kitchen-grade stock control — recipe depletion, expiry-aware batches, waste logging — in code your restaurant owns.
Clinical supply control — lot tracking, room-level par, recall response — on an auditable ledger you own.
A working full-stack inventory system generated into a codebase you own: items, warehouses, suppliers, purchase orders, reorder rules, and an append-only movement ledger, with screens for receiving, transfers, and reorder alerts. It runs on your infrastructure with stock data in your database.
Yes — warehouses are a first-class entity, every movement is tied to one, and reorder rules are set per item per warehouse. Transfers between locations are paired movements, so in-transit stock is visible and the totals always reconcile.
Quantities are computed from the movement ledger rather than stored as editable numbers. Corrections happen as adjustment movements with a reason and an author, so a physical count that disagrees with the system becomes a recorded event you can report on — not a silent overwrite.
The starter ships keyboard-and-click screens, and adding scanning is a normal extension: a scan is just a fast way to look up an item and post a movement. Because you own the code, a USB or camera scanner wires into receiving and picking without waiting on a vendor roadmap.
Yes — the schema is standard relational tables, so items, suppliers, and open POs load from CSV, and your starting quantities enter as opening-balance movements. That keeps day-one counts auditable the same way every later count is.
Dual7 App Starters
A working inventory system — stock ledger, reorder alerts, PO receiving — generated into a codebase you own. Describe your version to start — the output is a project you own.