DevVersPA
Documentation API
Retour
SOAP

WS_2_CreerFacturX

Génère un fichier Factur-X (PDF/A-3 avec XML embarqué) à partir d'une structure JSON décrivant la facture et d'un fichier PDF source.

Résumé

Ce point d'entrée prend en entrée la description JSON de votre facture et votre PDF de facture existant, et retourne un fichier Factur-X conforme (PDF/A-3 + XML Factur-X embarqué), encodé en Base64. Ce fichier peut ensuite être transmis via WS_8_EnvoyerFactureDeVente.

Utilisez WS_3_ValidationFacturX si vous souhaitez valider un Factur-X déjà existant sans en créer un nouveau.

Syntaxe

sFacturX est chaîne = WS_2_CreerFacturX(Token, JsonFacture, ContenuFichierPDF)

Paramètres

NomTypeDescriptionObligatoire
Token chaîne Token de session obtenu via WS_1_ConnexionDevVersPA. Oui
JsonFacture chaîne Structure JSON décrivant les données de la facture (en-tête, lignes, montants, TVA, références client/fournisseur, etc.). Format DevVersPA — voir ci-dessous. Oui
ContenuFichierPDF chaîne Contenu du fichier PDF de la facture, encodé en Base64. Ce PDF sera encapsulé dans le PDF/A-3 Factur-X généré. Oui

Valeur de retour

CasValeur retournée
Succès Fichier Factur-X (PDF/A-3 + XML embarqué) encodé en Base64. À décoder pour obtenir le fichier binaire.
Erreur Chaîne commençant par Erreur : suivie du détail (ex: JSON invalide, PDF non lisible, token expiré).

Exemple WLangage

// ── Créer un Factur-X ────────────────────────────────────
PROCÉDURE CréerFacturX(sJsonFacture est chaîne, sCheminPDF est chaîne)
: chaîne

// Lire et encoder le PDF en Base64
sContenuPDF est chaîne = Encodage( ­
    fChargeBuffer(sCheminPDF),  ­// Lecture binaire du PDF
    encodageBase64URL              ­// Encodage Base64
)

SI sContenuPDF = "" ALORS
    Erreur("Impossible de lire le fichier PDF : " + sCheminPDF)
    RENVOYER ""
FIN

// Appel WS_2
sFacturX est chaîne = WS_2_CreerFacturX( ­
    gsToken,       ­// Token de session (variable globale)
    sJsonFacture,  ­// JSON de la facture
    sContenuPDF    ­// PDF en Base64
)

// Contrôle
SI Gauche(sFacturX, 6) = "Erreur" ALORS
    Erreur("Création Factur-X échouée :" + RC + sFacturX)
    RENVOYER ""
FIN

// sFacturX est le Factur-X en Base64 — prêt pour WS_8
RENVOYER sFacturX

// ── Sauvegarder le Factur-X sur disque (optionnel) ───────
// sFichierFacturX est buffer = Décodage(sFacturX, encodageBase64URL)
// fSauveBuffer("C:\Factures\FAC_2026_001_facturx.pdf", sFichierFacturX)

Structure JSON de la facture

Le format du paramètre JsonFacture est documenté en détail dans le guide dédié, avec les tables de champs obligatoires, les références BT/BG de la norme EN 16931 et un exemple WDLangage complet (en-tête, lignes, TVA, totaux).

Guide — Préparer le JSON de facture (EN 16931)

Voir aussi