Votre ancien logiciel sait exporter en CSV, ou vous préparez vos données dans un tableur ? Plutôt que de ressaisir chaque devis et chaque facture dans Meolya, importez-les d'un coup, en brouillon, clients compris.
Le CSV de Meolya se lit ligne par ligne : chaque ligne commence par une opération (DOCUMENT, CLIENT, LIGNE, ACOMPTE...) qui dit ce qu'elle apporte au document en cours. C'est le format le plus simple à produire depuis un tableur ou un script. Ce guide vous emmène du fichier vide jusqu'aux brouillons, puis sert de référence : chaque colonne, chaque règle de calcul et chaque message d'erreur y est décrit.
ℹ️
Ce qu'il vous fautLe droit de créer des documents dans Meolya (écriture sur les documents), vérifié à chaque étape. Un fichier de 5 Mo au plus, jusqu'à 500 documents et 1 000 lignes par document. Et quelques minutes pour lire l'analyse : rien n'est créé tant que vous n'avez pas confirmé.
Étape 1 : ouvrir l'import
Dans Facturation, ouvrez le menu Nouveau en haut à droite et choisissez Importer depuis un fichier. Le même choix existe au clic droit sur la liste, ou par un appui long sur un écran tactile. L'entrée n'apparaît que si vous pouvez créer des documents, et jamais dans les archives.

Nouveau devis, Nouvelle facture, et sous le séparateur : Importer depuis un fichier.
La fenêtre Importer des devis et factures rappelle les trois règles qui ne changent jamais : les documents sont créés en brouillon, les clients inconnus sont créés, et les dates du fichier sont ignorées, car un brouillon reçoit sa date à sa validation. Le bouton Analyser reste grisé tant qu'aucun fichier valable n'est choisi.

JSON, CSV ou Excel (.xlsx), 5 Mo et 500 documents au maximum. Le format est reconnu tout seul.
Étape 2 : le fichier CSV
Encodez le fichier en UTF-8, avec ou sans BOM. Un fichier qui n'est pas de l'UTF-8 valide est lu en Windows-1252, ce qui couvre l'enregistrement CSV (séparateur : point-virgule) d'Excel. L'UTF-16 (Texte Unicode d'Excel) est refusé. Le fichier doit porter l'extension .csv : un .txt ou un .tsv se renomme.
- Séparateur : il est détecté sur la première ligne du fichier, qui doit être l'en-tête. Le point-virgule est choisi s'il y est plus fréquent que la virgule, la tabulation si elle domine, sinon la virgule. Ne laissez pas de ligne vide avant l'en-tête.
- Conseil : utilisez le point-virgule. Avec la virgule, un prix
8,40 doit être mis entre guillemets, sinon il est coupé en deux colonnes. - Guillemets : une valeur qui contient le séparateur, un guillemet ou un retour à la ligne s'écrit entre guillemets doubles, et un guillemet intérieur se double :
"Pose ""express"" ; 2 h". - En-tête : la première colonne est
OPERATION (ou OP, ACTION). Les noms de colonnes ignorent la casse, les accents, les espaces et la ponctuation : Prix HT = PRIX_HT. L'ordre est libre après OPERATION. - Notes : une ligne dont l'OPERATION commence par
# est ignorée, et la colonne COMMENTAIRE n'est jamais lue.
Les opérations
Chaque ligne apporte une pièce au document en cours. DOCUMENT en ouvre un nouveau, et toutes les lignes suivantes le complètent jusqu'au DOCUMENT suivant. Chaque ligne ne remplit que les colonnes utiles à son opération.
| OPERATION | Rôle | Colonnes lues |
|---|
DOCUMENT (DOC) | ouvre un document | TYPE (devis ou facture, obligatoire), REFERENCE, OBJET, TITRE, TVA (taux par défaut), REMISE, MAJORATION, NOM MAJORATION, AUTOLIQUIDATION, DEVISE, TOTAL HT, TOTAL TTC |
CLIENT | le client (une ligne par document) | TYPE (type de client), RAISON SOCIALE, NOM, PRENOM, NOM2, PRENOM2, FORME JURIDIQUE, SIRET, NUM TVA, IDENTIFIANT FISCAL, EMAIL, TELEPHONE, ADRESSE, COMPLEMENT, CODE POSTAL, VILLE, PAYS |
FACTURATION | adresse de facturation, si elle diffère | ADRESSE, COMPLEMENT, CODE POSTAL, VILLE, PAYS |
LIVRAISON | lieu de livraison | NOM (du lieu), ADRESSE, COMPLEMENT, CODE POSTAL, VILLE, PAYS |
CATEGORIE (SECTION) | titre de section | NOM |
LIGNE (PRODUIT) | une ligne de produit | NOM, CODE, DESCRIPTION, QUANTITE, UNITE, PRIX HT, TVA, REMISE, MAJORATION, TYPE (Service, Prestation, Forfait, sinon Produit), TOTAL HT |
ACOMPTE | un acompte du devis | VALEUR, POURCENTAGE, MONTANT, ECHEANCE |
NOTE | une note | TYPE (PUBLIQUE ou INTERNE), TEXTE |
ENTREPRISE | l'entreprise émettrice | SIRET, NUM TVA (avant le premier DOCUMENT : pour tout le fichier) |
⚠️
Trois colonnes à double sensTYPE vaut devis ou facture sur DOCUMENT, le type de client sur CLIENT, la nature sur LIGNE, PUBLIQUE ou INTERNE sur NOTE. TVA est toujours le taux : le numéro de TVA du client va dans NUM TVA. NOM est le nom de famille sur CLIENT, la désignation sur LIGNE, le titre sur CATEGORIE, le nom du lieu sur LIVRAISON : le nom d'une entreprise va dans RAISON SOCIALE.
Côté acomptes, dans VALEUR, 30% est un pourcentage et 1200 un montant TTC. Attention : 30 sans signe % vaut 30 euros. Les colonnes POURCENTAGE (en points) et MONTANT peuvent remplacer VALEUR, une seule des trois par acompte. REMISE et MAJORATION suivent la même logique : 10% est un pourcentage, 15,00 un montant HT.
L'exemple complet du guide
Voici le fichier utilisé dans les captures : un devis pour une entreprise, avec catégories, remise et majoration globales et de ligne, deux acomptes et une note publique ; puis une facture pour une particulière, avec deux taux de TVA et une note interne. Copiez-le dans un fichier .csv pour vous entraîner.
OPERATION;TYPE;REFERENCE;TITRE;OBJET;RAISON SOCIALE;FORME JURIDIQUE;NOM;PRENOM;SIRET;EMAIL;TELEPHONE;ADRESSE;CODE POSTAL;VILLE;CODE;DESCRIPTION;QUANTITE;UNITE;PRIX HT;TVA;REMISE;MAJORATION;NOM MAJORATION;VALEUR;ECHEANCE;TEXTE;TOTAL HT;TOTAL TTC
DOCUMENT;Devis;D-2026-101;Devis parquet;Pose d'un parquet dans le séjour;;;;;;;;;;;;;;;;10;5%;35,00;Frais de déplacement;;;;2494,60;2744,06
CLIENT;Entreprise;;;;Agence Roche Immobilier;SAS;;;12345678900017;contact@roche-immobilier.fr;04 75 11 22 33;14 rue des Artisans;26000;Valence;;;;;;;;;;;;;;
CATEGORIE;;;;;;;Fournitures;;;;;;;;;;;;;;;;;;;;;
LIGNE;;;;;;;Parquet chêne massif 14 mm;;;;;;;;PARQ14;Lames de 90 mm, finition huilée;32;m2;48,50;;;;;;;;1552,00;
LIGNE;;;;;;;Plinthes chêne;;;;;;;;;;40;ml;6,20;;10%;;;;;;223,20;
CATEGORIE;;;;;;;Pose;;;;;;;;;;;;;;;;;;;;;
LIGNE;;;;;;;Pose collée;;;;;;;;;;32;m2;22;;;15%;;;;;809,60;
ACOMPTE;;;;;;;;;;;;;;;;;;;;;;;;30%;16/11/2026;;;
ACOMPTE;;;;;;;;;;;;;;;;;;;;;;;;70%;18/12/2026;;;
NOTE;Publique;;;;;;;;;;;;;;;;;;;;;;;;;Devis valable 30 jours.;;
DOCUMENT;Facture;F-2026-101;;Réglage et quincaillerie;;;;;;;;;;;;;;;;;;;;;;;141,60;160,92
CLIENT;Particulier;;;;;;Garnier;Élodie;;elodie.garnier@exemple.fr;;3 place des Clercs;26000;Valence;;;;;;;;;;;;;;
LIGNE;;;;;;;Réglage des portes;;;;;;;;;;1;forfait;90;10;;;;;;;;
LIGNE;;;;;;;Charnière invisible;;;;;;;;;;4;u;12,90;20;;;;;;;;
NOTE;Interne;;;;;;;;;;;;;;;;;;;;;;;;;Cliente recommandée par l'agence Roche.;;
Les colonnes vides sont la règle, pas l'exception : chaque ligne ne remplit que ce que son opération lit. Une colonne remplie que l'opération ne lit pas donne un avertissement et est ignorée. Les totaux HT écrits sur les lignes et le document sont des contrôles.
| Colonne | Synonymes acceptés |
|---|
| TYPE | NATURE, TYPE DOCUMENT, TYPE DE CLIENT |
| REFERENCE, OBJET | REF ; SUJET |
| NOM, RAISON SOCIALE | DESIGNATION, LIBELLE, NOM1 ; SOCIETE, DENOMINATION |
| PRENOM, FORME JURIDIQUE | PRENOM1 ; FORME |
| SIRET, NUM TVA | SIREN ; TVA INTRACOMMUNAUTAIRE, TVA INTRACOM, NUMERO TVA, NUMERO DE TVA, N° TVA, VAT |
| IDENTIFIANT FISCAL | TAX ID |
| EMAIL, TELEPHONE | MAIL, COURRIEL ; TEL, PHONE |
| ADRESSE, COMPLEMENT | ADRESSE1, RUE ; ADRESSE2, COMPLEMENT D'ADRESSE |
| CODE POSTAL, VILLE, PAYS | CP, ZIP ; COMMUNE ; COUNTRY |
| CODE, DESCRIPTION | CODE PRODUIT, SKU ; DETAIL |
| QUANTITE, UNITE | QTE, QTY ; UNIT |
| PRIX HT | PRIX UNITAIRE HT, PU HT, PU, PRIX, PRIX UNITAIRE |
| TVA | TAUX TVA, TAUX DE TVA |
| REMISE, MAJORATION | REDUCTION ; SUPPLEMENT |
| NOM MAJORATION | NOM DE LA MAJORATION, LIBELLE MAJORATION |
| ECHEANCE | DATE ECHEANCE, DATE D'ECHEANCE |
| TEXTE, DEVISE | CONTENU ; MONNAIE |
| TOTAL HT, TOTAL TTC | MONTANT HT ; MONTANT TTC |
| COMMENTAIRE (jamais lue) | COMMENTAIRES, COMMENT |
Les colonnes de date (DATE, DATE DEVIS, DATE FACTURE, VALIDITE...) sont lues mais ignorées avec un avertissement. Les colonnes ID, NUMERO, NUM, STATUT, PAIEMENT, FSN et SERIE sont refusées dès qu'elles sont remplies. Une colonne inconnue est ignorée avec un avertissement, mais deux colonnes qui désignent la même chose, comme PRIX HT et PU, refusent le fichier.
Un seul document, sans ligne DOCUMENT
Un fichier sans aucune ligne DOCUMENT décrit un seul document. Son type n'est pas dans le fichier : après l'analyse, Meolya vous demande de Créer ce document en tant que Devis ou Facture, et revérifie le document avec ce choix. Pratique pour un export rapide.
OPERATION;TYPE;NOM;PRENOM;EMAIL;ADRESSE;CODE POSTAL;VILLE;QUANTITE;UNITE;PRIX HT;TVA
CLIENT;Particulier;Garnier;Élodie;elodie.garnier@exemple.fr;3 place des Clercs;26000;Valence;;;;
LIGNE;;Réglage des portes;;;;;;1;forfait;90;10

Tant que le type n'est pas choisi, le bouton d'import reste grisé.
ℹ️
Ouvrir un CSV dans un tableurÀ l'ouverture, un tableur peut retirer les zéros de tête (07000 devient 7000), écrire un SIRET en notation scientifique ou convertir une date. Importez plutôt le CSV en déclarant CODE POSTAL, SIRET et TELEPHONE en texte, ou travaillez directement au format Excel : le guide de l'import Excel explique tout.
Étape 3 : analyser
Choisissez le fichier, puis cliquez sur Analyser. Meolya envoie le fichier, le lit en entier et vous montre l'Aperçu de l'import. À ce stade, rien n'existe encore dans votre Meolya.

Six tuiles pour vérifier d'un coup d'oeil, puis un document par ligne, avec son client et son statut.
- Documents, Lignes, Clients existants, Nouveaux clients, Total HT et Total TTC ne comptent que les documents qui seront importés. Les totaux sont ceux que Meolya a calculés, pas ceux du fichier.
- Chaque document porte son client avec la pastille Nouveau client ou Client existant : c'est le moment de vérifier qu'un client n'est pas créé en double.
- Le statut dit tout : Prêt, N avertissements (le document sera importé), ou N erreurs (il sera ignoré).
- Une ligne d'information rappelle si le fichier déclare l'entreprise émettrice, et si c'est bien la vôtre.
Cliquez sur un document pour le déplier. Chaque remarque donne son emplacement : sa ligne et sa colonne dans le fichier, par exemple Ligne 5, colonne CODE. Vous savez exactement où corriger.

Un code absent du catalogue n'empêche rien : la ligne devient un produit propre au document.
Lire une erreur et la corriger
Un avertissement ne bloque jamais : la valeur concernée est ignorée ou corrigée, comme le message l'explique. Une erreur dans un document écarte ce document, et seulement lui : les autres sont importés. Une erreur de fichier (fichier illisible, trop gros, sans document) n'ouvre même pas l'aperçu : la fenêtre Fichier refusé liste les problèmes et vous propose de Choisir un autre fichier.

1 document sera importé, 1 ignoré. Chaque erreur dit quoi, et où.
Dans cet exemple, la seconde facture a une quantité de 0 et une TVA de 19,6, un taux qui n'existe plus : ligne 10, colonne QUANTITE, et ligne 11, colonne TVA. Remarquez aussi la pastille Client existant : un import précédent a créé Élodie Garnier, et le fichier la retrouve par son e-mail au lieu de la créer une seconde fois.
Corrigez le fichier, puis importez-le de nouveau : l'analyse ne crée rien, refaites-la autant que nécessaire.
Étape 4 : importer
Le bas de l'aperçu annonce le résultat, par exemple 2 documents seront importés ou 1 document sera importé, 1 ignoré. Cliquez sur Importer 2 documents. Les brouillons sont créés en arrière-plan : vous pouvez quitter la page, l'import continue et sa progression réapparaît à votre retour. Arrêter l'import garde les brouillons déjà créés, et Reprendre l'import crée les suivants.

Brouillons créés, documents ignorés, nouveaux clients. Ouvrir le premier vous emmène au premier brouillon.
Chaque document devient un brouillon sans numéro, exactement comme s'il avait été saisi dans l'éditeur : il s'ouvre, se modifie et s'imprime comme les autres. Le numéro définitif est attribué quand vous le validez, et sa date avec.

Catégories, codes et TVA sont en place. La colonne Impact montre ce que les remises et majorations changent sur chaque ligne, part globale comprise. Valider attribue le numéro.
Le code PARQ14 du fichier est gardé ; la ligne sans code a reçu un code généré, quatre lettres et huit chiffres. Les acomptes sont dans le panneau Acomptes, à gauche.
ℹ️
Un document qui échoue au dernier momentSi un client existant est supprimé entre l'analyse et l'import, ou si un document est refusé à la création, ce document est annulé, avec le client créé uniquement pour lui, et l'import continue. Il apparaît dans Documents non créés, avec sa raison. Une analyse reste valable 10 minutes : au-delà, importez le fichier de nouveau.
Les règles de lecture
Nombres. Une quantité, un prix ou un montant s'écrit à la française ou à l'anglaise, avec ou sans séparateur de milliers. Quand la virgule et le point sont tous deux présents, le dernier des deux est la décimale.
| Écrit | Lu |
|---|
1234.5 ou 1234,5 | 1 234,5 |
1 234,50, 1.234,50, 1,234.50 | 1 234,50 |
8,40 EUR, 8,40 euros | 8,40 |
1,234 | 1,234 (une seule virgule est la décimale) |
TVA. Les taux acceptés sont 20, 10, 5,5, 2,1 et 0, écrits 20, 20%, 20 %, 0,2. Tout autre taux, comme 19,6 ou 7, est une erreur. Sans TVA, une ligne prend le taux par défaut du document, et celui-ci vaut 20 s'il n'est pas donné.
| Valeur | Règle |
|---|
| Quantité | obligatoire, supérieure à 0, au plus 1 000 000 ; arrondie à 4 décimales (avertissement) |
| Prix unitaire HT | obligatoire (sauf produit du catalogue), de 0 à 10 milliards ; arrondi au centime (avertissement) |
| Remise en % | supérieure à 0, au plus 100 |
| Remise en montant | montant HT en euros, au plus le HT de la ligne (ou du document, pour une remise globale) |
| Majoration | comme une remise, mais un montant n'est pas plafonné par le HT |
| Nom de la majoration globale | 48 caractères au plus ; sans nom, elle s'imprime Majoration |
Comment Meolya calcule
Les totaux de votre fichier ne sont jamais repris : Meolya recalcule tout, et compare seulement ce que vous avez écrit, avec un avertissement si l'écart dépasse un centime.
- Un pourcentage, de remise ou de majoration, de ligne ou global, se calcule sur le HT brut de chaque ligne (quantité x prix unitaire). Les pourcentages ne se cumulent pas entre eux.
- Un montant global est réparti sur les lignes au prorata de leur HT brut.
- La TVA de chaque ligne s'applique à son HT après remises et majorations.
- HT net = HT brut - remises + majorations ; TTC = HT net + TVA.
- Le total d'une ligne (contrôle) est son HT brut, moins sa remise de ligne, plus sa majoration de ligne, sans sa part des remises et majorations globales.
| Devis D-2026-101 | Calcul | Montant |
|---|
| HT brut | 1 552,00 + 248,00 + 704,00 | 2 504,00 |
| Remise de ligne | 10 % des plinthes (248,00) | - 24,80 |
| Majoration de ligne | 15 % de la pose (704,00) | + 105,60 |
| Remise globale | 5 % du HT brut de chaque ligne | - 125,20 |
| Majoration globale | 35,00 réparti au prorata | + 35,00 |
| HT net | | 2 494,60 |
| TVA | 10 % de chaque ligne | 249,46 |
| TTC | | 2 744,06 |
| Acomptes | 30 % puis 70 % du TTC, arrondi reporté sur le dernier | 823,22 et 1 920,84 |
Clients, produits et acomptes
Retrouver un client. Meolya cherche parmi vos clients (pas vos partenaires), dans cet ordre, et s'arrête au premier critère qui trouve : le SIRET (ou le SIREN), le numéro de TVA, l'e-mail, puis le nom avec le code postal. Un client trouvé est utilisé tel quel, avec sa propre adresse : sa fiche n'est jamais modifiée. Si plusieurs clients répondent, le document est en erreur : ajoutez le SIRET ou l'e-mail.
Créer un client. Un client introuvable est créé à l'import, une seule fois même si plusieurs documents le visent. Il lui faut une adresse complète (adresse, code postal, ville ; France si le pays manque) et, selon son type :
| Type écrit | Client créé | Obligatoire en plus |
|---|
| particulier, personne, individu, personne physique | Particulier | prénom et nom |
| marie, maries, couple marie | Couple marié | prénom et nom de la personne 1 |
| pacse, pacses, couple pacse | Couple pacsé | prénom et nom de la personne 1 |
| structure, entreprise, societe, professionnel, pro, personne morale, association | Entreprise (France) | raison sociale et SIRET |
| international, etranger, entreprise etrangere | Entreprise étrangère | raison sociale, et un numéro de TVA si le pays est dans l'Union européenne |
Sans type, Meolya le déduit : une raison sociale donne une entreprise, un prénom et un nom un particulier. La ville ne contient que des lettres, espaces, points, apostrophes et tirets (Lyon, pas Lyon 3e). Le pays s'écrit en toutes lettres ou en code : FR, BE, LU, DE, CH, IT, ES, NL, PT, GB, IE, AT, PL, CA, US, MA, TN, DZ, MC, AD. Un e-mail invalide ou une forme juridique inconnue sont simplement ignorés, avec un avertissement.
Produits. Un code qui correspond à un produit de votre catalogue relie la ligne à ce produit (casse, espaces et ponctuation ignorés, produits archivés exclus) : ce que le fichier laisse vide est pris dans le catalogue. Sinon, la ligne reçoit un produit propre au document, qui n'entre pas dans le catalogue. Son code est gardé en majuscules sans ponctuation s'il compte de 3 à 12 caractères, sinon Meolya en génère un.
Acomptes. Réservés aux devis. Chacun est soit un pourcentage, soit un montant TTC, sans mélange dans un même devis. Les pourcentages totalisent 100, ou les montants le TTC à un centime près. Une échéance facultative s'écrit 16/11/2026 ou 2026-11-16, et les échéances ne reviennent pas en arrière.
⚠️
Ce que l'import ne reprend jamaisLes numéros, les statuts et les paiements sont refusés : un document importé est toujours un brouillon. Les dates du devis ou de la facture sont ignorées, avec un avertissement : seules les échéances d'acomptes sont lues. La devise est l'euro, uniquement. Pour l'historique de vos anciennes factures émises, gardez leurs PDF : les réimporter en brouillon créerait de nouvelles factures.
Entreprise émettrice. Le fichier peut déclarer le SIRET et le numéro de TVA de l'entreprise qui émet les documents, pour éviter d'importer dans la mauvaise entreprise. S'ils diffèrent des vôtres, les documents concernés sont écartés. N'ajoutez cette déclaration que si le fichier est fait pour une seule entreprise.
OPERATION;SIRET
ENTREPRISE;12345678900017
| Limite | Valeur |
|---|
| Taille du fichier | 5 Mo |
| Documents par fichier | 500 |
| Lignes par document (produits et catégories) | 1 000 |
| Lignes par fichier | 50 000 (et 60 000 lignes CSV au total) |
| Nouveaux clients par fichier | 500 |
| Acomptes par devis | 100 |
| Validité d'une analyse | 10 minutes, prolongée pendant l'import |
| Analyses | une à la fois par compte, 6 par minute et 60 par jour |
Référence des messages
L'aperçu affiche des messages en français. Chacun correspond à un code stable, utile pour chercher dans ce guide ou pour expliquer le problème à quelqu'un, ou à une IA. Les mots en italique sont remplacés par la valeur réelle.
Erreurs de fichier : rien n'est importé, la fenêtre Fichier refusé s'ouvre.
| Message affiché | Code | Que faire |
|---|
| La première colonne de l'en-tête doit être OPERATION. | file.csv_header | Mettez OPERATION en première colonne de la première ligne. |
| Champ en double : champ. | field.duplicate | Dans l'en-tête : gardez une seule des deux colonnes. |
| Ligne placée avant la première ligne DOCUMENT : valeur. | op.orphan | Déplacez la ligne sous le DOCUMENT qu'elle complète. |
| Trop de lignes CSV (maximum max). | file.too_many_rows | Coupez le fichier en plusieurs. |
| Le fichier ne contient aucun document. | file.empty | Ajoutez au moins un document. |
| Trop de documents : nombre (maximum max). | file.too_many_docs | Coupez le fichier en plusieurs. |
| Trop de lignes dans le fichier : nombre (maximum max). | file.too_many_lines | Coupez le fichier en plusieurs. |
| Le fichier dépasse une limite : limite (maximum max). | file.limits | Coupez ou allégez le fichier. |
| Le contenu du fichier n'est pas dans un format accepté (attendu : attendu). | file.format | Enregistrez le fichier dans le bon format, en UTF-8. |
Erreurs d'un document : ce document est ignoré, les autres sont importés.
| Message affiché | Code | Que faire |
|---|
| Opération inconnue : valeur. | op.unknown | Utilisez une opération de la liste, ou # pour une note. |
| Référence en double : valeur. | doc.duplicate_reference | Donnez une référence différente à chaque document. |
| Champ en double : champ. | field.duplicate | Une seule ligne CLIENT, FACTURATION ou LIVRAISON par document. |
| Type de note inconnu : valeur (PUBLIQUE ou INTERNE attendu). | note.type | Mettez PUBLIQUE ou INTERNE. |
| Type de document absent ou invalide (DEVIS ou FACTURE attendu) : valeur. | doc.type | Indiquez devis ou facture. |
| Aucune ligne de produit. | doc.no_lines | Ajoutez au moins une ligne avec un nom, une quantité et un prix ; ou corrigez les lignes en erreur. |
| Trop de lignes dans ce document (maximum max). | doc.too_many_lines | Coupez le document en plusieurs. |
| Devise non acceptée : valeur. Seul l'euro est accepté. | doc.devise | Retirez la devise ou mettez EUR. |
| Champ non autorisé : champ. Le numéro, le statut et les paiements sont attribués par Meolya. | field.forbidden | Retirez ce champ : numéro, statut et paiements sont attribués par Meolya. |
| Texte trop long pour champ (maximum max caractères). | field.length | Raccourcissez le texte sous la limite indiquée. |
| Nombre invalide pour champ : valeur. | field.number | Écrivez un nombre, par exemple 1 234,50. |
| Valeur oui ou non invalide pour champ : valeur. | field.boolean | Écrivez oui ou non. |
| Taux de TVA non accepté : valeur. Taux possibles : 20, 10, 5,5, 2,1 ou 0. | tva.value | Utilisez 20, 10, 5,5, 2,1 ou 0. |
| Remise hors limites : valeur (maximum max). | remise.range | Une remise positive, au plus 100 %, ou au plus le HT. |
| Majoration hors limites : valeur (maximum max). | majoration.range | Une majoration positive, au plus 100 % en pourcentage. |
| Nom de ligne absent ou trop long (maximum max caractères). | line.name | Donnez un nom à la ligne, ou un code du catalogue. |
| Quantité absente ou hors limites : valeur (maximum max). | line.qty.range | Une quantité supérieure à 0. |
| Prix absent ou hors limites : valeur (maximum max). | line.price.range | Un prix HT de 0 ou plus. |
| Unité trop longue : valeur (maximum max caractères). | line.unit.length | Abrégez l'unité : h, ml, u, forfait. |
| Aucun client. | client.missing | Ajoutez le client du document. |
| Type de client inconnu : valeur. | client.type | Utilisez un type de la table des clients. |
| Plusieurs clients correspondent (nombre) : noms. | client.ambiguous | Ajoutez le SIRET ou un e-mail propre à ce client. |
| Nouveau client incomplet, champ manquant : champ. | client.incomplete | Complétez le champ indiqué. |
| Nouveau client : adresse incomplète ou refusée (champ). | client.address | Adresse, code postal et ville valides, et un pays connu. |
| SIRET ou SIREN du client invalide ou manquant : valeur. | client.siret | Un SIRET de 14 chiffres ou un SIREN de 9. |
| Numéro de TVA du client invalide ou manquant : valeur. | client.tva | Un numéro du type FR12987654321 ou BE0123456789. |
| Trop de nouveaux clients dans le fichier (maximum max). | client.too_many | Importez en plusieurs fichiers. |
| Adresse de adresse refusée (champ). | address.invalid | Complétez l'adresse de facturation ou de livraison. |
| Les acomptes ne sont acceptés que sur un devis. | acompte.facture | Retirez les acomptes, ou faites un devis. |
| Acompte invalide : valeur. | acompte.value | Une seule valeur positive par acompte. |
| Les acomptes mélangent pourcentages et montants. | acompte.mixed | Seulement des pourcentages, ou seulement des montants. |
| Les acomptes totalisent somme % au lieu de 100 %. | acompte.sum | Ajustez les pourcentages pour totaliser 100. |
| Les acomptes totalisent somme au lieu de attendu (total TTC). | acompte.sum | Ajustez les montants pour totaliser le TTC. |
| Échéance d'acompte illisible : valeur. | acompte.date | Écrivez JJ/MM/AAAA ou AAAA-MM-JJ. |
| Échéances d'acompte dans le désordre : valeur. | acompte.order | Classez les acomptes par date. |
| L'entreprise émettrice déclarée n'est pas la vôtre. | entreprise.mismatch | Importez dans la bonne entreprise, ou retirez la déclaration. |
| SIRET de l'entreprise émettrice invalide : valeur. | entreprise.siret | Un SIRET de 9 ou 14 chiffres. |
| Le document a été refusé : raison. | doc.refused | Vérifiez le client et les adresses du document. |
Avertissements : jamais bloquants.
| Message affiché | Code | Que faire |
|---|
| Champ inconnu : champ. | field.unknown | Colonne inconnue, ignorée : vérifiez son nom. |
| Colonne champ non utilisée pour cette opération. | field.unused | Videz la cellule, ou déplacez la valeur sur la bonne opération. |
| Date ignorée (champ) : un brouillon reçoit sa date à sa validation. | field.date_ignored | Rien à faire : la date est attribuée à la validation. |
| champ du fichier (fichier) différent du total calculé (calcul) : le total calculé est retenu. | doc.total_mismatch | Vérifiez vos totaux ; le calcul de Meolya est gardé. |
| Total de ligne du fichier (fichier) différent du total calculé (calcul) : il est ignoré. | line.total_mismatch | Vérifiez le total de la ligne ; le calcul est gardé. |
| Quantité arrondie : valeur devient arrondi. | line.qty.rounded | Rien à faire, ou donnez 4 décimales au plus. |
| Prix arrondi : valeur devient arrondi. | line.price.rounded | Rien à faire, ou arrondissez au centime. |
| Code code absent du catalogue : la ligne devient un produit du document. | line.code.unknown | Normal pour un nouveau produit ; sinon corrigez le code. |
| Adresse e-mail invalide, ignorée : valeur. | client.email | Corrigez l'e-mail si vous voulez le garder. |
| Forme juridique inconnue, ignorée : valeur. | client.forme | SAS, SASU, SARL, EURL, SA, SNC, SCI, EI, Micro-entreprise... |
| L'adresse du client existant est incomplète et le fichier n'en fournit pas. | client.address_incomplete | Complétez l'adresse du client dans l'éditeur. |
| L'entreprise émettrice déclarée n'a pas pu être vérifiée : votre entreprise n'a ni SIRET ni numéro de TVA. | entreprise.room_unknown | Renseignez le SIRET et le numéro de TVA de votre entreprise. |
Échecs à la création : le document n'est pas créé, il apparaît dans Documents non créés.
| Message affiché | Code | Que faire |
|---|
| Le client a été supprimé entre-temps. | client.gone | Réimportez ce document. |
| Le nouveau client a été refusé. | client.refused | Vérifiez les données du client. |
| Des lignes auraient été perdues (nombre) : le document n'est pas créé. | line.dropped | Vérifiez les lignes du document et réimportez-le. |
| Les acomptes ne totalisent plus le total TTC une fois le document créé : il n'est pas créé. | acompte.sum | Ajustez les acomptes et réimportez le devis. |
| Erreur interne pendant la création de ce document. | internal | Réessayez ; si cela persiste, contactez-nous. |
Faire préparer ou corriger le fichier par une IA
Ce guide est écrit pour être lu aussi par un assistant IA. Donnez-lui l'adresse de cette page, votre fichier (ou l'export de votre ancien logiciel) et, s'il y en a, les messages de l'aperçu avec leur emplacement. Par exemple :
Voici mon fichier CSV d'import de devis et factures pour Meolya, et les messages de
l'aperçu de l'import avec leur emplacement. Corrige le fichier en suivant exactement
le guide https://meolya.com/guides/importer-ses-devis-et-factures-depuis-un-fichier-csv
Ne change ni les montants, ni les quantités, ni les clients, sauf si un message le demande.
Explique chaque correction, puis rends le fichier complet.
⚠️
Relisez avant d'importerUne IA peut se tromper de taux, de client ou de signe. L'analyse de Meolya reste votre filet : elle ne crée rien, recalcule tout et vous montre chaque client trouvé ou créé. Comparez les tuiles Total HT et Total TTC avec vos chiffres avant de cliquer sur Importer.
Questions fréquentes
Puis-je importer des factures déjà émises ?~Elles arrivent en brouillon et recevront un nouveau numéro à leur validation. Pour l'historique, gardez plutôt les PDF de vos anciennes factures.;;Mon client existe déjà, sera-t-il dupliqué ?~Non, s'il est retrouvé par son SIRET, son numéro de TVA, son e-mail ou son nom avec son code postal. La pastille Client existant le confirme dans l'aperçu.;;La fiche d'un client existant est-elle mise à jour ?~Jamais. Un client trouvé est utilisé tel quel. Modifiez sa fiche dans Clients et Partenaires si besoin.;;Pourquoi mes totaux sont-ils différents ?~Meolya recalcule tout. Un écart vient le plus souvent d'une remise globale calculée sur le net au lieu du HT brut, ou d'un arrondi. Le message donne les deux valeurs.;;Puis-je annuler un import ?~Les documents créés sont des brouillons : supprimez ceux que vous ne voulez pas garder. Les clients créés restent dans votre annuaire.;;Combien de fois puis-je analyser ?~Autant que nécessaire, dans la limite de 6 analyses par minute et 60 par jour. Rien n'est créé avant Importer.
Les bons réflexes
- Commencez petit. Un fichier de deux ou trois documents, analysé et importé, vous apprend plus vite que 500 documents d'un coup.
- Lisez les pastilles client. Un Nouveau client inattendu signale souvent un SIRET ou un e-mail mal écrit.
- Gardez les codes de votre catalogue. Une ligne reliée à un produit existant reprend son nom, son prix et sa description.
- Écrivez vos totaux. Ils ne sont jamais repris, mais ils détectent une erreur de saisie à l'analyse.
- Notez sans risque. Une ligne # et la colonne COMMENTAIRE sont des notes : jamais importée, jamais signalée.
- Validez ensuite un par un. Relisez chaque brouillon dans l'éditeur, puis validez-le : il reçoit alors son numéro et sa date.
Reprenez vos documents en quelques minutes
Meolya importe vos devis et factures depuis Excel, CSV ou JSON, et recalcule tout pour vous.
Commencer gratuitement