Dolibarr 23.0

Prérequis

  • Version minimale de PHP : 7.2

Modules

  • Module DataPolicy : passage au statut stable (fonctionnalités d'anonymisation)
  • Module Formulaire de contact public : nouveau module au statut expérimental

Comptabilité

  • Comptabilité par type de paiement
  • Comptabilisation des remises
  • Axes analytiques (structure SQL)
  • Rapprochement sur le compte général
  • Champ « centralisé » à l'import/export
  • Protection sur les paiements divers pour les comptes auxiliaires non centralisés
  • Vérification des comptes centralisés dans les transactions
  • Masquage automatique du sous-compte auxiliaire si le compte général n'est pas centralisé
  • Mode d'export comptable ISTEA
  • Retenue à la source comme remboursement de TVA

Tiers

  • Date de naissance de l'entreprise (structure SQL et interface)
  • Option pour ne pas synchroniser tiers ↔ adhérent
  • Logo de l'entreprise en vue Kanban
  • Colonnes réf. client et réf. fournisseur du tiers dans la liste des projets
  • Fusion d'adhérents en double
  • Import des cotisations
  • Module de numérotation libre pour les adhérents
  • Colonnes réf. externe et note privée pour les adhérents

Produits et services

  • Onglet contact sur les fiches produit/service
  • Affichage conditionnel des prix fournisseur
  • Permissions dédiées pour créer/modifier/supprimer les prix fournisseur
  • Clonage des catégories parentes lors de la création de variantes
  • Boîtes d'information sur la page d'accueil des produits et interventions

Propositions commerciales

  • Onglets messagerie et agenda sur les propositions
  • Adresse de livraison sur les propositions
  • Génération de proposition de renouvellement depuis les contrats

Commandes et factures

  • Erreur à la validation si un produit n'est plus en vente ou en achat
  • Tags/catégories sur les propositions et propositions fournisseur (avec statistiques)
  • Tags/catégories sur les factures et commandes fournisseur (filtre, ajout en masse, statistiques)
  • Statut « litige ouvert » sur les factures (affichage, liste, modification)
  • Le statut litige colore la facture en rouge
  • Nombre d'avoirs non encore consommés affiché sur la facture
  • Solde client affiché sur le PDF de facture à la date de la facture
  • Validation automatique de la facture lors du paiement en ligne
  • Découpage de remise en plus de deux parties
  • Saisie du prix TTC en multicurrency par ligne
  • Recherche sur toutes les factures récurrentes
  • Inversion de la logique de la date par défaut à la création (option pour ne PAS pré-remplir)
  • Option PDF_PURCHASE_INVOICE_HIDE_VAT
  • Concaténation native de fichiers au PDF de facture

Expéditions

  • Création d'expédition autonome sans origine
  • Création de réception autonome
  • Signature électronique sur les expéditions
  • Envoi de mail pour les réceptions et livraisons

Projets

  • Vue d'ensemble des projets : masquage des commandes payées
  • Catégories sur les tâches
  • Colonne projet parent dans la liste des projets
  • Option PROJECT_CAN_ALWAYS_LINK_TO_ALL_CUSTOMERS

Événements et agenda

  • Onglets messagerie et agenda sur les commandes et expéditions
  • Filtre sur la progression des événements
  • Limite sur le nombre de résultats en vue agenda (avec avertissement)
  • Date complète avec secondes dans l'infobulle
  • Rappel par SMS pour les événements

Ressources humaines

  • Colonnes type et description dans les notes de frais de la vue projet
  • Extrafields sur les lignes de notes de frais
  • Tri par employé dans le solde des congés
  • Adresse expéditeur personnalisable pour les emails de congés
  • Configuration du menu feuille de temps par défaut
  • Mise à jour du temps passé avec le dernier taux horaire de la tâche

Emailing

  • Mise en page améliorée pour les emailings
  • Colonne titre et filtres supplémentaires dans les emailings

Dons et tickets

  • Page publique de don
  • Notes publique et privée sur les tickets
  • Clonage de ticket
  • Captcha configurable sur les pages publiques (don, ticket, adhérent)

WebPortal

  • Navigation par dossier dans les documents partagés
  • Documents partagés et documents du tiers
  • Refonte de la gestion des fiches et champs

Extrafields

  • Option « vider au clonage »
  • Lien d'un extrafield à un module
  • Administration des extrafields sur les paiements

Interface et divers

  • Page de configuration des en-têtes de sécurité HTTP
  • Information du prestataire informatique principal dans la configuration
  • Affichage du code et du symbole de la devise dans les sélecteurs
  • Amélioration de la popup d'aperçu d'image (taille, rotation, réduction)
  • Glisser-déposer dans les fiches de nomenclature
  • Widget entonnoir d'opportunités
  • Lien de téléchargement du zip d'un module sur sa page de configuration
  • Avertissement en bannière quand un email est invalide
  • Outils d'administration de base de données améliorés
  • Éditeur ACE mis à jour en 1.43.12
  • Pas personnalisé dans la sélection de durée
  • Incoterms mis à jour au standard 2025
  • Vérification de fichiers limitée aux fichiers non modifiables

SEPA et banque

  • Sauvegarde du BAN et du RUM SEPA en base de données
  • Numéro de virement

Sécurité

  • Méthodes d'obfuscation désactivées par défaut dans les extrafields évaluables
  • Événement de sécurité lors de l'installation d'un module

Changements importants pour les développeurs

  • Nouvelle propriété TRIGGER_PREFIX pour forcer des clés de trigger uniques par objet métier ; les triggers SUPPLIER_PRODUCT_BUYPRICE_XXX sont renommés en PRODUCT_BUYPRICE_XXX
  • Méthode run_trigger() supprimée (utiliser runTrigger())
  • Fonction img_pdf() supprimée (remplacer par img_picto('', 'pdf'))
  • Propriétés $sumpayed, $sumdeposit, $sumcreditnote supprimées (utiliser $totalpaid, $totaldeposits, $totalcreditnotes)
  • Paramètres $maxlen et $notooltip de Contract::getNomUrl() inversés pour suivre le standard
  • Tableau $MAP_ID_TO_CODE supprimé (utiliser array_flip($categ->MAP_ID))
  • Signature de ->cancel() modifiée sur les commandes et expéditions pour inclure $user
  • Les modèles de document doivent être dans mymodule/core/modules/xxx/doc ; l'ajout dans le répertoire custom avec le même chemin que le core est interdit
  • Répertoire theme/common/octicons supprimé
  • Bibliothèque timepicker.js supprimée
  • Propriété ->picto des descripteurs de modules doit contenir l'extension si ce n'est pas un tag Font Awesome
  • Noms de variables de l'API GET des mouvements de stock harmonisés avec les paramètres POST
  • Concaténation dans les propriétés calculées des extrafields désactivée par défaut (configurable via conf.php)
  • Variables $obj et $object interdites dans les chaînes évaluées des extrafields (utiliser $objectoffield)
  • Constante MAIN_ALLOW_UNSECURED_SPECIAL_CHARS_IN_DOL_EVAL remplacée par la variable $dolibarr_main_allow_unsecured_special_chars_in_dol_eval dans conf.php
  • $conf déprécié dans les formules calculées des extrafields (utiliser getCurrency() et getDolGlobalString())
  • $user->rights->module->perms déprécié (utiliser $user->hasRight())
  • Endpoint API /proposals/{id}/contact/{contactid}/{type}/{source} simplifié (suppression du paramètre {source})
  • Endpoint API /interventions/{id}/reopen remplacé par /interventions/{id}/settodraft
  • Module Website avec PHP : nécessite $dolibarr_website_allow_custom_php=2 dans conf.php
  • Colonne egroupware_id supprimée de llx_user
  • Nombreuses nouvelles API REST : paiements, congés, adhérents (statistiques), TVA, lots produit, templates email, emailing de masse, groupes utilisateurs, mouvements de stock