Commerce au MarocFacturationGuides & comparatifs

Exporter ses factures électroniques en XML et ZIP : mode d’emploi

Export individuel ou par période, manifeste CSV, contrôle SHA-256, remise à la fiduciaire et preuves à conserver.

Par BelloCommerce

·

Un bon export ne se résume pas à télécharger un ZIP. Il faut savoir quels documents entrent dans la période, retrouver chaque XML, contrôler son empreinte et obtenir une preuve de remise ou de dépôt. BelloPOS propose deux chemins : un XML pour une facture ou un avoir précis, et un dossier ZIP pour une plage de dates avec un manifeste CSV. Aucun des deux ne constitue à lui seul un accusé DGI.

Export de factures UBL en XML et ZIP au Maroc
Export de factures UBL en XML et ZIP au Maroc.

Le flux recommandé

  • Utilisez l’XML individuel pour contrôler ou remettre une pièce précise.
  • Utilisez le ZIP de période pour la fiduciaire, l’archive et un dépôt groupé si le canal l’accepte.
  • Rapprochez le nombre de lignes du manifeste, les fichiers présents et la série des numéros.
  • Recalculez quelques empreintes SHA-256 avant la remise.
  • Transmettez par un canal approuvé et conservez sa preuve séparément.
  • Ne modifiez jamais un XML scellé dans le ZIP ; corrigez la source avec le document approprié.

1. Choisir entre XML individuel et ZIP de période

Le format dépend de la tâche, pas de la taille de l’écran. Un client, un comptable ou un contrôleur peut demander une pièce unique ; la clôture mensuelle demande plutôt un ensemble rapprochable. Commencez par comprendre la structure UBL 2.1, puis choisissez le niveau d’export.

ExportBon usageContrôle immédiat
Un XMLFacture ou avoir identifiéNuméro, date, total et empreinte
ZIP journalierRemise courte ou test de processusSérie complète du jour
ZIP mensuelFiduciaire ou période de TVANombre, types, états et trous
PDF associéLecture et échange humainMême identité, lignes et total
Accusé externePreuve de réception ou de dépôtRéférence, date, canal et statut

N’envoyez pas toutes les années quand une période est demandée. Un périmètre explicite réduit les doublons et les erreurs : date de début incluse, date de fin incluse, établissement concerné, séries et types de documents. Notez aussi le fuseau et la règle de date utilisée, émission plutôt que modification.


2. Ce que doit dire le manifeste CSV

Le manifeste est la table des matières du ZIP. Dans BelloPOS, chaque ligne indique numéro, type, date de scellement, état local, nom du fichier et empreinte SHA-256. Il ne remplace pas les totaux du XML ni un accusé administratif, mais il permet de repérer un fichier manquant avant d’ouvrir des centaines de documents.

  • Numéro : Clé de rapprochement avec la série de facturation.
  • Type : Facture ou avoir, pour ne pas additionner les deux aveuglément.
  • Date : Situe le document dans la plage exportée.
  • État : Décrit l’état local connu au moment de l’export, pas une validation DGI sans retour réel.
  • Fichier : Relie la ligne au XML exact contenu dans le ZIP.
  • SHA-256 : Permet de recalculer l’empreinte des octets et de détecter une différence.

Ouvrez le CSV avec un logiciel qui respecte UTF-8. Le manifeste BelloPOS porte un marqueur BOM pour préserver les accents dans Excel. N’enregistrez pas ensuite le CSV avec un autre séparateur avant le contrôle : vous risqueriez de changer la présentation ou l’encodage de votre copie de travail.

3. Exporter et contrôler en neuf étapes

Faites d’abord un test sur une petite journée, puis appliquez la même procédure au mois.

  1. Vérifiez l’identité légale, la numérotation et les taux dans BelloPOS.
  2. Choisissez la date de début et de fin correspondant à votre remise.
  3. Lisez le nombre de documents annoncé avant de lancer l’export.
  4. Créez le ZIP de période dans Paramètres, Conformité DGI.
  5. Copiez le ZIP dans un dossier de travail daté sans modifier l’original.
  6. Ouvrez le manifeste CSV et comptez factures, avoirs et lignes.
  7. Comparez chaque nom de fichier du manifeste au contenu réel du ZIP.
  8. Recalculez les empreintes d’un échantillon et traitez toute différence.
  9. Remettez le dossier par le canal convenu et conservez accusé, message ou bordereau.
ÉcartCause possibleAction
XML absentExport interrompu ou document hors plageRechercher le numéro avant tout dépôt
Ligne sans fichierArchive incomplèteRégénérer depuis la source
Hash différentOctets modifiés ou mauvais fichierNe pas transmettre ; repartir du scellé
Trou de numérotationAutre série, annulation ou document manquantDocumenter et rapprocher l’historique
Total PDF différentMauvaise copie ou modificationComparer au document émis et corriger par le flux légal

Sur macOS ou Linux, la commande shasum avec l’option 256 peut recalculer une empreinte ; sous Windows, Get-FileHash avec SHA256 remplit le même rôle. Faites exécuter la commande par une personne autorisée et comparez la chaîne complète, pas seulement les premiers caractères. Le guide SHA-256 explique les limites de ce test.

Manifeste CSV et empreintes des factures exportées
Manifeste CSV et empreintes des factures exportées.

Le ZIP n’est pas une preuve de dépôt

Un ZIP prouve seulement que vous avez rassemblé des fichiers. Sans transmission et retour du canal officiel, il ne démontre ni réception, ni validation, ni date de dépôt. Conservez séparément l’accusé et reliez sa référence à la période exportée.

4. Remettre le dossier à la fiduciaire sans perdre la piste

Convenez d’une convention avant le premier mois : nom de dossier, dates, société, établissement, série, personne qui envoie, personne qui accuse réception et délai de retour des anomalies. Évitez les pièces dispersées sur plusieurs conversations WhatsApp. Utilisez un canal approuvé pour les données clients et chiffrez le transport si votre politique l’exige.

La fiduciaire doit confirmer ce qu’elle reçoit : ZIP intact, nombre de XML, nombre de factures et d’avoirs, éventuels trous et empreintes contrôlées. Elle doit aussi dire ce qu’elle fait ensuite. Import comptable, archivage et dépôt administratif sont trois actions distinctes ; une remise réussie n’implique pas les deux autres.

Gardez un journal minimal : nom du fichier, empreinte du ZIP, plage, expéditeur, destinataire, date, canal et réponse. Ce journal permet de prouver quelle copie a été remise si le dossier circule ou si une nouvelle version est créée.

5. Comment fonctionne l’export BelloPOS

BelloPOS Go et Pro scellent localement chaque facture émise et chaque avoir Pro dans la file électronique. L’action d’un document exporte son XML UBL 2.1. L’écran Conformité DGI exporte une plage sous forme de ZIP, avec les XML scellés et manifeste CSV. Une période vide ne produit pas d’archive trompeuse.

FonctionCe que BelloPOS faitResponsabilité restante
XML individuelÉcrit le contenu scellé du documentContrôler et remettre la bonne pièce
ZIP de périodeRegroupe les scellés compris entre deux datesValider le périmètre et les séries
ManifesteListe fichiers, types, dates, états et hashesRapprocher et documenter les écarts
Travail hors ligneN’exige pas Internet pour émettre ou exporterTransmettre ensuite par le canal disponible
Connexion DGIAucune transmission directe activeDéposer et conserver l’accusé officiel

L’export privilégie le XML conservé lors de l’émission. Une modification ultérieure des coordonnées du magasin ne réécrit donc pas silencieusement l’ancienne facture. Cette stabilité facilite aussi l’archivage sur dix ans, à condition d’organiser des sauvegardes et tests de restauration.

Les erreurs à éviter

  • Exporter une période sans annoncer ses bornes.
  • Confondre état local et validation administrative.
  • Renommer ou modifier les XML dans le ZIP.
  • Envoyer seulement le CSV sans ses fichiers.
  • Ne jamais recalculer une empreinte.
  • Multiplier les versions finale, finale2 et corrigée sans journal.
  • Utiliser un canal non approuvé avec des données clients.
  • Supprimer la copie locale après remise à la fiduciaire.

Questions fréquentes

Puis-je exporter une seule facture ?

Oui. BelloPOS exporte l’XML UBL d’une facture ou d’un avoir identifié. Conservez aussi sa version lisible et sa référence.

Que contient le ZIP par période ?

Chaque XML scellé compris dans les dates, plus un manifeste CSV avec numéro, type, date, état, nom de fichier et SHA-256.

Le manifeste remplace-t-il les XML ?

Non. Il sert d’index et de rapprochement. Les données détaillées restent dans chaque XML.

Comment vérifier le hash ?

Recalculez SHA-256 sur le fichier exact avec un outil de confiance et comparez la chaîne complète au manifeste. Une différence impose d’arrêter la remise.

Le ZIP est-il envoyé automatiquement à la DGI ?

Non. BelloPOS le crée localement. Le commerçant ou sa fiduciaire utilise le canal officiel disponible et garde l’accusé.

Faut-il garder les exports après dépôt ?

Oui. Le CGI 2026 prévoit une conservation de dix ans pour les factures, tickets, justificatifs et documents comptables visés. Organisez l’archive selon votre situation avec votre conseil.

À retenir

Un export fiable forme une chaîne : périmètre annoncé, XML scellés, manifeste rapproché, empreintes contrôlées, remise tracée et accusé conservé. Le bouton ZIP ne remplace aucune de ces responsabilités, mais il les rend exécutables sans ressaisie.

Sources

Les chiffres et les règles cités ci-dessus viennent de ces pages, consultées à la date indiquée dans l’article.

Préparez votre premier dossier de période

Testez BelloPOS Go sur une journée, ouvrez le manifeste, vérifiez deux empreintes et faites valider le dossier par votre fiduciaire avant le premier mois réel.

Pour aller plus loin

D’autres guides pratiques sur le même sujet :