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

En législation luxembourgeoise, produire les fichiers FAIA

0000002304     -      12/10/2023

Mercator permet de produire un fichier XML reprenant tout le contenu d'un exercice comptable selon les règles imposées par l'Administration fiscale luxembourgeoise en matière de fichiers d'audit informatisé AED. Cette fonction est accessible via le point de menu "Comptabilité / Exporter vers Fichier FAIA" ou "Gestion / Exporter vers Fichier FAIA" (dans une comptabilité autonome).

Le fichier est produit dans le sous-répertoire Faia du répertoire des données de Mercator. Le nom du fichier commence par Faia suivi de la date de clôture de l'exercice pour lequel le fichier a été généré, au format AAAAMMJJ. Le fichier XML répond au schéma FAIA_v_2.01_full.xsd (qui est le cas le plus général). Un fichier FAIA peut contenir une multitude d'informations

  • dont une petite partie est obligatoire : ces informations sont toujours présentes dans le fichier FAIA
  • dont la majeure partie est optionnelle : ces informations sont reprises dans le fichier FAIA, si elles existent dans Mercator, dans une forme compatible avec le format demandé, sans équivoque quant à leur origine et non dépendante d'un paramétrage spécifique.  En aval du processus, il est possible, via un customizer, d'ajouter des informations supplémentaires. (voir le bas de cette page)

Le fichier FAIA implémente les éléments suivants :

  • Header : entête du fichier reprenant des informations générales relatives à la société qui émet le fichier
  • MasterFilesAccount : table des comptes généraux, avec solde initial et final
  • MasterFilesTaxTable : table des codes TVA
  • MasterFilesCustomers : table des clients, avec solde initial et final
  • MasterFilesSuppliers : table des fournisseurs, avec solde initial et final
  • GeneralLedgerEntries : toutes les écritures comptables de l'exercice pris en compte

Si Mercator n'est pas une comptabilité autonome, le fichier FAIA implémente aussi ces informations de la gestion commerciale :

  • MasterFilesUOM : tables des unités de mesure
  • MasterFilesProducts : table des articles
  • SourceDocumentsSalesInvoices : factures de ventes
  • SourceDocumentsPurchaseInvoices : factures d'achats (uniquement pour MFACT)

Le fichier FAIA est toujours généré pour un exercice complet. En principe, un fichier FAIA ne devra être généré que pour un exercice clôturé. (Si tel n'est pas le cas, un avertissement sera donné). Seules les données ayant une relation comptable avec cet exercice sont prises en compte. (Ex. : un client ou un code TVA non mouvementé pendant cet exercice ne sera pas repris dans le fichier) La liaison entre la comptabilité et la gestion commerciale est construite sur base du champ ID_GESCOM de la table LIGNES_C. Cela implique que les données de gestion commerciale sont prises en compte si les données comptables correspondantes ont été créées via le processus de centralisation de la gestion commerciale. En conséquence, les factures de gestion commerciale non centralisées en comptabilité ne sont pas reprises dans le fichier, puisqu'elles ne sont la pièce justificative d'aucune écriture comptable.

Le processus ne permet pas de sélectionner les informations à exporter ou non puisque la législation prévoit que les éléments, même optionnels, doivent être inclus dans le fichier FAIA dès lors qu'ils existent dans le système informatique.

Une fois le fichier généré, Mercator valide toujours son contenu par rapport au fichier XSD. Le cas échéant, une liste d'erreurs est affichée. Il faut savoir que l'administration luxembourgeoise ne fournit aucune interface de test de fichiers. Dès lors, seule la validation selon le schéma XSD est requise.

Remarques :

  • Concernant le pays dans les adresses clients/fournisseurs : cette information est obligatoire, au format ISO, et par défaut inexistante dans Mercator.
    • soit le champ CLI.C_ISOPAYS / FOU.F_ISOPAYS existe : s'il est non vide, cette valeur est prise en compte, sinon Mercator place la législation du dossier comme pays par défaut
    • sinon, si le n° de TVA commence par deux caractères qui ne sont pas des chiffres, alors ces 2 caractères sont pris en compte, sinon Mercator place la législation du dossier comme pays par défaut
  • Concernant les comptes généraux : pour que la zone AccountType soit correctement complétée, il est nécessaire que le champ G_ID_BILAN qui est pris en compte à cette fin, contienne la valeur adéquate.
  • Concernant les codes TVA : la valeur prise en compte est "Code F" (TVACODES.CODE_F). Malheureusement, le schéma XSD prévoit une longueur maximale de 9 caractères alors que dans Mercator ce champ a par défaut une longueur de 10. Il convient donc de veiller à ce que ce champ ne contienne aucune valeur dont la longueur est supérieure à 9. Pour assurer cela, nous recommandons d'installer cette contrainte : ALTER TABLE TVACODES ADD CONSTRAINT CODE_F_MAX_SIZE_9 CHECK (len(rtrim(code_f))<=9)
  • Concernant le fichier d'articles : la zone ProductNumberCode est complétée avec la clé correspondant à celle spécifiée dans l'option "Signalétiques / Clé EAN-13".

 

FAIA = fichier d'audit informatisé AED (Administration de l’Enregistrement et des Domaines)

Mots clés : Luxembourg


Il est possible d'agir sur le contenu du fichier FAIA, avant que le fichier XML ne soit généré. Cela se fait via l'évènement statique FaiaCreating de la classe MercatorUi.Forms.Accounting.AccountingProcedures.Procedures. Cet évènement peut être facilement délégué dans un customizer Main. L'EventArgs passé à ce délégué contient notamment une propriété AuditFile de type FaiaFull.AuditFile. Cette propriété correspond au sommet de l'arborescence du fichier XML qui va être produit par sérialisation.

Le code ci-dessous montre comment ajouter l'adresse mail du contact dans le Header :

Zoom
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;
using System.Windows.Forms;

namespace Main
{
    public class Customizer : MercatorUi.ICustomizers.IExec
    {

        public void Main(MercatorUi.ICustomizers.ExecAction Action)
        {
            if (Action == MercatorUi.ICustomizers.ExecAction.DossierOpen)
            {
                MercatorUi.Forms.Accounting.AccountingProcedures.Procedures.FaiaCreating += new MercatorUi.Forms.Accounting.AccountingProcedures.Procedures.FaiaCreatingEventHandler(Procedures_FaiaCreating);
            }
            else if (Action == MercatorUi.ICustomizers.ExecAction.DossierClose)
            {
                MercatorUi.Forms.Accounting.AccountingProcedures.Procedures.FaiaCreating -= new MercatorUi.Forms.Accounting.AccountingProcedures.Procedures.FaiaCreatingEventHandler(Procedures_FaiaCreating);
            }
        }

        void Procedures_FaiaCreating(MercatorUi.Forms.Accounting.AccountingProcedures.Procedures.FaiaCreatingEventArgs e)
        {
            e.AuditFile.Header.Company.Contact[0].Email = "info@mercator.eu";
        }

    }
}