Annexe B Format d'enregistrement du fichier de comptes
B.1 Généralités
Le fichier de comptes de Grisbi est enregistré au format XML. Il est
visualisable avec n'importe quel éditeur, mais il est très fortement recommandé
de ne pas le modifier.
Le format XML est un format universel, ce qui permet à n'importe quel autre
programme de pouvoir utiliser les données provenant de Grisbi, à condition qu'il
reprenne le formatage de Grisbi. C'est pourquoi nous allons détailler ce
formatage ci-après.
Un fichier XML stocke des informations de maniere hiérarchique. On reconnait
un fichier XML à son en-tête: <?xml version="1.0"?>.
Les données étant organisées de manière arborescente, on distingue des noeuds de
l'arbre, se divisant en plusieurs branches, et des feuilles, qui sont des noeuds
finals contenant l'information recherchée.
La manière dont ces noeuds se suivent et sont imbriqués est libre, mais on
peut contraindre la grammaire d'un fichier XML en fonction d'une DTD
(Document Type Definition, ou Définition de Type de Document), qui dictera
les combinaisons autorisées.
B.2 Vue d'ensemble
Le principe du XML est l'utilisation de balises (un peu comme le HTML) sauf
qu'en XML c'est le programmeur qui définit ses propres balises.
Une information est entourée par deux balises, la balise entrante qui ressemble
à <balise> et la balise sortant qui ressemble à </balise>.
Par exemple le numéro de version utilisé pour enregistrer votre fichier s'écrit
: <Version>0.3.2</Version>.
Les informations sont classées en sections. Les sections débutent et finissent
par des balises portant leur nom. Exemple : les informations de configuration
générale sont comprises entre les balises <Generalites> et
</Generalites>.
Si une balise ne contient aucune information le XML écrit une balise
vide sous la forme <balise/>.
Dans la présentation de la structure du fichier de compte de Grisbi nous
noterons "/" le fait qu'un élément est compris dans un autre.
Certaines balises ont un nom tellement explicite que nous nous contenterons de
les citer sans autres explications.
B.3 Organisation du fichier
B.3.1 Section de la configuration générale
Contenu de cette section :
- <Grisbi> : c'est l'élément racine, ancêtre de tous les autres ;
- <Grisbi>/<Generalites> : le bloc d'informations générales
relatives à la configuration de Grisbi (voir le paragraphe 17.1)
;
- <Grisbi>/<Generalites>/<Version> : une feuille contenant
le numéro de version de Grisbi ;
- <Grisbi>/<Generalites>/Fichier_ouvert : est utilisée pour le
verrouillage dans le mode multi-utilisateurs. 1 = le fichier est ouvert,
0 = le fichier n'est pas ouvert ;
- <Grisbi>/<Generalites>/Backup : chemin et nom du fichier de
sauvegarde ;
- <Grisbi>/<Generalites>/Titre : le titre de votre fichier ;
- <Grisbi>/<Generalites>/Adresse_commune : l'adresse du titulaire du
compte ;
- <Grisbi>/<Generalites>/Utilise_exercices : 1 = le fichier de compte
utilise les exercices, 0 = il ne les utilise pas ;
- <Grisbi>/<Generalites>/Utilise_IB : 1 = le fichier de compte
utilise les imputations budgétaires, 0 = il ne les utilise pas ;
- <Grisbi>/<Generalites>/Utilise_PC : 1 = le fichier de compte
utilise
le champ Pièces comptables, 0 = il ne l'utilise pas ;
- <Grisbi>/<Generalites>/Utilise_info_BG : 1 = le fichier de compte
utilise le champ Coordonnées bancaires, 0 = il ne l'utilise pas ;
- <Grisbi>/<Generalites>/Numero_devise_totaux_tiers : le numéro de
la devise utilisée pour les totalisations dans les onglets Tiers
Catégories et Imputations budgétaires ;
- <Grisbi>/<Generalites>/Type_affichage_des_echeances : 0 = mois,
1 = 2 mois, 2 = année, 3 = toutes, 4 = personnalisée ;
- <Grisbi>/<Generalites>/Affichage_echeances_perso_nb_libre :
contenu
de l'entrée pour l'affichage personnalisé des échéances ;
- <Grisbi>/<Generalites>/Type_affichage_perso_echeances : 0 =
jours, 1 = mois, 2 = années ;
- <Grisbi>/<Generalites>/Numero_derniere_operation : numéro de la
dernière opération du fichier ;
B.3.2 Section relative aux comptes
Cette section est une branche de l'arbre Grisbi et devrait donc
être notée <Grisbi>/<Comptes>.
Afin de simplifier nous n'indiquerons pas l'élément racine <Grisbi>
et nous commencerons à <Comptes>. Cette remarque est valable pour toutes
les sections qui suivront.
Voici le contenu de cette section :
- <Comptes>/<Generalites> est une sous-section qui décrit les points
communs à tous les comptes du fichier ;
- <Comptes>/<Generalites>/<Ordre_des_comptes> est l'ordre dans
lequel les comptes sont affichés dans l'onglet Opérations (configuré dans
Configuration/Affichage (voir le paragraphe 17.4).
Les comptes sont désignés par leur numéro (voir ci-après) et séparés par des
tirets sans espace (exemple : 3-2-0-1) ;
- <Comptes>/<Generalites>/<Compte_courant> : c'est le compte qui
était affiché dans l'onglet Opérations lors de la fermeture du fichier et
qui le sera lors de sa ré-ouverture ;
- <Comptes>/<Compte> est un bloc d'informations renfermant tous les
détails d'un compte donné. L'élément père <Comptes> peut contenir
plusieurs fils <Compte> qui se suivent les uns les autres. Ils seront
identifiés par leur numéro interne. Nous allons décrire ici la syntaxe attendue
d'un tel compte.
- <Comptes>/<Compte>/<Details> : il s'agit de toutes les informations
que vous avez saisies lors de la création du compte (ou peut-être après).
- <Comptes>/<Compte>/<Details>/<Nom> : le nom que vous avez donné à
votre compte ;
- <Comptes>/<Compte>/<Details>/<No_de_compte > : le numéro de votre
compte dans Grisbi ;
- <Comptes>/<Compte>/<Details>/<Titulaire> : si le titulaire du
compte est différent du titulaire général ;
- <Comptes>/<Compte>/<Details>/<Type_de_compte> : le type de compte
( 0 = bancaire, 1 = espèces, 2 = passif) ;
- <Comptes>/<Compte>/<Details>/<Nb_operations> : le nombre
d'opérations enregistrées dans ce compte ;
- <Comptes>/<Compte>/<Details>/<Devise> : le numéro de la devise dans
laquelle est tenu le compte ;
- <Comptes>/<Compte>/<Details>/<Banque> : le numéro de l'établisement
bancaire tenant le compte ;
- <Comptes>/<Compte>/<Details>/<Guichet> : le code Guichet de
l'établisement bancaire ;
- <Comptes>/<Compte>/<Details>/<No_compte_banque> : le numéro de
votre compte dans votre établissement bancaire ;
- <Comptes>/<Compte>/<Details>/<Cle_du_compte> : la clé RIB ;
- <Comptes>/<Compte>/<Details>/<Solde_initial> ;
- <Comptes>/<Compte>/<Details>/<Solde_mini_voulu> ;
- <Comptes>/<Compte>/<Details>/<Solde_mini_autorise> ;
- <Comptes>/<Compte>/<Details>/<Solde_courant> : pour accélérer les
traitements Grisbi enregistre le solde de votre compte dans cette balise ;
- <Comptes>/<Compte>/<Details>/<Date_dernier_releve> : concerne les
rapprochements ;
- <Comptes>/<Compte>/<Details>/<Solde_dernier_releve> : concerne les
rapprochements ;
- <Comptes>/<Compte>/<Details>/<Dernier_no_de_rapprochement> :
concerne les rapprochements ;
- <Comptes>/<Compte>/<Details>/<Compte_cloture> : 0 = Non, 1 = Oui ;
- <Comptes>/<Compte>/<Details>/<Commentaires> ;
- <Comptes>/<Compte>/<Details>/<Adresse_du_titulaire> ;
- <Comptes>/<Compte>/<Details>/<Nombre_de_types> : nombre de type
d'opérations définis pour ce compte ;
- <Comptes>/<Compte>/<Details>/<Type_defaut_debit> : le numéro du
type d'opération par défaut en débit ;
- <Comptes>/<Compte>/<Details>/<Type_defaut_credit> : le numéro du
type d'opération par défaut en crédit ;
- <Comptes>/<Compte>/<Details>/<Tri_par_type> : 0 = tri par date
lors du rapprochement, 1 = tri par type d'opération ;
- <Comptes>/<Compte>/<Details>/<Neutres_inclus> : 1 = les types
neutres sont séparés en fonction du montant de l'opération (débit/crédit) ;
- <Comptes>/<Compte>/<Details>/<Ordre_du_tri> : classement des types
d'opération lors du rapprochement .
Les types d'opérations du compte
La balise suivante est une sous-sous-section qui se nomme
<Comptes>/<Compte>/<Detail_de_Types>. Elle décrit tous les types
d'opérations paramétrés pour le compte. Le format change, à savoir que chaque
type est contenu dans sa propre balise, incluant tous les paramètres le
distinguant. La valeur des paramètres leur est affectée de la façon suivante :
Nom="Virement" c'est à dire le nom du paramètre, le signe =, puis la
valeur du paramètre entre guillemets. Un type d'opération est décrit par la
balise <Type> contenant les paramètres suivants, séparés par des espaces :
- <No> : numéro du type d'opération pour ce compte ;
- <Nom> : le nom que vous donnez à ce type d'opération ;
- <Signe> : 0=neutre, 1=débit, 2=crédit ;
- <Affiche_entree> : affiche l'entrée complémentaire (numéro de
chèque ou de virement) ;
- <Numerotation_auto> : 1 = incrémente le numéro en cours
lors de l'affichage de l'entrée complémentaire, 0 = ne l'incrémente pas ;
- <No_en_cours> : numéro en cours pour l'entrée complémentaire.
Détail des opérations du compte
La balise suivante est une sous-sous-section qui se nomme
<Comptes>/<Compte>/<Detail_des_operations> et qui liste toutes les
opérations du compte, ainsi que leurs lignes de ventilation. De même que les
types, les opérations sont contenues dans une balise <Operation> avec les
paramètres suivants :
- <No> : c'est le numéro de l'opération dans le fichier, tous comptes
confondus ;
- <D> : la date de l'opération ;
- <Db> : la date de valeur de l'opération ;
- <M> : le montant (signé) de l'opération. A noter que bien que le
formulaire de saisie présente deux zones, une pour les débits et une pour les
crédits, le montant est enregistré dans un seul paramètre ;
- <De> : le numéro de la devise utilisée ;
- <Rdc> : c'est le Rez-de-chaussée. Heu, non, c'est l'indication de la
devise à laquelle on applique le taux de change défini plus loin :
- 1 : devise du compte = devise étrangère x taux de change ;
- 0 : devise étrangère = devise du compte x taux de change.
- <Tc> : le taux de change permettant de passer de la devise du compte
à la devise étrangère ou inversement ;
- <Fc> : les frais de change, s'il y en a ;
- <T> : le numéro du tiers ;
- <C> : le numéro de la catégorie ;
- <Sc> : le numéro de la sous-catégorie ;
- <Ov> : 0 = l'opération n'est pas ventilée, 1 = l'opération est
ventilée ;
- <N> : les notes ;
- <Ty> : le numéro du type de l'opération tel que définit plus haut ;
- <Ct> : l'information liée au type d'opération (n° de chèque, de
virement,
etc.) ;
- <P> : le statut de l'opération : 0 = non pointée, 1 = pointée mais
non
rapprochée, 2 = rapprochée ;
- <A> : si l'opération est planifiée, définit son statut : 1 =
automatique, 0
= manuelle ;
- <R> : le numéro du rapprochement ;
- <E> : le numéro de l'exercice ;
- <I> : le numéro de l'imputation budgétaire ;
- <Si> : le numéro de la sous-imputation budgétaire ;
- <Pc> : les références de la pièce comptable ;
- <Ibg> : les informations Banque - Guichet ;
- <Ro> : pour les virements, le numéro de l'opération de contrepartie
;
- <Rc> : pour les virements, le numéro du compte de contrepartie ;
- <Va> : si l'opération est une ligne de ventilation, ce paramètre
contient le
numéro de l'opération-mère.
Cette section traite des opérations planifiées et comprend les informations
suivantes :
- <Echeances>/<Generalites> : la sous-section des généralités
comprenant :
- <Echeances>/<Generalites>/<Nb_echeances> : le nombre d'opérations
planifiées ;
- <Echeances>/<Generalites>/<No_derniere_echeance> : le numéro de la
dernière opération planifiée ;
- <Echeances>/<Detail_des_echeances> : Cette balise ouvre la liste
des opérations planifiées décrites dans une balise nommée
<Echeances>/<Detail_des_echeances>/<echeance>. Les paramètres
de cette balise correspondent aux champs à renseigner lors de la création de
l'opération planifiée :
- <No> : numéro d'ordre de l'opération planifiée ;
- <Date> : date de la première échéance de l'opération
planifiée ;
- <Compte> : compte concerné par l'opération planifiée ;
- <Montant> ;
- <Devise> ;
- <Tiers> ;
- <Categorie> ;
- <Sous-categorie> ;
- <Virement_compte> : numéro de compte vers lequel ou duquel le virement
s'effectue ;
- <Type> ;
- <Contenu_du_type> : lorsqu'un type d'opération affiche une entrée
complémentaire, mais non incrémentée automatiquement, le contenu de cette entrée
est enregistré ici ;
- <Exercice> ;
- <Imputation> : il s'agit de l'imputation budgétaire ;
- <Sous-imputation> : voir ligne précédente ;
- <Piece_comptable> ;
- <Info_banque_guichet> ;
- <Notes> ;
- <Automatique> : 0 = manuelle, 1 = automatique ;
- <Periodicite> : 0=une fois, 1=hebdo, 2=mensuel, 3=annuel,
4=personnalisé ;
- <Intervalle_periodicite> : 0=jours, 1=mois, 2=années ;
- <Periodicite_personnalisee> : le nombre de jours/mois/années quand
la périodicité est personnalisée ;
- <Date_limite>.
Cette section liste tous les tiers enregistrés dans le fichier de comptes :
- <Tiers>/<Generalites> : cette sous-section contient comme d'habitude
le nombre de tiers et le numéro du dernier tiers enregistré ;
- <Tiers>/<Generalites>/<Nb_tiers> ;
- <Tiers>/<Generalites>/<No_dernier_tiers> ;
- <Tiers>/<Detail_des_tiers> : cette sous-section comprend autant de
balises <Tiers> que de tiers enregistrés. Chaque balise décrit un tiers
avec les paramètres suivants :
- <No> ;
- <Nom> ;
- <Informations> ;
- <Liaison> : 1 = le tiers est lié à un autre logiciel, 0 = le tiers
n'est pas lié (sans intérêt pour l'instant).
B.3.5 Catégories
Cette section est construite exactement sur le même principe que celle des tiers
et comprend :
- <Categories>/<Generalites> ;
- <Categories>/<Generalites>/<Nb_Categories> ;
- <Categories>/<Generalites>/<No_derniere_categorie> ;
- <Categories>/<Detail_des_categories> : sous-section comportant les
balises <Categorie> dont chacune décrit une catégorie :
- <No> ;
- <Nom> ;
- <Type> : 1 indique que cette catégorie est normalement au débit, 0
au crédit et 2 signifie spécial (concrètement, c'est une catégorie de virement
ou d'opération ventilée) ;
- <No_derniere_sous_categorie>.
- <Categories>/<Sous_categorie> : si la catégorie contient une ou
plusieurs sous-catégories la balise <Categorie> est suivie par une ou
plusieurs balises <Sous_categorie> contenant les paramètres suivants :
- <No> : le numéro d'ordre de la sous-catégorie dans la catégorie (de
1 à n, n étant normalement égal au contenu de la balise
<No_derniere_sous_categorie>, sauf si la dernière sous-catégorie a été
supprimée;
- <Nom>.
B.3.6 Imputations budgétaires
Cette section est exactement identique à celle des catégories à ceci près que le
mot catégorie est remplacé par le mot imputation :
- <Imputations>/<Generalites> : cette sous-section contient le nombre
d'imputations et le numéro de la dernière imputation enregistrée ;
- <Imputations>/<Generalites>/<Nb_imputations> ;
- <Imputations>/<Generalites>/<No_derniere_imputation> ;
- <Categories>/<Detail_des_imputations> : sous-section comportant
les balises <Imputation> dont chacune décrit une imputation :
- <No> : le numéro d'ordre de l'imputation ;
- <Nom> ;
- <Type> ;
- <No_derniere_sous_imputation>.
- <Categories>/<Sous_imputation> : si l'imputation contient une ou
plusieurs sous-imputations la balise <Imputation> est suivie par une ou
plusieurs balises <Sous_imputation> contenant les paramètres suivants :
- <No> : le numéro d'ordre de la sous-imputation dans l'imputation (de
1 à n, n étant normalement égal au contenu de la balise
<No_derniere_sous_imputation>, sauf si la dernière sous-imputation a
été supprimée ;
- <Nom>.
La gestion des devises est antérieure au passage à la monnaie unique, ce qui
explique qu'il reste un certain nombre de paramètres liés au passage à l'euro.
Ces paramètres seront conservés encore quelque temps pour permettre l'import
d'anciens fichiers, puis disparaîtront.
La section <Devises> utilise la structure désormais familière des autres
sections du fichier :
- <Devises>/<Generalites> : la sous-section des généralités, à savoir
:
- <Devises>/<Generalites>/<Nb_devises> ;
- <Devises>/<Generalites>/<No_derniere_devise>.
- <Devises>/<Generalites>/<Detail_des_devises> : la sous-section
des détails, comprenant des balises <Devise> et leurs paramètres :
- <No> ;
- <Nom> ;
- <Code> ;
- <Passage_euro> : 1 = la devise passera à l'euro, 0 = elle ne passera
pas à l'euro ;
- <Date_dernier_change> : la date du dernier taux de change saisi ;
- <Rapport_entre_devises> : 1 = le taux de la devise est égal à la
devise en
rapport multipliée par le taux de change, 0 = pas de conversion ;
- <Devise_en_rapport> : la devise en rapport avec la devise courante
(ex: liaison Franc-Euro) ;
- <Change>: taux de change entre les deux devises.
Nous retrouvons la structure habituelle :
- <Banques> ;
- <Banques>/<Generalites> ;
- <Banques>/<Generalites>/<Nb_banques> ;
- <Banques>/<Generalites>/<No_derniere_banque> ;
- <Banques>/<Detail_des_banques> ;
- <No> ;
- <Nom> ;
- <Code> : c'est le code banque de votre RIB ;
- <Adresse> ;
- <Tel> ;
- <Mail> ;
- <Web> ;
- <Nom_correspondant> ;
- <Fax_correspondant> ;
- <Tel_correspondant> ;
- <Mail_correspondant> ;
- <Remarques>.
Cette section s'étoffera probablement lors de l'introduction des budgets. Pour
l'instant elle comporte :
- <Exercices>/<Generalites> ;
- <Exercices>/<Nb_exercices> ;
- <Exercices>/<No_dernier_exercice> ;
- <Exercices>/<Detail_des_exercices> :
- <No> ;
- <Nom> ;
- <Date_debut> ;
- <Date_fin> ;
- <Affiche> : 1 = l'exercice est afffiché dans la liste déroulante du
formulaire des opérations, 0 = il n'est pas affiché.
B.4 Rapprochements
Grisbi permettant de personnaliser le numéro des rapprochements, cette section
enregistre simplement la liste des numéros personnalisés :
<Rapprochements> ;
<Rapprochements>/<Detail_des_rapprochements> ;
- <No> : ce numéro est repris dans la balise <Operation>/<R> ;
- <Nom> : le numéro (ou nom) personnalisé.