Changer directement le numéro de devis/facture dans la base de données

Bonjour,

J’utilise Dolibarr depuis 6 mois et je dois saisir d’anciens devis et factures. Cependant, je rencontre un problème avec la numérotation de mes devis et factures qui dépend de la date de création. Modifier la date à chaque saisie pour obtenir le bon numéro devient fastidieux.

Est-il possible de changer directement le numéro de devis/facture au niveau de la base de données sans impact sur les données Dolibarr (statistiques, etc.) ?

Si quelqu’un a déjà rencontré une situation similaire ou possède des connaissances sur une méthode pour le faire, je serais reconnaissant de recevoir des conseils ou des instructions à ce sujet.

Merci d’avance pour votre aide.

Bonjour,
il s’agit d’un import initial dans dolibarr de votre historique c’est ça ?

Merci pour ta réponse.

Non il s’agit d’une nouvelle installation.
J’ai déjà commencé à saisir les nouveaux devis/commande/factures par contre je veux saisir les anciens devis et la numérotation que j’utilise dépend de la date.

C’est pour cela que je voulais saisir les les anciens devis/factures « elles ont auront de faux numéros » et ensuite modifier au niveau de la base de données directement le numéro devis/factures.

Bon
je préfère vous le dire cash… ce n’est pas une bonne idée :slight_smile: surtout pour les factures !

C’est le genre de choses que nous réalisons pour nos clients lors de l’installation initiale de dolibarr avec reprise de l’historique du logiciel précédent. Pour ça nous avons une version adaptée de ScanInvoices qui permet non pas d’importer des factures fournisseur mais des factures client …

Dans votre cas vous allez avoir des factures avec des id en base de données qui n’auront rien à voir avec le côté consécutif des références, sur un gros coup de chance ça peut sembler marcher sauf que vous allez avoir plein d’effets de bords du genre document précédent / suivant (je suis sur id=15, la suivante, c’est pas 16 mais 28 du fait qu’on a importé des factures antérieures entre temps) …

Je vois :slight_smile:

Merci beaucoup Erics pour votre conseil !

Celà dit ça pourrait être une utilisation détournée du dév en cours sur les « clients indirects » avec l’implémentation des « ventes indirectes » si on considère que vos anciennes ventes ont été réalisées « indirectement » … l’idée est de pouvoir retrouver une ancienne facture (ou devis) sans pour autant que ça n’ait d’impact sur le reste des fonctionnalités « coeur » de dolibarr …

Description rapide : Gestion des ventes indirectes [CAP-REL - Documentation publique]

Dites moi si l’idée vous intéresse ?

Après avoir examiné attentivement votre proposition, je pense que je ne suis pas intéressé par cette approche vu que mes besoins actuels ne nécessitent pas la gestion des ventes indirectes.

Je préfère saisir les anciens devis/factures en changeant à chaque fois la date système vu que la modification directe au niveau de la base causera un problème par la suite.

Je vous remercie néanmoins pour votre suggestion

Cela ne résout pas le problème mentionné par @erics :

En fait nous ne savons pas trop pourquoi vous voulez importer vos anciennes factures & devis :slight_smile: je partait du principe que c’était pour une question de rendre les archives disponibles pour retrouver l’historique d’un client, en ce sens détourner les « ventes indirectes » marche … mais dites nous ce qui vous pousse à réintégrer vos anciennes factures & devis dans dolibarr ?

Bonjour,

Il est possible d’éditer le numéro d’une facture dans Dolibarr, cela a été expliqué dans ce message

Cela vous permettrait de ne pas avoir à changer la date.

1 « J'aime »

Simplement pour obtenir des informations sur un produit, comme les appels d’offres auxquels il a été vendu et les prix pratiqués.

Par exemple, je souhaite répertorier toutes les commandes par fournisseur, par client et par année.

Merci pour votre support.

Ca marche !

Est ce qu’il y a une variable pour le devis qui fait la même chose?

Je viens de créer une variable PROPOSAL_ALLOW_FREE_REF et j’ai eu la main pour saisir le numéro de devis durant la création du devis mais une fois je valide j’ai cette erreur : Record not found.

Une piste svp?

// Proposal card

$linkback = '<a href="'.DOL_URL_ROOT.'/comm/propal/list.php?restore_lastsearch_values=1'.(!empty($socid) ? '&socid='.$socid : '').'">'.$langs->trans("BackToList").'</a>';

$morehtmlref = '<div class="refidno">';

// Ref PROPOSAL///////////////////////////////////////
if ($object->status == $object::STATUS_DRAFT && !$mysoc->isInEEC() && getDolGlobalString('**PROPOSAL_ALLOW_FREE_REF**')) {
	$morehtmlref .= $form->editfieldkey("Ref", 'ref', $object->ref, $object, $usercancreate, 'string', '', 0, 1);
	$morehtmlref .= $form->editfieldval("Ref", 'ref', $object->ref, $object, $usercancreate, 'string', '', null, null, '', 1);
	$morehtmlref .= '<br>';
}

// Ref customer
$morehtmlref .= $form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, $usercancreate, 'string', '', 0, 1);
$morehtmlref .= $form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, $usercancreate, 'string'.(isset($conf->global->THIRDPARTY_REF_INPUT_SIZE) ? ':' . getDolGlobalString('THIRDPARTY_REF_INPUT_SIZE') : ''), '', null, null, '', 1);
// Thirdparty
$morehtmlref .= '<br><span class="hideonsmartphone">'.$langs->trans('ThirdParty').' : </span>'.$soc->getNomUrl(1, 'customer');
if (!getDolGlobalString('MAIN_DISABLE_OTHER_LINK') && $soc->id > 0) {
	$morehtmlref .= ' (<a href="'.DOL_URL_ROOT.'/comm/propal/list.php?socid='.$soc->id.'&search_societe='.urlencode($soc->name).'">'.$langs->trans("OtherProposals").'</a>)';
}

Bonjour,
Si j’ai bien compris, vous faites une saisie manuelle de vos anciens devis et factures, et vous semblez avoir accès à votre base de données.
Vous pouvez donc faire un update en BDD après création de vos pièces :
UPDATE llx_propal SET ref=‹ votreref › WHERE rowid=id_du_devis;
UPDATE llx_facture SET ref=‹ votreref › WHERE rowid=id_de_la_facture;

Les id des devis et factures sont indiqués dans les URL lorsque vous êtes sur leurs fiches.
Exemple :
dolibarr.local/compta/facture/card.php?facid=187233&save_lastsearch_values=1
ici je suis sur la facture d’ID 187233
UPDATE llx_facture SET ref=‹ FA033869 › WHERE rowid=187233;

C’est une piste mais j’aurai bien aimé que ça soit faite comme pour la modification de la facture.