News: Avesta Labs has become a Select Services Partner in the Claude Partner Network. Read the announcement

BBF Packaging

Case study · Packaging manufacturing · India

How BBF Packaging gave its delayed orders a memory

BBF Packaging runs on SAP, but chasing late sales orders was manual. Every Friday someone pulled the delay report, emailed each salesperson for a reason, collected the replies, analysed them for management and acted on them. The next week the comments and decisions were gone, and the team started again. We built an agent that reads the report and sends every order to Production first, who know why it is late. It then routes each order by their comment to the team that has to act, and remembers what was said and decided the week before.

The problem
Every week's comments and decisions were lost, so the same questions were asked again.
What we built
An agent that takes the SAP delay report, gets Production's reason for every order, routes it by that reason and keeps its history.
What BBF gets
Each late order has a history, an owner and a next step. Management can ask for a dashboard.
Status
Live for about three months. The team uploads the SAP report each Friday.
Book an AI Kickoff

The same problem shows up in

  • Packaging and printing manufacturers
  • Make-to-order factories on SAP
  • Auto and industrial component suppliers
  • Any business that chases late orders by email

If the reason an order is late lives in someone's inbox, you will ask for it again next week.

Before and after.

Before

The same chase, every Friday

A weekly routine run by hand, with nothing carried over.

  1. 1Download the delayed sales order report from SAP
  2. 2Work out which salesperson owns each order
  3. 3Email each salesperson their list and ask why it is late
  4. 4Collect the replies and analyse them
  5. 5Take the serious cases to upper management
  6. 6Act, then do it all again next Friday

Last week's comments and decisions weren't kept. Finding them meant digging through emails, and some weeks the analysis wasn't done properly.

After

Every order keeps its story

Still a Friday routine. The asking, reading and sorting are the agent's.

  1. 1The team downloads the report from SAP and uploads it to the agent
  2. 2Production get an email about their pending comments, and one button opens their queue
  3. 3They pick a reason for each order, because they know why it is late
  4. 4The agent reads the comment and sends the order to the team that has to act

No longer done by hand

  • Working out who to ask about each order
  • Emailing for comments by hand
  • Reading and sorting every reply
  • Digging through old emails for last week's decision

~120

Delayed sales orders

In the weekly report the agent works through.

5

Salespeople

Asked only about orders that need Sales.

0

Emails written by hand

The team uploads the report. The agent does the chasing.

5

Teams an order can reach

Production, Purchase, Sales, SAP and Management.

The problem

Why the chase kept failing.

Every week started from zero

Last week's comments and decisions weren't kept anywhere the team could search.

The answers lived in email

To find what had been decided for one order, someone dug through old threads.

The analysis took the time

Reading every reply, judging the reason and deciding who should act is slow work, so it wasn't done properly every week.

Management saw it late

Only some orders needed upper management, and the team had to spot them by hand.

Why not just a better report?

SAP already knows which orders are late. It doesn't know why.

So we didn't try to change SAP. We kept it as the source and put the agent on the other side of the report.

  1. 01

    A report shows late, not why

    The reason sits with the people who know the order, and it arrives as a sentence in an email.

  2. 02

    Comments come in people's own words

    “Board received late, dispatching on the 28th.” A column can't read that. An agent can, and can decide who should act on it, even when the reason is written in their own words.

  3. 03

    Each reason needs judgement

    Is it a material delay, a clearance hold or a vague answer? Each one belongs to a different team.

  4. 04

    A report forgets

    Next week's report has no idea what was said this week. The agent keeps every comment against its order.

What they asked for

Stop repeating the Friday chase, and never lose what a team or a manager said about an order.

One more: don't just collect answers. Start with the people who know why an order is late, send it on to the team that can move it, and bring management in only when the rules say so.

So the goal was a delayed-order desk that remembers, not a mailing tool.

The agent

What it does.

Starts from the SAP report

The team uploads the delayed sales order report. The agent reads it and loads every line.

Production comments first

Every order starts with Production, because they know why it is late. They get an email about pending comments, and its button opens their queue. They pick a reason from a short list, add any detail it needs and save.

Reads the comment

It takes the comment as written and works out what it says about the delay.

Routes by the comment

Purchase, Sales, SAP or management, depending on what Production said. Sales and Purchase use the same queue to clarify as a second step, and the order moves on.

Remembers every week

Every earlier comment and decision stays with the order, so you can see how it was delayed, why, and what was done.

A dashboard on request

Status counts, orders by team and salesperson, the oldest orders, critical reasons and orders with no action taken.

What it deliberately does not do
It has no connection to SAP, so it can't change anything there. It only sees the report the team uploads. It never invents a dispatch date, and it never adds management just because an order is old.

The comment queue

What Production sees.

SO Comment Queue

Week of 23 Oct · 4 visible

Needs comment: 4

Select a reason and fill any required fields. Press Enter or click Save to move to the next row.

View:AllNeeds comment only
OrderItemAgeBalanceComment for this week
SO-B201FG-1042112 d5,700
Select a reason…Save

SALES04 SepWaiting for dispatch clearanceShow history (6)

SO-B207FG-105864 d1,800
Select a reason…Save

PROD16 OctDispatching on 30 OctShow history (3)

SO-B214FG-107738 d3,000
Select a reason…Save
A recreation. Every order, number and date in it is constructed.

Production choose from a short list of reasons, such as Raw Material Not Received, Artwork Approval Pending or Already Dispatched, or write their own. Orders that need a comment are marked, and anything said earlier sits under the order with its history. Sales and Purchase see the same queue when the agent needs their clarification.

The dashboard

What management sees.

SO Analysis Report — Management Dashboard

XLSX export

Team records

Management can add a comment to any order from any team view.

  • Production (12)
  • Purchase (6)
  • Sales (2)
  • SAP (1)
  • Management (5)
OrderAgeTeamReasonStatus
SO-A10192 dProduction + ManagementPromised dispatch date passed, dispatch not confirmed.Escalated
SO-A10557 dProduction + ManagementCause changed from material to a QC hold.Moving target
SO-A10366 dPurchaseMaterial expected beyond the 20-day procurement window.Open
SO-A10241 dProductionIn production, dispatch promised within 15 days.Promise pending
SO-A10435 dSalesNo dispatch clearance, Sales to confirm a date.Open
SO-A10648 dSAPDispatched, but the order still shows open.Check SAP
A recreation. Every order, number and date in it is constructed.

Once Production have commented, each order sits under the team that has to act. Management sees what is oldest, what is critical and what has no action, and can export the lot to Excel.

One order, three Fridays

How an order's story builds up.

  1. Week 1 · SO-A105

    Production said

    “No board. Expected on 12 Nov.”

    Purchase

    Material pending, due beyond the procurement window.

  2. Week 2 · SO-A105

    Production said

    “Board received late. Dispatching on 28 Nov.”

    Production + Purchase

    Date logged as a promise, due within 15 days.

  3. Week 3 · SO-A105

    Production said

    “Order is on a QC hold.”

    Production + Management

    The cause changed from material to quality, and the promised date has passed. Both go to management.

A recreation. The order and its comments are constructed.

Without last week's comments, week 3 looks like a new problem. With them, it's a reason that keeps moving, and the agent says so.

Trust and data

Safe to run.

An agent that reads comments and routes orders can send the wrong order to the wrong team, if it's careless. So it follows written rules, one order at a time.

No SAP access needed

It works from the report the team uploads. It never connects to SAP, so it can't change an order there.

Only what was said

A dispatch date is taken from this week's comment. It is never estimated.

One order at a time

Each order is analysed on its own, so a comment on one can't change where another goes.

Management by rule

Management is added only through set triggers, never for age alone.

The process

How we worked.

  1. 01First

    Their way of judging a delay became the rules

    Production comment first, because they know the reason. Each kind of delay, who owns it and when management steps in were written down as the agent's instructions.

  2. 02Build

    One order at a time

    The agent analyses a single order line per run and saves one result for it, so one odd comment can't affect another order.

  3. 03Connection

    Works with the upload, not an API

    SAP's API wasn't opened up, so the team downloads the report and uploads it. The agent starts from there and never touches SAP.

  4. 04Live

    In use every Friday

    BBF's team has used it for about three months. Each Friday starts with the upload, and the agent does the rest.

The hard part

Judging a reason the same way, every week.

The obvious build: a model that reads each comment and decides who should act, with nothing written down.

Why that fails

One sentence can point three ways

“Awaiting clearance” belongs to Sales. “Board received late” belongs to Production and Purchase. “Will update” needs management's attention. A model left to decide would drift, and no one could say why an order went where it did.

What we did instead

The rules came first, in strict order

Each kind of delay has a written rule, checked in priority order. Some rules end the check at once, so an order that was already dispatched never reaches management. Every result says which rule fired and why.

The Friday routine didThe agent does
Read each comment and judged the reasonChecks this week's comment against the rules, in order
Remembered what it could from last weekCompares this week's comment with every earlier one, and flags a reason that keeps changing
Took a date on trustLogs a dispatch date only if the comment states one, and escalates it if the date passes
Pulled in management as the discussion wentAdds management only through the listed triggers
Followed up by emailGives each order one follow-up for the team that has to act

Where it is better than before

Memory

Every comment and decision stays with the order.

Consistency

The same comment gets the same routing every week.

Time

The team uploads a report instead of writing and reading emails.

Visibility

Management can ask for the dashboard any day, not just Friday.

How we held that bar

The agent writes the rule that fired and why into every result, so anyone can check a routing against what Production actually said.

Faster is easy. The hard part is never sending an order to the wrong team, or crediting a date nobody promised.

Six months from now

How it stays predictable.

The agent's instructions are written, not improvised, and they limit what it may do. For every order it asks the same questions in the same order.

  1. 1Does the comment end the check, like a missing comment, an already dispatched order or a clearance hold?
  2. 2Is a stated dispatch date inside 15 days, already past, or missing?
  3. 3Has the reason shifted from earlier weeks?
  4. 4Does one of the listed triggers allow management?
  5. Goes live

An example from the rules

A comment says “awaiting clearance” on an order that is over 600 days old. Age alone doesn't send it to management. Clearance holds go to Sales, and the rule says so explicitly.

Find out what your Friday chase is costing you.

A short discovery session about the report your team chases every week. We'll show you what an agent would do with it.

Book an AI Kickoff

Or email hello@avestalabs.ai