Dolibarr 22.0.4
30 December 2025
Dolibarr version 22.0.4 is now available.
Upgrading to Dolibarr 22.0.4
Dolibarr 22.0.4 can be upgraded to (or installed) using any of Installatron's products. Use Installatron's optional Automatic Update feature to automatically apply Dolibarr updates as new versions are released, or use Installatron's Clone feature to duplicate an existing Dolibarr install to test the 22.0.4 upgrade prior to applying it live. Get started managing your Dolibarr installations with Installatron
What's New in Dolibarr 22.0.4
Security
- 7ed0af2a138a34e7c7005b95c85ffc791976a6cf
- empty commit for CI automata
- * #36430 permissions not checked on other tabs of HRM evaluation card
- fix IDOR attack on employee evaluation. Missing permission test https://github.com/atm-florianm/dolibarr/commit/7ed0af2a138a34e7c7005b95c85ffc791976a6cf
- permissions not checked on other tabs of HRM evaluation card
Bug Fixes and Changes
- $param is the 5th parameter of print_liste_field_titre ($moreparam) (#36250)
- 17.0: perweek.php resets task progress to 0% when: (#36401)
- 18.0: GETPOSTDATE and buildParamDate assumed HTTP param names 'minute' and 'second' instead of 'min' and 'sec'
- 19.0 - attachments upload dir for invoices not always determined correctly (doesn't always take multi-entity into account) (#36302)
- #33148 - partial payments are taken into account in EPC QR codes (#36338)
- #33899 API Timespent Service Field
- #35061
- #35096 #36393 Add minimal fields required asthe class is used by
- #35141 (#36390)
- #35375 Accountancy - SQL error on empty filter account category
- #35655 API Contract Creation Fails for Non-Admin Users in Version 22.0.2
- #36090 Accountancy - Inconsistent date on various journal
- #36149 (#36150)
- #36310 Accountancy - Data - Wrong account labels (cache) on write bookkeeping action (#36410)
- #36334 - reload invoice data before pdf-creation in process of generating a new member contribution (#36335)
- #36347 (#36358)
- #36368 - avoid overlaying of EPC-QR Code and payment information (#36369)
- #36576 - date creation is empty on import
- Accountancy - #36090 Inconsistent date on various journal
- Accountancy - No limit on chart of account to define category on account
- Accountancy - Not propose to write operation on draft asset
- Accountancy - Problem calculating exercises with different tax periods on fixed assets
- Accountancy - Problem calculating fiscal year with different periods on fixed assets
- Accountancy - Reverse accounting account in depreciation expense entries for fixed assets
- Accountancy - Verify fiscal year on last hour to enable the integration of asset entries
- allow a situation with credit to be removed from cycle
- API task getTimeSpent to actually return data
- avoid php warning error (#36330), avoid php warnings (#36301), (#36411)
- Can Validated Holidays When Negative Balance
- Concat of PDF to invoices (#36329)
- create API temp directory in Dolibarr API constructor
- DA027383: permissions not checked on HRM evaluation card (#36328) (#36399)
- do not force rowid to int (#36412)
- Email Collector Module: manage error when imap_fetchstructure return false. Previously it generated warning and fatal error because the returned value was not of type class
- empty origin type passed to addline when creating invoices from expeditions using massaction (confirm_createbills) (#36413)
- expense report card: do not show bank account if user cannot see them
- expense report card: use correct bank module designator for detection
- Export of extrafield in organized events
- fix #36401 (for v17.0) doesn't work in v18.0+ because of variable renaming
- | Fixing addPayment /invoices/id/payments
- getEntity use element instead table_element (#36405)
- Implementation of multi-company compatibility with inventory/warehouse management
- info on supplier payment card on v22 and payment link
- keep user who validate proposal on update (#36257)
- List is filtered on task status when it should not
- Missing AND on fields filter on evaluation class
- missing p.default_vat_code in product import profile.
- Missing Product ref in Bom stats
- Mo::deleteLine() - stock movement correction (#34733)
- Multicompany compatibility with "project_task"
- not remove value of others extra-fields on update extras action
- Object should be cloned here (#36289)
- PR#36401 fixed a missing GETPOSTISSET() but the check involves a variable ($taskid) that was renamed ($tmptaskid) in 18.0
- (propal): Incorrect HT/TTC recalculation when editing proposal lines #36514
- (propal): values lost when editing HT price
- propal shipping and availability update (v18+)
- re-create API temp dir after purging temp files
- remove situation invoice from cycle
- remove useless condition to create credit on situation invoice (#35786)
- Search all for supplier proposals via object reference
- Selection of email when prefilled from a template
- SQL error for LIST_OF_QUALIFIED_INVOICES_LIMIT_DEFINED
- subtotal feature button availability according setup
- TakePOS Missing Thirdparty Id when getting more products (#36341)
- (tasks): dates in gantt view
- undefined variables on create invoice card from order (backport from v19) or shipment card (backport from v20)
- use array_intersect instead in_array
- warning on select
- wrong $param parameter position (#36265)