Skip to main content
Version: 8.5

Batch

Le sous-module E-Invoicing s'appuie sur le mécanisme de batchs d'AOS pour automatiser les opérations récurrentes : synchronisations avec la PA, envois groupés, remontées de statuts. Chaque batch correspond à une action précise et tourne sur une plateforme d'accès donnée. Les six actions définies à ce jour ont été listées en tableau de synthèse plus haut ; la présente section les détaille du point de vue opérationnel : comment paramétrer un batch, comment déclencher son exécution, comment en suivre les résultats.

Formulaire de paramétrage d'un batch E-Invoicing : action, plateforme d'accès et société cible.
Formulaire de paramétrage d'un batch E-Invoicing : action, plateforme d'accès et société cible.

Le panneau principal du formulaire concentre les champs nécessaires à tout batch, quel que soit le type d'action :

  • Nom (name) — Libellé du batch, obligatoire.
  • Code (code) — Identifiant interne unique, utilisé comme libellé court dans les écrans.
  • Action (actionSelect) — Type d'action exécutée. Le choix de l'action conditionne l'affichage de l'onglet et du bouton spécifiques. Une étiquette descriptive s'affiche pour rappeler la portée fonctionnelle de l'action sélectionnée.
  • Plateforme d'accès (accessPlatform) — Plateforme cible des appels API. Obligatoire.
  • Société (company) — Société à laquelle restreindre le traitement. Laisser vide pour traiter toutes les sociétés autorisées par le contexte.
  • Règle de routage — la règle de routage à exploiter. En cours de développement.

L'onglet « Information » contient les métadonnées techniques du batch (date de création, auteur, description libre). L'onglet « Execution » regroupe les indicateurs et traces de la dernière exécution. Il n'est visible qu'après la première sauvegarde du batch. L'onglet « Batches » présente l'historique de toutes les exécutions du batch (objet Batch standard d'AOS lié au batch E-Invoicing).

Le panneau latéral « Actions » (visible uniquement après sauvegarde) expose un seul bouton, contextuel à l'action choisie. Ce bouton déclenche manuellement l'exécution du batch.

Détails des actions

Cette sous-section détaille, pour chacune des six actions, son rôle fonctionnel, son fonctionnement interne et ses spécificités de paramétrage. Le récapitulatif synthétique des actions et de leur statut opérationnel.

1 - Synchronisation de l'annuaire

Cette action met à jour les adresses électroniques des tiers d'AOS en interrogeant l'annuaire de la facture électronique au travers de sa PA. Pour chaque tiers retenu, le batch reproduit la logique du bouton « Consulter l'annuaire » et enregistre ou met à jour les adresses retournées.

Pour cibler la mise à jour selon le besoin, trois modes de sélection des tiers sont sélectionnables :

  • Tous les tiers actifs (non archivés).
  • Seuls les tiers ne possédant encore aucune adresse électronique. Utilisé typiquement pour le rattrapage initial ou la prise en compte des nouveaux tiers.
  • La liste des tiers à traiter est saisie manuellement. Utile pour les reprises ciblées sur un sous-ensemble de tiers.

Pour les deux premiers modes, des filtres complémentaires permettent d'affiner le périmètre par type de tiers : clients (par défaut : activé), fournisseurs (par défaut : activé), factors (affiché uniquement si l'application Comptabilité gère les factors), transporteurs (affiché uniquement si l'application Stock est active) ou sous-traitants (affiché uniquement si l'application Production gère la sous-traitance).

Pour chaque tiers retenu, le batch tente la recherche annuaire en utilisant son SIREN puis, à défaut, son SIRET. Les tiers sans SIREN ni SIRET ne sont pas traités. Les résultats retournés par la PA sont enregistrés ou mis à jour selon la même logique que la recherche manuelle ; l'horodatage de dernière validation et la référence au batch d'origine sont positionnés sur chaque adresse modifiée.

2 - Synchronisation des factures

Cette action interroge la PA pour récupérer les flux entrants disponibles (factures fournisseurs en attente de réception côté AOS). Le batch télécharge le contenu et déclenche le pipeline Data Capture qui crée la facture dans AOS.

Aucun paramètre supplémentaire n'est requis pour cette action en plus des champs communs.

3 - Envoi des flux de factures

Cette action parcourt les factures ventilées de la société configurée (ou de toutes les sociétés si le champ est vide) qui n'ont pas encore été émises, génère leur fichier XML structuré via le sous-module File Generator et les transmet à la PA. Le workflow est analogue à celui décrit pour la soumission manuelle, mais exécuté en masse.

Pour chaque facture éligible, le batch applique en outre, si elle est renseignée sur la règle d'émission, l'expression Groovy de filtrage. Les factures pour lesquelles l'expression retourne false sont ignorées par le batch courant. En cours de développement.

4 - Soumission des factures en attente

Cette action cible les flux de facture sortants dont le fichier XML a déjà été généré mais qui n'ont pas encore été transmis avec succès à la PA. Le batch reprend ces flux en attente et tente une nouvelle transmission.

5 - Synchronisation du cycle de vie des flux

Cette action interroge la PA pour récupérer les changements de statut AFNOR des flux déjà émis et déjà en circulation. Chaque transition est enregistrée dans AOS sous forme d'un flux CDAR lié à la facture et au flux d'émission initial.

6 - Envoi de l'e-reporting

info

En cours de développement.

Cette action transmettra à la PA les flux d'e-reporting (transactions B2C, transactions internationales, données de paiement) pour leur transmission à l'administration fiscale dans le cadre des obligations déclaratives complémentaires de la réforme de la facturation électronique.

info

La livraison opérationnelle de l'e-reporting ainsi que des cycles de vie feront l'objet d'évolutions dans les versions ultérieures du module Dématérialisation.

Planification et exécution

Un batch E-Invoicing peut être déclenché de deux manières : manuellement par un utilisateur depuis la fiche du batch, ou automatiquement par le planificateur d'AOS à intervalles réguliers. (Partie planificateur en cours de développement).

La planification s'appuie sur le mécanisme de scheduling standard d'AOS.

Quelques recommandations transverses pour le paramétrage des intervalles :

  • L'action annuaire peut tourner à intervalle large : les changements d'annuaire sont rares et la charge sur la PA s'en trouve réduite.
  • L'action de réception des factures gagne à tourner à fréquence intermédiaire pour limiter le délai d'intégration des factures entrantes, sans saturer la PA.
  • L'action cycle de vie bénéficie d'une fréquence plus élevée lorsque la PA ne supporte pas les webhooks, afin de refléter rapidement les changements d'état dans AOS.
  • L'action d'envoi des flux et l'action de soumission en attente sont à cadencer selon le volume de factures de l'entreprise ; un intervalle trop court peut entraîner du parallélisme inutile sur de faibles volumes.

Suivi des exécutions

L'onglet « Exécution » de la fiche batch ainsi que l'onglet « Batches » (historique) permettent de superviser le résultat de chaque exécution.

L'onglet « Exécution » expose les indicateurs renseignés automatiquement à l'issue de chaque exécution :

  • Date de dernière exécution (lastExecutionDateTime).
  • Compte de la dernière exécution (lastExecutionCount) — nombre d'éléments traités lors de la dernière exécution unitairement.
  • Total traité (totalProcessed) — compteur cumulé sur toute la vie du batch.
  • Total erreurs (totalErrors) — compteur cumulé d'anomalies sur toute la vie du batch.
  • Pour l'action 3 uniquement : Flux générés à la dernière exécution (lastFlowsGenerated) et Flux envoyés à la dernière exécution (lastFlowsSent).
  • Pour les actions 1, 2 et 5 : Curseur de synchronisation (lastSyncCursor) — point de reprise interne utilisé par la pagination différentielle. Ne pas modifier manuellement sauf consigne explicite (cela peut provoquer un re-traitement de l'intégralité de l'historique ou un saut de plages d'événements).
  • Dernière erreur (lastExecutionError) — message de la dernière erreur globale rencontrée, le cas échéant.

L'onglet « Batches » de la fiche présente toutes les exécutions historiques du batch sous forme d'objets Batch standards d'AOS. Chaque ligne expose le détail d'une exécution (date, durée, nombre traité, nombre d'anomalies, commentaire). Le double-clic ouvre la fiche du Batch et permet d'accéder, depuis là, à la traçabilité fine (logs, exceptions remontées, etc.).

Cet historique est important pour le diagnostic en cas d'anomalies récurrentes : il permet d'identifier le moment où un problème a commencé à apparaître et de corréler les exécutions avec des événements externes (changement de configuration, indisponibilité de la PA, etc.).

Chaque batch est conçu pour être résilient aux anomalies unitaires : si un élément (un tiers, une facture, un flux) ne peut pas être traité, l'anomalie est journalisée et le compteur totalErrors incrémenté, mais l'exécution se poursuit sur les éléments suivants. Le but est d'assurer le maximum de progrès à chaque passage et de ne pas bloquer l'ensemble du périmètre en raison d'un cas particulier.

Une anomalie globale (par exemple : plateforme d'accès inaccessible, paramétrage absent, erreur de connexion) interrompt en revanche le batch dès le départ et est tracée dans lastExecutionError. Le batch sera réessayé à la prochaine exécution planifiée.