Aller au contenu principal

Capacités IA

L'assistant IA est un panneau de discussion intégré à NomaUBL. Il répond à deux types de questions :

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

Les réponses s'affichent en flux pendant la génération. Chaque appel d'outil apparaît sous forme de pastille — toutes les actions sont visibles. La langue de la réponse suit celle de la question (français ou anglais).


Ouverture du panneau

  • L'entrée ✦ Assistant IA dans la barre de navigation (en haut à droite, pastille en dégradé violet) ouvre un tiroir latéral. L'espace de travail se réduit en conséquence.
  • Le sélecteur en haut du panneau permet de choisir un modèle. Par défaut convient aux questions courantes. Les modèles plus puissants (Sonnet, Opus) raisonnent plus longuement, mais coûtent plus cher en API.
  • Touche Entrée pour envoyer, Maj+Entrée pour insérer un saut de ligne, pour arrêter une réponse en cours.
  • Fermer le panneau réinitialise la conversation. L'assistant ne garde aucun historique entre sessions.

Vue d'ensemble

Assistant IAPar défaut ▾×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📋 Copieroui🔍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 de l'assistant apparaît sous forme de pastille : 🔍 pour une lecture de la base NomaUBL, 📖 pour une page de documentation demandée, 📥 pour le résultat reçu. Les filtres réellement utilisés sont affichés à côté. Aucune étape n'est cachée.


Questions prises en charge

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

Sur le produit

Pour répondre à une question sur le produit, l'assistant consulte la documentation publique docs.nomana-it.fr en deux étapes :

  1. list_docs_pages — récupère les 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 — choisit l'URL la plus pertinente dans la liste, puis télécharge la page. Une pastille 📖 affiche l'URL choisie. Juste après, une pastille 📥 web_fetch_result · ✓ <url> confirme la réception (ou 📥 ❌ <error_code> en cas d'échec).

Ce fonctionnement en deux étapes garantit que l'URL consultée provient toujours du sitemap à jour. L'assistant ne peut pas inventer un lien ni en utiliser un périmé.

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 aussi le catalogue de statuts en vigueur (codes facture et e-reporting, avec tag et libellés FR/EN). Il peut donc traduire automatiquement des 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 à faire. Un garde-fou interrompt l'assistant après 5 appels d'outil par tour, pour éviter qu'une boucle ne consomme tout le budget API. En cas d'échec d'un outil, l'assistant affiche son nom, les paramètres tentés et le code d'erreur — utile pour le diagnostic.


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

Assistant IA 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

Assistant IA

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 démarrer le diagnostic. L'assistant enchaîne lui-même les requêtes — d'abord la table de validation, puis l'en-tête de facture — et propose l'étape suivante.

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

Utilisateur combien de factures au total ne sont pas valides ?

🔍 list_invoices · status=9905

Assistant IA

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 volontaire : pour un comptage exhaustif, utiliser la page E-Invoicing. L'assistant est utile pour caractériser un problème (quelle société, quel type de document, quelle période), puis 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

Assistant IA

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 ?  📋

Quand le rejet vient de la Plateforme Agréée et non de la validation locale, validation_errors renvoie une liste vide. Dans ce cas, utiliser lifecycle_history : il donne le motif PA (REJ_ADR, REJ_FMT, REJ_DESTINATAIRE …) et 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/

Assistant IA

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  📋

Les deux étapes (list_docs_pages puis web_fetch) sont obligatoires. L'API documentaire n'autorise le téléchargement que d'URL retournées par un appel précédent. L'assistant ne peut donc pas fabriquer de lien.


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 donne l'explication.

  • Signification 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 sont mis en forme dans le panneau, sans texte brut.

  • Diffusion en flux — la bulle se remplit pendant que le modèle répond. Le bouton arrête la réponse sans fermer la conversation.

  • 📋 Copier au pied de chaque réponse copie le Markdown brut dans le presse-papiers — pratique pour le coller dans un ticket ou un e-mail.


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 sont hors périmètre.
  • Pas de navigation web ouverte. La consultation documentaire est limitée à la liste blanche définie par l'administrateur (docs.nomana-it.fr par défaut).
  • Pas de pièces jointes. Le panneau ne gère que du texte. Coller un UBL XML dans un message fonctionne (dans la limite du contexte modèle), mais l'envoi de fichiers n'est pas pris en charge.
  • Aucune persistance. Fermer le panneau ou recharger la page réinitialise le fil. Reposer la même question dans 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 n'utilise alors que la consultation documentaire), restreindre les domaines documentaires, changer les modèles par défaut ou modifier le prompt système. Tout cela se règle dans 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 ; pas besoin de demander explicitement list_invoices.
  • Utiliser les noms naturels de statut. « En litige », « rejected by the PA », « en attente de dépôt » sont traduits automatiquement vers le bon code — l'assistant connaît le 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). Sinon, l'assistant doit deviner ou passer par list_invoices d'abord.
  • Pour un rejet PA, utiliser 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, …) sont stockés dans la table de cycle de vie : seul lifecycle_history les renvoie.
  • Lire les pastilles d'outil. Elles forment la trace d'audit de la conversation, y compris les marqueurs 📥 web_fetch_result qui confirment qu'une page a bien été téléchargée (ou affichent le code d'erreur en cas d'échec).
  • Traiter le panneau comme une API externe. Tout ce qui y est saisi est envoyé au fournisseur du 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 conçu pour des recherches rapides et des 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é.