Logo Dark
Get In Touch

BMR Format for Cosmetics: Free Template, Odoo Setup and QC Release

/
ERP

An auditor asks for the batch record of a face cream you shipped eight months ago. The file has two missing signatures, a pH reading nobody can read and a supplier lot number written over in pen. The batch left the plant. Can you prove it met spec?

That's the job of a batch manufacturing record, or BMR. It's the document that shows a batch was made to its approved formula, by named people, with checks recorded as they happened and a release decision signed by someone authorised to make it.

This guide covers the 10-section BMR format a cosmetics plant needs, why paper records break as you grow, and how to build each section as an electronic batch record in Odoo 19 Community or Enterprise. We've also included a free batch manufacturing record template in Excel you can adapt today.

Key Takeaways

  • A cosmetics BMR covers 10 sections: batch header, line clearance, dispensing, process, in-process QC, deviations, yield, packaging, final QC and release.
  • ISO 22716 sets the GMP guidelines for cosmetics production and its documentation. It doesn't require paper.
  • Odoo has no single BMR screen. Manufacturing, Inventory and Quality records hold the data; a custom report prints it as one BMR.
  • Community covers lots, consumption and yield. Enterprise adds Quality checks and Quality Alerts.

New to running a cosmetics plant on an ERP? Start with our complete guide to cosmetics manufacturing software, then come back here for the batch record.

What is a BMR in cosmetics manufacturing?

A BMR is a controlled document that captures the full manufacturing history of one batch: what went in, how it was made, who did it, what was checked and who released it. In cosmetics, ISO 22716 sets out good manufacturing practices (GMP), and this documentation is written against it.

Five questions, one record:

QuestionWhat the BMR records
What?Raw materials, quantities and supplier lots
How?Manufacturing steps and process parameters
Who?Operators, supervisors and QC personnel
Quality?Inspection results, deviations and corrective actions
Approval?Final QC decision and batch release

Why does a BMR matter?

Because it's the only evidence you have once the batch is gone. Three situations make that obvious:

  • Audits. The BMR shows the batch followed the approved formula and procedures.
  • Customer complaints. It lets you trace which materials and lots went into the batch in question.
  • Recalls. It tells you which batches are affected and where the consumed materials came from.

Without it, you're reconstructing history from memory and spreadsheets. That rarely holds up.

What is the BMR format for cosmetics? 10 sections

A good BMR format captures everything an auditor needs without turning production paperwork into a second job. These are the 10 sections we'd expect in any cosmetics BMR.

#SectionWhat to capture
1Batch headerProduct, batch number, batch size, formula version, date
2Line clearanceEquipment cleaning and readiness confirmation
3Raw material dispensingIngredients, quantities, supplier lots, weighing verification
4Manufacturing processProcess steps, parameters, operators, timings
5In-process QCpH, viscosity, temperature, appearance
6DeviationsWhat went wrong, investigation, corrective action
7Batch yieldExpected vs actual output and losses
8PackagingMaterials issued, consumed, rejected and returned
9Finished product QCFinal test results against specification
10Batch releaseQC approval, authorised person, date, status

Sections 1 to 4 prove traceability. Sections 5 to 9 prove control. Section 10 is the decision that lets the batch leave.

Download the free batch manufacturing record template (Excel)

Download the Cosmetics BMR Template (.xlsx). This batch manufacturing record sample follows the 10 sections above. Adapt it to your own formulations, procedures, quality specifications and GMP requirements before you use it on a live batch.

How do you fill in a BMR so it holds up in an audit?

A BMR is only as good as the habits behind it. The rules we'd put on the wall of any filling room:

  • Record it when it happens. Not at the end of the shift.
  • Leave no blank fields. Write N/A where a field doesn't apply.
  • Never overwrite. Keep the original entry visible, with the correction, date and initials.
  • Use two signatures on critical steps. One operator, one checker.
  • Always write the unit. "25" isn't a weight. "25 kg" is.
  • Attach the evidence. Lab reports, COAs and equipment logs belong with the record.
  • Restrict release. Only authorised people sign the final decision.

Odoo helps enforce several of these through required fields, per-user logins, timestamps, access rights and a change history on each record. It won't enforce all of them out of the box, as the sections below explain.

Where do paper BMRs fail?

Paper and Excel work fine at 5 batches a week. At 50, the cracks show:

  • Repeated data entry. The same lot number gets written on the dispensing sheet, the BMR and the stock register. Each copy is a chance for an error.
  • Missing signatures. A shift ends, a checker isn't around, and the gap stays until audit day.
  • Disconnected records. Production says 100 kg of glycerin was used. Inventory says 96 kg left the store. Which one is right?
  • Slow retrieval. Finding one batch file in a cabinet takes hours. During a recall, hours matter.

The underlying problem isn't paper. It's that batch information lives in different places owned by different teams. Paperless manufacturing fixes that by recording each fact once, against the batch, and reusing it everywhere.

How do you build a BMR in Odoo?

Odoo doesn't have a dedicated BMR screen. The batch record is assembled from data Odoo already holds in Manufacturing, Inventory and Quality. The aim is simple: capture each piece of information once, during production, and print it as one audit-ready BMR.

Here's what each edition of Odoo 19 gives you per BMR requirement.

BMR requirementOdoo 19 CommunityOdoo 19 Enterprise
Batch detailsManufacturing OrdersManufacturing Orders
Material consumptionSupportedSupported
Lot trackingSupportedSupported
Manufacturing operationsWork Orders, where configuredWork Orders and Shop Floor
Quality checksCustom checklist or moduleQuality app
DeviationsChatter or custom workflowQuality Alerts
Batch yieldPlanned vs actual quantityPlanned vs actual quantity
Final QC releaseCustom workflowQuality checks plus stock controls
Consolidated BMR printCustom reportCustom report

Notice the last row. Neither edition prints a complete BMR as standard. That's the one piece every cosmetics plant ends up building.

Step 1: Set up the BoM and operations

Start with the approved formulation as a Bill of Materials (BoM). Here's an illustrative 100 kg face cream batch:

IngredientFormula %Quantity for 100 kg
Purified water70%70 kg
Oil phase10%10 kg
Emulsifying wax8%8 kg
Glycerin5%5 kg
Active ingredients3%3 kg
Fragrance and others3%3 kg
Preservative1%1 kg
Total100%100 kg

In Odoo:

  1. Create the finished product and raw material records.
  2. Build the BoM with the approved quantities.
  3. Define work centres and operations.
  4. Split the process into stages: dispensing, heating, mixing, emulsification, cooling and inspection.

Each operation becomes a place where you can record times, operators and checks later. For percentage-based formulas, batch scaling and phase-wise components, see our guide to formulation BoMs in Odoo manufacturing.

Step 2: Track lots on raw materials and the finished batch

Lot tracking is what links a finished batch back to the drums it came from. The BMR should show the actual lot consumed for each ingredient:

MaterialSupplier lot
GlycerinGL-0921
PreservativePR-2026-018
Emulsifying waxEW-2026-044

In Odoo:

  1. Turn on Lots & Serial Numbers in Inventory settings.
  2. Set each raw material to track by lots.
  3. Record the supplier lot at goods receipt.
  4. Make sure consumption on the manufacturing order is recorded against the real lot, not a default.
  5. Set the finished product to track by lots too.

With both ends tracked, you can trace backwards (which lots went into this batch?) and forwards (which batches used this lot?).

Step 3: Add quality control points (Enterprise)

Cosmetics batches need checks at several stages, not just at the end:

StageWhat to check
Raw material receiptMaterial identity and COA verification
MixingTemperature and mixing conditions
EmulsificationAppearance and uniformity
CoolingTemperature
Bulk inspectionpH and viscosity
Finished productAppearance, pH, viscosity and other approved specs

The Odoo Quality module (Enterprise only) lets you define quality control points that create an Odoo quality check automatically at the right operation.

  1. Go to Quality → Quality Control Points.
  2. Create a control point.
  3. Pick Manufacturing as the operation type.
  4. Link it to the relevant work centre or operation.
  5. Set the check type, instructions and acceptance criteria.
  6. Run a test manufacturing order to confirm the check fires where you expect.

Check types include Pass/Fail, Measure, Instructions and Spreadsheet.

Step 4: Record in-process checks

Operators record actual readings during the batch, not after it. Here's a batch manufacturing record example for the in-process QC section:

ParameterSpecificationActualStatus
AppearanceSmooth and uniformSmooth and uniformPass
pH5.0–6.05.5Pass
Viscosity20,000–30,000 cP25,000 cPPass
Temperature25–30 °C28 °CPass

In Enterprise, the checks generate from the manufacturing order, the operator enters each reading, and any failed check can raise a Quality Alert. The results stay attached to the manufacturing order, which is exactly where the BMR report will look for them.

In Community, there's no Quality app. You'll need a custom checklist on the work order or a third-party module.

Step 5: Manage deviations and corrective actions

A temperature drift, extra material consumption, a longer cooling time or a failed check all count as deviations. Each needs to be recorded, investigated and closed.

EditionHow it's handled
CommunityManufacturing order notes, chatter and a custom corrective-action workflow
EnterpriseQuality Alerts with an owner, investigation notes and corrective-action tracking

One honest limit: Odoo logs who did what and when on most records. A dedicated operator-and-checker sign-off at every stage isn't standard in either edition. If your SOPs need dual signatures per step, plan for configuration or custom work.

Step 6: Hold the batch for QC, then release it

Finishing the manufacturing order doesn't mean the batch can ship. Take the 100 kg face cream: production is done, but the final lab report isn't back. The batch has to sit on hold until QA approves it.

In Community:

  1. Create four locations: Production Output, QC Quarantine, Approved Finished Goods and Rejected Stock.
  2. Move every completed batch into QC Quarantine.
  3. Restrict the transfer out of quarantine to authorised users.

In Enterprise:

  1. Configure quality checks at the manufacturing or inventory stage where release happens.
  2. Record final inspection results.
  3. Route passed batches to release and failed batches to investigation or rejection.
  4. Back it with access rights and stock movement restrictions.

Here's the part that catches people out. Odoo 19 has no universal "BMR released" status that blocks every stock move automatically. A quarantine location on its own doesn't stop someone with stock rights from moving the batch. Release control has to be built from quality checks, locations, access rights and transfer rules working together. We cover how Odoo holds stock for QC in process manufacturing in our Odoo MRP guide for cosmetics plants.

How do you print the BMR from Odoo for an audit?

When an auditor asks for batch FC/2026/0042, you should be able to print its full history from Odoo in minutes, not rebuild it from folders.

Odoo's standard Production Order report gives you the basics: product and order details, planned and actual quantities, raw material consumption and operations. It isn't a full BMR. Component lots, QC results, deviations, attachments and release signatures sit on other records, so a complete BMR needs a custom report that pulls them together.

What should the custom BMR report pull in?

BMR sectionWhere the data lives in Odoo
Batch headerManufacturing order
Formula and BoMBill of Materials
Raw material consumptionComponent stock moves
Supplier lot numbersLot records in Inventory
Manufacturing processWork orders and operation records
Operator detailsWork order activity records
Process parametersQuality checks or custom fields
In-process QCQuality app or custom checklist
DeviationsQuality Alerts or custom deviation records
Batch yieldManufacturing order quantities
Packaging reconciliationPackaging component moves
Final QCQuality checks
Release approvalYour configured approval workflow

Add a document number, revision, generation date and approval block to the report itself, and it reads like the controlled document an auditor expects.

Our recommendation

Keep the BMR report connected to live Manufacturing, Inventory and Quality records. Don't run a parallel Excel BMR next to Odoo. The moment two copies exist, they'll disagree, and you'll spend audit week working out which one is true.

Building the report itself is a focused piece of QWeb and model work. If your team doesn't have Odoo development capacity in-house, you can hire an Odoo developer for that scope alone.

Paper BMR vs electronic batch record in Odoo: what changes?

Moving the BMR into Odoo isn't just scanning paper. Set up this way, Odoo works as your electronic batch record system, without a separate EBR tool. Each field stops being a handwritten copy and becomes a link to the record that produced it.

AreaPaper or Excel BMRElectronic batch record in Odoo
Batch identificationWritten by handLinked to the manufacturing order
Raw material lotsHandwritten entriesLinked to Inventory lot records
Material consumptionManually recordedRecorded through manufacturing operations
Process trackingPaper registersWork orders and configured workflows
Quality checksSeparate QC sheetsQuality records on the same batch
Operator accountabilityWet signaturesUser activity records and configured approvals
DeviationsSeparate registerQuality Alerts or configured workflow
Batch releasePhysical signatureConfigured QA approval and stock controls
RetrievalFiling cabinetsSearch by batch or lot
PrintingManual compilationOne custom report

The gain is connected data. Production, QA and stores all read the same batch, so the record auditors see is the record your team actually worked from.

How 7Span implements BMRs in Odoo

A BMR shouldn't be something your team scrambles to assemble before an audit. It should come out of the manufacturing process itself.

For cosmetics manufacturers, we set up:

  • Formula and BoM management
  • Raw material and lot traceability
  • Multi-stage manufacturing workflows
  • In-process quality inspections
  • Batch yield and material reconciliation
  • QC hold and release workflows
  • Custom BMR reports
  • Manufacturing and quality dashboards

We'll also tell you which of those standard Odoo covers in your edition and which need custom work, before any estimate. For Ruelia Professional, a haircare and skincare maker on Odoo 19 Community, we built packaging BoMs for 14 finished SKUs and a pre-production view that flags packaging shortfalls before purchase is due.

Comparing implementation partners for this work? Our 10 questions to ask an Odoo implementation partner will help you test any proposal, including ours.

Ready to move beyond paper BMRs?
Book a Fit Review

Frequently asked questions

Is an ERP-generated BMR acceptable to auditors?

In most cases, yes. ISO 22716 doesn't require paper. Electronic records are generally accepted when they're complete, legible, protected from unauthorised change and traceable to the person who made each entry. Confirm your approach with your certification body before you retire paper.

What's the difference between a BMR and a BPR?

A batch manufacturing record covers making the bulk: dispensing, mixing, in-process checks and yield. A batch packaging record covers filling and packing that bulk into finished units. Many cosmetics plants keep both under one batch number so the full history prints together. You'll also see the term batch production record, which usually means the same thing as a BMR.

What should a cosmetics BMR contain?

The batch header, line clearance and raw material dispensing with lot numbers come first. Then process steps, in-process checks, deviations and yield. It ends with packaging reconciliation, finished product QC and the release decision, signed by an authorised person.

Can Odoo Community produce an electronic batch record?

Yes, with some custom work. Community records components, lots, work order times, operators and actual quantities. Step-by-step quality checks need Enterprise or a light custom checklist, and a full BMR print needs a custom report in either edition.

Why does a cosmetics plant need a BMR?

It's the evidence that a batch was made to its approved formula and checked before sale. You need it during audits, when investigating customer complaints and when deciding which batches a recall covers.

Shyam Vasoya
Odoo Developer
Shyam is an Odoo developer who customises and extends ERP systems across CRM, HRMS, Manufacturing, and Project Management modules. He specialises in turning business requirements into automated workflows, secure portal integrations, and custom reports. His practical, detail-focused approach makes him a reliable voice for complex, multi-module Odoo projects.
India (HQ)

201, iSquare Corporate Park, Ahmedabad-380060, Gujarat, India

+91 77 97 977 977
Canada

24 Merlot Court, Timberlea, NS B3T 0C2, Canada

+1 902-333-0067

For Sales

YO@7SPAN.COM

Looking For Jobs

Apply Now
Making It Possible Light