
Bakery & Food Production Management
Bakery production in bakers' percentages: allergens computed from the recipe, batches with use-by and lot trace, the round, and the waste.
Available for Odoo 16.0, Odoo 17.0, Odoo 18.0, Odoo 19.0. Technical name bambooforge_bakery.
Bakery & Food Production Management
Built around the three things a bakery is judged on: the label, the trace, and the number nobody writes down.
The label
Every ingredient carries what it contains and what it may contain, entered from the supplier's specification and signed off with a name and a date.
The recipe's declaration is computed from its lines, and travels up through preferments and fillings into whatever uses them.
An allergen that is definitely present never also appears as a "may contain".
A recipe cannot be released for sale while any ingredient in it has no specification on file.
Changing what an ingredient carries drops the sign-off, and the name and date on it, so a reformulation takes every recipe using it off sale by itself - nobody has to notice.
Changing a released recipe - an ingredient, the weight, the shelf life - puts it back to draft with a line saying why. A label signed off against a recipe is only signed off against that recipe.
The declaration is written in the bakery's own language and names the allergens in the order the regulation lists them, not in alphabetical order.
The fourteen regulated allergens ship with the module. A bakery adds its own beside them.
The trace
Lots are recorded when the sack is opened: the code exactly as printed, the supplier, the best-before.
A batch records which lots went into it. A lot past its date, under a block, emptier than the line says, or of something that is not in the recipe cannot go in - however the row is written.
Blocking a lot stops the bread: a batch mixed with it does not come out of the oven for sale, and nothing made with it loads onto a van. Every batch and every round holding it is told on its own record, with how many are still in the bakery.
Once a batch is baked, its lots cannot be edited or deleted, the batch itself cannot be deleted, and a lot that has been used cannot be deleted at all.
Every batch keeps the label it was baked with. A recipe reformulated next month does not change what was on last month's loaf.
One screen answers a recall: the batches, how many reached each customer after returns, and who they are. Blocking the lot is the same button, and the answer is written on the lot.
A lot within a week of its date lands on somebody's list - the person who booked it in, or a manager. Never a robot's.
The bakery
Recipes in bakers' percentages against the flour, with hydration, bake loss, shelf life, yield and cost per item.
Scaling to tonight's numbers is arithmetic the system does - the mixing sheet is the recipe multiplied by what the plan says.
A production plan per night: standing orders per weekday added up, plus what the counter expects. Confirming it raises a batch per line and totals the flour.
A cut-off decides which night a late order lands on, and it is recorded on the plan. It is counted in the bakery's own time - fourteen hours before Tuesday is four o'clock on Monday afternoon where the bakery is - and an order lands on the next night that is still open, never on one already confirmed. A cancelled night does not block that day for ever.
Pulling the round again drops the lines nobody wants any more, and records the cut-off as the moment it was really pulled.
Use-by is out of the oven plus the shelf life. A round cannot carry a batch that is out of date before the end of the delivery day, counted in the bakery's own time.
Bake loss is measured against the recipe's figure, and a bake two points out says so.
A batch cannot come out of the oven without a count and without its lots.
The round
Standing orders per customer per weekday, with a price and whether the customer is sale or return.
A delivery note carries what went out and what came back, and the invoice bills the difference.
Every line names the batch it came from, which is the other half of a recall. A line without one cannot be loaded.
What is left of a batch is counted across the whole note and with the batch held, so two lines cannot take the same bread twice and two vans loading at the same moment cannot both have the last twelve. A delivery still being written up holds nothing back.
Once the van has gone, the batch, the item and the quantity on a line stop being editable, the line cannot be deleted, and the delivery itself cannot be deleted. After the invoice, what came back is fixed too - it is the number that was charged.
A delivery is invoiced once, in the company that made the bread, and an invoiced delivery cannot be cancelled. Cancelling a round that went out puts the bread back.
The waste
Waste is a record against the batch, with a reason and what it cost to make - the recipe scaled to the batch, corrected by the sacks that were actually weighed, so an untraced ingredient does not simply cost nothing.
More cannot be written off than is still in the bakery: what went out and stayed out is on a customer's shelf, not in the bin. Nothing is written off before it is baked.
Made, less what went out, plus what came back, less what was thrown away, is what is left - which is the number tomorrow's plan should be argued with. A batch with nothing left says so.
A batch over the waste target says so on its own record.
Roles
Baker and driver - mixes, bakes, records lots and waste, pulls the round into a plan, loads and delivers. Cannot write a recipe, sign off a specification, release an item for sale or lift a recall block.
Bakery manager - writes recipes, signs off specifications, releases items, sets standing orders, lifts a block and invoices the round. The role carries the billing rights that invoicing needs.
Each company numbers its own batches, plans and delivery notes.
Installation
Community only. Depends on base, base_setup, mail, product, uom and account.
Set up in this order: ingredients with their allergens and specifications signed off, then recipes (mark the flour lines as flour, or the percentages cannot be worked out), then release the recipes, then the standing orders, then the two settings - the order cut-off and the waste target.
Support
Screens



