Skip to main content

Worked sample

The documentation, not a description of it.

I sell documentation and training as part of the work, which is easy to say and hard to prove from the outside. So here is the whole thing: an operations manual and a training plan for a bakery chain, written exactly the way I write a real one.

Half Moon Bakehouse does not exist. Neither does Batch.

Every name, date, number, address and complaint below is invented. It is a bakery on purpose — far enough from anything I actually run that nobody can read a real client out of it. What is real is the format, the level of detail, the order things appear in, and the tone.

Nobody in it is named either. Every person here is a role, because inventing a head baker called somebody would be fiction stacked on fiction. In a real manual, each of those roles is a name and a mobile number on a contact sheet at the front.

Two conventions worth knowing before you start: the web addresses all end in .example, which is the domain reserved for documentation and cannot resolve to anybody’s website, and there is no clever formatting anywhere. A manual is read standing up, badly lit, by somebody who is late.

Front matter

Document control.

Document
Batch — operations manual
Version
1.4
Issued
14 March 2026
Next review
14 September 2026, or the same week as any change that moves a screen
Prepared for
Half Moon Bakehouse — six shops and one production kitchen
Document owner
The operations manager. It is theirs, not mine; I write it, they approve it
Prepared by
Northwest Fortune Solutions
Authoritative copy
Batch → Help → Manual. A printed copy lives in the kitchen folder by the door, because the day you need section 4 most is the day nothing loads
Last restore test
2 March 2026 — a full database restored into a spare environment and opened

Section 1

What Batch is.

Batch turns tomorrow’s orders into tonight’s baking. Forty-three wholesale customers — cafés, two grocers and a university canteen — and the six shops put in what they want. At two o’clock every afternoon Batch closes tomorrow’s orders, adds them all up, and prints one production sheet for the kitchen: how many of each thing to make, in the order they go in the oven. It prints the labels that go on the trays and the sheet that goes in the van, and on Friday it turns the same orders into invoices.

That is the whole of it. Everything else in this document is a detail of that sentence.

What Batch deliberately does not do

  • It does not take money. Shop customers pay at the till; wholesale customers are invoiced and pay by bank transfer.
  • It does not run the tills in the shops.
  • It does not hold staff hours, rotas, holiday or payroll. None of that is in here and none of it is coming.
  • It does not track ingredients or order flour. The kitchen orders the way it always has.
  • It does not decide prices. A person types those in, on the first Monday of the month.

That list is in the manual because four of the first month’s questions were about something on it.

Section 2

Who is allowed to do what.

Five roles. Everybody is in exactly one of them, and nobody is in one “temporarily”.

Roles in Batch, as configured for Half Moon Bakehouse. The last column is the one to read first.
RoleHeld byCanCannot
Wholesale customer43 accounts, one sign-in eachPlace, change and cancel their own orders up to the cutoff; see their own order history and their own invoicesSee any other customer, see the production sheet, or see anybody’s prices but their own
Shop lead6 — one per shopOrder for their own shop up to the cutoff; see their shop’s historyOrder for another shop, or see wholesale accounts, wholesale prices or invoices
Kitchen3 — head baker and two bakersOpen the production sheet, mark a line baked or short, reprint sheets and labelsChange an order, change a price, or see an invoice
Office2Everything a shop or a customer can do, on their behalf; add and edit products and prices; move a cutoff; issue invoices and creditsAdd, remove or change anybody’s access — including their own
Manager2 — the operations manager and the ownerEverything above, plus access: add a person, change their role, remove them, sign them out everywhereRemove the last remaining manager. Batch refuses that one outright

Four rules that do not bend

  • There are always two managers. If one leaves, the replacement goes in before the leaver comes out — not the other way round, and not “we’ll sort it Monday”.
  • You cannot hand out access you do not hold yourself. The office cannot make somebody a manager, which is why the office is not the fallback for access and the second manager is.
  • Removing somebody takes effect on their next click, not overnight and not when their session expires. Use “Sign out everywhere” on the same screen and they are out of Batch before they are out of the building.
  • A wholesale customer sees their own account and nothing else. That is enforced by the software every time it is asked a question — not by hiding the buttons, which is a courtesy and not a control.

Joining, moving and leaving

Someone joins
A manager adds them, picks one role, sends the invite. Under two minutes. They sign in with their own work email — there is no shared login and there is no password to pass round, so there is nothing to change when they leave.
Someone moves
Change their role. Do not give them a second account: two accounts for one person is how somebody ends up holding the access from a job they no longer do.
Someone leaves
A manager removes them the day they leave, and signs them out everywhere. If neither manager can be reached that day, ring me and I will do it and write down that I did.
Every quarter
A manager opens Access → Everyone and reads the list out loud. It takes ten minutes, four times a year. This paragraph exists because the first review found two people who had left.

Section 3

The day, start to finish.

Anything marked “on its own” happens whether or not somebody is looking at it.

The daily rhythm. The last column is how you know the step happened, without having to ask.
WhenWhoWhat happensYou know it worked when
05:30Batch, on its ownToday’s van sheets and the six shop lists print in the kitchenThe stack is in the tray by the door before the first baker arrives
06:00KitchenBake against yesterday’s production sheetEvery line on the sheet ends the morning with a tick or a number
09:00OfficeRead the “short yesterday” list and phone anybody who got less than they orderedThe list is empty, or every line on it has a name written beside it
Through the dayCustomers and shop leadsTomorrow’s orders go inOrders → Tomorrow shows a running count. The kitchen watches it fill and gets a feel for the day early
13:45Batch, on its ownA reminder goes to any wholesale account with nothing ordered for tomorrowSent count shows on Orders → Tomorrow
14:00Batch, on its ownCutoff. Tomorrow closes. Anything placed after this lands on the day after, and says soThe banner at the top of every screen reads “Tomorrow closed at 14:00”
14:05Batch, on its ownTomorrow’s production sheet prints in the kitchen, and the tray labels print with itSheet in the kitchen tray. The head baker initials it — that initial is the check
14:05–15:00OfficeThe window for pulling a late order forward onto tomorrowAfter 15:00 it stops being a screen and becomes a phone call to the head baker
16:00Head bakerConfirm the sheet, or tell the office what cannot be madeProduction → Tomorrow shows confirmed, and the office has the short list before it goes home
Friday 17:00Batch, on its ownThe week’s invoices are drafted. Drafted, not sent — nothing leaves the building unread43 drafts waiting in Invoices → This week
Monday 09:00OfficeRead the drafts and send themInvoices → This week is empty
First Monday of the monthOfficePrice changes take effectNothing changes a price mid-week, so no invoice ever spans two prices for one item

Your first morning, if you have just started

Fifteen minutes, in this order, with somebody sitting next to you. Do it on your first day rather than on a real order at two minutes to two.

Sign in with your own work emailThere is no shared account and there never will be. If somebody offers you theirs, say no and ring a manager — it takes two minutes to give you your own.
Read the banner across the topIt says which day Batch is closing next and whether it has closed yet. It is the answer to most of the questions you are about to have.
Open Orders → TomorrowThis is the screen the whole system is arranged around. Almost everything else is a version of it.
Place one order for a shop, then cancel itDo it now, today, while somebody who knows the system is sitting next to you. Not next week on a real order at 13:58.
Open Production → Tomorrow and find what you just didThe item you ordered appeared on the sheet; cancelling it took it off. That is the entire system: an order becomes a line on a sheet, and the sheet is what gets baked.

Section 4

When it misbehaves.

Seven things, because seven things are what got reported in six months.

Symptoms in the words people use on the phone. Read down the first column until one matches.
What you are seeingWhat it usually isDo this firstRing me if
The 14:05 production sheet did not print.The kitchen printer is offline, jammed or out of paper. About nine times in ten it is the printer, not Batch.Check the printer. Then Production → Tomorrow → Print again. The sheet is also emailed to the kitchen address every day at 14:05, so if the printer is dead you can open the email on any machine and print from there, and the bake is not held up while somebody investigates.The screen shows no sheet at all, rather than a sheet that will not print. An empty sheet at 14:05 means the cutoff did not run, and that one is mine.
A customer says they ordered and it is not on the sheet.They ordered after 14:00. Batch moved it to the following day rather than dropping it, and told them so on screen — which is not the same as them having read it.Open the order. The line underneath says when it was placed and which day it landed on. Before 15:00 the office can pull it forward onto tomorrow. After 15:00 it is a phone call to the head baker, and if they say yes it goes on the paper sheet AND into Batch, in that order, so the labels come out right.The order says it landed on tomorrow and it is genuinely not on tomorrow’s sheet. That is the software being wrong and I want to know the same day.
The labels are printing yesterday’s date.The label printer has been left powered since the last job and is repeating the header it cached then.Turn the label printer off at the wall, count to ten, turn it on. Print ONE label and read it before you print two hundred.It does it twice in the same week. Then it is the printer itself and it wants replacing, not restarting.
Everything is slow, or a page is just spinning.One device or one connection. It is very rarely everybody.Open the same page on a different device. If that one is fine, the problem is the first device: sign out, sign in, and carry on. If the second device is also slow, check whether anything else on the internet works from that room.It is slow on every device, in more than one room. Then it is mine, and I would much rather hear it from you than notice it on a graph an hour later.
Somebody who left can still sign in.They were never removed, or they were removed from a second account they should not have had.A manager opens Access → Everyone, removes them, and uses “Sign out everywhere” on the same screen. It takes effect on their next click, not tonight.They are not on that list and can still get in. That is a real problem, it is mine, and it is worth the phone call rather than the email.
An invoice total does not match what the customer ordered.A short bake. When the kitchen marks a line short, Batch credits it automatically, so the invoice is deliberately lower than the order.Open the invoice and read the credits at the bottom. Each one names the day and the item. That page is the answer to send the customer — do not edit the invoice.There is a credit with no short behind it, or a short with no credit. Either of those is the arithmetic being wrong rather than the bake.
Nobody can sign in at all.Rare. It is either the internet in the building or it is me.Check whether anything else online works from the kitchen PC. Then look at the status page. Then ring me — and start the paper day below rather than waiting to hear back.Always. But start baking first.

The paper day

If Batch is down and staying down, the bakery still opens.

  • The kitchen keeps the last four weeks of production sheets in the folder by the door. They are filed for exactly this. A Tuesday looks like a Tuesday: bake last Tuesday’s sheet and you will be within a few trays of right.
  • The office rings the six shops for anything unusual, and rings the four biggest wholesale accounts. The other thirty-nine get what they had last week.
  • Write down every order taken on paper. When Batch comes back, the office types them in that evening so the invoices at the end of the week are still correct.
  • One day on paper is an inconvenience and not a crisis. That is the whole reason those sheets get filed instead of thrown out, and it is worth saying out loud to a new head baker.

Two things never to do

Both are here because somebody, somewhere, did the opposite.

Never edit the paper sheet and leave Batch alone
The tray labels come off the same list the sheet does. Change it in Batch and reprint, or the labels and the sheet disagree by teatime and the van sheet agrees with neither.
Never share a sign-in
Not for a morning, not for a delivery driver, not for the new person whose account “is coming”. A manager can add somebody in two minutes at any hour, and every action in Batch has a name on it — a shared login puts the wrong name on it.

Section 5

Where things live.

Written so that somebody who has never met me can find all of it in an afternoon.

Staff address
batch.halfmoonbakehouse.example — the shops, the kitchen, the office and the managers. Bookmark it on the kitchen PC.
Customer address
order.halfmoonbakehouse.example — the same system, wearing the customer’s view. A customer signing in here sees their own account and no part of yours.
Status page
status.halfmoonbakehouse.example — one page that answers “is it me or is it them”, and it is hosted somewhere else on purpose so it still loads when Batch does not.
The data
A managed PostgreSQL database in one region, backed up every night, backups kept 30 days. A restore is tested every quarter — an actual restore into a spare environment that somebody then opens and looks at, because an untested backup is a hope. The date of the last test is on the front of this document.
The code
One repository, owned by the Half Moon Bakehouse account. I am an invited member of it, not its owner. If we ever part company you remove me and nothing else has to move.
The accounts
The domain, the email, the cloud account and the card behind it are all in the bakery’s name, with me invited to each. The list of them — and who holds the recovery codes — is on one sheet in the office safe. It is not in this document on purpose, and neither is anything else that would let a person who found this document get in.
The printers
One laser in the kitchen for sheets, one label printer beside it, one laser in the office. Models, IP addresses and which socket each one is on are on page two of the printed copy, because that is the page somebody reads while standing next to the printer.
This document
Batch → Help → Manual is the version that is right. The printed copy in the kitchen folder is the version you can read when nothing loads. When they disagree, the app is right and the printed one wants replacing.
What is written down nowhere
No passwords, no keys, no card numbers — not here, not in a shared drive, not in a message. If a document ever asks you to write one down, the document is wrong.

Everything in that list is in the bakery’s name with me invited to it, rather than in mine with the bakery invited. It is a one-line difference on the day it is set up and the entire difference on the day somebody wants to replace me — which they should always be able to do, and this is the section that decides whether they can.

Section 6

How to get help.

Four bands, one of which is “this is not a fault”. Naming that one is what stops every new idea arriving as an emergency.

What to tell me

  • What you were doing, in the order you did it.
  • What you expected to happen.
  • What actually happened — a photograph of the screen beats any description of the screen, including mine.
  • The time it happened, and which shop or which customer it was about.

If you only manage one of them, make it the photograph.

What counts as what, and what I have agreed to do about it.
LevelWhat it meansI answer withinHow to reach me
StoppedNobody can take orders, or it is after 14:30 and there is no production sheet.Within the hour, any day, including Sunday.Phone. Keep phoning. Do not email a stopped system.
HurtingOne person, one shop or one customer is stuck, and there is a way round it in the meantime.Same working day.Phone or email.
WrongSomething is incorrect but nothing is stopped — a price, a label, a total, a spelling.Two working days.Email, with the four things above.
New“Can it also…”. Not a fault, and it is not treated as one.On the change list, quoted separately, discussed at the monthly call.Email whenever it occurs to you, however half-formed.

Hours

Seven in the morning to six in the evening, weekdays. A stopped system is any hour of any day. Everything else waits for the morning on purpose: you will get a better answer out of me at eight than at one, and so will I.

If I cannot be reached

Two other engineers hold access to everything in section 5. They are named on the contact sheet at the front of this document, they are people I have worked with rather than a clause in a contract, and the point of section 5 is that they would not need me to explain any of it.

The monthly call

Thirty minutes, first Tuesday. Three things: anything that broke, anything on the change list, and anything that has been quietly annoying you that you have not bothered to report. The third one is where most of the improvements come from.

Section 7

What changed and when.

Five entries in seven months.

The change list. Read the last column — it is the one you cannot reconstruct later.
VersionDateWhat changedWhy
1.014 August 2025First issue, at handover.Written alongside the build rather than after it, which is why it was ready on the day.
1.12 September 2025Cutoff moved from 15:00 to 14:00, and the closing-day banner added across the top of every screen. Sections 3 and 4 updated.Three Tuesdays running, the sheet reached the kitchen too late to plan the ovens properly. The kitchen asked; the wholesale customers were told a fortnight before it changed. The banner came out of the same month’s support messages, most of which were somebody asking which day was closing next.
1.211 November 2025Short bakes now credit the invoice automatically. New row in section 4.The office was crediting by hand and missed four in October. Every one of those was a phone call from a customer who was right.
1.320 January 2026Wholesale customers got their own sign-in. New role in section 2, new address in section 5.Orders were arriving by email and somebody was retyping them. Two of the four biggest complaints that quarter were typing mistakes, and neither was the customer’s.
1.414 March 2026Section 4 rewritten around the seven things actually reported in the first six months. The label-printer answer added.Because the first version of section 4 was me guessing what would go wrong, and it was wrong about most of it. The real list is shorter, duller and more useful.

The document is versioned with the software. A change that moves a screen changes this document the same week and moves the version at the top of it. If your printed copy disagrees with your screen, the printed copy is the one that is wrong — go and get a new one out of the app. Documentation a year out of date is worse than none, because people still believe it.

The training plan

Who gets trained, on what, in what order.

Training is not a session, it is a sequence. Fifty-six people can sign in to Batch and four of them need to be able to do everything; most of the plan is telling those two groups apart.

Everybody who touches Batch, and the standard each of them is trained to. The third column is the one that decides the other two.
WhoHow manyMust be able to do unaidedHow it is runLength
Office2Everything in sections 3 and 4. They are the number everybody else rings, so they have to be able to answer.At their own desks, on the real system, on a deliberately quiet Wednesday.2 × 90 minutes, a week apart
Kitchen3Open the sheet, mark a line short, reprint sheets and labels. Nothing else, on purpose.Standing at the bench on the kitchen PC, in the afternoon after the bake is out.1 × 45 minutes
Shop leads6Place, change and cancel their own shop’s order, and say what happens if they do it at 14:03.Two groups of three, in the back of the biggest shop, on their own phones as well as the shop machine.1 × 30 minutes per group
Managers2Add, change and remove access, and run the quarterly review without me in the room.They sit in on the office sessions, then thirty minutes on access alone.1 × 60 minutes
Wholesale customers43 accountsPlace and change their own order, and find their own invoices.Not a session — they do not work here and will not attend one. A one-page card goes out with the invite, and the six biggest accounts get a phone call.1 page, plus about 10 minutes each for six calls

The order, and why it is that order

Office first, a week before anybody elseThey are the fallback for every other group, so they need a week of being the only people who know it. Train them last and every question in week one comes to me instead of to them, which teaches everybody the wrong habit on day one.
Kitchen secondThe production sheet is the day. If the kitchen is not confident, nothing else in the plan matters — and their session is the shortest, because their job in Batch is three things and padding it out would only blur which three.
Shop leads thirdBy now the office can answer them, which is the point. Their session is half an hour and it is mostly the cutoff.
Wholesale customers last, a fortnight after everyone insideOutsiders should meet the version that has already been shaken out. A fortnight of internal use finds the wording that confuses people, and the customer card gets rewritten before a single customer reads it.

What actually happens in a session

The same four blocks every time, whatever the length. The third one is the block people try to trade away and the one that pays for the rest.

I do it, you watchOn the real system with real orders. Not a demonstration account with tidy data in it, because tidy data is not what Tuesday looks like.
You do it, I say nothingUnless you ask. This is the part everyone tries to trade away for a longer demonstration, and it is the only part that survives contact with the following Monday.
We break it on purposeOrder after the cutoff. Mark something short. Try to remove your own access. When it goes wrong for real, the message on the screen is one you have already met.
Questions, written downEvery question becomes a line in section 4 or a change to the screen that prompted it. Twelve of the seventeen questions asked across these sessions ended up in this document.

The training plan

How anyone knows it worked.

Somebody does the job, alone, while I sit there and say nothing. Their manager dates it and initials it. That is the whole assessment.

Office

  • Place an order on behalf of a shop, and change it.
  • Pull a late order forward onto tomorrow, and say what you would do if it were 15:10.
  • Find why an invoice is lower than the order it came from.
  • Reprint a production sheet and a set of tray labels.
  • Talk somebody through the first three rows of section 4 without opening it.

Kitchen

  • Open tomorrow’s sheet and confirm it.
  • Mark two lines short, and say what happens to the invoice.
  • Reprint the labels for one tray after the printer has been off.

Shop lead

  • Place tomorrow’s order for your shop.
  • Change it, then cancel one line of it.
  • Say what happens if you place an order at 14:03, and where it goes.

Manager

  • Add a person, give them a role, change the role, remove them.
  • Sign somebody out everywhere.
  • Try to remove the last manager and describe what Batch does.
  • Run the quarterly access review out loud, from the screen.

No certificate. A certificate tells you somebody attended; this tells you the head baker can reprint a tray label at six in the morning with the office phone going unanswered, which is the only thing anybody wanted to know.

And then afterwards

The thirty-day count
Training that worked shows up as an absence. For the first month I count every support message by category. Anything asked three times is a documentation defect or a design defect, and either way it is mine rather than theirs. The first month here produced eleven messages, seven of them about the cutoff — which is why there is now a banner across the top of every screen saying which day is closing next.
New starters
A shop lead trains the next shop lead in about a quarter of an hour off the one-page card. That is the real test of the card: if it needs me, it is not finished.
Ninety days
A thirty-minute refresher for whoever wants it. It is mostly people asking for shortcuts by then, which is the sign you were hoping for.
When something changes
A change that moves a screen comes with two lines of email and an updated section, in the same week. It does not come with another session, because nobody needs an hour to be told a button moved.
What is not included
A recorded webinar nobody watches twice, and a certificate. Neither one tells you whether the head baker can reprint a label.

What a real one adds

Yours would have your screens in it.

This is a public page, so it is deliberately generic in the four places a real manual is most specific.

  • Screenshots of your screens, on every step — the single biggest difference, and the reason a real manual runs longer than this page.
  • Your people’s names and mobile numbers instead of role labels, and the contact sheet at the front that names them.
  • Your printer models, your addresses, your account list — the specifics that make section 5 useful and that no public page should ever carry.
  • A PDF in the folder by the door as well as the page inside the app, because those two audiences are having different days.

Everything else you have just read is the real article: the sections, the order, the level of detail, and the decision about what to leave out. If you want to see it against your own operation instead of a bakery, that is what the first visit is for — and the write-up from that visit is yours either way.