Case study · AI Automation

Boréal Foods

An AI ops stack that processes inbound wholesale orders, flags exceptions, and routes them to the right person — before the team sits down in the morning.

Client Boréal Foods
Sector Wholesale · Organic food
Year 2024
Duration 6 weeks
The challenge

Every morning started with two hours of email.

Boréal Foods distributes certified organic products to 300+ retailers across Québec, Ontario, and Atlantic Canada. The company had grown 40% in three years without meaningfully changing the way it processed incoming orders — which meant the ops team was drowning.

Wholesale retailers sent orders in whatever format they preferred: PDFs, CSVs, plain-text emails, scanned forms. The ops team parsed each one manually, checked it against current inventory in their ERP, flagged substitutions or shortfalls, confirmed with the retailer, then created the order record. For a team of six handling 80–140 orders a day, this consumed the first two hours of every morning — and the last hour if exceptions ran long.

The error rate was around 4%. Not catastrophic — but at Boréal's volume, that's five or six wrong orders per day, each requiring a correction call and a credit note. The COO had been telling herself the team would "get faster with experience." After three years, they hadn't.

What we shipped

One intake pipeline. Zero manual parsing.

The goal was simple: every inbound order — regardless of format — gets parsed, validated, and processed the same way. No exceptions to the exception process.

AI email + PDF parser

An n8n workflow monitors the orders inbox. Each message is passed to a structured OpenAI extraction prompt that returns a normalized order object — SKUs, quantities, delivery date, retailer ID — regardless of how the email was formatted.

Inventory validation and exception routing

Parsed orders are checked against live ERP inventory. Shortfalls, substitution candidates, and delivery conflicts are flagged automatically. Exceptions get a Slack message to the responsible territory rep with the full order context, suggested substitution, and a one-click confirm button.

ERP sync and daily digest

Confirmed orders are pushed directly into the ERP as sales orders. A daily 7am Slack digest shows the COO: total orders processed, exception rate, average resolution time, and any orders still open.

From the client

"My team used to dread Monday mornings. Forty-some orders waiting, half of them in formats we'd never seen before. Now the exceptions are already sorted when they sit down. We took on 30% more volume last quarter with the same headcount."

Isabelle Tremblay-Caron
Chief Operating Officer, Boréal Foods

The stack we built on.

n8n OpenAI Slack Odoo Airtable Postgres Google Workspace

Let's find the process costing you the most.