Aller au contenu

Ironfang Finance - Génération

Du JSON à l'UBL validé

Partez d'un exemple d'Invoice ou de CreditNote, générez le XML et vérifiez le résultat avant de le télécharger.

Ouvrez le playground JSON ou utilisez l'un des démarrages rapides exécutables ci-dessous. Le playground public ne demande pas de clé API. Votre JSON n'est envoyé à Ironfang Finance que si vous lancez explicitement la génération.

1. Choisir un exemple synthétique

Enregistrez votre exemple sous input.json. Consultez le schéma JSON versionné pour les champs pris en charge. Les montants et les quantités sont des chaînes décimales, les dates suivent le format YYYY-MM-DD, et les champs inconnus ou en double sont rejetés. Le texte de la facture est traité comme du texte. Le générateur signale les totaux fournis incohérents ; il ne répare pas les factures en silence.

2. Lancer un démarrage rapide

Téléchargez un script dans votre projet et lancez-le avec un nom de fichier d'entrée et un nom de fichier de sortie. Chaque script envoie l'entrée à l'endpoint de génération de production, exige une validation réussie à travers les cinq étapes, vérifie l'empreinte et la longueur du XML renvoyé par rapport au résultat de validation, et n'écrit qu'ensuite le fichier XML.

EnvironnementTéléchargementCommande
curl + Python 3generate.shbash generate.sh input.json invoice.xml
Node.js 22.18+generate.tsnode generate.ts input.json invoice.xml
Python 3generate.pypython3 generate.py input.json invoice.xml
Gogenerate.gogo run generate.go input.json invoice.xml

La requête par défaut sélectionne ruleset=latest et profile=peppol-bis-billing-3. Le résultat enregistre le jeu de règles exact résolu et l'image du validateur. Pour des intégrations reproductibles, utilisez un jeu de règles exact du registre en direct et le contrat OpenAPI.

3. Enregistrer et récupérer les résultats

Pour conserver les résultats, définissez IRONFANG_API_KEY dans l'environnement de votre shell avec une clé qui a finance:einvoices:write et un abonnement Ironfang Finance payant actif. Les comptes gratuits peuvent valider dans la limite de leur quota ; la génération authentifiée nécessite Build, Pro ou Platform. Consultez les offres et quotas. Gardez votre clé hors des fichiers source et du code du navigateur. Donnez à FINANCEWOLF_IDEMPOTENCY_KEY une valeur unique pour une génération logique, et ne la réutilisez que pour relancer la même entrée avec les mêmes options. Les scripts ne relancent pas automatiquement. Une requête interrompue peut avoir abouti ; relancez-la avec la même valeur pour récupérer son résultat d'origine sans nouvelle opération.

La génération anonyme est transitoire. Les résultats authentifiés et le XML généré sont conservés 30 jours, avec possibilité de les supprimer plus tôt. Le JSON d'origine n'est pas conservé. Le playground du portail (en anglais) propose des résultats enregistrés et des téléchargements de PDF lisibles. Lire un résultat conservé ou en générer le rendu nécessite finance:einvoices:read. Les résultats expirés ou supprimés renvoient 410 ; les copies téléchargées restent sous votre contrôle.

Comprendre les échecs et les limites

Le JSON est limité à 5 Mio. Les erreurs de champ identifient les entrées non prises en charge ou mal formées. Une défaillance du générateur ou du service de validation n'établit aucun verdict sur la facture et ne libère aucun XML généré. Respectez Retry-After en cas de HTTP 429. N'utilisez FINANCEWOLF_API_BASE que pour cibler une API de développement ou de préproduction explicitement approuvée ; les scripts envoient toute clé configurée à cette adresse.

La génération renvoie comme XML exactement les octets passés par PHIVE. Un PDF lisible représente ces valeurs ; il ne remplace pas le XML. La validation ne transmet pas de factures, n'enregistre pas de participants, ne fait pas d'Ironfang un point d'accès Peppol (Access Point), ne certifie pas la conformité juridique ou fiscale et ne garantit pas l'acceptation par le destinataire. Consultez la chaîne de validation et ses limites.