Description globaleLibellé | Valeur | Type de fichier | Texte | Encoding | Extended Windows ANSI, Unicode | Format | Variable, de type Tab-Return (séparateur tabulation de Excel) | Nom de détection | RImport.txt | Extension | .txt |
Lignes Le format des fichiers RImport est relativement léger et facile à consulter (avec Excel par exemple). C’est un format de type texte qui permet de transférer des lignes d’écritures comptables. Chaque ligne peut contenir plusieurs champs de longueur variable, séparés par des tabulations, et se termine par un retour à la ligne. Exemple : 4646484354 411666 Facture 240.47D Banque “Crédit maritime” 4646484355 411666 Facture 15.03D Banque “Crédit maritime” Sections En plus des lignes d’écriture, le fichier peut contenir des informations supplémentaires, comme par exemple les informations des comptes tiers. Ces informations sont contenues dans des sections introduites par une ligne de commande qui commence par ##Section. Exemple : ##Section Tiers 411666 Compte client Léon Rue de la paix 75000 Paris Format Il est également possible de modifier le format de certaines données. Les modifications s’appliquent pour les données comprises entre les lignes de commande ##DebFmt et ##FinFmt. On peut par exemple redéfinir le séparateur décimal pour un certain nombre de lignes. Exemple : ##DebFmt SepDec = . … (données) ##FinFmt SepDec On peut avoir des déclarations de format imbriquées les unes dans les autres. Si un même format est défini plusieurs fois avec des valeurs différentes, la dernière définition écrase la précédente et s’applique jusqu’à la ligne ##FinFmt correspondante. La définition précédente s’applique à nouveau ensuite (même fonctionnement qu’une pile). Si le fichier ne compte pas exactement le même nombre de lignes ##DebFmt et ##FinFmt, il y a une erreur. Caractères Les applications Sage 50 et Ciel utilisent les caractères Windows ANSI étendus pour la génération des fichiers RImport. Les fichiers importés peuvent cependant utiliser les caractères au format Unicode, ils seront reconnus (si toutefois le marqueur unicode 0xFEFF est présent en début de fichier).
Structure détailléeElément | Contenu | Description | Fichier RImport | <Ligne><Retour à la ligne> <Ligne><Retour à la ligne> … <Ligne><Retour à la ligne> | Un fichier RImport est composé de plusieurs lignes séparées par des retours à la ligne. Le retour à la ligne suivant la dernière ligne n’est pas obligatoire | Ligne | <Ligne de données> ou <Ligne de commande> | Une ligne peut être de type « Ligne d’écriture », « Début de section », « Début de format » ou « Fin de format » | Retour à la ligne | CR ou LF ou CR LF ou LF CR | Le retour chariot (CR, code ASCII 0x0D) et Line feed (LF, code ASCII 0x0A), ainsi que leurs combinaisons sont acceptées comme séparateurs de lignes. | Ligne de données | <Donnée><Tabulation>… <Tabulation><Donnée> | Les données sont les valeurs affectées aux différents champs qui composent une ligne d'écriture. Elles sont séparées par des tabulations. S’il n’y a rien entre deux tabulations, c’est la valeur par défaut de la rubrique qui sera prise. | Donnée | Type | Exemple | Texte nu | 411AB111 | Texte encapsulé | “Compte de Trésorerie” | Valeur vide | “” | Valeur par défaut |
| Texte représentant la valeur d’un champ dans une ligne d’écriture. Le texte peut être nu ou encapsulé dans des “”. Tous les caractères sont acceptés. Cependant, si le texte contient des tabulations ou des retours à la ligne, il doit être encapsulé. Si un texte encapsulé contient des “”, elles doivent être doublées. La valeur vide est représentée par “”. Si la donnée ne contient aucun texte, c’est la valeur par défaut du champ qui sera prise lors de l'import du fichier. | Ligne de commande | ##<Commande><Tabulation><Paramètre(s)> | Une ligne de commande peut contenir 0, 1 ou plusieurs paramètres. Il existe une commande pour définir les sections et des commandes pour définir le format de certaines données. | Commande Fichier | ##Fichier <Type> | Informations sur le fichier | Type | RImport | Cette information doit impérativement figurer en début de fichier | Commande Section | ##Section<Tabulation><Nom section> | Indique le début d’une section. | Commande début de format | - DebFmt<Tabulation><NomFormat> = <Format>
Non prise en compte pour l’instant | Spécification d’un format de donnée. Ce format sera appliqué sur toutes les lignes suivantes jusqu’au prochain marqueur ##FinFmt. | Commande fin de format | - FinFmt
Non prise en compte pour l’instant | Le format spécifié après le marqueur ##DebFmt reprend la valeur qu’il avait précédemment. | Nom section | Type de section | Nom section | Société | Soc | Dossier | Dos | Mouvements | Mvt | Journaux | Jnl | Comptes de tiers | Tiers | Modes de paiement | MdP | Devise | Dv |
| Les sections n’ont pas d’ordre déterminé. Le début d’une section indique la fin de la section précédente. | Nom Format | Nom Format | Description | Aucun pour l’instant |
| Nom d’un format à modifier, comme par exemple, SepDec pour le séparateur décimal. | Format | Nom Format | Formats possibles | Aucun pour l’instant |
| Valeur d’un format à modifier, comme par exemple / pour le séparateur des dates. |
Description du contenuTypes utilisés pour les rubriques Entier : - Les valeurs 0 et vide sont identiques
- Les caractères reconnus sont les chiffres de 0 à 9 et le signe – en début de rubrique, tous les autres caractères sont ignorés.
EXEMPLE : -45,9 8 8 sera interprété comme -45 988 45a6 comme 456 ATTENTION : Ces exemples ne génèrent pas d’erreur. Flottant : - Le séparateur décimal est indifféremment le point ou la virgule (si la rubrique en contient plusieurs, c’est le plus à droite qui est pris en compte)
- Les valeurs 0 et vide sont identiques
- Peut être précédé du signe moins (y compris pour 0 ou vide)
- Tous les autres caractères sont ignorés (espaces, lettres …)
- La précision peut aller de 0 à 8 décimales
EXEMPLE : 12.123.555 sera interprété comme 12 123,555 -78-568,44 comme 78 568,44 Date : - Au format JJ/MM/AA ou JJ/MM/AAAA
- Les dates relatives ne sont pas autorisées
Heure : Booléen : - 0 ou vide ou "" pour faux (s’il y a des espaces, ils sont trimés)
- Tous les autres caractères pour vrai
Texte : - Tous les caractères sont autorisés.
- Si le texte d’une rubrique contient des tabulations ou retours à la ligne, il doit être entre doubles cotes.
EXEMPLE : "Texte avec tabulation" - S’il contient lui-même des doubles cotes, elles sont répétées.
EXEMPLE : “ Rubrique contenant des : ““ double cotes ”” ” Rubriques Rubriques obligatoiresLes rubriques marquées d’un * doivent obligatoirement être renseignées. Rubriques de la section Soc (Ignorée pour l’instant) Rubriques de la section Dos Position | Nom | Type | Contrainte | Vide autorisé | Valeur par défaut | Commentaire | 1 | Code monnaie origine | Texte | Longueur maximum 3 | oui | Monnaie du dossier |
Rubriques de la section Mvt
Position | Nom | Type | Contrainte | Vide autorisé | Valeur par défaut | Commentaire | 1 | N° Mouvement * | Entier | Valeur maximum< 2 147 483 647 | non |
|
| 2 | Code journal* | Texte | Longueur maximum 8 | non |
|
| 3 | Date écriture * | Date |
| non |
|
| 4 | N° de compte* | Texte | Longueur maximum 13 | non |
|
| 5 | Intitulé du compte | Texte | Longueur maximum 40 | non |
|
| 6 | Montant * | Flottant |
| non |
| Précision de 0 à 3 | 7 | Sens montant* | Texte | Longueur maximum 1 | non |
| D (débit) ou C (crédit) | 8 | Code statut | Texte | Longueur maximum 1 | oui | B | B (brouillard), V (validé) ou S (simulation) | 9 | Libellé écriture | Texte | Longueur maximum 50 | oui |
|
| 10 | N° de pièce | Texte | Longueur maximum 15 | oui |
|
| 11 | Type | Entier Texte | Longueur 35 | oui |
| 1 à 15 ou {Recette, Facture client, Facture fournisseur, Règlement client, Règlement fournisseur, Virement, Réimputation, Amortissement, Opération diverse, Avoir client, Acompte client, Acompte fournisseur, Centralisation} | 12 | Code mode de paiement | Texte | Longueur maximum 20 | oui |
|
| 13 | Date échéance | Date |
| oui |
|
| 14 | Code analytique | Texte | Longueur maximum 13 | oui |
|
| 15 | Libellé code analytique | Texte | Longueur maximum 35(sans les sous-niveaux) | oui |
| Dans le cas d’un code analytique multi-niveaux, le libellé analytique contient le détail des sous niveaux (Libellé, Niveau et Montant analytiques) | 16 | Code pointage | Texte | Longueur maximum 12 | oui |
|
| 17 | Date pointage | Date |
| oui |
|
| 18 | Réf pointage | Texte | Longueur maximum 15 | oui |
|
| 19 | Code devise | Texte | Longueur maximum 3 | oui |
|
| 20 | Taux devise | Flottant |
| oui |
|
| 21 | Montant devise | Flottant |
| oui |
|
| 22 | Quantité | Flottant |
| oui |
|
| 23 | Libellé mouvement | Texte | Longueur maximum 50 | oui |
|
| 24 | Code lettrage | Texte | Longueur maximum 3 | oui |
|
| 25 | Date lettrage | Date |
| oui |
|
|
Code analytique multi-niveauLe code analytique peut être défini sur plusieurs niveaux. Dans ce cas, les sous-niveaux sont détaillés dans le libellé du code analytique de la manière suivante : “ <Libellé code principal><Retour à la ligne> <<Code>^<Libellé>^<Niveau>^<Montant>^<Montant devise>^<Saisissable> <Retour à la ligne>> n fois ” Il est possible d'avoir une multi-ventilation sur le niveau 1. La rubrique <code analytique principal> doit être égale à "<Multiple>". On notera également que chacun des codes analytiques du niveau 1 peut contenir des codes analytiques de niveau 2 à 3. EXEMPLES : Exemple d'une répartition à 3 niveaux : "39" "VT" "01/10/2012" "707000" "Ventes" "1 000,00" C B "Ligne à 3 niveaux" "10" "B" "B Libellé B1^B1 Libellé^2^500,00^0^0^0^0 B11^B11 Libellé^3^300,00^0^0^0^0 B12^B12 Libellé^3^200,00^0^0^0^0 B2^B2 Libellé^2^500,00^0^0^0^0 B21^B21 Libellé^3^300,00^0^0^0^0 B22^B22 Libellé^3^200,00^0^0^0^0" Exemple d'une multi-ventilation sur le niveau 1 (Avec le code A réparti sur un niveau 2) : "39" "VT" "01/10/2012" "707000" "Ventes" "1 000,00" C B "Ligne à répartition multiple" "10" "<Multiple>" "Plusieurs codes analytiques ACT1^Activité 1^1^500,00^0^0^0^0 ACT2^Activité 2^1^250,00^0^0^0^0 ACT3^Activité 3^1^250,00^0^0^0^0 A^A Libellé^1^1 000,00^0^0^0^0 A1^A1 Libellé^2^500,00^0^0^0^0 A2^A2 Libellé^2^500,00^0^0^0^0"
Position | Nom | Type | Contrainte | Vide autorisé | Valeur par défaut | Commentaire | 1 | Sous-code analytique | Texte | Longueur maximum 13 | oui |
|
| 2 | Libellé sous-code analytique | Texte | Longueur maximum 35Pas de tabulationPas de retour à la ligne | oui si le sous-code analytique est vide |
|
| 3 | Niveau analytique | Entier |
| oui si le sous-code analytique est vide |
| 1, 2 ou 3 | 4 | Montant analytique | Flottant |
| oui si le sous-code analytique est vide, sinon mettre 0 |
|
| 5 | Montant devise | Flottant |
| oui si le sous-code analytique est vide, sinon mettre 0 |
|
| 6 | Saisissable | Booléen |
| oui | faux |
| 7 | Ajusté | Booléen |
| oui | faux |
| 8 | Ajusté devise | Booléen |
| oui | faux |
|
Rubriques de la section Tiers Position | Nom | Type | Contrainte | Vide autorisé | Valeur par défaut si vide | Commentaire | 1 | N° de compte | Texte | Longueur maximum 13 | non |
|
| 2 | Intitulé du compte | Texte | Longueur maximum 40 | non |
|
| 3 | Rayon banque | Texte | Longueur maximum 2 | non |
| SR (sur rayon) ou HR (hors rayon) | 4 | Nom banque | Texte | Longueur maximum 35 |
|
|
| 5 | Nom client/fournisseur | Texte | Longueur maximum 35 | oui |
|
| 6 | Adresse 1 | Texte | Longueur maximum 35 | oui |
|
| 7 | Adresse 2 | Texte | Longueur maximum 35 | oui |
|
| 8 | Adresse 3 | Texte | Longueur maximum 35 | oui |
|
| 9 | Code postal | Texte | Longueur maximum 10 | oui |
|
| 10 | Ville | Texte | Longueur maximum 35 | oui |
|
| 11 | Téléphone | Texte | Longueur maximum 25 | oui |
|
| 12 | Portable | Texte | Longueur maximum 25 | oui |
|
| 13 | Télex | Texte | Longueur maximum 25 | oui |
|
| 14 | Fax | Texte | Longueur maximum 25 | oui |
|
| 15 | Mode règlement | Texte | Longueur maximum 20 | oui |
|
| 16 | N° de TVA intracom | Texte | Longueur maximum 19 | oui |
|
| 17 | Email | Texte | Longueur maximum 127 | oui |
|
| 18 | Adresse internet | Texte | Longueur maximum 127 | oui |
|
| 19 | Code pays | Texte | Longueur maximum 35 | oui |
|
|
Rubriques de la section Jnl Nom | Type | Contrainte | Vide autorisé | Valeur par défaut si vide | Commentaire | Code journal* | Texte | Longueur maximum 8 | non |
|
| Intitulé du journal | Texte | Longueur maximum 40 | oui | Code journal |
| Type du journal | Texte | Longueur maximum 1 | oui | O | O (OD), A (Achats), V (Ventes),T (Trésorerie) ou N (A-Nouveaux) |
Rubriques de la section MdP Nom | Type | Contrainte | Vide autorisé | Valeur par défaut si vide | Commentaire | Code mode de paiement* | Texte | Longueur maximum 20 | non |
|
| Intitulé mode de paiement | Texte | Longueur maximum 35 | oui | Code mode de paiement |
| Type mode de paiement | Entier ou texte | Longueur maximum 35 | non |
| De 1 à 14 ou {Agios et frais, Carte bancaire, Chèque, Divers, Traite, Espèces, Prélèvement, Virement, LCR acceptée, LCR non acceptée, Billet à ordre, Aucun, TIP, Retrait espèces} | Magnétique | Booléen |
| oui | faux | Mettre "M" si magnétique |
Rubriques de la section Dv Nom | Type | Contrainte | Vide autorisé | Valeur par défaut si vide | Commentaire | Code devise* | Texte | Longueur maximum 3 | non |
|
| Intitulé devise | Texte | Longueur maximum 35 | oui | Code devise |
|
EXEMPLE DE FICHIER :
##Transfert ##Section Dos EUR ##Section Mvt "20451" "OD" "16/03/2022" "411666" "554,520" D B "Echéance Spéciale" "1" "23/04/2022" "20451" "OD" "16/03/2022" "411666" "672,320" C B "Echéance Spéciale" "1" "23/04/2022" "20451" "OD" "16/03/2022" "411666" "840,560" C B "Echéance Spéciale" "1" "23/04/2022" … "20550" "OD" "27/04/2022" "411000" "152,690" C B "Règlement Facture" "50" "USD" "0,889" "-847,590" "10,5" ##Section Tiers "411000" "Crédit agricole" "HR" "Barbatruc" "20, Rue Pouchkine" "Tour A" "Appt 102" "99000" "Rio" "CHQ" "TVAAAA" "411666" "Compte du démon" "SR" "Satanas" "Quartier des Nbolok" "Rue des Diables" "Maison des brulots" ##Section Jnl "OD" "Opérations diverses" "O" ##Section Dv "USD" "US Dollar" "KIP" "Lao kip" ##Section MdP "CB" "Carte bleue" "CHQ" "Chèque"
|