OpenERP7 – Exporter les écritures comptables vers un logiciel de comptabilité

Lorsque la comptabilité n'est pas faite sous OpenERP, il est nécessaire d'exporter les écritures comptables vers un logiciel tiers de comptabilité.

Plusieurs solutions sont possibles :

  • faire un export CSV manuel des  écritures directement dans OpenERP mais cela est fastidieux car :

          - il faut le faire pour tous les journaux
          - il ne faut sélectionner que les nouvelles écritures (depuis le dernier export)

  • utiliser un ETL (ex: Kettle) pour réaliser l'export de tous les journaux à partir d'une certaine date
  • utiliser le module "Asgard Ledger Export" fourni par la société Heonium (ce module est désormais disponible à https://github.com/heonium/asgard_ledger_export )

Pour cette dernière solution, je vous invite à regarder cette vidéo dont j'ai suivi la procédure.
J'ai rencontré néanmoins l'erreur suivante

lors de l'export 

Et j'ai été amené à apporter une correction au fichier files_tools.py du module heo_common :

  • à la ligne 79, j'ai remplacé la valeur de dir_tmp par /tmp

  •  à la ligne 154, j'ai remplacé la valeur de dest par /tmp

11 réflexions au sujet de « OpenERP7 – Exporter les écritures comptables vers un logiciel de comptabilité »

  1. Bonjour, je déterre un peu le sujet mais existe-t-il des solutions pour Odoo v8 ? Les liens de l'article sont morts et après quelques recherches, les modules semblent exister seulement pour une V7 ou antérieur.
    Merci

    1. La société Heonium a été rachetée par Eggs Solutions.
      Je vous invite à les contacter pour voir si le module "Asgard Ledger Export" est prévu d'être migré en v8.

      Pour l'instant, en v8 je ne connais que les 2 autres solutions "manuelles" citées dans l'article.

  2. J'ai crée un csv pour paramétrer "Asgard Ledger Export", si cela peut faciliter la tache à certains, le voilà:
    [code]
    name,separator,extension,encoding,end_line,file_header,alef_line/sequence,alef_line/name,alef_line/type_field,alef_line/field_account/id,alef_line/field_indirection,alef_line/position,alef_line/lenght
    Export compta,;,csv,UTF-8,Unix,Date;Journal;Nom Journal;Compte;Ecriture;Partenaire;Désignation;Débit;Crédit,1,Date,Account field,account.field_account_move_line_date,,0,0
    ,,,,,,2,Journal.code,Account field,account.field_account_move_line_journal_id,.code,0,0
    ,,,,,,3,Journal.name,Account field,account.field_account_move_line_journal_id,.name,0,0
    ,,,,,,4,Compte.code,Account field,account.field_account_move_line_account_id,.code,0,0
    ,,,,,,5,Ecriture,Account field,account.field_account_move_line_move_id,.name,0,0
    ,,,,,,6,Partenaire,Account field,account.field_account_move_line_partner_id,.name,0,0
    ,,,,,,7,Désignation,Account field,account.field_account_move_line_name,,0,0
    ,,,,,,8,Debit,Account field,account.field_account_move_line_debit,,0,0
    ,,,,,,9,Credit,Account field,account.field_account_move_line_credit,,0,0
    [/code]
    Comme vous pouvez le constater, le séparateur est la virgule et c'est à importer dans "Configuration/Asgard – Export d'écritures comp…/Asgard – Export d'écritures co…"

  3. Voiçi quelques exemples de configuration plus poussées pour les "Lignes de champs"

    * Date au format JJ/MM/AAAA
    Type de champs: Champs d'écriture
    Champ calculé: Effective date
    Format: ['date','%d/%m/%Y']

    * Indirection
    Type de champs: Champs d'écriture
    Champ calculé: Account
    Indirection: .code
    Format: ['string','%s']

    * Journal lié (définir au préalable le journal cible)
    Type de champs: Champ interne
    Champ calculé: Code du journal cible
    Format: ['string','%s']

    * Champs multiples repris sur une seule colonne
    Type de champs: Champ construit
    Valeur: object.move_id.name + ' | ' + object.partner_id.name + ' | ' + object.ref
    Format: ['string','%s']

    * Valeur flottante à deux décimales et séparateur FR virgule
    Type de champs: Champ construit
    Valeur: ('%.2f' % object.debit).replace('.',',')
    Format: ['string','%s']

  4. Encore plus poussé … ce module Asgard Ledger Export est une pépite, il permet d'effectuer de belles choses !

    * Test de conditions avec opérateurs logiques and/or
    Exemple pour la comptabilité auxiliaire: si le Compte comptable == 401100 ou 411100, le Compte comptable devient "les 3 premiers chiffres de Compte comptable + Nom du Partenaire" sinon Compte comptable reste tél quel.
    Type de champs: Champ construit
    Valeur: (object.account_id.code == '401100' or object.account_id.code == '411100') and (object.account_id.code[:3] + object.partner_id.name) or object.account_id.code
    Format: ['string','%s']

    Le module Asgard Ledger Export utilise la fonction eval() pour évaluer Valeur, il n'est donc pas envisageable d'utiliser if … else !
    >> and << permet d'accéder à la condition VRAI le test est juste, donc cela exécute ce qu'il y a après le and
    >> or << si le test est FAUX cela exécute ce qu'il y a après le or

  5. Pour compléter les infos au sujet d'Asgard Ledger Export

    Il existe un module développé par Julius "asgard_export_parsing_rules", dispo ici:
    "bzr branch lp:julius-openobject-addons/7.0"

    Ce module crée le menu "Parsing rules" dans "Comptabilité/Configuration/Asgard – Export d'écritures comp…tables".
    Cela permet d'afficher et de gérer toutes les lignes des champs à exporter de tous les exports asgard. (Description = Module to manage parsing rules)

    Certes, cela n'apporte pas de fonctionnalités supplémentaires, suivant leurs besoins certains y trouveront une utilité.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *