Paramétrage >  Comptabilité >  Interface comptabilité >  Pièces automatiques  

Afficher tout Masquer tout

Cette fonction permet de définir la structure des pièces à comptabiliser pour tous les modules.
Exemple: la comptabilisation d'une écriture de facture de vente ou d'achat, de dotation aux amortissements, de règlement, d'extourne automatique, etc.

Des pièces distinctes peuvent être générées dans les comptes de crédit et de débit définis pour la société source et la société cible dans la fonction Mappage comptes inter-sociétés.
Chaque module peut générer des écritures à la validation comptable grâce à un sous-programme standard, utilisant un code caractéristique de l'opération (par exemple, la validation de factures tiers client utilise le code BPCIN).
Les programmes applicatifs sont maîtres du code utilisé et de l'appel au sous-programme de génération.

Principe de paramétrage et d'agrégation des lignes

Le paramétrage des pièces automatiques s'effectue en indiquant:

  • le code en tête de l'écran, 
  • les caractéristiques détaillées des écritures.

En version 140, il n'y a plus de paramétrage dédié pour les pièces comptables liées aux règlements. Elles sont devenues des pièces standards. Une notion complémentaire est définie : celle de groupe de pièces qui permet de définir un ensemble de pièces automatiques générées simultanément avec une description des écritures à lettrer.

Une écriture automatique est définie par les caractéristiques de :

  • l'en-tête de l'écriture, 
  • lignes par le biais d'une série de définition de lignes associées.


SEEINFO Une définition de ligne peut donner lieu à la création d'un ensemble de lignes d'écriture. En effet, le types des lignes peut être unique, répétitive, ou sur table liée : les deux derniers cas provoquent potentiellement la création d'un ensemble de lignes.

Des lignes sont automatiquement regroupées si les critères suivants sont identiques :

  • le compte général,
  • le tiers (si le compte général est un collectif),
  • le site,
  • la nature,
  • le libellé de la ligne,
  • le code taxe,
  • la clé de répartition (si une clé de répartition existe sur la ligne ; s'il s'agit d'une section, avoir des sections différentes n'empêche pas le regroupement des lignes, une répartition analytique étant créée),
  • le sens si l'indicateur Compensation débit/crédit n'est pas coché.

Définition des pièces en devises

Une pièce en devises se définit en indiquant la devise de l'écriture dans les champs de l'en-tête.
Pour déterminer les montants en devise de comptabilisation et de reporting, la gestion des cours de devises s'effectue de la façon suivante :

  • imposition simultanée des montants en devise et ceux dans les autres devises pour toutes les lignes d'écriture (en définissant des formules pour les champs Montant société et Montant reporting). 
    Si les montants calculés ne sont pas équilibrés dans toutes les devises, une erreur de type Pièce déséquilibrée en devise … s'affiche.
    Si au moins un montant société et reporting est calculé), on passera automatiquement les lignes d'écart de conversion si l'ensemble n'est pas équilibré en devise de reporting ou en devise société,
  • si les montants reporting et société ne sont pas définis sur certaines lignes, les formules définies pour les champs Cours et Cours reporting définies dans l'en-tête de la pièce sont utilisées. Les montants non définis sont calculés en appliquant les cours,
  • si les montants reporting et société ne sont pas définis sur certaines lignes sans formule pour les champs Cours et/ou Cours reporting, la valeur du champ Type de cours est utilisée pour déterminer le cours à la date comptable de passage de l'écriture. Par défaut, le type de cours associé au type de pièce est utilisé pour déterminer le cours appliqué pour calculer les montants manquants.

Ecritures analytiques pures

La définition d'une OD analytique est identique à celle d'une pièce générale, sauf qu'un type de pièce adapté est imposé et seulement les natures et les sections concernées sont renseignées (elles deviennent alors obligatoires).

Pré-requis

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre

Gestion de l'écran

Cet écran permet de définir le mode de génération et les caractéristiques de l'en-tête de pièce comptable.

En cliquant sur le bouton [Lignes], un écran s'affiche pour définir les lignes d'écritures à générer.

En-tête

Champs

Les champs suivants sont présents dans cet onglet :

 

  • Intitulé (champ DESTRA)

 

  • Intitulé court (champ SHOTRA)

 

Fermer

 

Ecran de saisie

Présentation

Cet écran permet de définir la structure de l'en-tête de l'écriture.

Le tableau des tables liées à l'en-tête

Une liste de tables liées à la table déclenchante est définie, ce qui permet d'utiliser des champs de ces tables dans les formules de calcul du tableau précédent. 
Exemple : il est possible d'utiliser les informations liées à la fiche tiers (BPSUPPLIER) pour les pièces comptables liées à la facture.
La deuxième colonne de ce tableau permet de définir le champ de la table déclenchante dont la valeur définit l'enregistrement lié à lire ( il peut y avoir plusieurs choix possibles : dans le cas de la facture, cela peut être le tiers facturant ou le tiers payeur). Une fenêtre de sélection permet de connaître les champs possibles.

Le tableau des formules associés aux champs de l'en-tête

Des formules de calcul permettant de calculer la valeur des champs de l'en-tête de la pièce sont définies. Les formules de calcul présentes dans ce tableau doivent être du bon type (par exemple, les montants doivent être numériques, le code journal alphanumérique).

Ces formules de calcul peuvent être simplement des constantes dans les cas les plus simples (par exemple, le journal des ventes pourrait être constant et s'appeler VEN : dans ce cas, une formule de calcul "VEN" suffit pour définir le journal). Elle peuvent être plus compliquées et intégrer des champs extraits soit de la table déclenchante, soit de tables liées définies par le tableau des liens. Dans certains cas, une valeur par défaut est affectée à la zone si aucune formule de calcul n'a été définie.

Les champs les plus remarquables de cet en-tête sont les suivants :

  • la catégorie, qui est un champ de type menu local, pour lequel on doit donc renvoyer une valeur numérique (1=réel, 2=simulation active, 3=simulation non active, 4=hors bilan, 5=modèle). La valeur par défaut est 1 (pièce réelle),
  • l'état (1=provisoire, 2=définitif). La valeur par défaut est 1,
  • le type de pièce (obligatoire), le numéro de pièce (qui va être attribué automatiquement s'il n'est pas imposé), et le journal comptable (s'il n'est pas renseigné, on prend le journal associé par défaut au type de pièce),
  • le site (le site par défaut de l'utilisateur s'il n'est pas donné),
  • les différentes dates (date comptable = date du jour par défaut, date d'échéance = date comptable par défaut),
  • la devise (par défaut celle du site), le type de cours (par défaut, celui associé au type de pièce, 1 en dernier ressort).

Fermer

 

Champs

Les champs suivants sont présents dans cet onglet :

Sélection

  • Module (champ MODULE)

Ce champ de type menu local permet de définir le module ayant généré l'écriture.

 

La table définie dans ce champ est la table dont le ou les enregistrements courants déclenchent le schéma de comptabilisation. Par exemple, pour valider des factures de vente, il s'agira de la table stockant les en-têtes de facture.

  • champ TBLDES

 

  • Index (champ KEYTBL)

Ce champ permet de savoir dans quelle table de la base de données se trouve le(s) enregistrement(s) maîtres par rapport au passage d'écriture.
Exemple :
Pour les factures, il s'agira de la table des factures de vente ou d'achat. Lors de la phase de génération des écritures, l'enregistrement courant de cette table sera utilisé.
Cette table sera parcourue dans l'ordre d'un index donné.
SEEINFO Par défaut, il s'agit du premier index. Ce paramètre est modifiable.

  • Groupage (champ GRPFLG)

Lorsque le schéma comptable est appelé pour traiter un ensemble de lignes de la table déclenchante, on peut au choix générer soit une pièce comptable par ligne, soit une seule pièce globale, selon la réponse donnée à cette question.

Ce champ de type menu local peut prendre deux valeurs qui sont :

  • une pièce par ligne,
  • groupée.
Pièce par ligne

Dans le premier cas, on génère une pièce comptable par enregistrement de la table déclenchante. Exemple : lorsqu'on génère des écritures comptables de facture. Pour chaque enregistrement du fichier des factures, une pièce comptable sera générée (l'enregistrement courant de la table au moment de l'appel définissant la facture qui doit être comptabilisée).

Groupée

Dans le deuxième cas, on parcourra un ensemble d'enregistrements de la table déclenchante. Cette table possède dans ce cas une clé principale en N parties et on parcourt l'ensemble des enregistrements avec les P premières parties de clé données (P<N).
Exemple : dans le cas des relevés d’échéances (pièce automatique SOI, table GACCDUDATE), on s’appuie sur la clé DUD2 en trois parties (le numéro de relevé, l’identifiant interne de l’échéance et le numéro de ligne). Une écriture est générée par relevé d’échéance. On parcourra donc la table avec la première partie de clé constante (numéro de relevé), en explorant toutes ses échéances, pour générer une seule pièce comptable par relevé pour l'ensemble des échéances parcourues.

Il est possible de générer plusieurs pièces en se basant sur un critère de rupture défini dans une table de détail liée à la table déclenchante.

Ce champ permet d'indiquer le nom de la table sur laquelle la rupture doit être faite. La zone suivante indique de nom du champ du rupture.

Les lignes d'une pièce de ce type sont forcément toutes des lignes de type Table liée, la table correspondante étant la table dans laquelle se trouve le critère d'éclatement.

Exemple 1 :
Dans le groupe de pièces automatiques liées au règlement, il existe une pièce d'OD inter-devises (qui définit les écritures d'écart liées au règlement dans une devise donnée d'une créance émise dans une autre devise) :

  • cette pièce est créée à partir de la table PAYMENTH (en-tête de règlement),  avec ou sans groupage, pour décider de créer une pièce par règlement ou par bordereau le cas échéant.
  • indépendamment de cette notion de groupage, la pièce créée va se faire par le parcours du détail du règlement, et génération si nécessaire d'un jeu de lignes équilibrées par ligne de règlement : chaque ligne de la pièce est de type Table liée, et la table en question est la table PAYMENTD. Un regroupement "naturel" des lignes qui peuvent être agrégées va se faire. Ainsi, si les comptes mis en jeu par les OD inter-devises ne dépendent pas de la devise, on aura un jeu de lignes unique même si plusieurs devises sont concernées dans le bordereau. Si ce n'est pas le cas, on aura une seule pièce dans laquelle on retrouvera un jeu de ligne par devise concernée.

Exemple 2 :

Si vous souhaitez créer une pièce d'OD inter-devises différente par devise, vous devez paramétrer dans les rubriques Eclatement pièce le nom de la table PAYMENTD et le nom du champ devise (CURLIN). Le simple fait de réaliser ce paramétrage suffit à éclater les jeux de lignes créés dans des pièces différentes.

Ce traitement peut fonctionner seulement si toutes les lignes de la pièce sont de type Table liée basées sur PAYMENTD. On ne saurait pas "couper" une ligne unique (sur quel critère déterminer le montant de chaque ligne ?).

  • Code champ (champ REIFLD)

Il est possible de générer plusieurs pièces en se basant sur un critère de rupture défini dans une table de détail liée à la table déclenchante.

Ce champ précédent indique le nom de la table sur laquelle la rupture doit être faite. Cette zone indique de nom du champ sur lequel doit se faire rupture.

  • Sous-prog après lien (champ ACTLIK)

Il est possible de prendre la main à certains endroits dans le processus de comptabilisation par des appels à des sous-programmes. Le nom de l'action correspond au nom de l'étiquette définie dans le traitement qui sera exécuté lors de la génération de la pièce automatique.

Il est possible d'intervenir à deux endroits dans le processus de comptabilisation :

  • Après les liens définis sur l’entête de pièce automatique (champ Sous-pro après lien). Ceci permet, par exemple, de prévoir des ouvertures de tables complémentaires, d'affecter des variables globales, de lire des informations liées de façon particulières au contexte déclenchant.
  • Après la création de la pièce (champ Sous-prog fin pièce).
  • Traitement (champ PRGLIK)

 

  • Sous-prog fin pièce (champ ACTAFTVCR)

 

  • Traitement (champ PRGAFTVCR)

 

Tableau Liste tables liées

  • No (champ NUMLIG2)

 

On précise ici le nom des tables devant être en ligne lors de la validation comptable des pièces.

  • Champ (champ LIKFLD)

On définit ici le nom du champ de la table principale dont la valeur permet de connaître la clé de la table liée. Par exemple, dans le cas d'une facture, si on veut avoir accès au client, il faut donner le champ qui permet de connaître le code du client. Dans cet exemple, on a le choix entre plusieurs codes (client facturé, payeur, statistique...)

Tableau Législations

  • Active (champ ACT)

 Ce champ précise si la pièce automatique est active pour chaque législation installée dans le dossier.

 

Bloc numéro 5

  • Montants négatifs (champ NEGAMT)

Cette case permet, si elle est cochée, d'autoriser des montants négatifs dans une écriture.
Si elle n'est pas cochée, une ligne comportant un montant négatif au crédit d'un compte va être transformée en ligne avec un montant positif au débit de ce même compte (et un montant négatif au débit d'un compte transformé en montant positif au débit du même compte).

  • Première date (champ DATFLG)

Cette case permet, si elle est cochée, d'accepter le passage d'une écriture sur une période clôturée, en la passant à la première date non clôturée postérieure.
Si elle n'est pas cochée, l'écriture automatique ne sera pas créée, erreur indiquée par une trace.

  • Référence (champ TYPVCR)

Ce champ est à renseigner pour les pièces automatiques de règlements définies dans un groupe de pièces. Il fait référence à une nomenclature interne. Les valeurs possibles sont :

  • Comptabilisation principale,
  • Pièce séparée Compte->Tiers,
  • Pièce séparée Banque->Compte,
  • OD tiers,
  • OD devise,
  • OD devise trésorerie,
  • Transfert de compte.

Il permet de déclencher certains mécanismes automatiques (gestion des impayés, stockage des comptes de trésorerie intermédiaires). Sa valeur est notamment stockée dans la table PAYACCNUM, et est également exploitée pour définir les étapes qui apparaissent en saisie des règlements.
Il est recommandé de ne pas en modifier la valeur sur les pièces automatiques livrées.
Les valeurs existantes sont : Comptabilisation principale, OD devise, OD devise trésorerie, OD Tiers, Pièce séparée Bq->Cpt, Pièce séparée Cpt->Tiers, Transfert de compte.

Particularités

  • Filtre (champ FORCND)

La zone "Filtre" permet de définir le filtre effectué sur la table déclenchante. L'écriture est générée seulement si la valeur de l'expression est vérifiée.
Les champs de la table déclenchante et des différentes tables liées peuvent être utilisés dans cette expression.
Exemple d'expression :
Soit [TABLE]CHAMP = VALEUR où [TABLE] est la table déclenchante d'en-tête. Seuls les enregistrements de la table déclenchante pour lesquels CHAMP = VALEUR seront parcourus.
Si VGLOBALE = VALEUR, la table sera parcourue si et seulement si VGLOBALE = VALEUR

  • Condition (champ FORCND2)

La zone "Condition" permet de saisir une formule de type AFNC.PARAM("FRAVAT",[F:SIH]CPY)="2". Si un enregistrement n'est pas vérifié par la condition indiquée, il ne sera pris en compte.
SEEWARNING Les enregistrements doivent être filtrés avant que la condition soit testée sur chacun d'entre eux.

Tableau Formules

  • No (champ NUMLIG)

 

  • Intitulé (champ INTIT)

 

  • Formule (champ FORCLC)

L'évaluation de cette expression permet de renseigner la valeur du champ correspondant dans l'en-tête de pièce comptable qui va être générée par le schéma.
Les champs de la table déclenchante et des tables liées peuvent être utilisées dans cette expression, qui doit être d'un type (numérique, alphanumérique, ou date) correspondant au type du champ à renseigner.

Fermer

 

Fonctions accessibles par clic droit sur le tableau

Sélectionner tout
Désélectionner tout
Inverser sélection

 

Fermer

 

Onglet Tracabilité

Champs

Les champs suivants sont présents dans cet onglet :

Bloc numéro 1

  • Traçabilité (champ TRCFLG)

 

 

  • Index (champ TRCKEY)

 

Bloc numéro 2

 

Tableau Paramètres

  • champ TRCCODPAR

 

  • champ TRCVALPAR

 

Fermer

 

Etats

Par défaut, les états suivants sont associés à la fonction :

  GAUTACE : Pièces automatiques

Mais ceci peut être modifié par paramétrage.

Boutons spécifiques

Ce bouton permet d'accéder au paramétrage des lignes.

Les champs suivants sont présents dans la fenêtre ouverte par ce bouton :

Bloc numéro 1

  • champ OBJET

 

  • champ CLES

 

Bloc numéro 2

  • Depuis le dossier (champ DOSORG)

Ce champ permet de définir le dossier à partir duquel la fiche va être copiée. Les syntaxes possibles sont décrites dans l'annexe dédiée.

  • Tous dossiers (champ TOUDOS)

Cette option permet de copier la fiche vers tous les dossiers définis dans le dictionnaire (table ADOSSIER de la solution courante).

  • Vers le dossier (champ DOSDES)

Ce champ permet de définir le dossier dans lequel la fiche va être copiée. Les syntaxes possibles sont décrites dans l'annexe dédiée.

Fermer

Ce bouton permet de copier une pièce automatique vers un autre dossier.

Définition des lignes d'écriture (onglet Général)

Champs

Les champs suivants sont présents dans cette fenêtre :

Tableau Législations

  • Active (champ ACT)

 Ce champ précise si la ligne de la pièce automatique est active pour chaque législation installée dans le dossier.

 

Tableau Référentiels

  • Référentiels (champ LEDTYP)

 

Tables

On définit ici le nom de la table liée, dont le parcours successif des enregistrements va permettre de générer les différentes écritures de la pièce comptable.

On définit ici une seconde table liée à la première, si des imputations analytiques multiples doivent pouvoir être données à chaque ligne d'écriture.

  • Lien analytique (champ LIKTBL2)

Ce champ permet de décrire la clé analytique, et donc d'établir le lien entre les enregistrements de la table générale (champ Générale) et ceux de la table analytique (champ Analytique).

Tableau Tables liées

  • Champs liés (champ LIKFLD)

Type de ligne

  • Type ligne (champ LINTYP)

Ce champ peut prendre 3 valeurs qui sont :

  • unique : on ne génère qu'une seule ligne d'écriture, dont les caractéristiques sont données par les champs suivants de l'écran.
  • répétitive : on génère un nombre variable de lignes, en fonction de la valeur d'un indice variant entre deux deux bornes évaluées à partir de formules données dans le tableau ci-dessous.
  • table liée : pour chaque enregistrement d'une table liée à la première table (généralement, il s'agit d'une table de lignes associée à la table d'en-tête), une écriture est générée. Il peut y avoir dans ce cas une deuxième table liée pour donner des répartitions analytiques.
  • Condition (champ FORCND)

Si cette condition, exprimée sous la forme d'une expression logique, est fausse, alors l'écriture n'est pas générée.

Sections

  • Condition détail lignes (champ DETCND)
  • Compensation (champ DEBCDT)

Si la réponse est Non à ce champ, on regroupe entre elles toutes les écritures générées à partir de cette ligne de paramétrage seulement si elles ont en commun toutes les caractéristiques listées ci-dessous :
site, compte général, compte tiers, répartition analytique, nature, code taxe, sens
Ainsi, deux écritures de sens opposées mais avec ces caractéristiques communes ne sont pas cumulées.
Si la réponse est Oui, on compense des écritures de sens opposé et de caractéristiques communes (si le montant résultant est nul, on ne génère pas l'écriture).
Des écritures passées avec des imputations sur des sections analytiques sans répartition seront regroupées entre elles si les autres caractéristiques sont identiques (une répartition en montant sera alors créée, associée à la ligne d'écriture générale)

  • Compte collectif (champ FLGDUD)

La case Auxiliarisation est cochée par défaut sur la première ligne des pièces automatiques de factures achats, ventes et tiers. Cette première ligne permet de générer la ligne Tiers TTC.

Si une pièce automatique de facture est paramétrée pour générer la ligne Tiers sur une ligne différente de la première, la case Auxiliarisation doit être cochée. Lors de la validation de la facture, la ligne Tiers TTC est associée à ses échéances, la facture est alors lettrée.

  • Ligne partie double (champ CPALIN)
  • Groupe de lignes (champ LINGRP)

 

  • Traçabilité (champ TRCFLG)

Tableau Codes comptables

  • No (champ NUMLI2)

 

  • Code comptable (champ TYPACCCOD)

Ce champ définit le type de code comptable utilisé. Ce menu local définit toutes les tables dans lesquelles on retrouve un code comptable susceptible d'être utilisé lors de la génération d'écritures.

  • Indice (champ ACCNUM)

L'indice saisi ici définit quel élément du tableau des modificateurs comptable on va utiliser. La fonction de sélection permet de faire apparaître l'intitulé exact des éléments (qui dépendent du type de code comptable).

  • Intitulé (champ LIBIND)

 

  • Clé identifiant (champ ACCKEY)

On définit ici une expression qui donne la valeur de la clé de la table dont on recherche le code comptable.

  • Condition (champ ACCCND)

Si ce champ est rempli, la recherche du code comptable ne s'effectue que si le résultat de l'évaluation de cette expression logique est vraie.

Fermer

La définition des caractéristiques des lignes d'écriture se fait sur deux onglets dont l'affichage est déclenché par le bouton correspondant. On a la possibilité de sélectionner les différentes lignes à l'aide de la liste gauche, ou d'en créer de nouvelles. Ces lignes d'écritures sont caractérisées par un type, des conditions générales et une liste de formules permettant d'évaluer les différents champs des lignes.

Le tableau des liens

Ce tableau permet de définir des tables dont le contenu doit être en ligne pour la détermination des caractéristiques de la ligne d'écriture. Les caractéristiques définies sont le nom de la table et le champ qui donne la valeur de la clé principale. Seules les tables directement liées soit à la table principale de la pièce automatique, soit à la table générale (pour les lignes de type Table liée) peuvent être sélectionnées.

Le tableau des codes comptables

Ce tableau permet de :

 définir des liens entre la table des lignes et des tables annexes (par exemple les articles en ligne de facture), afin d'utiliser les champs des tables  liées dans les expressions des champs de chaque ligne d'écriture.

 déterminer les champs Compte général (si il est incomplètement déterminé par une expression, ou si l'expression n'est pas définie) et Nature (si elle n'est pas définie), par des applications successives de codes comptables (dans l'ordre de la déclaration du tableau).

Un code comptable est un code alphanumérique présent sur les fiches de base du progiciel, qui permet d'influer sur les écritures générées à partir des informations de la fiche correspondante. La table des codes comptables est caractérisée par le type du code et le code alphanumérique défini pour l'utilisateur (par exemple, FRANCE, EXPORT dans le cas de codes liés à des clients, SERVICES, PRODUITS dans le cas de codes liés à des articles).

Les types de codes comptables sont nombreux : Article, Client, Fournisseur, Commercial, Acheteur, Pièce, Société, Site, Devise, Taxe, Pied, Escompte, Banque, Règlement, Immo, etc.

A un type donné, un ensemble de lignes de définition caractérisées par un intitulé est associé. Par exemple, Modificateur achat, Modificateur de vente, Modificateur d'immobilisation… dans le cas du type de code Article. Chacune de ces lignes permet de définir à la fois soit un compte général, soit une partie de compte général (les caractères non définis étant représentés par des x) et une nature analytique. Le paramétrage permettant de définir les lignes associées à un code comptable est défini dans une fonction dédiée.

Lors de la génération automatique de pièces, la détermination du compte général s'effectue par des recherches successives des codes comptables dans l'ordre de déclaration, en cherchant à enseigner uniquement les portions de compte non encore déterminées. La nature analytique est recherchée successivement par parcours des codes comptables en s'arrêtant dès qu'une nature est définie.

Exemple:

Pour une ligne de vente, le code comptable est défini par l'expression "7xxxxxxx" et les éléments suivants sont présents dans le tableau des modificateurs :

 

Article

Modificateur Vente

 

Commercial

Modificateur Vente

 

Site

Modificateur Vente

 

Devise

Modificateur Vente

  • si l'article présent dans la ligne a pour code comptable SERVICE et que dans la table des codes comptables on trouve Compte = "xx23xxx",
  • si le commercial présent dans la ligne a pour code comptable EXPORT et que dans la table des codes comptables on trouve Compte = "xx2x2",
  • si le site présent dans la ligne a pour code comptable NORD et que dans la table des codes comptables on trouve Compte = "xxxxxxx48",
  • si la devise présente dans la pièce a pour code comptable EURO, et que dans la table des codes comptables on trouve Compte ="xxxxx45xx",

 le code comptable est déterminé par 6 passes successives :

on part du code d'origine, soit :

7xxxxxxx

on applique le masque x23xxx, on obtient :

723xxxxx

on applique le masque xx2x2, on obtient :

723x2xxx      (le 1er 2 est ignoré)

on applique le masque xxxxxxx48, on obtient :

723x2xx48

on applique le masque xxxxx45xx, on obtient :

723x24548

plus aucun masque n'étant applicable, on remplace les x restant par des zéros, d'où le compte final :


723024548

Si la nature n'est pas définie par une formule, on recherche successivement dans:

  • la nature dans le code comptable article, 
  • le code comptable commercial, 
  • le code comptable site, 
  • le code comptable associé à la devise. 


SEEINFO Cette procédure permet d'utiliser des racines données de comptes avec des portions de compte dépendant du contexte. Il n'est pas obligatoire de définir les comptes de la sorte. Si on désire que le compte comptable de vente soit défini par 703 suivi des caractères 2 à 3 du champ TSICOD (famille statistique supposée être numérique) de la table article (d'abréviation ITM), il faut définir pour le compte une formule du genre :

 

"703"+seg$([F :ITM]TSICOD,2,3)

le lien vers la table article restant défini par une ligne de code comptable.

Liste des champs à remplir dans le tableau des codes comptables

1. le type de code comptable et le numéro de la ligne où le compte et la nature sont recherchés (on en saisit le numéro, et l'intitulé s'affiche, la fenêtre de sélection faisant apparaître directement l'intitulé).

2. Une expression dont la valeur correspond à la clé de la table liée (article, client, fournisseur, etc.).

3. Une expression logique optionnelle. Si cette expression existe, le lien vers la table et l'application du code comptable sont effectifs si le résultat de l'évaluation de l'expression renvoie un résultat égal à vrai .

Dans l'ensemble des expressions saisies, il est possible d'utiliser des champs extraits des tables en ligne:

  • la table principale définie dans l'écran d'en-tête,
  • les tables qui sont liées à la table principale dans l'écran d'en-tête,
  • les tables définies dans les rubriques table générale et table analytique si le type de ligne à générer est Table liée,
  • les tables qui sont liées dans l'écran des lignes,
  • l'appel à des fonctions dédiées, par la syntaxe func TRT.FONCT(arguments), où TRT est le nom du traitement et FONCT le nom de la fonction à appeler. Un certain nombre de fonctions particulièrement intéressantes pour le contexte des pièces automatiques ont été définies dans le traitement AFNC : ces fonctions sont définies dans le tableau qui suit.

Fonction

Paramètres

Résultat

AFNC.ACTIV(COD)

COD=code activité (alpha)

0 si le code activité est inactif pour le dossier, 1 s'il est actif

AFNC.PARAM(PARAM,SITE)

PARAM=code paramètre (alpha)
SITE=code site (alpha)

la valeur du paramètre (sous forme alphanumérique sur 30 caractères maximum).

AFNC.CONSULT(ACCES)

ACCES=code accès (alpha)

1 si on a accès en consultation à la ressource contrôlée par le code d'accès, 0 sinon (si le code accès est vide, le résultat est 1).

AFNC.MODIF(ACCES)

ACCES=code accès (alpha)

Idem que le précédent, pour les droits de modification

ADNC.EXEC(ACCES)

ACCES=code accès (alpha)

Idem que le précédent, pour les droits d'exécution

Tableau des formules

Ce tableau permet de définir des formules de calcul pour l'ensemble des champs de chaque ligne de la pièce comptable. Les formules de calcul doivent être du bon type (les montants doivent être numériques, le code du compte alphanumérique).

Ces formules de calcul peuvent être des constantes dans les cas les plus simples. Elle peuvent être plus compliquées et intégrer des champs extraits des tables précédemment décrites, auxquelles les tables définies par le tableau des codes comptables sont ajoutées.

Il est possible d'utiliser la variable indice si le type de ligne à générer est répétitive.

Il existe un ensemble de variables à utiliser via la syntaxe V_XXXXX : ces variables sont alimentées par l'appel d'un sous-programme défini dans la fonction de paramétrage des variables. L'appel du sous-programme utilise le cas échéant des paramètres.

Un clic droit permet, par le choix Paramètres, de définir les valeurs de ces paramètres, en précisant une expression pouvant utiliser des constantes, des opérateurs, des fonctions, et l'ensemble des champs des tables en ligne.

L'éditeur de formule est disponible via un clic droit pour permettre de faciliter la construction des formules complexes.

Les champs notables des lignes d'écritures sont:

  • le compte à mouvementer, qui peut être donné de façon exhaustive par une formule, ou de façon incomplète (en laissant des caractères à compléter sous la forme de x), voire pas du tout. Lorsque le compte n'est pas déterminé complètement, le tableau des codes comptables est utilisé pour les définir,
  • le code tiers (lorsque le compte précédemment donné est un collectif),
  • le montant, qui est positif sauf si on désire passer une écriture réellement négative, et la quantité, si on utilise les unités d'œuvre,
  • le sens, qui vaut +1 si l'écriture doit être passée au débit du compte, et -1 si elle doit être passée au crédit,
  • les différentes imputations analytiques,
  • le site concerné à la ligne,
  • les codes statistiques (au nombre de trois en standard),
  • le critère de détail. Cette zone est particulièrement importante dans le cas des écritures liées aux règlements. Elle permet de définir si une ou plusieurs lignes d'écritures sont générées. Les lignes aux caractéristiques identiques (site, compte général et tiers le cas échéant) sont regroupées si elles ont des valeurs égales de critère de détail.
    Si la valeur est différente, des lignes sont séparées (il est à noter que le fait d'avoir des sections analytiques différentes n'est pas un critère d'éclatement si ce ne sont pas déjà des répartitions. Le système crée une répartition au prorata des montants).


Le tableau ci-dessous en donne des exemples dans les règlements :

 

Expression de regroupement

Explication

 

[F :PYD]LIN

une ligne par imputation de règlement, sans chercher à regrouper les lignes identiques.

 

 [F :PYD]VCRNUM

une ligne par facture (ie on regroupe les imputations de plusieurs échéances d'une même facture)

 

  • la référence libre : cette zone est exploitée dans le lettrage et peut servir de critère de lettrage par analogie. Elle peut être renseignée par n'importe quel champ,
  • le libellé : deux fonctions permettent de récupérer l'intitulé d'une pièce automatique ou de ses lignes de pièces automatiques et de les utiliser dans le paramétrage de la pièce (libellé, description, etc.).

 func TRTCPTINT3.GET_LIN_DES

Permet de récupérer l'intitulé de la ligne de la pièce automatique courante.

 func TRTCPTINT3.LECTEXTRA("GAUTACE","DESTRA","code de la pièce auto","")

Permet de récupérer l'intitilé de l'en-tête de pièces automatiques.

 

 

Tableau des actions

Ce tableau permet de définir, sur des événements techniques particuliers dans le processus de comptabilisation, des appels à des sous-programmes. Ces sous-programmes, identifiés par le nom de l'étiquette et le nom du traitement, sont fournis en standard. Il est conseillé de ne pas les modifier. Il est possible, dans le cadre de certaines traitements spécifiques, d'écrire de nouveaux traitements associés à ces actions.

Les événements techniques existants sont les suivants :

Action avant création ligne

Elle permet de définir deux critères, CRITIMP et CRITMTC, en fonction de champs de la table principale d'abréviation TB0 ou de la table secondaire d'abréviation [TB1]). Ces critères permettent, dans la gestion des écritures liées aux règlements, de regrouper ou non les lignes. Cette action est utilisée en standard avec les valeurs suivantes :

 

Valeurs action

Effet

 

REGROUP / PAYCPTA

Pour gérer le regroupement ou le détail de certaines écritures sur des comptes intermédiaires (même principe que le champ Critère détail, mais « câblé » par la logique du traitement standard).

Action après création ligne

Elle est utilisée dans la gestion des écritures liées aux règlements. Cette action est utilisée en standard avec les valeurs suivantes :

 

Valeurs action

Effet

 

APLIGBAN / PAYCPTA

Stockage du compte de trésorerie dans une variable pour traitement ultérieur et déclenchement de la dévalorisation du portefeuille.

 

 APLIGFAC / PAYCPTA

Mise à jour des échéances, sur les lignes mouvementant le tiers facturé, avec le numéro de l'échéance de règlement pour gérer les acomptes sur commandes client et fournisseur.

 

REGROUP / PAYCPTA

Gestion du regroupement de certaines écritures sur des comptes intermédiaires.

Action de lien

Elle permet d'appeler un sous-programme de lecture d'informations liées de façon non standard (elle se place au niveau de chaque ligne).

Messages d'erreur

Outre les messages génériques, les messages d'erreur suivants peuvent apparaître lors de la saisie :

"Erreur de syntaxe (suivie d'un détail explicatif)"

La syntaxe de l'expression adonix saisie n'est pas correcte (par exemple, le nombre d'arguments d'une fonction n'est pas bon, ou bien il manque une parenthèse). Il est à noter qu'il est impossible de détecter des erreurs plus complexes sur des expressions (par exemple, division par zéro, variable inexistante…). Ces erreurs seront détectées lors de la génération des écritures, on en retrouvera une liste exhaustive plus loin.

"Lien impossible"

Ceci signifie que l'on a essayé de faire un lien depuis la table déclenchante vers une table pour laquelle le dictionnaire ne connaît pas de lien (par exemple, lier l'en-tête de facture avec la table des articles).

Ceci arrive aussi si la zone de lien est incorrecte (lorsqu'on a saisi la table à lier, on peut choisir les zones de lien possibles par une fenêtre de sélection)

"Indice incorrect"

Ce message est affiché si le numéro d'indice utilisé pour un code comptable n'existe pas (par exemple, si on tente d'utiliser l'indice no 4 pour un code comptable Acheteur).

Messages d'erreur à l'exécution de la pièce

Les erreurs signalées ci-dessous peuvent arriver lors de la génération des écritures (en validation comptable de facture, par exemple). La plupart de ces erreurs ont pour origine un paramétrage imparfait. Certaines se produisent si des opérations de maintenance ont altéré des données.

"Code paramètre inexistant"

Le code de paramétrage appelé par l'opération de génération n'existe pas.

"Table déclenchante non référencée"

La table déclenchante n'est pas accessible au moment de la génération.

"Table déclenchante inexistante"

La table déclenchante n'existe pas.

"Nombre d'arguments incorrect"

Le nombre d'éléments de clés de la table principale ne correspond pas au nombre attendu.

"Clé inexistante"

La valeur de clé correspondant à l'enregistrement courant de la table principale n'existe plus ou ne répond pas aux conditions de génération.

"Table secondaire inexistante : XXX"

La table secondaire XXX donnée dans les paramètres de génération d'une ligne n'existe pas.

"Table analytique inexistante : XXX"

La table analytique XXX donnée dans les paramètres de génération d'une ligne n'existe pas.

"ZZZ : Erreur en évaluation de zone"

(suivi du message d'erreur)

Lors de l'évaluation de la zone ZZZ en cours de génération de pièce, l'erreur correspondant au message qui suit est arrivée. Cette erreur peut être quelconque (variable inexistante, division par zéro…)

"Lien incorrect sur XXX"

Le lien sur la table XXX liée à l'en-tête n'a pas pu se faire (par exemple, dans le cas d'une facture, si XXX est BPC, le code Tiers facturé n'existe pas).

"nnn : code comptable inexistant"

Ceci signifie que l'on a référencé un code comptable inexistant ou un numéro de ligne inexistant (le no nnn) pour un code comptable donné (par exemple, le code no 12 pour le code comptable article).

"Compteur inexistant"

Le compteur attaché au type de pièce à générer n'existe pas.

"Dépassement de compteur"

La plage de numéros attribuée pour le type de pièce à générer a été dépassé.

"XXX : site inexistant"

La zone site fait référence à un code site inexistant après évaluation.

"XXX : société inexistante"

La zone société fait référence à un code société inexistant après évaluation.

"Pas de cours de devise"

Le cours de devise correspondant aux paramètres donnés n'a pas pu être trouvé.

"ttt : type de pièce inexistant"

Le type de pièce ttt est inexistant.

"Transaction abandonnée"

La transaction n'a pas pu se faire (un autre message d'erreur est apparu en principe).

"Pièce réelle déjà existante"

On a tenté de créer une pièce comptable avec un numéro de pièce correspondant à une pièce déjà existante en comptabilité.

"Pièce temporaire déjà existante"

On a tenté de créer une pièce comptable avec un numéro de pièce déjà attribué à une pièce temporaire.

"Pas de lignes"

On a tenté de générer une pièce comptable sans lignes.

"Pièce déséquilibrée"

On a tenté de générer une pièce comptable déséquilibrée.

"Ventilation déséquilibrée"

On a tenté de créer une ventilation analytique déséquilibrée (en montant).

"Ventilation déséquilibrée (qté)"

On a tenté de créer une ventilation analytique déséquilibrée (en quantité).

"Compte inexistant"

On a tenté de passer une écriture sur un compte inexistant (ceci ne peut arriver que si on a désactivé le paramètre permettant la création automatique des comptes inexistants).

"XXX xxxxx : message d'erreur"

Ce type de message peut arriver lors des phases de contrôle avant le passage d'écriture. Les messages peuvent être très variés, XXX étant le code de la table et xxxxxxx la clé sur laquelle se produit l'erreur. Par exemple, si le site et la société paramétrés sont incohérents entre eux, on peut avoir un message du type suivant :

FCY  AAA : Ce site est dans la société ZZZ

(ici, FCY est l'abréviation de la table des sites, et AAA le code du site correspondant) 

Tables mises en oeuvre

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre