|
Type de fichier d’export
|
Stéphane
le 14 novembre 2016
à 07:35
|
Rappel du sujet :
Bonjour,
Questions bêtes :
Lors de l’export de toutes les écritures (menu exporter les écritures), le fichier créé n’a pas d’extension :
Il est de quel type par défaut ?
En l’ouvrant avec un éditeur de texte, les montants sont sans décimal (ex 200 pour 2,00) : est ce normal ?
En l’ouvrant avec excel, même soucis avec les montants, mais aussi avec tous les accents (éèàô).
Merci de m’éclairer.
😀
|
tintinux
le 14 novembre 2016
à 18:24
|
Re : Type de fichier d’export
Lors de l’export de toutes les écritures (menu exporter les écritures), le fichier créé n’a pas d’extension :
Il est de quel type par défaut ?
Effectivement, il n’y a pas d’extension par défaut, mais quelle extension serait appropriée ?
Il existe beaucoup de possibilités et la manière dont elles sont traitées varie selon les systèmes et les logiciels qui vont importer.
En l’ouvrant avec un éditeur de texte, les montants sont sans décimal (ex 200 pour 2,00) : est ce normal ?
Avec la requête Export_FEC installée avec le logiciel, c’est effectivement le cas et, sauf erreur, c’est ce que spécifie la norme FEC.
Pour des échanges en France il semble raisonnable d’utiliser cette norme, qui
devrait
être acceptée en import par tous les logiciels de comptabilité à jour.
Toutefois, vous pouvez toujours modifier la requête et notamment diviser les montants par 100 en décidant quel signe décimal doit être généré (virgule ou point)...
En l’ouvrant avec excel, ... soucis avec les ... accents (éèàô).
Les données sont exportées dans le jeu de caractère UTF8 qui permet de traiter toutes les langues et qui est dans le sens de l’histoire.
Dans le logiciel qui importe, il faut spécifier le même jeu avant d’importer, s’il n’est pas déterminé automatiquement ou par défaut.
Je ne sais pas comment on fait avec Excel car je ne l’utilise pas, mais c’est sûrement possible.
Sinon, il faut convertir le fichier avec un utilitaire externe ou à la rigueur pour des petits volumes avec un traitement de texte comme psPad (sous Windows).
|
Stéphane
le 14 novembre 2016
à 18:34
|
Re : Type de fichier d’export
Bonjour Tintinux,
Merci c’est complet en réponse.
Pour moi pas de soucis, je sais quoi répondre en cas de demande lors de mon transfert vers le cabinet comptable (fichier brut sans extension et version excel)
Je peux rectifier sans soucis les problèmes d’accents avec excel.
Toutefois, vous pouvez toujours modifier la requête et notamment diviser les montants par 100 en décidant quel signe décimal doit être généré (virgule ou point)...
: ça je ne sais pas faire, je ferai la modif dans excel.
Merci encore
|
tintinux
le 9 décembre 2016
à 17:59
|
Re : Type de fichier d’export
Bonjour
Il faut que votre correspondant vous indique précisément tous les messages qu’il obtient.
Il existe bien un programme de test édité par le gouvernement, environ 10 fois plus volumineux que Gestinux.
On peut le télécharger ici
Il ne fonctionne que sous Windows et son installation et son ergonomie sont assez incompréhensibles, et il crashe à la fin du contrôle après n’avoir affiché que du vert, sans donner ses conclusions.
Je n’ai personnellement pas réussi à comprendre comment en obtenir des résultats pour valider ou non un fichier FEC ...
Si quelqu’un y parvient, il est le bienvenu !
Cependant je crois que les fichiers FEC générés par Gestinux sont valides et conformes à ce qui est décrit dans cette norme et que certains l’ont testé avec succès et l’ont indiqué sur ce forum.
Je suis en tous cas certain que les formats de date sont corrects, ils doivent être au format AAAAMMJJ.
A suivre...
|
Stéphane
le 9 décembre 2016
à 22:09
|
Re : Type de fichier d’export
Bonsoir Tintinux,
Je te rassure : chez moi le test fichier FEC issu de gestinux est bon.
Le programme fonctionne bien.
Le fichier transmis de gestinux est avec le menu modifié "export toutes les écritures"
SELECT
j.Code AS ’JournalCode’,
j.Name AS ’JournalLib’,
@i :=@i+1 as ’EcritureNum’,
date_format(m.MoveDate, ’%Y%m%d’) AS ’EcritureDate’,
a.Account AS ’CompteNum’,
a.Name AS ’CompteLib’,
’ ’ AS ’CompAuxNum’,
’ ’ AS ’CompAuxLib’,
m.Id AS ’PieceRef’,
date_format(m.MoveDate, ’%Y%m%d’) AS ’PieceDate’,
m.MoveText AS ’EcritureLib’,
CASE WHEN ml.Amount > 0 THEN ml.Amount ELSE NULL END AS ’Debit’,
CASE WHEN ml.Amount < 0 THEN -ml.Amount ELSE NULL END AS ’Credit’,
r.ReconciliationString AS ’EcritureLet’,
’ ’ AS ’DateLet’,
date_format(m.UpdateDate, ’%Y%m%d %H :%i :%s’) AS ’ValidDate’,
’ ’ AS ’MontantDevise’,
’ ’ AS ’IDevise’
FROM Moves m
JOIN Journals j ON j.Id=m.JournalId
JOIN MoveLines ml ON ml.MoveNumber=m.Id
JOIN Accounts a ON a.id=ml.AccountId
LEFT JOIN Reconciliations r ON r.MoveLineId=ml.MoveLineId
JOIN (SELECT @i :=0) cpt
WHERE m.MoveDate BETWEEN :StartDate AND :EndDate ;
Et tout est OK pour moi. Je ne comprends pas leurs soucis.
Cela m’agace.
|
Patrice
le 10 décembre 2016
à 17:23
|
Re : Type de fichier d’export
Bonsoir,
Le logiciel ’Test Compta Démat’ fonctionne sous linux avec Wine
Personnellement j’ai testé sous linux et sous windows et à chaque fois il me répond
que les fichiers sont ok sur la forme.
Donc ....
A+
|
Patrice
le 10 décembre 2016
à 17:28
|
Re : Type de fichier d’export
J’aurai pu ajouter que j’utilise comme délimiteur | et non pas la tabulation,
mais je ne vois pas ce que cela change vraiment.
|
tintinux
le 5 janvier 2017
à 17:47
|
Re : Type de fichier d’export
Bonjour
Pour info, il y avait un léger problème dans l’export FEC proposé depuis plus d’un an : tous les montants étaient effectivement multipliés par 100 !
Merci à mon collègue FNO qui s’en est aperçu !
Il faut en effet fournir les montants avec une virgule et 2 chiffres après, ce qui n’était pas précisé dans les premières spécifications et qui est assez inhabituel en matière d’échanges de données.
Cela n’empêchait pas que le fichier soit accepté dans le programme de validation car il ne vérifie pas la présence de la virgule et se contente alors de prendre les montants en euros sans centimes.
C’est corrigé avec le script fourni dans la 1.4-rc-5.
|
Stéphane
le 5 janvier 2017
à 22:47
|
Re : Type de fichier d’export
Bonjour Tintinux,
C’est corrigé avec le script fourni dans la 1.4-rc-5.
Parfait.
Merci
|
Patrice
le 10 janvier 2017
à 09:33
|
Re : Type de fichier d’export
A PROPOS DES FICHIERS FEC
Bonjour à tous,
–
Pour tenir compte des remarques de ce post, j’ai installé gestinux1.4rc5 et fais un export FEC.
A cette occasion j’ai remarqué que ’Date clôture’ des journaux ne se mettait pas à jour
(pour moi ils restaient à 30/06/2015 alors qu’après clôture ils auraient dû être à 30/06/2016)
De plus je journal ’INVENTAIRE’ (report des A nouveau) n’a pas du tout de date de clôture.
Quelqu’un a-t-il ce problème ?
PS : On peut modifier manuellement ces dates dans le logiciel et donc sortir un FEC ok.
–
Peut-on modifier la requête SQL pour avoir en premier les ’A nouveau’ ?
(pour moi le journal INVENTAIRE en premier)
C’est la recommandation/interprétation des EC et me semble logique.
Pour ceux que cela intéresse : voir le document ci-après page 49
http://www.experts-comptables.fr/sites/default/files/asset/document/controle_fiscal_informatise_-_sde_2015_0.pdf
Remerciements anticipés.
|
tintinux
le 12 janvier 2017
à 18:48
|
Re : Type de fichier d’export
Bonjour
C’est vrai que la clôture d’un exercice ne clôt pas automatiquement chacun des journaux.
Ce n’est pas nécessaire pour verrouiller la saisie, mais cela est désormais utile pour faire un export FEC conforme aux spécifications.
Il faut donc clôturer les journaux manuellement.
Dans la version 1.5 je tâcherai de réaliser cette clôture automatiquement.
Extraire les A Nouveau en premier doit être possible avec un tri dans la requête SQL, reste à trouver comment...
Mais pour l’instant cela ne semble que suggéré et pas requis explicitement par les spécifications.
|
Patrice
le 12 janvier 2017
à 19:18
|
Re : Type de fichier d’export
Bonsoir Tintinux,
Merci pour cette réponse aussi claire que précise.
A+
|
gastounet
le 13 janvier 2017
à 15:19
|
Re : Type de fichier d’export
Bonjour Patrice
Vous pourriez essayer cette requête SQL à la place :
SELECT
j.Code AS JournalCode,
j.Name AS JournalLib,
@i:=@i+1 as EcritureNum,
date_format(m.MoveDate, '%Y%m%d') AS EcritureDate,
a.Account AS CompteNum,
a.Name AS CompteLib,
NULL AS CompAuxNum,
NULL AS CompAuxLib,
m.Id AS PieceRef,
date_format(m.MoveDate, '%Y%m%d') AS PieceDate,
m.MoveText AS EcritureLib,
CASE WHEN ml.Amount > 0 THEN
REPLACE(TRUNCATE(ml.Amount/100,2),'.',',') ELSE NULL END AS Debit,
CASE WHEN ml.Amount < 0 THEN
REPLACE(-TRUNCATE(ml.Amount/100,2),'.',',') ELSE NULL END AS Credit,
r.ReconciliationString AS EcritureLet,
date_format(r.UpdateDate, '%Y%m%d %H:%i:%s') AS DateLet,
date_format(j.CloseDate, '%Y%m%d %H:%i:%s') AS ValidDate,
NULL AS MontantDevise,
NULL AS IDevise
FROM Moves m
JOIN Journals j ON j.Id=m.JournalId
JOIN MoveLines ml ON ml.MoveNumber=m.Id
JOIN Accounts a ON a.id=ml.AccountId
JOIN FiscalYears f ON m.MoveDate Between f.StartDate and f.EndDate
LEFT JOIN Reconciliations r ON r.MoveLineId=ml.MoveLineId
JOIN (SELECT @i:=0) cpt
WHERE m.MoveDate BETWEEN '2010-01-01' AND '2017-12-31'
ORDER BY CASE WHEN f.ANouveauMoveId=m.Id THEN 1 ELSE 2 END, 3;
J’y ai ajouté une jointure avec les périodes fiscales qui peuvent nous dire si une écriture est un à nouveau ou pas (quelque soit son journal)
On trie selon ce critère calculé, puis ensuite selon le 3ème champ qui est le numéro d’écriture.
Il est suggéré de trier sur la date de validation, mais en l’état, tel que c’est fait dans Gestinux, toutes les dates de validation risquent d’être identiques. Donc ça ne servira pas à grand chose.
Peut-être qu’à terme il faudra revoir cette histoire de date de validation.
Enfin vous pouvez remplacer le chiffre 3 à la fin par le n° d’autre de n’importe quel(s) autre(s) champ.
Je n’ai testé que la validité sur la base d’essai, mais je n’ai pas accès aujourd’hui à de vraies données comptables assez riches. Pouvez-vous essayer et me dire si ça convient mieux ?
Bien à vous
G.N
|
Patrice
le 13 janvier 2017
à 18:18
|
Re : Type de fichier d’export
Bonsoir gastounet,
Je n’arrive pas à sortir un fichier avec la requête indiquée
(copiée/collée)
le message est le suivant :
Une erreur imprévue est survenue.
Merci de la signaler en cliquant sur le bouton "Aide".
List index (0) out of bounds
Merci de vous intéresser à cette question.
|
tintinux
le 18 janvier 2017
à 07:28
|
Re : Type de fichier d’export
Bonjour,
La requête de Gastounet ne peut pas fonctionner dans Gestinux, seulement dans un client MySql.
En effet, les dates de début et de fin sont "en dur" ( ’2010-01-01’ et ’2017-12-31’ ) et Gestinux en a besoin sous forme de paramètres (:StartDate et :EndDate)
Il faudrait qu’elle soit :
SELECT
j.Code AS JournalCode,
j.Name AS JournalLib,
@i:=@i+1 as EcritureNum,
date_format(m.MoveDate, '%Y%m%d') AS EcritureDate,
a.Account AS CompteNum,
a.Name AS CompteLib,
NULL AS CompAuxNum,
NULL AS CompAuxLib,
m.Id AS PieceRef,
date_format(m.MoveDate, '%Y%m%d') AS PieceDate,
m.MoveText AS EcritureLib,
CASE WHEN ml.Amount > 0 THEN
REPLACE(TRUNCATE(ml.Amount/100,2),'.',',') ELSE NULL END AS Debit,
CASE WHEN ml.Amount < 0 THEN
REPLACE(-TRUNCATE(ml.Amount/100,2),'.',',') ELSE NULL END AS Credit,
r.ReconciliationString AS EcritureLet,
date_format(r.UpdateDate, '%Y%m%d %H:%i:%s') AS DateLet,
date_format(j.CloseDate, '%Y%m%d %H:%i:%s') AS ValidDate,
NULL AS MontantDevise,
NULL AS IDevise
FROM Moves m
JOIN Journals j ON j.Id=m.JournalId
JOIN MoveLines ml ON ml.MoveNumber=m.Id
JOIN Accounts a ON a.id=ml.AccountId
JOIN FiscalYears f ON m.MoveDate Between f.StartDate and f.EndDate
LEFT JOIN Reconciliations r ON r.MoveLineId=ml.MoveLineId
JOIN (SELECT @i:=0) cpt
WHERE m.MoveDate BETWEEN :StartDate AND :EndDate
ORDER BY CASE WHEN f.ANouveauMoveId=m.Id THEN 1 ELSE 2 END, 3;
Dans une future version, on verra si on ne peut pas mettre un message plus clair dans ce cas.
A part ça elle me semble bien répondre à la demande de trier avec les A nouveau en premier.
|
Patrice
le 19 janvier 2017
à 09:05
|
Re : Type de fichier d’export
Bonjour,
En remplaçant la ligne en cause par :
WHERE m.MoveDate BETWEEN :StartDate AND :EndDate
On obtient bien tous les enregistrements d’un exercice, cependant je n’ai pas
les ANouveaux en premier.
ORDER BY CASE WHEN f.ANouveauMoveId=m.Id THEN 1 ELSE 2 END, 3 ;
me donne bien un tri par le numéro d’écriture
ORDER BY CASE WHEN f.ANouveauMoveId=m.Id THEN 1 ELSE 2 END, 4 ;
me donne bien un tri par la date d’écriture, mais j’ai des écritures avant les ANouveaux dans différents journaux.
Je continue de chercher pourquoi mais mes connaissance en SQL sont bien minces ....
Remerciements.
|
gastounet
le 24 janvier 2017
à 12:23
|
Re : Type de fichier d’export
Bonjour
Effectivement, ce n’était pas bon, désolé !
Voici une requête qui devrait fonctionner en mettant les à nouveau en premier :
/* Version du 23/01/2017 avec Anouveau en premier */
SELECT
j.Code AS JournalCode,
j.Name AS JournalLib,
@i:=@i + 1 as EcritureNum,
date_format(m.MoveDate, '%Y%m%d') AS EcritureDate,
a.Account AS CompteNum,
a.Name AS CompteLib,
NULL AS CompAuxNum,
NULL AS CompAuxLib,
m.Id AS PieceRef,
date_format(m.MoveDate, '%Y%m%d') AS PieceDate,
m.MoveText AS EcritureLib,
CASE
WHEN
ml.Amount > 0
THEN
REPLACE(TRUNCATE(ml.Amount / 100, 2),
'.',
',')
ELSE NULL
END AS Debit,
CASE
WHEN
ml.Amount < 0
THEN
REPLACE(- TRUNCATE(ml.Amount / 100, 2),
'.',
',')
ELSE NULL
END AS Credit,
r.ReconciliationString AS EcritureLet,
date_format(r.UpdateDate, '%Y%m%d %H:%i:%s') AS DateLet,
date_format(j.CloseDate, '%Y%m%d %H:%i:%s') AS ValidDate,
NULL AS MontantDevise,
NULL AS IDevise
FROM
Moves m
JOIN
Journals j ON j.Id = m.JournalId
JOIN
MoveLines ml ON ml.MoveNumber = m.Id
JOIN
Accounts a ON a.id = ml.AccountId
LEFT JOIN
Reconciliations r ON r.MoveLineId = ml.MoveLineId
JOIN
(SELECT @i:=0) cpt
WHERE
m.MoveDate BETWEEN :StartDate AND :EndDate
ORDER BY CASE
WHEN
m.Id in (Select
Max(AnouveauMoveId)
From
FiscalYears f
where
f.StartDate < :StartDate)
THEN
1
ELSE 2
END , 3;
Bien à vous,
G.N
|
Patrice
le 26 janvier 2017
à 12:49
|
Re : Type de fichier d’export
Bonjour gastounet,
Cette requête fonctionne sans problème,
j’ai fais l’essai sur les 3 exercices clos et j’ai bien les A Nouveau en premier
(sauf évidemment sur le 1er exercice qui n’a pas d’ANouveau).
Je vais donc l’utiliser désormais.
Encore merci à vous.
Salutations.
|