Case Studies

Real engagements. Real architecture. No sanitised fluff.

Case Study 01

NZ's Largest OutSystems Platform

Platform OutSystems O11
End Users Companies including McDonald's NZ · 10,000+ daily users
Scope Enterprise operational software — multi-restaurant estate
Status Live in production

The Problem

A large-scale OutSystems platform serving the New Zealand restaurant industry needed a suite of operational tools integrated directly with their restaurant management systems — stock variance tracking, supplier delivery management, automated data exports, and KPI reporting — all built on OutSystems O11 and deployed across a live multi-restaurant environment serving 10,000+ users daily.

What We Built

01

Stock Control

Tracking theoretical vs actual stock consumption across a multi-restaurant estate with daily product sales data driving ingredient-level usage calculations.

  • Idempotent consumption pipeline triggered on period close — safe to rerun without double-counting
  • Multi-tenant query architecture scoped by restaurant
  • Day-by-day variance view per ingredient with editable ending count
  • Period balance summary with configurable date ranges
Architectural Decision

We designed the pipeline to be idempotent from day one — period-close operations in a live restaurant estate need to be safe to rerun under any failure condition.

02

Delivery Management

Supplier delivery tracking with full audit trails, state transitions, and stock movement logic that needed to be rollback-safe under real operational conditions.

  • State machine pattern for delivery lifecycle with enforced transitions
  • Full audit trail on all stock movements
  • Rollback-safe design: orphan cleanup and CreateOrUpdate patterns throughout
  • UI designed for revert-on-cancel behaviour — no partial saves
Architectural Decision

Every state transition writes a full audit record before committing. In an enterprise food service context, traceability isn't optional.

03

Datahub XML Exports

Daily automated data exports in a standardised global format — cash sheets, quarter-hour brand sales, bank deposit reporting — all scheduled, formatted to specification, and production-grade.

  • Server-side scheduled exports, no manual trigger required
  • Gap-filling logic for missing time slots in quarter-hour sales data (zero values, not nulls)
  • Multi-format output: cash sheet, brand sales, bank deposit, all to global spec
  • Configurable filter on tender types included in export
Architectural Decision

Missing time slots in quarter-hour data need explicit zeros, not blanks — downstream systems treat missing records differently from zero-value ones. We built the gap-fill in.

04

KPI & Sales Reporting

Multi-view KPI dashboards for operations and accounting teams, with day-part/POD breakdowns, role-based access, and country-specific defaults.

  • Three reporting views (daily, grouped, average) switchable without page reload
  • Role-based access: accounting vs operations see different metric sets
  • Day-part/POD breakdown for sales performance analysis
  • Country-specific default configuration at tenant level
Architectural Decision

We kept the view-switching in the expression layer rather than duplicating queries — three views, one data fetch, no unnecessary round trips.

Outcomes

Live in production across a multi-restaurant estate in New Zealand

10,000+ users interacting with the platform daily

Replaced manual processes across all four operational workstreams

Delivered on OutSystems O11, integrated with existing restaurant management systems

Working on something similar?

We'd scope it honestly.