Tell us about your vision and we'll help you bring it to life with cutting-edge technology solutions
Pemmikan is a multi-role B2B ordering platform that replaced email and spreadsheet procurement with one structured, trackable pipeline covering request, pricing, approval, ordering and invoicing.
Procurement between enterprise buyers and their supplier network ran on scattered emails, PDFs and phone calls, with no shared record of orders, pricing or approval status. Inventory was tracked in a spreadsheet disconnected from financial data, making it hard to reconcile stock with money and to keep pricing, approvals and reporting under control.
Metadots built Pemmikan as a structured, trackable pipeline covering the full procurement cycle from request through pricing, approval, ordering and invoicing. The platform includes guided work order intake, role-scoped portals with hidden client-side pricing, automated QuickBooks-ready invoicing, SKU-level inventory with reorder and purchase order workflows, internal estimator tracking, and a centralized admin dashboard, all built on a React, Node.js and PostgreSQL stack with QuickBooks Online and Stripe integrations.
The Brief
Before Pemmikan, sourcing between enterprise buyers and their supplier network happened through scattered emails, PDFs and phone calls, with no shared record of who ordered what, at what price, or where an approval stood. Inventory lived in a spreadsheet, disconnected from the money. Metadots formalized the whole operation into one structured, trackable workflow.
What Was Shipped
Six systems went live in Pemmikan:
Work order management, with guided intake, status tracking and internal pricing and approval routing.
A role-based client portal, with separate scoped views for client, staff and admin, and pricing hidden on the client side.
Invoicing, generating invoices from approved orders in a QuickBooks Online ready format.
Inventory and purchase orders, with SKU-level stock tracking, adjustments, counts and reorder workflows.
Internal PM and estimator tracking, a lightweight status tracker feeding summary data into the main invoicing system.
An admin and back office dashboard acting as a command center for pricing, approvals, scheduling assignment and reporting.
Admin Dashboard
The buyer's home screen aggregates live spend, budget utilization, active requests and a pending approvals queue, giving admins the surface they need for pricing, scheduling assignment, approvals and reporting.
Work Order Creation
A four-step guided wizard captures item details, quantities, delivery date and budget band, replacing free-text requests with structured input that staff can price and approve without back and forth.
Status Tracking and Internal Routing
Recipients are filtered and selected against verified criteria, with a live budget estimate and running summary. The same routing logic assigns work to the correct estimator or crew and moves it through internal approval, with status visible at every stage.
Client Portal
Vendors log into their own portal to see sales, orders, earnings and open opportunities, limited to what their role permits. Client, internal staff and admin each get a scoped view, and internal pricing stays server-side and is never exposed on the client side.
Inventory and Purchase Orders
Every item carries a SKU, stock-on-hand, price and brand, with out-of-stock states flagged in real time. Stock can be tracked by SKU, reorder workflows trigger when stock runs low, and purchase orders can be issued directly against it.
Data Integrity
Every stock movement is referenced, reasoned and reconciled. Adjustments carry a reference number, account, reason and supporting file, avoiding silent quantity edits and keeping cost of goods data clean. Recurring stock counts run per location with a clear status lifecycle, so physical and system stock never drift from what invoicing relies on.
Technology Alignment
The platform was built to the client's stated technical requirements: a React and Node.js web stack, PostgreSQL as the relational core for financial and inventory data, three enforced role-based access levels for buyer, vendor and admin checked server-side, QuickBooks Online API integration for invoice and cost-of-goods sync, Stripe for payments to minimize PCI scope, AWS as the preferred hosting provider with GCP or DigitalOcean also supported, and a responsive web portal across desktop and tablet with no native app required.
Outcomes
Three role types were unified into one platform. A four-step structured intake replaced free-text requests. All stock movements are referenced and logged. The business now has a single source of truth for orders, stock and invoicing.
Let's discuss how we can help you achieve similar results with your next project.
© 2026 Metadots. All rights reserved.