Aller au contenu principal

Capacités IA

L'assistant IA est un panneau de discussion intégré à NomaUBL. Deux familles de questions sont prises en charge :

  • Comment fonctionne le produit ? — l'assistant consulte la documentation publique sur docs.nomana-it.fr et répond avec une synthèse sourcée.
  • Quel est l'état des données ? — l'assistant interroge la base NomaUBL en lecture seule et restitue les lignes correspondantes : factures, statuts, erreurs de validation, dépôts e-reporting.

Les réponses sont diffusées en flux à mesure de leur génération ; chaque appel d'outil apparaît en ligne sous forme de pastille, garantissant la visibilité des actions effectuées. La langue de la réponse suit celle de la question — français ou anglais.


Ouverture du panneau

  • L'entrée ✦ AI Assistant dans la barre de navigation (en haut à droite, pastille en dégradé violet) ouvre le panneau en tiroir latéral, lequel réduit l'espace de travail.
  • Le sélecteur en haut du panneau permet de choisir un modèle. Default convient aux questions courantes ; les modèles plus puissants (Sonnet, Opus) offrent un raisonnement plus long, à un coût API supérieur.
  • Touche Entrée pour envoyer, Maj+Entrée pour insérer un saut de ligne, pour interrompre une réponse en cours.
  • La fermeture du panneau réinitialise la conversation — l'assistant ne conserve aucun historique entre sessions.

Vue d'ensemble

AI AssistantDefault ▾×quel est le problème pour la facture 10000 / RI / 00001 ?🔍validation_errors· doc=10000 dct=RI kco=00001Recherche des erreurs de validation pour cette facture…La facture 10000 / RI / 00001 échoue à un contrôle XSD.ProblèmeOrdre des éléments UBL 2.1 — AdditionalDocument- Reference placé avant ProjectReference / Signature.Cause probableLe XSL émet l'élément en ordre incorrect.Recommandations• vérifier la transformation JDE → UBL• valider l'ordre face au schéma UBL 2.1📋 Copyoui🔍list_invoices· kco=00001Statut de la facture 10000 / RI / 00001 — client · 2025-02-01 · B2C · 140,70 € · 9905 — Échec de validationBloquée depuis le 2025-02-01 sur l'erreur XSD ci-dessus.Posez votre question…Barre de titresélecteur de modèle · fermerPastille d'appel d'outilnom + filtres réellement utilisésRéponse diffusée en fluxMarkdown · titres · tableauxCopie de la réponseà coller dans un ticket / mailQuestion utilisateurtexte libre · FR ou ENTour de relancediagnostic multi-étapesZone de saisieEntrée pour envoyer · ■ pour interrompre

Chaque action menée par l'assistant pour le compte de l'utilisateur apparaît sous forme de pastille — 🔍 pour une consultation de la base NomaUBL, 📖 pour la demande d'une page de documentation, 📥 pour le résultat reçu en retour — avec les filtres réellement utilisés affichés à côté. Aucune étape n'est cachée.


Questions prises en charge

L'assistant est relié à deux sources d'information, toutes deux en lecture seule.

Sur le produit

Pour répondre à une question de fonctionnement, l'assistant exécute une consultation en deux temps de la documentation publique docs.nomana-it.fr :

  1. list_docs_pages — découverte des URL de documentation NomaUBL disponibles via le sitemap du site (rafraîchi toutes les six heures, 200 entrées maximum). La pastille s'affiche sous la forme 🔍 list_docs_pages · discovering NomaUBL docs URLs.
  2. web_fetch — sélection de l'URL la plus pertinente dans la liste obtenue, puis téléchargement de la page. Une pastille 📖 affiche l'URL choisie ; immédiatement après, une pastille 📥 web_fetch_result · ✓ <url> confirme la réception (ou 📥 ❌ <error_code> en cas d'échec).

Ce schéma en deux temps maintient l'ancrage du modèle dans la documentation officielle — l'URL effectivement consultée provient toujours du sitemap en vigueur, ce qui empêche la production d'un lien inventé ou obsolète.

Cas d'usage :

  • doute sur le comportement d'une fonctionnalité (« À quoi sert Replace = Skip sur Processing → XML ? ») ;
  • besoin d'une définition rapide pour un collègue (« Différence entre flux 10.1 et 10.3 ? ») ;
  • rappel du cycle de vie officiel (« Comment une facture passe-t-elle du statut 9900 au statut 10 ? »).

Sur les données

Cinq outils en lecture seule couvrent les questions opérationnelles courantes. L'assistant reçoit également le catalogue de statuts en vigueur (codes facture et e-reporting avec leur tag et libellés FR/EN), ce qui permet la résolution automatique d'expressions comme « en litige » ou « rejected » vers le bon code, sans approximation.

OutilDonnées retournéesQuestion typique
list_invoicesJusqu'à 50 factures de F564231, avec filtres : code statut, société, routage BAR (B2B / B2BINT / B2C / B2G / OUTOFSCOPE), nom client (sous-chaîne), période d'émission.« Lister les factures en attente pour la société 00070 en EUR », « Échecs d'envoi depuis lundi dernier »
explain_status_codeLe nom de tag et les libellés FR / EN d'un code statut. Consulte le catalogue facture (1, 8, 10, 37, 9900–9907 …) et le catalogue e-reporting (9950–9957).« Que signifie 9906 ? », « Statut 9954 ? »
validation_errorsErreurs de validation issues de F564236 pour un triplet DOC + DCT + KCO (niveau, source, règle, message — mêmes colonnes et même logique de résolution que la page Erreurs d'intégration).« Quel est le problème pour la facture 10000 / RI / 00001 ? »
lifecycle_historyToutes les transitions de statut enregistrées dans F564235 pour un triplet DOC + DCT + KCO — séquence, code statut, message, date / heure, plus le motif de rejet PA, l'action attendue et la note de statut lorsqu'ils sont présents.« Pourquoi la facture 12345/RI/00070 a-t-elle été rejetée par la PA ? », « Afficher l'historique complet de cette facture »
list_ereportsJusqu'à 50 dépôts de F564240 avec filtres : flux (10.1 / 10.3), société, code statut (9950–9957).« Les dix derniers dépôts 10.3 pour la société 00070 », « Dépôts e-reporting en attente »

Le déclenchement est automatique — aucun appel manuel n'est nécessaire. Une garde de sécurité interrompt la boucle agentique au bout de 5 itérations d'outil par tour, ce qui prévient toute séquence emballée susceptible d'épuiser le budget API. En cas d'échec d'un outil, l'assistant restitue le nom de l'outil, les paramètres tentés et le code d'erreur retourné, ce qui facilite l'investigation.


Exemples de conversation

Les transcriptions ci-dessous proviennent d'une session réelle. Le panneau fonctionne à l'identique en anglais.

Exemple 1 — Diagnostic d'une facture isolée

Utilisateur quel est le problème pour la facture 10000 / RI / 00001

🔍 validation_errors · doc=10000 dct=RI kco=00001

AI Assistant Je vais chercher les erreurs de validation pour cette facture.

La facture 10000 / RI / 00001 a une erreur de validation XSD :

Problème : Structure UBL 2.1 invalide. L'élément AdditionalDocumentReference est trouvé à une position non autorisée.

Cause probable : L'ordre des éléments dans le document UBL ne respecte pas le schéma. AdditionalDocumentReference devrait apparaître après ProjectReference, Signature ou AccountingSupplierParty.

Recommandations :

  • Vérifier la transformation JD Edwards → UBL générée par NomaUBL.
  • S'assurer que les éléments UBL sont ordonnés conformément à la norme UBL 2.1.
  • Contrôler les données source dans JD Edwards (type de document, références additionnelles).

Souhaitez-vous que je consulte le statut global de cette facture ?  📋


Utilisateur oui

🔍 list_invoices · kco=00001

AI Assistant

Statut de la facture 10000 / RI / 00001 :

AttributValeur
ClientLE CLIENT
Date d'émission2025-02-01
Type de documentB2C
Montant HT130,00 €
TVA10,70 €
Montant TTC140,70 €
Statut🔴 9905 — Échec de validation

Récapitulatif : la facture est bloquée en validation depuis le 1er février 2025 à cause de l'erreur XSD ci-dessus (élément AdditionalDocumentReference mal positionné).

Besoin d'aide pour corriger cette facture ?  📋

Un triplet (DOC + DCT + KCO) suffit pour amorcer le diagnostic. L'assistant enchaîne ses propres relances — d'abord la table de validation, puis l'en-tête de facture — et propose la prochaine étape utile.

Exemple 2 — Comptage des échecs sur l'ensemble du parc

Utilisateur combien de factures au total ne sont pas valides ?

🔍 list_invoices · status=9905

AI Assistant

Résultat : 50 factures en échec de validation (statut 9905).

Les résultats affichent le maximum de 50 entrées. Le nombre total exact peut être supérieur.

Répartition observée :

  • Majorité : société 00002 (49 factures).
  • Minorité : société 00001 (1 facture) et autres.
  • Types de documents : surtout des RI (factures), 1 RM (facture d'avoir).
  • Période : principalement mars-avril 2026.

Recommandations :

  • Vérifier si toutes ces factures sont touchées par le même problème XSD.
  • Examiner en priorité les données source de la société 00002.
  • Lancer un audit sur la transformation JD Edwards → UBL.

Voulez-vous que je vous montre les erreurs détaillées d'une autre facture pour confirmer si c'est le même problème ?  📋

Le plafond de 50 lignes sur list_invoices est intentionnel — pour un dénombrement exhaustif, la page E-Invoicing reste l'outil approprié. L'assistant excelle à caractériser un problème (quelle société, quel type de document, quelle période), avant de renvoyer vers l'écran dédié pour la liste complète.

Exemple 3 — Lecture de l'historique de rejet PA

Utilisateur pourquoi la facture 12345 / RI / 00070 a-t-elle été rejetée par la PA ?

🔍 lifecycle_history · doc=12345 dct=RI kco=00070

AI Assistant

Voici l'historique complet de la facture 12345 / RI / 00070 :

DateStatutMessage
2026-04-12 09:149900 — Créée
2026-04-12 09:159901 — ValidéeXSD + Schematron OK
2026-04-12 09:189903 — Envoyée à la PAsubmission_id=ABC-42
2026-04-12 09:429904 — Rejet PAREJ_ADR — code adressage destinataire inconnu

Motif PA : REJ_ADR — l'identifiant SIREN/SIRET du destinataire n'est pas reconnu sur l'annuaire PPF.

Action attendue : vérifier le code adressage du client dans JD Edwards puis relancer le pipeline.

Souhaitez-vous que je vérifie l'annuaire PPF pour ce destinataire ?  📋

Lorsque le rejet provient de la Plateforme Agréée et non de l'étape de validation locale, validation_errors renvoie une liste vide — lifecycle_history est l'outil approprié, car il restitue le motif PA (REJ_ADR, REJ_FMT, REJ_DESTINATAIRE …) accompagné de l'action attendue.

Exemple 4 — Consultation du fonctionnement du produit

Utilisateur qu'est-ce qu'un flux 10.1 ?

🔍 list_docs_pages · discovering NomaUBL docs URLs

📖 web_fetch · https://docs.nomana-it.fr/nomaubl/application/ereporting/

📥 web_fetch_result · ✓ https://docs.nomana-it.fr/nomaubl/application/ereporting/

AI Assistant

Le flux 10.1 est le canal e-reporting français pour les transactions B2BINT — ventes vers un acheteur dans un autre État membre de l'Union européenne. Pour ce flux :

  • chaque facture est déclarée individuellement (un envoi par facture, sans agrégation) ;
  • la PA dépose la déclaration auprès de l'administration fiscale via le PPF ;
  • le format est XML AFNOR XP Z12-014.

À distinguer du flux 10.3, qui agrège les transactions B2C et hors-périmètre par période. Source : docs.nomana-it.fr/nomaubl/application/ereporting  📋

La consultation en deux temps (list_docs_pages puis web_fetch) est obligatoire — l'API documentaire n'autorise le téléchargement que d'URL retournées par un précédent appel d'outil, ce qui empêche la fabrication d'un lien documentaire.


Lecture des réponses

  • Pastilles d'appel d'outil — affichent les filtres réellement appliqués (status=9906 dateFrom=2026-01-01 …). En cas de résultat inattendu, la pastille fournit l'explication.

  • Sémantique des icônes — chaque icône correspond à un type d'action :

    IcônePastilleSignification
    🔍list_invoices, lifecycle_history, list_ereports, validation_errors, explain_status_code, list_docs_pagesConsultation en lecture seule de la base NomaUBL ou du sitemap documentaire.
    📖web_fetchTéléchargement d'une page de documentation en cours — l'URL choisie figure dans la pastille.
    📥web_fetch_resultPage reçue. Le préfixe ✓ suivi de l'URL signale un succès ; ❌ suivi d'un code d'erreur signale un échec.
    🌐web_searchUne recherche web a été émise (uniquement lorsque la recherche est activée).
  • Rendu Markdown — titres, listes à puces, fragments de code et tableaux apparaissent mis en forme dans le panneau, sans dump en texte brut.

  • Diffusion en flux — la bulle se remplit à mesure que le modèle répond ; le bouton interrompt proprement la diffusion sans clore la conversation.

  • 📋 Copy au pied de chaque réponse copie le Markdown brut dans le presse-papiers — pratique pour l'intégrer à un ticket ou à un courriel.


Limites de l'assistant

  • Aucune écriture. Aucun outil ne modifie la base. Les modifications de configuration, les relances de validation et les changements de statut restent hors périmètre.
  • Pas de navigation web ouverte. La consultation documentaire est restreinte à la liste blanche définie par l'administrateur (docs.nomana-it.fr par défaut).
  • Pas de pièces jointes. Le canal est purement textuel. Coller un UBL XML directement dans un message reste possible (dans la limite du contexte modèle), mais l'envoi de fichiers n'est pas pris en charge.
  • Aucune persistance. La fermeture du panneau ou le rechargement de la page réinitialise le fil. La même question repartie d'un panneau vierge démarre une nouvelle conversation.
  • Pas de portée multi-instance. Les outils en lecture seule ciblent la base associée à l'utilisateur authentifié — même périmètre que le reste de l'application.

L'administrateur peut désactiver entièrement les outils de données (l'assistant s'appuie alors uniquement sur la consultation documentaire), restreindre les domaines documentaires, surcharger les modèles par défaut ou modifier le prompt système — l'ensemble depuis le template global.


Conseils & bonnes pratiques

  • Formuler la question, pas l'outil. « Lister les factures en attente pour la société 00070 en EUR » suffit — il n'est pas nécessaire d'instruire explicitement l'appel à list_invoices.
  • Utiliser les noms naturels de statut. « En litige », « rejected by the PA », « en attente de dépôt » sont automatiquement résolus vers le bon code numérique — l'assistant dispose du catalogue de statuts en vigueur.
  • Préciser les identifiants. Pour les questions de validation ou de cycle de vie, fournir le triplet complet (DOC + DCT + KCO) ; à défaut, l'assistant doit deviner ou appeler list_invoices au préalable.
  • Pour un rejet PA, privilégier lifecycle_history plutôt que validation_errors. La validation locale ne consigne dans F564236 que les échecs XSD / Schematron ; les rejets côté PA (REJ_ADR, REJ_FMT, …) résident dans la table de cycle de vie et seul lifecycle_history les restitue.
  • Lire les pastilles d'outil. Elles constituent la trace d'audit de la conversation — y compris les marqueurs 📥 web_fetch_result qui confirment qu'une page documentaire a bien été téléchargée (ou rapportent le code d'erreur en cas d'échec).
  • Considérer le panneau comme une API externe. Tout ce qui y est saisi est transmis au fournisseur de modèle — pas de clés API, pas de numéros de carte complets, pas de données personnelles au-delà de ce que la documentation publique contient déjà.
  • Pour les audits approfondis, revenir aux pages dédiées. L'assistant est optimisé pour les recherches rapides et les explications. Pour les flux récurrents, les pages Tableau de bord, E-Invoicing, E-Reporting et Erreurs d'intégration restent la source de vérité.