Personnaliser Export Banque

Bonjour,

Ma comptable me demande un rapport mensuel des encaissements par CB, ESP et CHQ pour les prestations ou pour les ventes.
Utilisant que des produits même pour mes prestations (pas de gestion de stock avec les services), je souhaitais appliquer à chaque produit le code compta 706 ou 707 en fonction.

Puis ajouter la colonne « code compta vente » dans l’export Banque/Caisse " Écritures bancaires et relevés".

Je suis arrivé à bien faire apparaître cette colonne dans l’outil export. Seulement, j’ai du oublier quelque chose afin que les données du produit soient récupérés.

Ce qui fait que j’obtiens une erreur :

Ci dessous le code de mon fichier modBanque.class.php

$r++; $this->export_code[$r]=$this->rights_class.'_'.$r; $this->export_label[$r]='Ecritures bancaires et releves'; $this->export_permission[$r]=array(array("banque","export")); $this->export_fields_array[$r]=array('b.rowid'=>'IdTransaction','ba.ref'=>'AccountRef','ba.label'=>'AccountLabel','b.datev'=>'DateValue','b.dateo'=>'DateOperation','p.accountancy_code_sell'=>"ProductAccountancySellCode",'b.label'=>'Label','b.num_chq'=>'ChequeOrTransferNumber','b.fk_bordereau'=>'ChequeBordereau','-b.amount'=>'Debit','b.amount'=>'Credit','b.num_releve'=>'AccountStatement','b.datec'=>"DateCreation","bu.url_id"=>"IdThirdParty","s.nom"=>"ThirdParty","s.code_compta"=>"CustomerAccountancyCode","s.code_compta_fournisseur"=>"SupplierAccountancyCode"); $this->export_TypeFields_array[$r]=array('ba.ref'=>'Text','ba.label'=>'Text','b.datev'=>'Date','b.dateo'=>'Date','p.accountancy_code_sell'=>'Text','b.label'=>'Text','b.num_chq'=>'Text','b.fk_bordereau'=>'Text','-b.amount'=>'Numeric','b.amount'=>'Numeric','b.num_releve'=>'Text','b.datec'=>"Date","bu.url_id"=>"Text","s.nom"=>"Text","s.code_compta"=>"Text","s.code_compta_fournisseur"=>"Text"); $this->export_entities_array[$r]=array('b.rowid'=>'account','ba.ref'=>'account','ba.label'=>'account','b.datev'=>'account','b.dateo'=>'account','p.accountancy_code_sell'=>'product','b.label'=>'account','b.num_chq'=>'account','b.fk_bordereau'=>'account','-b.amount'=>'account','b.amount'=>'account','b.num_releve'=>'account','b.datec'=>"account","bu.url_id"=>"company","s.nom"=>"company","s.code_compta"=>"company","s.code_compta_fournisseur"=>"company"); $this->export_special_array[$r]=array('-b.amount'=>'NULLIFNEG','b.amount'=>'NULLIFNEG'); if (empty($conf->fournisseur->enabled)) { unset($this->export_fields_array[$r]['s.code_compta_fournisseur']); unset($this->export_entities_array[$r]['s.code_compta_fournisseur']); } $this->export_sql_start[$r]='SELECT DISTINCT '; $this->export_sql_end[$r] =' FROM ('.MAIN_DB_PREFIX.'bank_account as ba, '.MAIN_DB_PREFIX.'bank as b)'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX."bank_url as bu ON (bu.fk_bank = b.rowid AND bu.type = 'company')"; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'societe as s ON bu.url_id = s.rowid'; $this->export_sql_end[$r] .=' WHERE ba.rowid = b.fk_account'; $this->export_sql_end[$r] .=' AND ba.entity IN ('.getEntity('bank',1).')'; $this->export_sql_order[$r] =' ORDER BY b.datev, b.num_releve';

Si vous pourriez m’aider afin de résoudre ce souci, vous seriez bien aimable. :happy:

Bonjour,

Je pense que vous êtes en train de « refaire » le module compta puisque c’est finalement ce qu’il vous faut !
Faites un peu de lecture et mettez en place le module Compta Avancée qui vous permettra de sortir les journaux pour le comptable, c’est fait pour ça en fait.
Ensuite si vous êtes satisfait et/ou avez besoin d’aide, regardez www.dolibarr.fr/forum/t/financement-participatif-2017-saison-2/24337/1
@+

Bonjour,

Merci pour votre réponse.

Alors j’avais bien lu et je m’étais intéressé au module compta avancée.
Seulement, je n’arrivais à faire ce qu’il me fallait : la fonctionnalité existait pour le CA et non pas pour les encaissement. D’où le fait de vouloir passer par le module Banque.

Car pour ma compta, c’est moi qui doit rentré ces éléments dans l’application du cabinet de compta. Une fois que c’est mis en place, en somme ça me prend 3 min par mois…

Avez-vous peut-être une solution via le module compta ?

Quant ai financement participatif, si j’arrive à utiliser Dolibarr encore en 2017, ce sera avec plaisir !

Il suffit d’exporter le journal de banque et des ventes, voir les achats. Le tout s’intègre dans la comptabilité.
Avant il va falloir un peu de lecture et de paramétrage.
@+

1 « J'aime »

C’est maintenant dans les libellés des écritures du journal de banque

enfin c’est vrai uniquement pour les membres du groupe compta avancée 2017

pour les autres il faut attendre la V5 ^^

J’ai lu différents posts de ce forum, différent articles de sites, etc. Mais pour l’instant je ne suis pas arrivé à ce que je souhaite.

Je n’utilise pas pour ma compta le module de Dolibarr.
Je viens d’essayer d’exporter le journal de ventes, le code compta vente apparaît bien. Par contre je n’ai pas le mode de paiement.

J’ai juste besoin de connaître le total des règlements en fonction du code compta, par moyen de paiement.

C’est pour cela que ce matin j’essayai de suivre les conseils de Philippe Scoffoni pour personnaliser mon export banque et faire afficher les éléments nécéssaires (Ici sur son site)

Cela ne peut il pas être une solution ?

me contacter par email —> google —> jeffinfo
plus simple pour en discuter

sinon très bon article de philippe et c’est aussi une solution ^^

1 « J'aime »

Message envoyé via le formulaire de votre site

Je suis arrivé à mes fins !

Me concernant, j’ai donc modifié le fichier modBanque.class.php (htdocs/core/modules) afin de faire apparaître le code vente compta dans l’export Banque « Écritures bancaires et relevés ».

Vous trouverez ci-dessous le code pour ceux que ça intéressent.

Et en rouge les modifications apportées au fichier original.
Ce code vient en remplacement des lignes 143 à 162 dans dolibarr 4.0.3.

Finalement je ne suis pas arrivé à mes fins, avec mon code, j’avais des doublons et ça me faussait tout !

Du coup, je suis parti sur une modification du fichier modFacture.class.php mais je coince certainement au niveau des jointures.
J’obtiens ce message d’erreur :

Si jamais vous avez une piste, je suis preneur !
Et voici mon code PHP

on vire

LEFT JOIN '.MAIN_DB_PREFIX.'product as pr ON pf.fk_paiement = pr.accountancy_code_sell

qui ne peut pas fonctionner

et on remplace par

LEFT JOIN '.MAIN_DB_PREFIX.'facturedet as fd ON fd.fk_facture = f.rowid
LEFT JOIN '.MAIN_DB_PREFIX.'product as pr ON fd.fk_product = pr.rowid

après j’ai vraiment un doute sur la requête en général et j’espère qu’il n’y a pas de désignation libre, sinon elles ne vont pas apparaître…
et il y a quelques LEFT JOIN que je remplacerai par des INNER JOIN

Merci pour ta réponse.

Plus de code erreur, il y’a bien une colonne « Code compta vente » mais rien ne s’affiche dans cette colonne

c’est normal que ça fonctionne pas

la table de base (le FROM) se base sur la table société

que l’on va relier a pleins d’autres tables, hors les modifs on rajouté la table facturedet et product

donc il faudrait partir de la table « facturedet »

voici la requête du journal des ventes pour vous donner une idée

$sql = "SELECT f.rowid, f.facnumber, f.type, f.datef as df, f.ref_client,";
$sql .= " fd.rowid as fdid, fd.description, fd.product_type, fd.total_ht, fd.total_tva, fd.tva_tx, fd.total_ttc,";
$sql .= " s.rowid as socid, s.nom as name, s.code_client, s.code_fournisseur, s.code_compta, s.code_compta_fournisseur,";
$sql .= " p.rowid as pid, p.ref as pref, p.accountancy_code_sell, aa.rowid as fk_compte, aa.account_number as compte, aa.label as label_compte,";
$sql .= " fd.situation_percent,ct.accountancy_code_sell as account_tva";
$sql .= " FROM " . MAIN_DB_PREFIX . "facturedet as fd";
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "product as p ON p.rowid = fd.fk_product";
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accounting_account as aa ON aa.rowid = fd.fk_code_ventilation";
$sql .= " JOIN " . MAIN_DB_PREFIX . "facture as f ON f.rowid = fd.fk_facture";
$sql .= " JOIN " . MAIN_DB_PREFIX . "societe as s ON s.rowid = f.fk_soc";
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "c_tva as ct ON fd.tva_tx = ct.taux AND ct.fk_pays = '" . $idpays . "'";

Je vais regarder ça ce weekend… Je suis pas sorti mais je vais tâcher d’apprendre le SQL en quelques heures !

Encore merci !!

Concernant mon soucis, pas besoin d’export !

Je me suis rendu compte que je peux facilement et rapidement obtenir ce que je veux dans « BanquesCaisses » puis Écritures bancaires.

Là je veux filtrer par dates, types de paiement,…

Merci encore à ceux qui m’ont aidé pour leurs aides, et notamment DarkJeff et nos échanges emails !

FIN DE SEMAINE, J’ETAIS FATIGUE ET J’AI RACONTE N’IMPORTE QUOI !

J’ai complétement oublié les codes compta ventes…