An Internal Web Portal for Stock Requests and Approvals at a Distributor
Branch stock requests that moved through spreadsheets, email, and phone calls now run through one internal web portal with role-based approvals, live stock visibility, and a full audit trail.
- Duration
- 8 weeks
- Services
- Custom SoftwareWeb DevelopmentWorkflow Automation
A consumer goods distributor with several branch warehouses handled stock transfer requests through a shared spreadsheet. Branch heads added rows, the central warehouse checked availability by phone, managers approved by replying to emails, and nobody could say with certainty where a request stood. Mistyped quantities and duplicate rows regularly caused wrong shipments.
Challenges
- One shared spreadsheet served as request form, tracker, and record at once.
- Approvals happened in email threads with no link back to the request.
- Branches could not see central stock before asking, so many requests were rejected late.
- Mistakes in quantities and duplicate rows led to wrong or double shipments.
Objectives
- Replace the spreadsheet with a web portal that every branch can use from a browser.
- Route each request through the right approvers based on value and item category.
- Show available central stock while a request is being created.
- Keep a complete history of who requested, approved, and shipped what.
We built an internal web portal behind company sign-in. Branch heads create requests from a product list that shows current central stock, with validation that blocks impossible quantities and duplicates. Requests follow approval rules by value and category, approvers act from a notification link, and the warehouse sees an approved picking queue. Every change is logged, and existing spreadsheet history was imported so records stay in one place.
Implementation
- 01Process & roles
Mapped the request journey with branch heads, managers, and warehouse staff, and defined roles and approval rules.
- 02Data & integration
Modeled products, branches, and requests, and synced stock levels from the inventory system on a schedule.
- 03Portal build
Built request, approval, and picking screens with role-based access and email notifications for each step.
- 04Migration & rollout
Imported spreadsheet history, ran the portal alongside the old process for two weeks, then retired the spreadsheet.
Architecture overview
- React and TypeScript web portal behind company single sign-on
- PostgreSQL database for products, branches, requests, and audit log
- Scheduled stock sync from the existing inventory system via API
- Rule-based approval routing by request value and item category
- Email notifications with direct links to approve or reject
What changed for the business.
- Every request has one status and one owner, visible to all involved.
- Branches see stock before asking, so fewer requests are rejected late.
- Validation stopped mistyped quantities and duplicate requests at the source.
- Management has a complete audit trail without digging through email.
Lessons learned
- Running the portal alongside the spreadsheet for a short period built trust fast.
- Approval rules are easier to agree on once they are written as a table.
- Internal tools win adoption by removing steps, not by adding features.
Facing a similar problem?
Tell us about your operation and we'll show you what the same delivery method would look like for you.