Trade Ordering Portal for a Macau Food and Wine Importer
Designed and built a clickable staff console for a Macau importer of specialty food and wine that supplies resort outlets, hotels, restaurants, bars and delis: an order queue that puts exceptions first, order detail with the source of every price, shortages resolved with the customer before the truck leaves, and credit holds released with an audited reason.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Dashboard, order queue, order detail, backorders and substitutions, and credit control. Every one of the 36 demo orders opens its own detail page with lines, checks and activity.
Credit hold, overdue hold, below minimum, licence needed, price override, card payment failed, awaiting customer approval, product on hold and missing PO. Release to warehouse is refused while a hold or approval remains.
The original and proposed product sit side by side with pack, origin, price, allergens and spec sheet date. Any difference shows in red, and a standing rule can never accept it.
16 trade accounts in 3 resort and hotel groups plus independents, 32 SKUs with packs, temperature zones and allergens, 5 delivery routes with cut-offs, 14 shortages, substitutions and backorders, and 8 staff users.
Lorcha & Vine took most orders by WhatsApp voice notes, photos of handwritten lists and emails sent after midnight, when head chefs finish service. Inside sales re-keyed them into the ERP the next morning, often after the route's cut-off, so orders slipped a day or went out short. Nobody could tell a sous chef what their group's contract price was, substitutions were made in the warehouse without asking, and credit control found out an account was over its limit only when the invoice was already on the truck.
Calçada covers the trade relationship after the sales conversation. The staff console shows what needs a person before each route's cut-off, resolves every line's price from contract, promotion or price list, holds orders that break a credit, licence or minimum rule with the reason on screen, and offers substitutes to the customer with allergen differences highlighted before the truck leaves.
Resort kitchens order after service and expect delivery at the loading dock by morning. Every order has to clear the account's prices, credit, licence and the route's cut-off in the few hours in between.
Chefs place most orders between 22:00 and 01:00, and each route has its own cut-off and departure time. Orders re-keyed the next morning missed the truck, and late exceptions had to be fixed before 23:00 for the Cotai morning run.
A resort group can run 14 outlets with different buyers, each on contract prices agreed by group purchasing, with price lists and promotions underneath. Reps and inside sales have their own discount authority, and anything above it needs a manager.
Swapping a couverture or a cheese can add an allergen the kitchen has promised its guests it avoids. Warehouse swaps made without asking caused rejected deliveries at the dock, and spec sheets were requested by email every time a menu changed.
Credit limits, overdue tolerance and failed card payments were found after dispatch. As client policy, alcohol may only go to an account with a valid venue licence on file, and an expired licence has to stop the order, not the delivery.
Mapped 12 roles across staff, field sales and the customer portal, 42 screens and the data model for accounts, outlets, groups, licences, SKUs with versioned spec sheets, lots, price lists, contract prices, promotions, routes, orders, substitutions, backorders, invoices and payments. Wrote down the rules the design follows: Macau's Personal Data Protection Act (Law 8/2005) including transfers outside Macau, the Food Safety Law (Law 5/2013) with lot and best-before per delivered line and product holds, allergen spec sheets, venue licences for alcohol, MOP invoicing with no sales tax, tokenised card payments under PCI DSS and cold chain zones.
Built 5 key staff screens on a production dashboard kit: the dashboard with cut-offs by route, 4 KPI cards, orders by hour showing the late-night peak and My work by role; the order queue with exception tabs, filters, bulk release and a quick view panel; order detail with a progress rail, delivery, customer and checks cards and lines with price source, temperature zone, lot and best-before; backorders and substitutions with the compare panel; and credit control with hold release, aged receivables and limit changes. All actions run on local state.
Integration with the ERP (such as SAP Business One or Oracle NetSuite) for items, stock, invoices and receivables, warehouse picking and lot tracking, a card payment provider with Macau acquiring, Postmark or Amazon SES email, Twilio SMS and WhatsApp, product search and document storage in a region chosen with the data transfer rules in mind. Staff auth by role, an audit log of every price, credit, substitution and licence change, and the remaining screens: the mobile-first customer portal with quick order and one-tap reorder, the public trade application, the sales rep phone screens, the delivery day board, catalogue, price lists and reports.
The top bar counts down to the next route's cut-off, the dashboard lists each route's cut-off, departure, orders and value for tomorrow, and every shortage shows the time left before its route leaves.
Each line is priced from the group's contract first, then a promotion, then the account's price list, and says which one applied. A manual override names who asked for it and holds the order when it goes beyond that person's discount authority.
A substitute is offered to the customer with an expiry before the route leaves, never above the original line price. When allergens differ, the standing rule is switched off and the customer has to answer; a phone acceptance is recorded against the line.
Each held order names its reason: over limit, overdue over tolerance, card payment failed, expired licence or below minimum. Releasing a credit hold needs a reason and is audited, limit changes stop at the controller's authority, and card failures show only the brand and last four digits.

Designed a mobile-first headless storefront for an Andorran outdoor apparel brand selling to Andorra, the EU, the UK and Switzerland, and built a clickable demo of its staff admin: storefront health, merchandising rules, a collection grid editor, CMS content status and per-market prices, taxes and legal settings.

Designed and built a clickable subscription platform for a specialty coffee roaster shipping across the contiguous US: a care workspace to skip, swap, pause, refund and cancel for subscribers, a cancel log that replays every screen a subscriber saw, and fulfilment batches that hold boxes with an unverified address, a failed payment or short stock.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab