Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Lier des paiements de la comptabilité à des documents de la gestion commerciale n'existant pas en comptabilité

0000003232     -      25/06/2024

Mercator ERP permet de lier des paiements clients lus via la reconnaissance des extraits de comptes codifiés (CODA) à des documents de la gestion commerciale qui n'ont pas d'écriture correspondante dans la comptabilité. Il est ainsi possible de lier un paiement constaté dans un financier à un devis ou un brouillon établi au nom d'un client.

Cette reconnaissance se fait sur base du VCS (en Belgique) ou du VCS européen. (VCS = virement à communication structurée)

Il est nécessaire d'activer dans les séquences souhaitées de la gestion commerciale la génération automatique d'un VCS ou d'un VCS européen. Cela se fait via les cases à cocher disponibles dans l'onglet "Paramètres".

vcs_checkboxes

Une fois un VCS inscrit dans un document, il ne sera jamais effacé ou remplacé, même lors des transformations vers des documents de stade ultérieur.


Ensuite, dans les méthodes de reconnaissance des extraits de comptes codifiés, il faut activer les méthodes (l'une ou l'autre, ou l'une et l'autre) :

  • VCS +++999/9999/99999+++ ventes gestion commerciale
  • VCS européen ventes gestion commerciale

Ces méthodes de reconnaissance permettent seulement d'identifier le client. Il n'y a pas de contrôle du montant puisqu'à cet endroit, Mercator ne peut déterminer le montant attendu (la totalité du devis, un pourcentage du devis, ... ?)

Lors de la génération du financier à l'issue de la reconnaissance, Mercator va compléter le champ de liaison entre la gestion commerciale et la comptabilité (LIGNES_C.ID_GESCOM) avec les informations relatives au document identifié dans la gestion commerciale. Cette information sera utilisée ultérieurement afin de permettre un éventuel lettrage (quand la facture issue de ce devis sera centralisée en comptabilité).


Il est aussi possible de mettre à jour une information dans le document de la gestion commerciale, indiquant qu'un paiement a été reçu pour ce document. Cela peut se faire via la propriété CommandForFinalTransaction du BookingEngine. Il convient donc de placer un customizer dans la séquence du financier.

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorExtensions;
using MercatorUi;

namespace Booking
{
    public class Customizer : MercatorUi.ICustomizers.IBookingEngineCreated, MercatorUi.ICustomizers.IBookingEngineClosed
    {

        public void BookingEngineCreated(MercatorUi.Engine.Cpta.BookingEngine bookingEngine)
        {
            bookingEngine.BeforeSave += bookingEngine_BeforeSave;
        }

        public void BookingEngineClosed(MercatorUi.Engine.Cpta.BookingEngine bookingEngine)
        {
            bookingEngine.BeforeSave -= bookingEngine_BeforeSave;
        }

        void bookingEngine_BeforeSave(object sender, MercatorUi.Engine.Cpta.BookingEngine.BeforeSaveEventArgs e)
        {
            MercatorUi.Engine.Cpta.BookingEngine bookingEngine = (MercatorUi.Engine.Cpta.BookingEngine)sender;
            if (bookingEngine.Context == MercatorUi.Engine.Cpta.BookingEngine.ContextEnum.BankFin)
            {
                bookingEngine.CommandForFinalTransaction = new System.Data.SqlClient.SqlCommand(@"
                    update PIEDS_V set mycolumn='...' from LIGNES_C
                        where (lignes_c.num_ex=@num_ex) and (lignes_c.journal=@journal) and (lignes_c.piece=@piece)
                        and (lignes_c.id_gescom<>'') and (left(lignes_c.commentair,3)='+++') and (pieds_v.vcs=lignes_c.commentair)
                        and (pieds_v.journal=left(lignes_c.id_gescom,5)) and (pieds_v.piece=right(lignes_c.id_gescom,10))"
.UnIndent(5));
            }
        }
    }
}

 

Pour un VCS européen, il faut apporter ces modifications dans la requête SQL :
(left(lignes_c.commentair,3)='+++') and (pieds_v.vcs=lignes_c.commentair)
doit devenir
(left(lignes_c.commentair,2)='RF') and (pieds_v.vcseur=lignes_c.commentair)


Notes :

  • Version min. 11.0
  • Ceci ne s'applique pas aux comptabilités externes. Seule la comptabilité Mercator offre les avantages de la fonctionnalité décrite ici.