Mercator 10.10 ou ultérieur offre un assistant permettant de faciliter et de contrôler l'établissement de notes de crédit (avoirs) au départ de factures de la gestion commerciale. Cet assistant se matérialise par un nouvel objet, le CreditButton, qui peut être ajouté dans les séquences de factures via le paramétrage d'écran.
Pour mémoriser la liaison entre factures et notes de crédit, il faut ajouter cette colonne et cet index dans la base de données :
Pour les ventes :
alter table LIGNES_V add ORIG_CREDIT char(35) not null default ''
create index ORIG_CREDIT on dbo.LIGNES_V(ORIG_CREDIT)
Pour les achats :
alter table LIGNES_A add ORIG_CREDIT char(35) not null default ''
create index ORIG_CREDIT on dbo.LIGNES_A(ORIG_CREDIT)
Note : la colonne ORIG_CREDIT est complétée comme suit :
- ID de la facture sur 10 positions
- Journal de la facture sur 5 positions
- N° de la facture sur 10 positions
- DL_ID de la ligne sur 10 positions.
Utilisation
Dans une facture existante, il suffit de cliquer sur ce bouton pour établir une note de crédit pour une ou plusieurs lignes de cette facture. Si aucune ligne n'est préalablement sélectionnée (via CTRL-B), Mercator demandera la confirmation que la note de crédit porte bien sur l'ensemble des lignes de la facture. La note de crédit est préparée mais non sauvegardée. Il incombe donc à l'utilisateur d'effectuer cette sauvegarde. La référence de la note de crédit est composée comme suit :
journal de facture - piece de facture - " du " - date de la facture
Le CreditButton comprend plusieurs propriétés spécifiques qui permettent d'agir sur son comportement :
DisallowChanges : si cette propriété est à true, alors l'utilisateur ne pourra modifier le contenu du LinesEditor dans la note de crédit. Il ne pourra pas non plus modifier le tiers, la devise, le tarif et le régime.
CheckAlreadyCredited : valeurs possibles
- None : pas de contrôle (valeur par défaut)
- Warning : contrôle présentant un avertissement
- Blocking : contrôle ne permettant pas d'établir la note de crédit.
Ce contrôle vérifie si des lignes de la facture candidate à être créditée ont déjà été créditées dans le passé. Ce contrôle est effectué ligne par ligne. Il ne tient pas compte d'éventuelles différences de quantités entre la facture et les précédentes notes de crédit. Ni d'autres différences dans d'autres colonnes. Le cas échéant, ces lignes sont affichées dans une boîte de dialogue dont la grille reprend les mêmes colonnes que le LinesEditor. Le contrôle ne porte que sur les lignes créditées via le CreditButton.
CreditSequence : propriété optionnelle, par défaut vide. Elle permet de fixer la séquence de notes de crédit à utiliser. Si cette propriété n'est pas spécifiée, Mercator proposera la liste des séquences compatibles.
Depuis le version 11.0, il est possible, en plus, que les notes de crédit ainsi générées soit lettrées avec la facture dont elles sont issues.
Cela utilise le même système que la liaison d'un ou plusieurs reçu à une facture.
Pour installer cette fonctionnalité, il faut donc
Pour que le lettrage soit effectué, il est nécessaire que la fourchette de dates utilisée lors de la centralisation couvre la facture et les différentes notes de crédit.
Note : La centralisation vers des comptabilités externes n'effectue aucun lettrage. Afin de disposer des avantages de cette fonctionnalité, il faut donc utiliser Mercator comptabilité.
Si un comportement différent est souhaité en fonction de l'utilisateur (par exemple, un vendeur aurait la valeur Blocking pour la propriété CheckAlreadyCredited, alors qu'un administrateur aurait la valeur Warning), il suffit de placer plusieurs fois le bouton dans l'écran et d'utiliser les propriétés habituelles (niveau, département) pour masquer le bouton qui ne doit pas être affiché.
Le BillingEngine dispose de deux événements liés à cette fonctionnalité. Ils sont levés dans le BillingEngine de la facture.
- BeforeCredit qui est levé en début de processus. Son eventArgs contient ces propriétés :
- Cancel : pour interrompre le processus
- DesiredJournal : pour fixer par code la séquence de notes de crédit souhaitée
- AfterCredit qui est levé en fin de processus. Sa propriété BillingEngineCredit donne accès à la note de crédit qui vient d'être créée.