Discover powerful Dolibarr extensions designed to automate your business processes

Olive Grove Management turns Dolibarr ERP & CRM into a complete business system for an olive estate. It covers the entire value chain of olive growing and olive oil production: land registry and cartography, orchard agronomy, campaign planning, irrigation, fertilization, plant protection, workforce, machinery, harvest, weighing, transport, milling, tank farm, blending, packaging, labeling, sales, invoicing, quality, certification, end-to-end traceability and profitability analysis.
The module is designed for every form of olive production: traditional, intensive and super-intensive orchards, irrigated and rainfed, organic and conventional, single-site and multi-site estates, oil and table olive production, estates operating their own mill, cooperatives, producer groups and exporters.
It ships with 59 business objects, 39 granular permissions, a five-language interface (French, English, Spanish, Italian, German), a REST API, PDF documents, QR label sheets and a complete demonstration dataset.
Professional responsibility notice
This module is a management, planning, traceability and decision-support tool. It replaces neither agronomic diagnosis, nor the advice of an agronomist, nor the prescription of a plant protection treatment, nor laboratory analyses, nor the harvest or processing decision, nor the applicable health, environmental and olive-sector regulations. Every sensitive technical decision remains the responsibility of qualified professionals.
· Give the estate manager one consolidated view of the orchard, the running campaign and the value chain through to the invoice.
· Make every intervention traceable, from the nursery plant lot to the bottle delivered to the customer, and back.
· Shorten the harvest-to-milling delay, the single most important lever on the quality of extra virgin olive oil.
· Track the real production cost per hectare, per tree, per kilogram of olives and per litre of oil.
· Support certification audits (organic, PDO, PGI, GlobalG.A.P., HACCP) with complete, dated and attributable records.
· Replace the spreadsheets used for time sheets, irrigation logs, treatment registers and tank inventories with a single auditable system.
|
Domain |
Objects |
Highlights |
|
Land |
Farms, sites, parcels |
GPS cartography, soil, slope, exposure, irrigation system |
|
Orchard |
Groves, rows, trees, varieties |
Training system, density, per-tree QR identity |
|
Campaign |
Campaigns, phenology, forecasts |
Season Sept→Aug, 11 phenological stages, revisable forecasts |
|
Planting |
Projects, plant lots, plantings, establishment checks, replacements |
Nursery traceability, establishment rate |
|
Crop management |
Operations, pruning, soil work |
15 operation types, 6 pruning types, residue destination |
|
Irrigation |
Water sources, programs, irrigations |
Volume, energy, water and energy cost per run |
|
Fertilization |
Plans, applications, analyses |
Soil, water, leaf and fruit analysis |
|
Plant health |
Pests, observations, treatments, traps |
Pre-harvest interval tracking, trap catch history |
|
Workforce |
Workers, teams, time sheets |
Mobile field entry, cost per hour |
|
Assets |
Inputs, equipment, maintenance, fuel |
Stock thresholds, expiry, downtime, consumption |
|
Harvest |
Harvests, weighings, olive lots, transport |
Weighbridge integration, maturity index |
|
Mill |
Receptions, milling orders and operations, oil lots, quality, by-products |
9 process steps, real oil yield |
|
Tank farm |
Tanks, movements, blends |
Fill synoptic, decanting, blending validation |
|
Packaging |
Formats, packaging orders, table olives |
10 formats, batch code, best-before date |
|
Sales |
Contracts, deliveries, third-party milling |
Committed vs delivered volume, oil-share payment |
|
Quality |
Certifications, non-conformities, complaints |
Audit dates, corrective actions, credit notes |
|
Costing |
Cost lines |
22 cost categories, unit cost analysis |
Permissions are grouped by business domain so a profile is composed by selecting the groups a role needs. Read and write are enabled by default; delete and the two sensitive overrides are opt-in.
|
Permission group |
Typical roles |
Rights |
|
land |
Direction, farm director, agronomist |
read / write / delete |
|
crop |
Crop manager, site manager, team leader |
read / write / delete |
|
water |
Irrigation technician, fertilization manager |
read / write / delete |
|
health |
Plant health technician, agronomist |
read / write / delete |
|
work |
Team leader, HR, payroll |
read / write / delete |
|
asset |
Store keeper, mechanic, maintenance technician |
read / write / delete |
|
harvest |
Harvest manager, weighing operator |
read / write / delete |
|
mill |
Mill manager, milling operator, tank manager |
read / write / delete |
|
pack |
Packaging manager |
read / write / delete |
|
sales |
Sales manager, billing, accountant |
read / write / delete |
|
quality |
Quality manager, auditor |
read / write / delete |
|
cost |
Direction, accountant, controller |
read / write |
|
report |
All management roles, auditor, read-only user |
read |
|
phi |
Agronomist, quality manager |
override a pre-harvest interval |
|
blend |
Mill manager, quality manager |
validate a blend or oil category |
|
admin |
Administrator |
module settings and demo data |
The two override rights deserve emphasis: derogating from a pre-harvest interval and validating a commercial oil category are decisions with legal consequences, so they are never granted implicitly.
The Olive Grove and Olive Oil Production Command Center opens the module. It is organised as a lifecycle ribbon followed by six indicator zones and an alert board.
Twelve steps from planting to sale — planting, bud break, pruning, flowering, fruit set, fruit growth, ripening, harvest, crushing, tank storage, packaging, sales — each showing its current figure with the unit it is counted in.
|
Zone |
Indicators |
|
Orchard and assets |
Olive growing area, planted area, parcels, active groves, declared trees, productive / young / weak trees, average density, establishment rate |
|
Running campaign |
Active campaigns, forecast harvest, olives harvested, realisation rate, oil produced, average oil yield, yield per hectare, yield per tree |
|
Operations and resources |
Planned / completed / late operations, water used, irrigation cost, fertilizer used and cost, treatments, labour hours and cost, equipment available and out of order |
|
Mill and tank farm |
Olive lots, lots awaiting milling, average harvest-to-milling delay, oil stock, free tank capacity, tank fill rate, units packaged |
|
Sales and profitability |
Active contracts, deliveries this month, revenue, production cost, gross margin, margin rate, cost price per litre |
|
Alerts |
15 counters, each linking to the filtered list behind it |
Two rules govern every figure. A ratio guards its own denominator and is omitted rather than shown as zero when the measurement does not exist yet — a missing measurement is unknown, not zero. And both sides of a ratio always describe the same population over the same period.
· Monthly series: olives harvested, oil produced, water consumption, labour hours
· Distribution: area by variety, orchard condition, oil categories, cost breakdown
· Comparison: yield by grove, trees by age bracket
Monthly series are zero-filled across the full twelve-month window so an empty month can never silently shorten the axis. Seasonal series (harvest, milling) legitimately show empty months outside the campaign.
A farm is the top-level entity: legal name, linked third party, farm type, production mode, address, GPS coordinates, total and planted area, manager, integrated mill, tank capacity, water resources and certifications held.
· Farm types: family farm, large estate, farming company, olive cooperative, producer group
· Production modes: conventional, organic, organic conversion, integrated production
· Sites split a farm into grove sites, mill, warehouse, tank farm, packaging area and offices
A parcel is the cadastral and agronomic unit. It carries its cadastral reference, area, GPS position, geographical outline, soil type, slope, orientation, altitude, exposure, irrigation system, previous crop and status.
· Soil types: clay, loam, sandy, calcareous, silty clay, stony
· Statuses: available, being prepared, planted, productive, being renewed, resting, unavailable, archived
· A dedicated map view plots every georeferenced parcel as a self-contained SVG, sized by area and coloured by whether it carries groves. No external tile server is contacted, so the page also works on an air-gapped instance.
A grove is a homogeneous planting inside a parcel: main and secondary varieties, planting year, area, tree count, density, row and tree spacing, training system, harvest method, irrigation mode, production mode, first cropping date, target yield, destination and manager.
· Training systems: traditional, intensive, super-intensive, other
· Destinations: olive oil, table olive, mixed
· The grove card shows a KPI cockpit — trees, area, density, training system and olives harvested — plus every linked record with one-click creation
The orchard can be managed at five levels: farm → parcel → grove → row → tree. Individual tree management is optional and is disabled on very large estates, where work is then tracked by row or block.
· A row carries its code, block, variety, tree count and length
· A tree carries its identifier, QR code, row, position, variety, rootstock, planting date, plant origin and lot, condition, vigour, productivity and trunk diameter
· Tree conditions: planted, growing, productive, weak, diseased, damaged, dead, uprooted, replaced
· When trees are recorded as a monitored sample, the dashboard names that population explicitly so its counts are never mistaken for the whole orchard
A configurable variety reference: code, name, country of origin, destination, flowering and ripening period, reference oil content, average fruit weight, pollinators, declared traits and declared sensitivities.
· Shipped with twelve varieties: Picholine marocaine, Arbequina, Arbosana, Koroneiki, Picual, Hojiblanca, Manzanilla, Frantoio, Leccino, Chemlali, Gordal Sevillana, Kalamata
· The reference oil content drives the estimated yield of a milling order; the real yield is always measured, never assumed
A planting project runs from study to establishment check: parcel, variety, area, planned tree count, density, training system, planned irrigation, planned date, budget, nursery supplier, manager, preparatory works and status.
· Workflow: draft → under study → validated → land preparation → planting → establishment check → completed
Nursery plant lots are tracked individually so a tree can always be traced back to its origin: supplier, variety, rootstock, reception date, quantities received, used and lost, plant age, declared health status, certificate reference, unit cost and temporary storage location.
A planting record links a project, a parcel, a grove and a plant lot: date, variety, planned and planted quantities, losses, density, team, working time and cost.
An establishment check records the trees checked, established, weak and dead, computes the establishment rate and the number of trees to replace.
· The rate is computed on the same population on both sides of the ratio
· The dashboard shows the average establishment rate only once a check exists
Replacement, uprooting and top grafting operations: grove, tree, operation type, date, reason, tree count, new plant lot, residue destination, manager and cost.
· Reasons: mortality, disease, insufficient yield, weather damage, ageing, variety change
A campaign runs from September to August. It carries the season, farm, start and end dates, status, forecast and actual olive and oil volumes, budget, actual cost, manager, objectives and results.
· Statuses: draft, planned, validated, ongoing, suspended, finished, closed, cancelled
· Campaign totals are recomputed from the records actually created, never entered twice
Eleven configurable stages — vegetative rest, bud break, inflorescence development, flowering, fruit set, fruit growth, pit hardening, veraison, ripening, harvest, post-harvest — recorded per grove, variety and date with an estimated percentage and an observer.
Operations, irrigation, fertilization, treatments, trap checks, analyses, harvest and maintenance are all dated and filterable by grove, parcel, campaign, team and equipment, giving a single working calendar for the estate.
The central work record: grove, parcel, campaign, operation type, planned and actual dates, team, equipment, duration, area covered, tree count, labour cost, input cost, total cost and status.
· 15 operation types: soil preparation, planting, pruning, weeding, tillage, mulching, residue shredding, irrigation repair, fertilization, plant protection treatment, trap setting, harvest, transport, cleaning, other
· Statuses: planned, in progress, completed, late, cancelled. An open operation whose planned date has passed is flagged late by the daily scheduled job
Dedicated pruning records: type, date, rows covered, tree count, team, duration, equipment used, residue weight, residue destination and cost.
· Types: formation, production, renewal, sanitary, sucker removal, deadwood removal
Ploughing, stubble cultivation, hoeing, mechanical and manual weeding, shredding, mulching, cover crop and strip maintenance, each with area, team, equipment, duration and cost.
Permanent staff, seasonal workers, day labourers and external contractors, with job role, skills, hiring date, hourly and daily rate, phone and status. Workers can be linked to a Dolibarr user.
· 17 job roles from farm director to farm worker, covering the whole estate
· Teams group workers by speciality: field, pruning, harvest, irrigation, treatment, mill, packaging, maintenance
A dedicated mobile page with large touch targets lets a team leader record, from a tablet or a smartphone in the grove, a time sheet (worker, grove, activity, hours, quantity done, trees) or a plant health observation (grove, organism, intensity, infestation rate, trees checked).
· The labour cost is computed from the worker's hourly rate at save time
· The last records entered are listed underneath for immediate verification
Water sources (wells, boreholes, reservoirs, canals, rivers, dams, collective networks, recycled water) with capacity, flow, depth, pump power, energy type, water price, authorization reference and status.
· Irrigation programs are defined per grove, phenological stage and sector, with frequency, dose per hectare and planned volume
· Each irrigation run records date, start time, duration, flow, volume, mode, operator, energy consumed, water cost, energy cost, total cost and any incident
· The module computes volumes and costs from the values entered. It does not determine the definitive agronomic water requirement.
Consumption is aggregated per farm, parcel, grove, source and campaign, with water cost, energy cost and declared losses, and charted month by month.
Fertilization plans per grove, campaign and product, with planned quantity, application method, frequency, period and planned cost. Applications record the product, its lot, date, area, tree count, quantity used, method, operator, equipment and cost.
· Methods: broadcast spreading, localized application, fertigation, foliar application, band application, manual application
Soil, water, leaf and fruit analyses: parcel, grove, sample reference, sampling and result dates, laboratory, pH, organic matter, nitrogen, phosphorus, potassium, calcium, conductivity, other results, the laboratory's recommendation and the cost.
· The module stores and presents laboratory results. It never interprets them automatically: the recommendation is the laboratory's, to be validated by an agronomist.
A configurable reference of pests, diseases, weeds and beneficial organisms — olive fruit fly, olive moth, black scale, psyllid, thrips, otiorhynchus, verticillium wilt, peacock spot, olive knot, cercosporiosis, anthracnose and more — each with its scientific name, affected organ, risk period, symptoms, monitoring method and an indicative threshold entered by the estate.
· Field observations record grove, parcel, campaign, organism, date, observer, intensity, infestation rate, trees checked, zone, proposed action and status
· Statuses: open, under monitoring, treated, closed
A complete treatment register: grove, campaign, target organism, product and its lot, declared active substance, dose, spray volume, area, tree count, date, start time, operator, equipment, recorded conditions, reason, pre-harvest interval, indicative interval end date, method and cost.
· The module displays the information and alerts configured. It does not prescribe a treatment and does not replace the official instructions applicable to regulated products.
Traps with type, bait, location, GPS position, installation date, last and next check dates, last and cumulative catches, and status. Each check records the date, the catch count, the observer and whether the bait was replaced.
· Trap types: chromotropic, McPhail, pheromone, food bait, delta
· Traps whose next check date has passed are flagged automatically by the daily job
Each treatment carries its pre-harvest interval in days; the module computes the indicative end date, counts the intervals still running, and flags the olive lots concerned.
· A configuration option blocks harvesting administratively while an interval runs
· Derogation requires the dedicated override permission, which is never granted by default
· Each olive lot carries an explicit pre-harvest-interval-checked flag
Plants, fertilizers, amendments, plant protection products, beneficial organisms, traps and baits, harvest nets, crates and bins, packaging, consumables, fuel and spare parts, each with composition, unit, stock, minimum stock, unit cost, warehouse, lot number, expiry date, approval number, default pre-harvest interval and organic approval.
Inputs and packaging formats can be linked to Dolibarr Products and Services, so the native Stocks, Warehouses and Lots modules manage physical stock, valuation and movements while the olive module keeps the agronomic view.
· Two alert counters: inputs below their minimum stock, and inputs approaching expiry
Suppliers of plants, fertilizers, plant protection products, harvest equipment, machinery, spare parts, packaging, bottles, caps, labels, analyses, transport and olive-sector services are managed through the native Dolibarr third-party, purchase order, reception and supplier invoice modules.
Tractors, trunk and branch shakers, electric combs, sprayers, mist blowers, shredders, trailers, pumps, generators, vehicles, scales, milling equipment, filters, packaging lines and hand tools, with brand, model, serial number, commissioning date, hour meter, odometer, fuel type, purchase and hourly cost, next maintenance date and status.
Preventive maintenance, corrective maintenance, general overhaul, calibration, regulatory inspection and breakdown repair, with planned and actual dates, description, provider, technician, parts cost, labour cost, total cost, downtime and hour meter reading.
· An open maintenance whose planned date has passed feeds the maintenance-due alert
Refuelling and energy records per machine: energy type, date, quantity, unit price, total amount, supplier, hour meter, operator and voucher reference. Diesel, gasoline, electricity, solar, gas and biomass are supported.
A forecast per campaign, grove and variety: version number, forecast date, productive trees, yield per tree, forecast quantity, estimated oil yield, forecast oil volume, planned start and end dates, destination, manager and status.
· Several successive revisions are kept, each with its own version number
· The dashboard compares the forecast with the actual harvest as a realisation rate
Planning covers grove, variety, planned date, team, method, equipment, nets, crates, transport, destination mill, planned quantity and daily capacity.
· Methods: hand picking, hand comb, electric comb, trunk shaker, branch shaker, straddle harvester, ground pickup
Each picking session records campaign, farm, grove, variety, date, team, method, gross and net quantity, crates, duration, olives picked from the tree and from the ground, maturity index, destination, labour cost and total cost.
· A harvest record is a picking session, not a whole grove: a grove's crop is normally split over two or three sessions
Weighings record the harvest, the olive lot, date and time, vehicle, driver, scale, gross weight, tare, net weight, operator and ticket number.
· The REST API exposes a weighing endpoint so an electronic weighbridge can push its readings directly; the olive lot weight and status are updated accordingly
· A weighing ticket PDF can be printed for each record
The olive lot is the pivot of upstream traceability: unique code, campaign, grove, variety, harvest, date, team, method, weight, quality grade, maturity index, ground-picked flag, pre-harvest-interval-checked flag, destination, mill and status.
· Statuses: created, weighed, waiting, transported, received, being milled, milled, rejected, closed
Transport records the lot, farm, destination mill, vehicle, driver, departure and arrival, duration, quantity, distance, document reference, cost and any incident. The module computes the delay between harvest and milling and raises an alert above the configured threshold.
Reception handles internal lots, third-party producer lots, milling services, olive purchases and deposits for milling, with date and time, weight, variety, declared origin, harvest method, recorded visual state, declared quality, leaf and impurity percentages, queue number, waiting time, operator and status.
A dedicated page lists the deliveries waiting, with their queue number, producer, lot, variety, weight, arrival time, waiting time, visual state and status, followed by the milling orders currently planned, queued or running.
· The waiting counters only count genuinely open states, so an idle mill never reads as a busy one
A configurable nine-step workflow — reception, defoliation, washing, crushing, malaxation, separation, centrifugation, filtration, tank storage — each step recording start time, duration, temperature, input and output quantity, loss, operator and free-form parameters.
· The module records the parameters entered by the operator. It imposes no automatic technical setting.
The real oil yield is computed from two measured weights: oil obtained divided by olives actually milled. It is analysed per variety, grove, campaign, harvest method, production line and producer, and compared with the forecast.
· The yield is never printed when either weight is missing: an unmeasured yield is unknown, and showing zero would state something different and false
The oil lot is the pivot of downstream traceability: unique code, campaign, milling order, farm, variety, source olive lots, production date, quantity in kilograms and litres, yield, tank, commercial category, filtration state, acidity, peroxide value, organic flag, certification, unit cost and status.
· Categories: extra virgin, virgin, lampante, refined, olive oil, pomace oil
· The category is consistent with the measured acidity; the module never assigns a definitive commercial category without validation by an authorised user
Laboratory analyses per oil lot: laboratory, date, analysis kind, acidity, peroxide value, K232, K270, delta-K, moisture, impurities, sensory score and note, other parameters, proposed category, validator, cost and status.
· Kinds: routine control, official analysis, sensory analysis, release analysis, customer analysis
· An oil lot without any quality analysis is surfaced by a dedicated alert
Tanks with reference, type, material, capacity, current quantity, available capacity, location, current oil lot, filling date, last cleaning, temperature and status.
· Types: storage, decanting, blending, day tank, transport
· Materials: stainless steel, epoxy coated steel, food grade resin, terracotta, coated concrete
· Statuses: empty, available, reserved, filling, full, decanting, in storage, transferring, cleaning, unavailable
· A synoptic page shows every tank as a gauge, turning red above the configured saturation threshold
Filling, draw-off, transfer, blending, filtration, inventory adjustment and loss, each recording the oil lot, source and destination tanks, date, quantity, operator, reason and document reference.
A blend records its source lots and quantities, the destination tank, the resulting oil lot, the date, the target profile entered and the validator.
· Validation is reserved to the dedicated blend permission
Pomace, olive mill wastewater, leaves, pits, wash water and sludge, with origin, quantity, date, recovery route, service provider, document reference, cost and revenue.
· Recovery routes: composting, energy recovery, animal feed, pomace oil extraction, agricultural spreading, treatment plant, sale to a third party
Packaging orders run oil lot → optional filtration → packaging preparation → filling → capping → labeling → cartoning → palletising → finished stock, recording format, planned and completed quantities, rejects, volume, line, batch code, best-before date, team, duration and cost.
· Formats: glass bottle, PET bottle, metal tin, bag-in-box, drum, bulk — each with capacity, empty weight, supplier, stock, unit cost, sale price, units per carton and dimensions
Label sheets are generated as PDF for trees, tanks and oil lots. Each label carries the commercial identity of the item and a QR code holding its traceability identifier, ten labels per A4 sheet.
· Oil lot labels carry category, variety, campaign, production date, acidity and the organic mention where applicable
The traceability page reconstructs the full chain in both directions and prints it as a certificate.
· Farm → parcel → grove → harvest and olive lot → milling order → tank and oil lot → quality analyses
· Plus every crop intervention recorded on the source grove: operations, irrigation, fertilization, treatments, pruning and soil work
· Oil lot → packaging order and batch code → delivery → customer
An activatable sub-module for table olive production: campaign, source olive lot, variety, reception date, input quantity, calibre, processing type, brine concentration, process start and end dates, output quantity, losses, storage location, quality grade and status.
· Processing types: Spanish-style green, naturally black, oxidised black, dry-salt cured, cracked
· Statuses: received, sorting and grading, debittering, fermenting, in brine, stored, packaged, sold
· The module records the parameters entered; it imposes no automatic technical setting.
Customers are native Dolibarr third parties, typed by the module as wholesaler, distributor, retailer, buying group, supermarket chain, exporter, restaurant, hotel, food industry, cooperative or private customer.
Quotations use the native Dolibarr module. A sales line can carry the product, oil lot, variety, category, format, quantity, unit, price, delivery date and destination.
Sales orders use the native Dolibarr module. A module contract can be linked to a sales order so committed and delivered volumes stay reconciled.
An oil lot, a tank quantity or a packaged product can be reserved for a contract or an order. Contracts track committed volume against delivered volume, and the tank synoptic shows the free capacity, so over-reservation is visible.
Deliveries record customer, contract, oil lot, packaging order, format, native Dolibarr order, date, units, volume, carrier, vehicle, document reference, amount, recipient signature and status.
· Statuses: planned, prepared, shipped, delivered, refused, returned
· A delivery planned in the past and still open feeds the late-delivery alert
Invoicing relies on the native Dolibarr chain — quotations, sales orders, shipments, customer invoices, payments, banks, cash and accounting. The module supports invoicing by order, by delivery, grouped, by contract, for bulk, for packaged goods and for third-party milling services, with down payments, partial payments, credit notes and unpaid tracking.
A dedicated workflow for producers who bring their olives: reception → weighing → check → milling → yield calculation → oil return → service invoicing.
· Payment modes: cash, payment in oil, mixed, deferred invoicing
· Oil returned and oil retained are recorded separately so the estate's own stock is never confused with a customer's
Cost lines are recorded per campaign, farm and grove across 22 categories: plants, land preparation, irrigation and water, energy, fertilizers, treatments, labour, pruning, soil management, equipment, fuel, maintenance, harvest, transport, milling, storage, analyses, packaging, losses, delivery, certifications and other charges.
Revenue, total cost, gross margin and margin rate are computed over the same rolling twelve-month window on both sides, so the rate compares like with like.
A dedicated page presents the cost per hectare, per tree, per kilogram of olives and per litre of oil, the cost breakdown by category, monthly sales, and a profitability table per grove.
· Every unit cost guards its own denominator: a grove with no recorded harvest shows a dash, not a zero
Organic farming, protected designation of origin, protected geographical indication, GlobalG.A.P., HACCP, ISO 22000, ISO 9001, IFS Food, export approval and internal standards, each with certification body, scope, grant and expiry dates, last and next audit, findings, certificate number, annual cost and status.
· Certifications approaching expiry are surfaced by an alert with a configurable notice period
Non-conformities record date, process area, farm, grove, olive lot, oil lot, tank, customer, severity, description, immediate action, root cause, corrective action, owner, due date, closure date and status.
· Severities: minor, major, critical
· Statuses: open, under analysis, action ongoing, effectiveness verified, closed
Complaints record customer, delivery, oil lot, date, reason, quantity concerned, description, investigation, answer, credit note amount, owner and status.
· Reasons: product quality, faulty packaging, labelling, quantity discrepancy, delivery delay, damaged goods, missing documentation
Six report families, filterable by campaign and exportable to CSV.
· Orchard and plantings: groves, area by variety, orchard condition, establishment checks
· Operations and workforce: operations by type, pruning, time sheets by activity, teams
· Water, inputs and equipment: irrigation by grove, fertilization, treatments by target, equipment and maintenance, input stock
· Harvest and yields: yield by grove and by variety, harvest methods, olive lots by status
· Mill, tank farm and quality: milling by line, yield by variety, oil categories, quality analyses, tanks, by-products
· Sales, costs and profitability: cost breakdown, cost per grove, deliveries by customer, contracts, milling services, non-conformities
Every exported cell is decoded before it is written, so no HTML entity ever reaches the CSV file. The module also declares native Dolibarr exports for groves, trees, harvests, olive lots, oil lots and costs.
The consolidated data supports decision-making across the estate.
· Harvest forecasting and forecast-versus-actual analysis
· Yield evolution and the alternate bearing pattern of the olive tree
· Performance by grove, by variety and by plantation age
· Workforce and input requirement planning
· Stock-out and expiry risk
· Disease frequency and treatment cost
· Harvest-to-milling delay and its effect on the oil category obtained
· Production line performance and tank occupancy
· Losses, sales seasonality and profitability by grove, variety and lot
· Renewal and maintenance requirements
These analyses remain decision-support. They do not replace agronomic judgement.
A secured REST API is exposed at /api/index.php/olivegrove/, protected by the same granular permissions as the interface.
· Generic access to all 59 objects: list with pagination and validated sorting, read, create and delete
· Consolidated indicators and alert counters
· Full traceability chain of an oil lot
· Localised business vocabularies
· Olive lots awaiting milling, oldest first
· Weighing endpoint for weighbridge integration
· Authentication by API key header; unauthorised access returns 401, an unknown object 404 and an invalid sort field 400, each with a structured JSON body
· Granular permissions checked on every page and every API route before any query runs
· SQL built from the object registry, so column names cannot originate from user input; values are type-filtered and cast
· Sort fields whitelisted against the real column list
· CSRF tokens on every form, validated by the Dolibarr core
· Output escaped on rendering; JavaScript strings escaped separately
· Demonstration data purge runs inside a transaction and deletes strictly by its own marker
· The scheduled job performs no destructive operation
· No Dolibarr core file is modified
A complete demonstration dataset is generated on first activation and can be regenerated or removed from the configuration page. Every generated row is flagged as fictitious.
· Approximately 6 600 rows across all 59 tables, including 2 farms, 18 parcels, 24 groves, 412 trees, 12 varieties, 3 campaigns, 30 workers, 10 teams, 26 machines, 165 irrigation runs, 145 harvests, 120 olive lots, 120 oil lots, 18 tanks, 980 milling operations, 100 deliveries and 450 cost lines
· The dataset is agronomically calibrated: yields, oil yields, establishment rate, costs per hectare and margin rate all sit in realistic ranges
· Removal deletes only the generated rows, cascades to any record created underneath them, and protects real data
Copy the module folder into htdocs/custom/ or deploy the ZIP archive from the Dolibarr module page, then enable Olive Grove Management.
· Dolibarr 17 to 23, PHP 8.0 or later, MySQL or MariaDB
· Depends on the native Products and Third Parties modules
· Activation creates the tables, the permissions, the menus, the home widget, the scheduled job and the demonstration dataset
· On upgrade the module self-heals its schema, adding any column introduced since the installed version
· module_olivegrove-1.0.zip — the installable module
· screenshots/ — documentation captures of every screen
· Olive_Grove_User_Training_Manual_FR.pdf — the illustrated French training manual
· Olive_Grove_Complete_Features_EN.docx — this document
· Olive_Grove_Technical_Documentation_EN.md — the technical documentation
Copyright © DoliResources — www.doliresources.com
Olive Grove Management / Gestion Oliveraie — version 1.0.0