Home / Les modules suisses / Autres modules / CSV 2 XML account

CSV 2 XML account

Script php de conversion d'un fichier au format CSV en un fichier au format XML prêt à l'intégration dans un module pour OpenERP

ons_csv2xml.zip 1,80 kB

Problématique

A l'origine, ce script permet la reprise d'un plan comptable, stocké dans un fichier au format CSV, pour en faire un fichier XML équivalent, prêt à l'intégration dans un plugin pour OpenERP.

Un plan comptable est en fait une structure hiérarchique dont chaque noeud comporte quelques attributs. Dans le cas présent, le fichier généré reprend cette hiérarchie et la transpose de façon à être reconnue par OpenERP.

Utilisation

Ce script a été testé sous PHP5.

Pour lancer la conversion: php ons_csv2xml.php input.csv output.xml

Intégration dans Tiny ERP

Pour créer un plugin permettant la reprise d'un plan comptable dans OpenERP:

  1. créer un dossier, par exemple: test
  2. créer dans ce dossier 2 fichiers textes:
    • __init__.py
      • y ajouter la ligne suivante: import test
      • remplacer test par le nom du dossier
    • __terp__.py
      y ajouter les lignes suivantes:
      {
       "name" : "Le nom de cette extension",
       "version" : "1.0",
       "depends" : ["product", "base"],
       "author" : "Moi",
       "description": """Une description plus complète que le nom""",
       "website" : "http://mon-site.ici",
       "category" : "Generic Modules/Some_Category",
       "init_xml" : [ ],
       "update_xml" : [ "output.xml" ],
       "demo_xml" : [ ],
       "active": False,
       "installable": True
      }
  3. copier dans ce dossier le fichier XML généré
  4. recopier le dossier ainsi créé dans le répertoire "addons/test", de l'arborescence du serveur OpenERP

Structure du fichier .csv

Pour être facilement importable, le fichier .csv doit posséder 6 colonnes contenant les données suivantes:

Nom du champ

Valeurs possibles

name Nom du compte (traduisible)
code Numéro du compte
type

Type de compte, valeurs standard;

  • Receivable
  • Payable
  • View
  • Income
  • Expense
  • Tax
  • Cash
  • Asset
  • Equity
  • Closed
  • Cloture
note Un champ texte optionnel
Close_method

Méthode de traitement lors de la clôture;

  • None
  • Balanced
  • Detail
  • Unreconciled
sign

Signe du compte;

  • 1
  • -1

L'ordre dans la structure hiérarchique, exposé dans le fichier CSV, doit être respecté. En effet, chaque ligne décrivant un compte ne peut référencer qu'un compte listé auparavant.

Exemple:

L'extrait suivant est valide:

Plan comptable général complet,0,regul,,none,1,
Actif,1,actifs,,none,1,1-2
Actifs mobilisés,10,actifs,,none,1,1
Disponible,100,actifs,,none,1,10

L'extrait suivant n'est valide:

Plan comptable général complet,0,regul,,none,1,
Actifs mobilisés,10,actifs,,none,1,1
Disponible,100,actifs,,none,1,10
Actif,1,actifs,,none,1,1-2

Le compte "Actifs mobilisés" se réfère à un parent (le compte "Actif") qui n'a pas encore été listé dans l'ordre de lecture du fichier: