Skip to product information
1 of 26

AgroFactory Manager - Dolibarr

Regular price €299,00
Regular price Sale price €299,00
Sold out

1. Functional Overview

AgroFactory Manager turns Dolibarr into a genuine AgroFactory ERP Suite: an integrated industrial platform to run a complete food...

2 people are viewing this right now

View full product details

1. Functional Overview

AgroFactory Manager turns Dolibarr into a genuine AgroFactory ERP Suite: an integrated industrial platform to run a complete food factory without relying on a separate industrial ERP.

Value chain covered:

Raw materials → Industrial processing → Quality control → Storage → Distribution → Customers

The module targets food plants, food-processing industries, processing units, packing stations, freezing units, dairies, slaughterhouses, canneries, beverage plants, cereal industries and fruit and vegetable processing units.

1.1 Functional scope

Domain

Coverage

Upstream

Raw materials, agricultural and industrial suppliers, reception and inbound control, packaging

Production

Recipes and formulations, finished products, production orders, shop-floor tracking, lines, machines, planning

Traceability

Lots, upstream / internal / downstream traceability, use-by and best-before dates, product recalls

Quality

HACCP control plan, laboratory, non-conformities, certifications

Cold chain

Cold rooms, freezers, IoT supervision, temperature alerts

Support

Industrial maintenance (CMMS), HSE, industrial costs

Decision

Dashboard, reporting, industrial AI assistant, REST API

1.2 Key figures

Item

Value

Business objects

24 (each with list, card, search, column selector and access control)

Permissions

26 across 9 functional groups

Menu entries

31 (1 top level + 30 left menu)

Database tables

24 (llx_afm_*)

Languages

French, English, Spanish, Italian, German

Reports

8, exportable to CSV, Excel, Word and PDF

REST API routes

9

Dashboard charts

6 industrial charts + status kanban + alert zone


 

2. Architecture

The module is organised into six complementary industrial engines, all backed by the same data repository and by Dolibarr's native modules.

Engine

Responsibility

Production Engine

Production orders, planning, routings, recipes, consumption, yields

Food Traceability Engine

Lots, upstream traceability, downstream traceability, product recalls

Quality Management Engine

Quality controls, analyses, non-conformities, corrective actions

Cold Chain Engine

Temperature, cold rooms, refrigerated storage

Industrial Cost Engine

Production costs, margins, profitability

Reporting Intelligence Engine

KPIs, analysis, industrial reports, decision intelligence

2.1 Technical design

·       Every business object extends Dolibarr's CommonObject and is declared in a single registry (lib/agrofactorymanager_objects.php) that drives the generic list and card engines.

·       Tables are prefixed llx_afm_*; each carries entity, status, creation and modification audit columns and an import_key used to isolate demonstration data.

·       A schema self-heal runs at activation: Dolibarr only ever runs CREATE TABLE, so missing columns are added with ALTER TABLE on upgrade.

·       Multi-company is supported throughout: every query filters on getEntity().

·       All language keys are prefixed (Afm...) so no other installed module can win the shared translation merge and render its own wording inside this module's screens.

·       Icons are restricted to Font Awesome 5 Free, the version Dolibarr 16–23 ships.


 

3. Manufacturing Process

The module implements the full industrial flow, from the supplier's lot to the customer delivery.

3.1 Inbound flow

Supplier order → Reception → Quality control → Acceptance or rejection → Put to stock

·       Reception records the weighing (received quantity, net weight) and the temperature on arrival.

·       Visual check and laboratory analysis are recorded independently (compliant, non-compliant, pending).

·       Reception status: pending control, accepted, partially accepted, rejected (with reason).

·       The supplier lot captured here is the key of the upstream traceability chain.

3.2 Recipes and formulations

·       Versioned recipes with validation (validator and validation date).

·       Recipe types: standard, organic, seasonal, trial.

·       Batch size, expected yield, preparation time, cooking time and cooking temperature.

·       Composition lines carry the ingredient, dosage, unit, share of batch, allergen flag and substitutability.

·       The batch cost is derived from each ingredient's dosage and unit price.

3.3 Production orders and shop-floor tracking (lightweight MES)

Order lifecycle: planned → released → in progress → paused → completed / cancelled

Manufacturing route: preparation → processing → cooking → cooling → packaging → storage

·       Each order carries the product, recipe, line, team, priority and planned / produced / scrapped quantities.

·       Yield and progress are computed from the planned and produced quantities.

·       Every step records its start and end, duration, temperature, operator and input / output quantities.

·       Machines and external MES can declare production through the REST API, which recomputes yield and progress.

3.4 Planning

·       Daily, weekly and monthly views.

·       Machine load per line: planned quantity against the theoretical capacity of the window.

·       Above 100 percent the line is overloaded (red); above 80 percent it is under tension (orange).

·       Priorities and resource availability are shown alongside the scheduled orders.


 

4. Traceability

One-click food traceability is the module's most critical capability: a single lot number returns the complete genealogy of the product, both upstream and downstream.

Direction

Returned information

Upstream

For every component: raw material, supplier, supplier lot, origin, certification, reception and reception date

Internal

Production order, line, team, yield and every manufacturing step (dates, durations, temperatures, operators)

Quality

All quality controls of the lot with measured value, limits, conformity and CCP flag

Downstream

Customers delivered, quantities, carrier, delivery temperature and destination

In the event of a food-safety alert, this single search returns the exact list of customers to recall, which is the regulatory expectation under EC Regulation 178/2002.

4.1 Lots, use-by and best-before dates

·       Lot statuses: pending analysis, released, blocked (with reason), consumed, recalled.

·       Use-by (DLC) and best-before (DDM) dates are derived from the production date and the product setup.

·       Lots approaching their use-by date are raised on the dashboard (threshold configurable, 15 days by default).

·       Product recalls record the concerned and recovered quantities, the customers involved and whether the authorities were informed.


 

5. Quality Management

5.1 Control plan (HACCP)

Control family

Purpose

Physical

Temperature, weight, foreign bodies, packaging integrity

Chemical

pH, fat content, additives, residues

Microbiological

Total flora, coliforms, Listeria monocytogenes, Salmonella

Organoleptic

Texture, taste, appearance, smell

·       Each control records a control point, a parameter, a measured value, lower and upper limits and a conformity verdict.

·       The CCP flag marks critical control points of the HACCP plan.

·       Controls are attached to the lot, the product and the production order, which feeds the traceability view.

5.2 Non-conformities and corrective actions

Process: detection → root cause analysis → corrective action → validation

·       Root cause analysis methods: 5M, Ishikawa, 5 Why.

·       Types: product, process, supplier, hygiene, equipment. Severity: minor, major, critical.

·       Root cause, corrective action, owner, closure date and financial impact are recorded.

·       Non-conformities feed the defect Pareto and the AI quality assistant.

5.3 Laboratory

·       Sample types: raw material, in-process, finished product, surface swab, water.

·       Analysis statuses: pending, running, completed, validated.

·       Internal or external laboratory, analyst and validator are recorded.

5.4 Certifications

Tracked schemes: ISO 22000, HACCP, IFS, BRC, BIO (organic) and Halal. The module records the certification body, scope, obtention, expiry and audit dates, the auditor and the number of findings. Certifications expiring within 90 days are raised on the dashboard.

5.5 Cold chain

·       Every enclosure carries its capacity, target temperature, minimum and maximum bounds, humidity and fill rate.

·       Any reading outside the range switches the enclosure to alert and is journalled with its deviation.

·       24-hour temperature curves are drawn per enclosure from the IoT readings.

·       Sensors push readings through the REST API, which computes the alert level and updates the enclosure.


 

6. API

The module exposes a REST API to connect machines, IoT gateways and external systems. It requires Dolibarr's API/Web services module to be enabled and an API key on the calling user.

Base URL: /api/index.php/agrofactorymanager/ — authentication through the DOLAPIKEY header.

Method

Route

Purpose

GET

kpi

Factory KPIs (production, quality, traceability, cold chain, maintenance)

GET

productionorders

List production orders (filterable by status)

GET

productionorders/{id}

One production order with its manufacturing steps

POST

productionorders/{id}/declare

Machine production feedback (quantity, scrap); recomputes yield and progress

GET

lots

List production lots

GET

traceability/{ref}

Full genealogy of a lot (upstream, steps, quality, downstream)

GET

coldrooms

Cold rooms with their current temperature

POST

readings

Push an IoT reading; computes the alert level and updates the room

GET

qualitycontrols

List quality controls

6.1 Example — pushing an IoT temperature reading

curl -X POST "https://<host>/api/index.php/agrofactorymanager/readings" \
     -H "DOLAPIKEY: <your-api-key>" \
     -d "coldroom=2&temperature=5.8&humidity=81&sensor=IOT-002"

The endpoint stores the reading, computes its alert level against the room's min/max range (none / warning / critical), updates the room's current temperature and status, and returns the created reading as JSON.

6.2 API behaviour and guarantees

·       Every route enforces the permission of its functional group for the authenticated caller.

·       An invalid API key receives a 401 response; an unauthorised group receives a 403.

·       Sort fields are whitelisted against the real table columns before reaching SQL.

·       Result sets are paginated and capped (default 100, maximum 500 rows per call).


 

7. Security

7.1 Permission model

The module defines 26 permissions across 9 functional groups, set per user or per group in Setup → Users and groups.

Group

Scope

Actions

material

Raw materials, suppliers, receptions, packaging

read / write / delete

production

Recipes, finished products, production orders, steps, lines

read / write / delete

quality

Quality controls, laboratory, non-conformities, certifications

read / write / delete

traceability

Lots, traceability, deliveries, recalls

read / write / delete

coldchain

Cold rooms, IoT readings

read / write / delete

maintenance

Machines and maintenance operations

read / write / delete

hse

HSE events

read / write / delete

cost

Industrial costs

read / write / delete

reporting

Reporting and AI assistant

read

Read and write are granted by default at activation so the module is usable immediately; delete and administration are not.

7.2 Data protection

·       Every list and card page checks the permission of its object's group before rendering.

·       All queries are filtered by entity, so multi-company data never leaks across entities.

·       Forms are protected by Dolibarr's CSRF token; posted payloads are re-validated against a whitelist.

·       All values are escaped before reaching the database and HTML-escaped on output.

·       User-supplied sort fields and view switches are whitelisted, never interpolated raw into SQL.

7.3 Audit trail

Every record carries its author and creation date, and its last modifier and modification date. Actions are journalled through Dolibarr's native event log.

7.4 Demonstration data isolation

The demonstration dataset is tagged with a dedicated import key. Removing it deletes only tagged rows — and cascades to user-created children of demonstration parents so that no record is ever left orphaned on a dead foreign key. Real production data is never touched.

 

AgroFactory Manager — published by DoliResources
www.doliresources.com — © 2026 DoliResources — GNU GPL v3 or later