Discover powerful Dolibarr extensions designed to automate your business processes

1. Module Overview
Advanced Agricultural Cooperative Management turns Dolibarr into a complete operating system for an agricultural cooperative. It covers the whole chain from the membership application to the payment of the patronage refund: governance and membership life, member farms and parcels, crop campaigns and production forecasts, collection planning, member deliveries, weighing, quality control and grading, pricing with premiums and penalties, lots and two-way traceability, storage, group purchasing and input distribution, member advances and settlements, pooled marketing, allocation of receipts, surplus distribution, processing, certification, collective equipment and steering.
The module is published by DoliResources. It installs as a standard Dolibarr custom module, never modifies the core, and integrates with the native third-party, product, stock, warehouse, quotation, order, shipment, invoice, payment, supplier, project, agenda, contract, intervention, document, bank and accounting modules.
It is a management, planning and decision-support tool. It never replaces legal or accounting advice, laboratory analysis, the control of a certification body, or any legal or statutory obligation applicable to a cooperative society.
2. Business Objectives
A cooperative exists to pool what its members cannot do alone: collecting, grading, storing, processing and selling their produce, buying their inputs together, and redistributing the result fairly. The module is organised around exactly that logic.
· Centralise every piece of information about the cooperative and its members in one system.
· Administer the membership register, the rights and obligations of shareholders, and the share capital.
· Organise governance: bodies, mandates, general assemblies, board meetings, resolutions and decisions.
· Plan agricultural campaigns and collect the production forecasts of each member.
· Receive, weigh, grade and price member deliveries with a single, auditable pricing engine.
· Manage withholdings, premiums and penalties transparently.
· Market the collected produce collectively and allocate the receipts back to the members.
· Run group purchasing and distribute inputs, with the cost withheld from the next settlement.
· Grant and recover advances and internal loans.
· Guarantee two-way traceability from the parcel to the customer and back.
· Analyse profitability by campaign, product, sector, centre, lot and member.
· Produce the regulatory and decision-support documents the cooperative must issue.
3. Target Organizations
· Agricultural cooperatives of any size, single-site or multi-site, with branches and collection centres.
· Unions of cooperatives and second-tier cooperative structures.
· Producer groups and producer organisations.
· Cooperative societies operating in cereals, olive oil, arboriculture, market gardening, viticulture, dates, terroir products, aromatic and medicinal plants, beekeeping, livestock, dairy, fruit and vegetables, seeds and horticulture.
· Structures running collective irrigation, shared machinery, agri-food processing, collective marketing or agricultural export.
4. Cooperative and Site Management
One or several cooperatives can be managed, each with its own legal identity: legal form, registration number, tax identifier, register number, approval number, share capital, number of shares and nominal value, address and GPS coordinates, officers, sectors of activity and area of intervention.
Each cooperative holds a network of sites: head office, branches, collection centres, warehouses, processing units, packing units, shops, sale points and regional offices.
5. Member Management
The member record is the pivot of the whole module. It carries the identity of an individual or a legal entity, the membership and approval dates, the category, the declared sector, the main farm and the area worked, the share capital subscribed, released and still due, the fees paid and outstanding, the volume delivered, the turnover generated and the bank details.
The status follows the complete life cycle: candidate, incomplete file, under review, active, suspended, resigned, struck off, deceased, archived. A member is never deleted, so the traceability of past deliveries is preserved.
6. Membership Workflow
The application follows the ten statutory steps of a cooperative admission.
· Submission of the application.
· Verification of the supporting documents.
· Examination of the file.
· Opinion of the admission committee.
· Decision of the board.
· Subscription of the shares.
· Payment.
· Allocation of the member number.
· Activation.
· Issue of the membership documents, including a certificate and a card carrying a QR code.
7. Social Shares and Share Capital
Every capital movement is recorded individually: subscription, release, transfer between members, repayment, assignment, cancellation and capitalisation of a patronage refund. Each movement carries the number of shares, the nominal value, the amount, the amount already paid, the balance still due, the instalment plan, the payment method and the validating user.
The module reports subscribed capital, released capital, capital still to be released, capital by member and by share category, the movement history and the list of members in arrears.
8. Membership Fees
Joining fees, annual fees, exceptional contributions, service charges, delivery levies and sector-specific contributions are all supported, with their period, due date, amount, amount paid, balance, late penalty and any exemption granted by the board.
A fee flagged as a delivery levy is withheld automatically when the member's deliveries are settled, and appears in the deductions column of the settlement note.
9. Governance
The module manages the general assembly, the board, the executive office, the supervisory board, commissions, technical committees, the admission committee and the quality committee. Each body carries its term, its seats, its own quorum and its meeting frequency.
Elective mandates link a member to a body with a role, an election date, a term number, the votes obtained and an attendance rate. A mandate approaching its end raises an alert so the renewal is put on the agenda in time.
10. General Assemblies
Ordinary and extraordinary assemblies, regional meetings and consultations are supported, with the agenda, the notice, the number of members convened, present, represented by proxy and voting.
The quorum reached is compared with the quorum required, which is configurable separately for ordinary and extraordinary assemblies. Resolutions record the required majority, the votes for, against and abstaining, the adoption percentage and the outcome. The minutes are produced as a PDF.
11. Farms and Plots
Each member holds one or more farms, described by type, location, total, cultivated and irrigated areas, tenure, soil type, water source, equipment, certifications and storage capacity.
Each parcel carries its cadastral reference, area, coordinates, crop and variety, irrigation system, soil, slope, water access, organic status and conversion date, historical yield and risk level.
12. Crop Campaigns
A campaign is opened by year, season, sector, crop, region and cooperative, with a production target, a budget, an indicative price and a manager. Its status follows the full cycle from draft to closed.
The forecast volume, the collected volume, the number of participating members, the number of parcels and the area engaged are all recomputed from the declarations and the deliveries actually recorded, so a campaign sheet can never contradict the underlying data.
13. Production Forecasts
Each member declares, per parcel, the crop and variety, the area, the planting date, the expected yield, the forecast quantity, the harvest window, the production mode, the certification and the intended destination.
The module consolidates the forecasts by member, by crop, by period, by collection centre and for the cooperative as a whole. The gap between the declared volume and the volume actually delivered is computed continuously and is the basis of the campaign achievement rate.
14. Collection Planning
A collection calendar assigns each member a slot, a collection centre, a route, a zone, a vehicle and a driver, with the planned quantity. Slots can be grouped by zone, rescheduled and notified.
The slots of the day feed the field mobile interface, so the collection agent sees the round without opening a spreadsheet.
15. Member Deliveries
The delivery is the central event of the cooperative. It carries the member, the campaign, the product, the parcel of origin, the receiving centre, the vehicle and driver, the voucher number, the gross, tare and net weights, the moisture and impurity readings, the quality grade and the complete valuation.
Its status follows the real chain: announced, arrived, weighed, under control, graded, priced, validated, settled, or rejected.
16. Weighing
Manual weighing, inbound and outbound double weighing, tare capture and counter-weighing are all supported. Each weighing records the scale used, the operator, the vehicle, the ticket number and the deviation observed.
The source of the measurement is traced: manual entry, connected scale, file import or mobile application. A locked weighing can no longer be modified: it is authoritative for the net weight and therefore for the amount due.
17. Quality Control
Control templates are defined per product. The criteria cover moisture, maturity, calibre, colour, sugar content, acidity, impurity rate, fat content, density, temperature, sanitary state, defects, residues, organic compliance, origin, appearance, smell and taste.
Each control records the sample, the laboratory, the controller, the measured values, the resulting grade, the conformity verdict, the premium or penalty rate and the decision taken: accepted, accepted with reservation, downgraded, quarantined, rejected or returned.
18. Pricing
The pricing engine applies the price scale of the campaign, selected from the most specific match to the most general: crop and campaign and exact grade, then crop and campaign, then crop alone. When no scale applies, the indicative price of the crop is used and the screen says so explicitly.
The breakdown is always shown in full: base price, quality premium, penalty, service withholding, storage withholding, net payable. The simulator page, the PDF delivery voucher and the settlement note all call the same function, so the figure on screen and the figure on paper cannot diverge.
19. Premiums and Penalties
Premiums reward grade, organic certification and the scale's own bonus. Penalties combine the grade modifier with explicit technical penalties: every point of moisture above the threshold and every point of impurity above the threshold costs the member.
Both are capped by configuration parameters, so a measurement error can never wipe out a delivery.
20. Traceability
Lots are built by pooling deliveries of the same product. From a lot the module walks upstream to every delivery, member, farm and parcel that contributed, with each contributor's share, and to the quality controls performed; and downstream to the processing orders, the sales, the customers, the stock movements and any product recall.
Every link is a real foreign key, so the traceability page cannot display a filiation that does not exist in the database. A traceability certificate reproducing the same chain is available as a PDF.
21. Inventory
Warehouses, silos, cold rooms, freezing rooms, packing halls, quarantine zones and input stores are managed with their capacity, stored quantity, fill rate, temperature, humidity, storage conditions and their own alert threshold.
Stock movements cover entries, exits, transfers, inventories, reservations, losses, scrapping, adjustments, quarantine and release, each with a reason code and a value.
22. Grouped Purchasing
Group purchasing follows the full process: expression of needs, consolidation, request for quotes, supplier comparison, validation, grouped order, receipt, allocation, distribution and invoicing or withholding.
The saving achieved is computed by comparing the market price with the price obtained collectively, multiplied by the quantity ordered. It is the most concrete argument to present at a general assembly.
23. Input Distribution
Members order inputs against a group purchase. Each distribution records the product, the supplier lot, the quantity, the unit price, any discount, the total, the operator, the advance already paid and the amount to be withheld from the next settlement.
24. Member Advances
Campaign advances, delivery advances, input advances, cash advances, internal loans and equipment advances are supported, with an instalment plan, an optional interest rate and a repayment method.
The outstanding balance is tracked continuously. An advance past its due date raises a financial alert. The most common repayment method is withholding on delivery, in which case the amount is deducted automatically from the next settlement note.
25. Pooled Marketing
The cooperative markets the collected produce as a whole: catalogue, availability, commercial offers, contracts, prices, customers, markets, tenders, exports, orders, reservations, shipments, invoices and payments.
A sale links a lot to a customer and to a contract, with the quantity, the unit price, discounts, tax, transport, packaging and commercial costs, and the resulting margin.
26. Sales
Customers are typed by outlet: wholesaler, distributor, purchasing centre, processor, exporter, retail shop, hotel, restaurant, administration, public market or end customer, each with its commercial terms, quality requirements, required certification and outstanding balance.
Sales contracts carry the committed volume, the quality grade, the price, the delivery schedule, the incoterm, the payment terms and the penalty clause. A contract approaching its end date raises an alert.
27. Member Settlement
The settlement note details the whole chain: gross amount of the deliveries, quality premiums, penalties, service, storage, transport and processing withholdings, advances deducted, fees deducted, inputs deducted, other withholdings, and the net amount payable.
Each settled delivery is attached to its note, so a member can verify line by line what is being paid. Deposits, interim payments, balances, grouped payments and offsetting are all supported.
28. Surplus Distribution
The distributable result is reduced by the compulsory reserve, then allocated according to the criterion voted by the general assembly: activity volume, activity amount, share capital held, seniority, a mixed criterion or a flat rate.
A configurable portion is capitalised as new shares and the balance is paid. The allocation page is a simulation: the final distribution is voted by the general assembly.
29. Grants
Investment grants, operating grants, member aid, training aid, certification aid, irrigation aid, equipment aid and development programmes are tracked with the awarding body, the amounts requested, granted and received, the eligible expenditure, the amount already justified and the balance still to justify.
A file with an outstanding justification balance stays in the priority actions until it is closed: this is where a cooperative most often loses funds.
30. Certifications
Organic farming, fair trade, geographical indication, designation of origin, GlobalG.A.P., HACCP, ISO standards, national labels and terroir labels are all supported, each with its scope, the members and parcels covered, the audits, the non-conformities and the corrective actions.
A certificate expiring within the configured window raises an alert: losing an organic certification mid-campaign is a major commercial risk.
31. Processing
Cleaning, sorting, grading, drying, milling, pressing, extraction, pasteurisation, transformation, packing, labelling and palletising are managed as processing orders, each with its input lot, output lot, recipe, quantities, yield, losses, equipment, team, duration and full cost breakdown.
32. Packaging
Recipes and bills of materials describe the raw materials, the packaging, the consumables, the steps, the duration, the expected yield and the admissible loss for each finished product. The achieved yield of a processing order is compared with the expected yield of its recipe.
33. Equipment Management
Tractors, harvesters, presses, grinders, trailers, sorting machines, mobile units, pumps, irrigation sets, cold room units, weighbridges, vehicles and processing machines are managed with their counters, current value, hourly and daily rates, availability, condition and maintenance schedule.
Members book equipment for a parcel and an operation. Bookings record the duration, the operator, the fuel consumed, the deposit, the total amount, any damage observed and the resulting penalty.
34. Agricultural Services
Ploughing, sowing, harvesting, treatment, transport, irrigation, analysis, advisory, storage, processing and packing services can be provided to members, each with its duration, area, quantity, unit price, total and the amount to be withheld from the next settlement.
35. Maintenance
Preventive, corrective, condition-based, regulatory and overhaul interventions are recorded with the failure, the diagnosis, the technician, the external provider, the duration, the downtime, the parts and labour costs, the outcome and the next due date. A planned intervention past its date raises an alert.
36. Logistics
Collection rounds, customer deliveries, internal transfers, input deliveries and export shipments are tracked with the vehicle, the driver, the route, the zone, the number of stops, the distance, the load, the fuel, the tolls, the total cost and the resulting cost per kilogram.
37. Advisory Services
Advisory visits record the adviser, the member, the farm and parcel, the crop, the diagnosis, the problem identified, the recommendation, the agreed action and the next visit date, within a support plan covering fertilisation, irrigation, plant protection, certification, quality, yield or mechanisation.
The module records and structures advice; it does not formulate it. The agronomic diagnosis remains that of a qualified technician.
38. Dashboard
The Cooperative Agricultural Command Center is organised in five zones: governance and members, production and campaigns, collection and quality, marketing and finance, and priority actions.
A top banner shows the active cooperative, the financial year, the current campaign, the active members, today's deliveries, the available stock, the sales of the month, the amount owed to members and the number of open alerts.
Twelve-month charts cover collection, sales, membership growth, settlements, quality breakdown, collection by sector and cost breakdown. A network map positions the collection centres and the parcels from their stored coordinates, without contacting any external map provider.
39. Reporting
Fifteen report families cover members, governance, farms and parcels, campaigns, deliveries, quality, stock, inputs, commercial activity, member settlements, advances, financial aggregates, equipment, services and traceability.
Every family can be exported to CSV, Excel and PDF. HTML entities are decoded on every cell of a non-HTML export, so an accented label reaches the file as an accented label.
40. Dolibarr Integration
The module reuses the native objects wherever they exist rather than duplicating them.
· Third parties: members, customers and suppliers are linked to Dolibarr third parties.
· Products and services: crops and inputs are linked to Dolibarr products.
· Stocks and warehouses: storage units can be linked to native warehouses.
· Quotations, orders, shipments and invoices: a pooled sale carries links to its native documents.
· Supplier orders: a group purchase can be linked to a native supplier order.
· Projects, agenda, contracts and interventions are linked where relevant.
· Documents are stored through the native document management module.
· Triggers and hooks are exposed so external processing can be plugged in without modifying the module.
41. Member Portal
A member connected to Dolibarr sees their own file only: profile, shares, fees, campaigns, production declarations, collection slots, deliveries, quality controls, prices, advances, withholdings, settlements, input orders, equipment bookings and complaints.
The scope is determined by the link between the Dolibarr login and the member record. When that link exists, the member identifier passed in the URL is ignored: a member cannot widen their own scope by editing the address of the page.
42. Multilingual Support
The module ships complete in French, English, Spanish, Italian and German, with 2117 translation keys per language covering menus, buttons, fields, statuses, messages, errors, alerts, reports, the dashboard, the configuration pages, the PDF documents, the tooltips, the demonstration data and the member portal.
Every key is prefixed. Dolibarr merges the language files of all active modules into a single table and the last value loaded wins, so a generic key would silently render another module's wording.
43. Demo Data
A realistic demonstration dataset can be generated and purged in one click from the configuration page. It covers the whole functional perimeter with coherent figures: a cooperative and its sites, governance bodies and mandates, general assemblies with resolutions, board meetings and decisions, fifty members, membership applications at every stage of the workflow, share movements and fees, farms and parcels, crops across ten sectors, campaigns, forecasts, collection centres and planning, several hundred deliveries with weighings and quality controls, price scales, lots and their composition, warehouses and stock movements, group purchases, input orders and distributions, advances, settlements, patronage refunds, grants, customers, contracts and sales, processing, certifications and recalls, equipment, bookings, services, maintenance, transport rounds, advisory visits, complaints, costs, budgets, alerts and the audit trail.
Every generated row carries a technical marker. The purge removes only those rows, cascading onto attached objects, and never touches real data. The purge and re-seed cycle returns exactly the same row count, which proves the generator is idempotent.
44. Security
· Every page checks an explicit permission before rendering anything.
· Every form emits a CSRF token, validated by the Dolibarr core.
· Every external value passes through a typed filter, then through escaping or an integer cast. LIKE searches escape the wildcard characters so a percent sign typed by a user cannot widen a search.
· Every query filters on the entity, so multi-company installations stay isolated.
· Deletion always requires an explicit confirmation, and the demonstration purge only removes tagged rows.
· The member portal ignores any member identifier passed in the URL when the connected user is a member.
· The REST API carries the Restler access directives; the authenticated caller is the API user, never the global user object, and the sort field is validated against the real column list.
· The event log records the user, the object, the field, the old value and the new value, in particular for price and settlement changes.
45. API
The module exposes its 52 objects under a single REST namespace, with five routes each and one aggregate reporting route, for 261 routes in total. Authentication uses the standard Dolibarr API key header; an absent or invalid key returns HTTP 401.
Each route enforces the same permission as the corresponding screen. Pagination, sorting and filtering follow the Dolibarr conventions, and responses are structured JSON.
46. Installation
The module installs as a standard Dolibarr external module. Activation creates the 52 tables and their indexes, self-heals the schema by adding any column declared but missing from an existing table, creates the 123 permissions, the 71 menu entries, the constants and the document directory, registers the PDF models and the daily alert scheduled job, and generates the demonstration dataset.
Deactivating the module removes the menus and permissions but keeps all data. Dropping the tables is never automatic and must be requested explicitly by an administrator.
47. Deliverables
· module_cooperativeagricole-1.0.zip, directly installable in Dolibarr.
· A Screenshots folder covering the dashboard, every functional area, the reporting families, the member portal, the mobile interface and the configuration.
· A French training manual in PDF, with the screenshots embedded and a chapter per functional area.
· This English feature documentation.
· The technical documentation set: README in French and English, installation guide, changelog, database schema, API documentation, security guide, test report, known limitations and licence.
Appendix: business objects
52 objects, 154 coded columns sharing 110 controlled vocabularies.
|
Object |
Table |
Fields |
|
Coacoop |
llx_cooperativeagricole_coop |
36 |
|
Coasite |
llx_cooperativeagricole_site |
19 |
|
Coabody |
llx_cooperativeagricole_body |
17 |
|
Coamandate |
llx_cooperativeagricole_mandate |
15 |
|
Coaassembly |
llx_cooperativeagricole_assembly |
24 |
|
Coaresolution |
llx_cooperativeagricole_resolution |
16 |
|
Coameeting |
llx_cooperativeagricole_meeting |
18 |
|
Coadecision |
llx_cooperativeagricole_decision |
14 |
|
Coamember |
llx_cooperativeagricole_member |
43 |
|
Coaapplication |
llx_cooperativeagricole_application |
33 |
|
Coashare |
llx_cooperativeagricole_share |
21 |
|
Coafee |
llx_cooperativeagricole_fee |
23 |
|
Coafarm |
llx_cooperativeagricole_farm |
27 |
|
Coaparcel |
llx_cooperativeagricole_parcel |
24 |
|
Coacrop |
llx_cooperativeagricole_crop |
18 |
|
Coacampaign |
llx_cooperativeagricole_campaign |
23 |
|
Coaforecast |
llx_cooperativeagricole_forecast |
22 |
|
Coacenter |
llx_cooperativeagricole_center |
24 |
|
Coaplanning |
llx_cooperativeagricole_planning |
18 |
|
Coadelivery |
llx_cooperativeagricole_delivery |
34 |
|
Coaweighing |
llx_cooperativeagricole_weighing |
17 |
|
Coaquality |
llx_cooperativeagricole_quality |
31 |
|
Coapricing |
llx_cooperativeagricole_pricing |
22 |
|
Coalot |
llx_cooperativeagricole_lot |
28 |
|
Coalotline |
llx_cooperativeagricole_lotline |
14 |
|
Coawarehouse |
llx_cooperativeagricole_warehouse |
22 |
|
Coastockmove |
llx_cooperativeagricole_stockmove |
21 |
|
Coagrouppurchase |
llx_cooperativeagricole_grouppurchase |
27 |
|
Coainputorder |
llx_cooperativeagricole_input_order |
21 |
|
Coadistribution |
llx_cooperativeagricole_distribution |
22 |
|
Coaadvance |
llx_cooperativeagricole_advance |
20 |
|
Coasettlement |
llx_cooperativeagricole_settlement |
28 |
|
Coarebate |
llx_cooperativeagricole_rebate |
24 |
|
Coasubsidy |
llx_cooperativeagricole_subsidy |
24 |
|
Coacustomer |
llx_cooperativeagricole_customer |
25 |
|
Coasalecontract |
llx_cooperativeagricole_sale_contract |
21 |
|
Coasale |
llx_cooperativeagricole_sale |
32 |
|
Coaprocessing |
llx_cooperativeagricole_processing |
27 |
|
Coarecipe |
llx_cooperativeagricole_recipe |
20 |
|
Coacertification |
llx_cooperativeagricole_certification |
20 |
|
Coarecall |
llx_cooperativeagricole_recall |
21 |
|
Coaequipment |
llx_cooperativeagricole_equipment |
28 |
|
Coabooking |
llx_cooperativeagricole_booking |
25 |
|
Coaservice |
llx_cooperativeagricole_service |
22 |
|
Coamaintenance |
llx_cooperativeagricole_maintenance |
21 |
|
Coatransport |
llx_cooperativeagricole_transport |
25 |
|
Coavisit |
llx_cooperativeagricole_visit |
22 |
|
Coacomplaint |
llx_cooperativeagricole_complaint |
22 |
|
Coacost |
llx_cooperativeagricole_cost |
21 |
|
Coabudget |
llx_cooperativeagricole_budget |
22 |
|
Coaalert |
llx_cooperativeagricole_alert |
21 |
|
Coaauditlog |
llx_cooperativeagricole_audit_log |
19 |
The module is a management, planning and decision-support tool. It never replaces legal or accounting advice, laboratory analysis, the control of a certification body, or any legal or statutory obligation applicable to a cooperative society. Decisions on share capital, surplus distribution and the articles of association remain those of the governing bodies.