Aller au contenu
Ztract

Concevoir votre schéma

Un schéma, c'est votre déclaration de ce que vous voulez voir extrait de chaque document. Trois manières de le définir — choisissez celle qui correspond à votre façon de penser les données.

Mis à jour:

Qu’est-ce qu’un schéma ?

Un schéma dans Ztract, c’est la forme des données que vous souhaitez récupérer. Il s’agit d’une liste de champs avec des noms, des types et, en option, une structure (par exemple, « lignes de poste » est un array d’objects, chacun avec une description, une quantité et un prix unitaire). Le moteur lit chaque document téléversé en fonction du schéma et renvoie les valeurs correspondantes, ancrées à l’endroit où elles apparaissent sur la page source.

Les schémas vivent à l’intérieur des projets. Un projet = un schéma = une forme de sortie cohérente pour chaque document de ce projet. Si vous avez plusieurs types de documents, créez plutôt un projet par type.

Design Schema

Types de champs et structure

Chaque champ a l’un des six types suivants :

  • string — texte libre. Noms, adresses, descriptions libres.
  • number — valeurs décimales. Montants, pourcentages, dimensions.
  • integer — nombres entiers. Quantités, comptes.
  • enum — une chaîne qui doit provenir d’une liste fixe que vous définissez. À utiliser pour les valeurs catégoriellement contraintes — statut de commande, mode de paiement, code devise.
  • object — un groupe de champs imbriqués. À utiliser quand une entité a naturellement des sous-propriétés (une address avec street / city / zip).
  • array — une liste répétée. Les éléments peuvent être des primitives (« compétences » sur un CV) ou des objects (« lignes de poste » sur une facture).

Les structures object et array peuvent s’imbriquer, jusqu’à trois niveaux de profondeur. Pour la plupart des documents du monde réel, deux niveaux suffisent largement — les lignes de poste d’une facture, les signataires d’un contrat — et trois est le plafond pour les rares cas où vous en avez réellement besoin.

Méthode 1 — Partir d’un modèle

Ztract propose des modèles prêts à l’emploi pour les types de documents courants comme les factures, les reçus, les contrats et les pièces d’identité. Chaque modèle est un schéma fonctionnel avec des noms de champs, des types et (le cas échéant) des structures imbriquées. Ils sont construits à partir d’exemples du monde réel, pas d’idéaux théoriques. Le catalogue exact est localisé — quand la langue de votre tableau de bord est réglée sur l’anglais, vous voyez des modèles nommés en anglais ; passez au chinois, au japonais, etc. et la liste se met à jour en conséquence.

Quand cette méthode fonctionne le mieux. Quand votre type de document correspond à une catégorie bien définie et que votre outil en aval attend la forme standard — par exemple, « factures vers NetSuite » ou « reçus de frais vers Concur ». Vous obtenez un schéma fonctionnel en deux clics.

Comment personnaliser. Ouvrez le modèle, renommez les champs pour coller au vocabulaire de votre équipe, supprimez les champs dont vous n’avez pas besoin, et ajoutez les champs personnalisés propres à votre workflow. Enregistrez le schéma et il est prêt pour le téléversement.

Schema Template

Méthode 2 — Décrire en langage courant

Si aucun modèle ne convient, écrivez ce que vous voulez. Tapez une phrase ou deux décrivant les champs. Ztract rédige un schéma complet à partir de votre description. Vous confirmez ou ajustez avant d’enregistrer.

Exemple d’invite. « Pour chaque bon de commande, extrais le numéro de PO, le nom et l’adresse du fournisseur, la date d’émission, la date de livraison, les lignes de poste avec SKU, description, quantité et prix unitaire, ainsi que le total de la commande. Indique aussi si le PO est marqué comme commande urgente. »

Le moteur produit quelque chose comme :

  • po_number — string
  • vendor{ name, address }
  • issue_date — date
  • delivery_date — date
  • line_items — array de { sku, description, quantity, unit_price }
  • order_total — number
  • rush_order — boolean

Quand cette méthode fonctionne le mieux. Quand vous avez un modèle mental clair de ce dont vous avez besoin mais aucun exemple canonique à téléverser. Ou quand votre type de document est suffisamment de niche pour qu’aucun modèle ne convienne.

Méthode 3 — Inférer à partir d’un document d’exemple

Téléversez un document d’exemple ; le moteur le lit et propose un schéma avec les noms de champs, les types et l’imbrication qu’il a trouvés. Vous ajustez ensuite : supprimez les champs qui ne vous intéressent pas, ajoutez ceux que l’exemple n’incluait pas, resserrez les types.

Quand cette méthode fonctionne le mieux. Quand vous ne savez pas quels champs existent tant que vous n’en avez pas vu un — courant pour les comptes rendus médicaux (chaque laboratoire imprime ses panels différemment), les contrats rédigés sur mesure et les formulaires fournisseurs ponctuels. Elle est aussi utile quand le nom d’un champ sur le document est inhabituel et que vous voulez que le moteur propose un nom normalisé.

Ajuster un schéma après création

Vous pouvez modifier un schéma à tout moment — renommer des champs, en ajouter de nouveaux, changer les types, restructurer l’imbrication. Les modifications n’affectent pas les documents déjà traités ; vous devrez les relancer sous le nouveau schéma pour obtenir la forme mise à jour. Les relances sont facturées (voir Facturation, packs et remboursements), c’est pourquoi la plupart des équipes finalisent leur schéma sur un petit lot avant de traiter de gros volumes.

Schema Template

Astuces pour les champs délicats

  • Dates. Quel que soit le format imprimé sur le document — DD/MM/YYYY, Jun 5 2026, « Q2 2026 » — Ztract le convertit au format de date que vous spécifiez dans votre schéma. Si aucun format n’est précisé, la date est renvoyée telle qu’imprimée.
  • Montants et devises. La devise conserve sa forme d’origine (€, $, ¥, ₩, etc.) ; nous ne convertissons jamais silencieusement. Les taux de taxe par ligne restent attachés à la ligne à laquelle ils appartiennent.
  • Structures imbriquées. Si le document possède naturellement des sous-objets (les parties d’un contrat, les conditions de paiement à l’intérieur d’un accord fournisseur), utilisez l’imbrication dans le schéma. Le JSON de sortie reproduira l’imbrication ; CSV et Excel l’aplatissent avec des chemins pointés.
  • Arrays de chaînes simples. Des champs comme « compétences » sur un CV ou « visas » sur un passeport reviennent sous forme d’arrays de strings. Le tableau de bord rend l’array sous forme de tableau dans la visionneuse côte à côte — une ligne par élément, reliée à sa zone source.
  • Champs enum. Les champs à vocabulaire contraint (statut, code devise, classe de document) fonctionnent mieux en enum — vous fournissez les valeurs autorisées une fois et le moteur s’y tient au lieu d’inventer des variantes comme « Paid », « paid », « PAID » ou « Settled ».

← Retour à toute la documentation