Le service DocuWare E-Invoicing Service connecte votre entité juridique, par exemple une entreprise, aux réseaux de facturation électronique et aux administrations fiscales propres à chaque pays, afin d'envoyer et de recevoir des factures électroniques conformes.
Le DocuWare Workflow Designer automatise et contrôle le traitement des factures électroniques au sein de DocuWare. En association avec le E-Invoicing Service, les processus de travail gèrent les scénarios suivants :
Envoi de factures électroniques aux destinataires via le réseau configuré
Validation des règles techniques et métier pour les factures électroniques
Traitement des factures électroniques entrantes
Soumission d'un rapport fiscal à partir des données ou du fichier d'une facture électronique. La transmission directe de l'e-reporting n'est pas prise en charge.
Recherche de l'adresse d'une entreprise dans le Peppol Registry et l'Annuaire
Vous configurez et utilisez ces fonctions dans DocuWare Configurations > Collaboration > Workflow Designer. Pour une introduction générale au Workflow Designer, consultez l'aide du Workflow Designer.
Conditions préalables
Avant de configurer des processus de travail pour le E-Invoicing Service, assurez-vous que le E-Invoicing Service a été configuré pour l'entité juridique concernée et que l'utilisateur du processus de travail dispose de l'autorisation Utiliser sur la configuration du E-Invoicing Service. Consultez Configuration du DocuWare E-Invoicing Service.
ConfigurationName : lors de la configuration du E-Invoicing Service, vous attribuez un nom unique à chaque configuration. Ce nom est disponible en tant que variable de processus de travail
ConfigurationNameet est utilisé dans l'activité Service Web pour référencer la configuration correcte du E-Invoicing Service. Assurez-vous que la valeur correspond exactement au nom de configuration défini dans DocuWare Configurations > Intégrations > E-Invoicing.Champs d'index : il est recommandé de configurer les champs d'index suivants dans l'armoire utilisée pour le traitement des factures électroniques :
TaxReportIDNetwork_IDInvoice_StatusValidation_Status
Fonctions du E-Invoicing Service dans le Workflow Designer
Les fonctions du E-Invoicing Service sont appelées depuis un processus de travail DocuWare à l'aide de l'activité Service Web. Le E-Invoicing Service est préenregistré sous le nom DocuWare E-Invoicing dans le Workflow Designer ; aucune configuration manuelle d'URL n'est donc nécessaire.
Pour utiliser une fonction, ajoutez une activité Service Web, sélectionnez DocuWare E-Invoicing sous Service Web défini, puis choisissez l'endpoint souhaité. Configurez les onglets Requête, HTTP Headers et HTTP Request Body comme décrit ci-dessous pour chaque endpoint. Vous pouvez également utiliser l'onglet Affectation des données pour mapper les valeurs de réponse vers les champs d'index du document, et l'onglet Codes de statut pour définir le traitement des codes de réponse HTTP.
L'activité Service Web traite un document à la fois. Chaque exécution du processus de travail gère une seule facture électronique ainsi que toutes les actions associées à ce document.
Remarque : logique de traitement et de synchronisation
Le service DocuWare E-Invoicing Service traite les factures électroniques de manière asynchrone. Lorsqu'une facture électronique est envoyée au réseau, le service renvoie immédiatement un ID de tâche, mais la remise effective s'effectue en arrière-plan. Le processus de travail ne peut pas vérifier le résultat instantanément. Il doit attendre, puis interroger le statut actuel via un endpoint de statut dédié.
Ce comportement asynchrone s'applique également aux messages d'erreur, qui peuvent n'être disponibles qu'une fois la requête traitée par le réseau.
Les endpoints suivants sont disponibles sous le service web DocuWare E-Invoicing dans le Workflow Designer. Utilisez-les pour automatiser les actions de facturation électronique directement depuis vos processus de travail DocuWare.
Endpoint | Description |
|---|---|
Post /v1/invoices/ | Envoyer une facture électronique au réseau configuré |
Get /v1/tasks/{id}/status/ | Récupérer le statut de traitement actuel d'une facture électronique envoyée |
Put /v1/invoices/status/ | Mettre à jour le statut d'une facture électronique reçue |
Post /v1/invoices/validation/report/ | Exécuter la validation des règles techniques et métier et générer un rapport de validation |
Post /v1/tax-reports/create | Soumettre un rapport fiscal créé à partir d'un fichier de facture électronique ou de données stockées dans une armoire |
Get /v1/directory | Rechercher l'adresse d'une entreprise dans le Peppol Registry ou l'Annuaire à partir du code pays et du numéro d'identification fiscale (TIN) |
Endpoints du Workflow Designer pour la facturation électronique
Les endpoints suivants sont disponibles sous le service web DocuWare E-Invoicing :
1. Envoyer une facture électronique
Endpoint : Post /v1/invoices/
Envoie au réseau configuré une facture électronique stockée dans DocuWare, en vue de sa remise au destinataire.
Paramètres du HTTP Request Body :
Paramètre | Type | Description |
|---|---|---|
| Variable système → ID du document | Référence du document DocuWare |
| Variable système → GUID de l'armoire | Armoire contenant le document |
| Texte fixe → | Nom de la configuration du E-Invoicing Service |
| Champ d'index → par exemple Statut | Champ d'index dans lequel le statut de la facture est inscrit |
| Boolean → | Exécute un contrôle avant l'envoi au réseau. Toujours défini sur |
| Champ d'index → par exemple ID réseau | Facultatif. Champ d'index dans lequel l'ID de référence réseau est stocké. |
| Texte fixe → par exemple | Facultatif. Remplace le type de transport par défaut défini dans la configuration du E-Invoicing Service. Options : |
JSON HTTP Request Body :
{
"documentId": "Index field DocumentID",
"fileCabinetId": "System variables File Cabinet GUID",
"configuration": "ConfigurationName",
"statusField": "Index field Invoice_Status",
"validateInvoice": true,
"networkIdField": "(Optional) Index field Network ID",
"transportTypeCode": "(Optional) Index field TransportTypeCode"
}JSON HTTP Response Body (200) :
{
"taskId": "{id}"
}La valeur configuration doit correspondre exactement au nom de configuration défini dans DocuWare Configurations > Intégrations > E-Invoicing. Consultez Configuration du DocuWare E-Invoicing Service.
2. Obtenir la mise à jour du statut
Endpoint : Get /v1/tasks/{id}/status
Récupère auprès du réseau le statut de traitement actuel d'une facture électronique envoyée. Le {id} dans la route correspond à l'ID de tâche renvoyé dans la réponse d'une requête HTTP précédente exécutée dans ce processus de travail. Stockez cette valeur dans une variable globale du processus de travail afin de la transmettre à cet endpoint.
HTTP Headers : Accept: application/json (préconfiguré)
HTTP Request Body : aucun
Configuration de la route :
Segment de route | Valeur | Description |
|---|---|---|
| Valeur fixe | Version de l'API |
| Valeur fixe | Chemin de l'endpoint |
| Variable globale → ID de tâche | ID de tâche renvoyé par |
| Valeur fixe | Chemin de l'endpoint |
JSON HTTP Response Body (200) :
{
"taskId": "{id}"
}3. Mettre à jour le statut de la facture
Endpoint : Put /v1/invoices/status/
Met à jour le statut d'une facture électronique reçue stockée dans DocuWare. Utilisez cet endpoint pour définir le statut de la facture en fonction d'événements métier tels que la confirmation de paiement ou l'approbation.
Cet endpoint s'applique uniquement aux factures reçues, c'est-à-dire aux factures émises par un fournisseur qui ont été reçues et nécessitent une action. Seules les valeurs de statut listées ci-dessous sont valides pour cet endpoint.
Le statut des factures émises (sortantes) est mis à jour automatiquement via le réseau. Il n'est pas nécessaire de mettre à jour le statut d'une facture envoyée depuis le processus de travail. Vous pouvez utiliser les valeurs de statut des factures émises dans le processus de travail DocuWare pour piloter vos processus, mais ne les utilisez pas pour mettre à jour un statut de facture au sein du réseau.
Pour plus d'informations et une référence des statuts de facture électronique, consultez Comprendre les statuts du DocuWare E-Invoicing Service.
HTTP Headers : Accept: application/json + Content-Type: application/json (préconfiguré)
Paramètres du HTTP Request Body :
Paramètre | Type | Description |
|---|---|---|
| Variable système → ID du document | Référence du document DocuWare |
| Variable système → GUID de l'armoire | Armoire contenant le document |
| Texte fixe → valeur de statut | Valeur de statut à définir sur la facture |
JSON HTTP Request Body :
{
"documentId": "Index field DocumentID",
"fileCabinetId": "System variables File Cabinet GUID",
"statusValue": "Paid"
}JSON HTTP Response Body (200) :
{
"taskId": "{id}"
}Valeurs de statut inscrites dans statusValue :
Valeur | Description |
|---|---|
| Le destinataire a approuvé la facture pour paiement. |
| Le destinataire a rejeté la facture, par exemple en raison d'un montant erroné, d'une référence de commande manquante ou d'une prestation contestée. |
| La facture a été déclarée payée par le destinataire. |
4. Créer un rapport de validation
Endpoint : Post /v1/invoices/validation/report
Exécute un contrôle des règles techniques et métier sur une facture électronique stockée dans DocuWare et génère un rapport de validation. Le résultat est inscrit dans un champ d'index dédié et un rapport de validation est joint à la facture électronique.
Cette fonction est actuellement disponible pour l'Allemagne uniquement.
HTTP Headers : Accept: application/json + Content-Type: application/json (préconfiguré)
Paramètres du HTTP Request Body :
Paramètre | Type | Description |
|---|---|---|
| Variable système → ID du document | Référence du document DocuWare |
| Variable système → GUID de l'armoire | Armoire contenant le document |
| Texte fixe → | Nom de la configuration du E-Invoicing Service |
| Champ d'index → par exemple Statut de validation | Champ d'index dans lequel le résultat de validation est inscrit |
JSON HTTP Request Body :
{
"documentId": "Index field DocumentID",
"fileCabinetId": "System variables File Cabinet GUID",
"configuration": "ConfigurationName",
"validationStatusField": "Index field Validation_Status"
}JSON HTTP Response Body (200) :
{
"taskId": "{id}"
}Valeurs de résultat de validation inscrites dans validationStatusField :
Valeur | Description |
|---|---|
| La facture électronique a réussi tous les contrôles des règles techniques et métier |
| La facture électronique a échoué à un ou plusieurs contrôles |
| La validation n'a pas pu aboutir en raison d'une erreur technique |
5. Soumettre un rapport fiscal à partir d'un fichier ou de données de facture électronique
Endpoint : Post /v1/tax-reports/create
Soumet un rapport fiscal à la DGFiP dans le cadre des obligations de e-reporting. L'e-report peut être généré à partir des données d'index stockées dans DocuWare ou transmis directement à partir d'un fichier de facture électronique conforme existant.
Information : cette fonction est actuellement disponible uniquement pour la France.
HTTP Headers : Accept: application/json + Content-Type: application/json (préconfiguré)
Paramètres du HTTP Request Body :
Paramètre | Type | Description |
|---|---|---|
| Variable système → ID du document | Référence du document DocuWare |
| Variable système → GUID de l'armoire | Armoire contenant le document |
| Texte fixe → | Nom de la configuration du E-Invoicing Service |
| Champ d'index → par exemple Invoice_Status | Champ d'index dans lequel le statut de la facture est inscrit |
| Texte fixe → | Data : l'e-report est généré à partir des données d'index stockées dans DocuWare via la configuration de l'onglet E-Reporting Creation. File : un fichier de facture électronique conforme existant est transmis directement |
| Texte fixe → | Indique si la facture a été émise (sortante) ou reçue (entrante) du point de vue de l'entité juridique |
| Champ d'index → p. ex. Tax_Report_Status | Facultatif. Champ d'index dans lequel le statut du rapport fiscal est inscrit |
| Champ d'index → p. ex. Tax_Report_Identifier | Facultatif. Champ d'index dans lequel l'identifiant du rapport fiscal est stocké. Correspond au champ d'index recommandé TaxReportID défini dans les conditions préalables |
JSON HTTP Request Body :
{
"documentId": "Index field DocumentID",
"fileCabinetId": "System variables File Cabinet GUID",
"configuration": "ConfigurationName",
"statusField": "Index field Invoice_Status",
"invoiceSource": "Data", //Data or File
"invoiceType": "Received", //Received or Issued
"taxReportStatusField": "(Optional) Tax_Report_Status",
"taxReportIdentifierField": "(Optional) Tax_Report_Identifier"
}JSON HTTP Response Body (200) :
{
"taskId": "{id}"
}Pour plus d'informations et une référence des statuts d'e-report, consultez Comprendre les statuts du DocuWare E-Invoicing Service.
Pour plus d'informations sur le processus d'e-reporting, consultez Comprendre l'e-reporting avec le DocuWare E-Invoicing Service (bientôt disponible).
6. Recherche dans l'annuaire Peppol/Annuaire
Endpoint : Get /v1/directory
Recherche l'adresse et les informations de routage d'une entreprise dans le Peppol Registry ou l'Annuaire. Cet endpoint est synchrone : le résultat est renvoyé directement dans la réponse. Aucun ID de tâche n'est émis et aucune interrogation n'est nécessaire.
HTTP Headers : Accept: application/json + Content-Type: application/json (préconfiguré)
Paramètre | Type | Description |
|---|---|---|
| Valeur fixe → | Nom de la configuration du E-Invoicing Service |
| Champ d'index → CountryCode | Code pays ISO 3166-1 alpha-2 du destinataire. |
| Champ d'index → TaxID | Identifiant fiscal du destinataire. Le format dépend du pays : |
Paramètres du HTTP Request Body : aucun
JSON HTTP Response Body (200) :
Voici un exemple de corps de réponse si vous recherchez DocuWare avec fr et 505184754 via cet endpoint.
{
"name": "DocuWare SARL",
"email": "orders@docuware.com",
"website": null,
"address": "17 rue du Colisée",
"address2": null,
"city": "Paris",
"postalcode": "75008",
"province": "Paris",
"country": "fr",
"language": "en",
"currency": "EUR",
"tin_scheme": null,
"tin_value": null,
"cin_scheme": "0002",
"cin_value": "505184754",
"pin_scheme": "0225",
"pin_value": "505184754"
}Référence des champs de réponse :
Champ | Description |
|---|---|
name | Raison sociale de l'entreprise |
Adresse e-mail de contact | |
website | Site web de l'entreprise (null si non disponible) |
address | Adresse (rue) |
address2 | Complément d'adresse (null si non disponible) |
city | Ville |
postalcode | Code postal |
province | Province ou région |
country | Code pays ISO 3166-1 alpha-2 |
language | Langue par défaut du document |
currency | Devise par défaut |
tin_scheme | Schéma d'identification fiscale (null si non applicable) |
tin_value | Valeur d'identification fiscale (null si non applicable) |
cin_scheme | Schéma d'identification de l'entreprise |
cin_value | Valeur d'identification de l'entreprise |
pin_scheme | Schéma d'identification Peppol |
pin_value | Valeur d'identification Peppol |
Gestion des erreurs
Lors du traitement des factures électroniques par le DocuWare E-Invoicing Service, des erreurs peuvent survenir à différentes étapes du processus de travail. Avant d'expliquer comment traiter les erreurs, il est utile de comprendre où elles sont signalées et quels types d'erreurs peuvent se produire.
Les erreurs sont signalées de l'une des manières suivantes :
Historique du processus de travail – consigne l'exécution du processus de travail et les activités ayant échoué
Visionneuse des tâches – affiche l'historique de traitement et les détails des erreurs pour les factures électroniques envoyées et reçues. Consultez Configuration du DocuWare E-Invoicing Service – Historique
Réponse du service Web – renvoie un message d'erreur directement depuis l'API du E-Invoicing Service, qui peut être mappé vers un champ d'index du document
Types d'erreurs et solutions
Les types d'erreurs suivants peuvent se produire. Les étapes nécessaires pour résoudre une erreur dépendent de l'erreur concernée et de sa cause première :
Configuration et paramétrage
ConfigurationNamenon valide ou incohérentAucune licence active ou contrat résilié pour l'entité juridique
L'utilisateur du processus de travail ne dispose pas de l'autorisation Utiliser sur la configuration du E-Invoicing Service
Mauvais environnement sélectionné (Intermédiaire vs Production)
Solution : vérifiez et corrigez la configuration du E-Invoicing Service, puis réessayez.
Certificat et authentification
Certificat électronique expiré ou non valide (Pologne/KSeF)
Code PIN de certificat incorrect (Pologne/KSeF)
Solution : renouvelez votre certificat électronique auprès du ministère polonais des Finances et mettez-le à jour dans la configuration du E-Invoicing Service.
Peppol ID non actif ou non enregistré pour votre compte
Solution : contactez le DocuWare Support.
Destinataire
Peppol ID du destinataire introuvable dans le réseau
Solution : vérifiez les coordonnées du destinataire sur la facture électronique et contactez-le pour confirmer son Peppol ID.
Document
Document introuvable dans l'armoire
Envoi en double – la facture a déjà été envoyée
Transition de statut non valide
Solution : vérifiez les données de la facture électronique et assurez-vous que la configuration du processus de travail est correcte.
Réseau et connectivité
Point d'accès inaccessible
Réseau Peppol temporairement indisponible
Service KSeF temporairement indisponible
Système de l'administration fiscale en maintenance
Solution : consultez le statut sur la page d'état publique du réseau concerné.
Comment le processus de travail gère les erreurs
Lorsqu'une facture électronique est envoyée via l'endpoint Envoyer une facture électronique, le E-Invoicing Service renvoie immédiatement un ID de tâche. La remise effective au réseau s'effectue en arrière-plan et s'achève généralement en 1 à 3 minutes. Le processus de travail doit interroger le résultat à l'aide de l'endpoint Obtenir la mise à jour du statut.
Le modèle suivant est recommandé pour gérer les erreurs dans le processus de travail sortant :
1. Envoyer et stocker l'ID de tâche
Après avoir appelé Post /v1/invoices/, stockez l'ID de tâche renvoyé dans une variable globale du processus de travail. Cet ID de tâche est requis pour toutes les vérifications de statut ultérieures.
2. Attendre et interroger le statut
Ajoutez une activité Temporisation de 1 à 3 minutes avant d'appeler Get /v1/tasks/{id}/status. Vérifiez le résultat de la tâche :
Terminé → passez à la vérification du champ d'index du statut de la facture :
Statut =
sent→ facture électronique remise avec succès, poursuivez le processus de travailStatut =
error→ échec de la remise, passez à la gestion des erreurs
Nouvelle tentative → le E-Invoicing Service retente automatiquement la remise. Ajoutez une Temporisation d'environ 40 minutes, puis interrogez de nouveau via
Get /v1/tasks/{id}/status. Le service continue de retenter pendant 24 heures maximum.
3. Traiter les erreurs
Lorsqu'une erreur définitive est confirmée :
Utilisez la configuration Affectation des données de l'activité Service Web pour écrire le message d'erreur de la réponse de l'API dans un champ d'index dédié de l'armoire (par exemple
Errors).Créez une Tâche de processus de travail pour que l'utilisateur responsable examine l'erreur et agisse selon la configuration de tâche définie.
Information
Le message d'erreur renvoyé par le E-Invoicing Service peut être mappé vers un champ d'index du document à l'aide du chemin JSON
$errorMessagedans l'onglet Affectation des données de l'activité Service Web. L'erreur est ainsi visible directement sur le document, sans nécessiter d'accès à la Visionneuse des tâches.
Recommandations pour la gestion des erreurs
Incluez un champ d'index d'erreur dédié (par exemple Errors de type Mot-clé) dans l'armoire pour capturer les messages d'erreur du E-Invoicing Service.
Concevez la Tâche de processus de travail pour les cas d'erreur avec des instructions claires indiquant à l'utilisateur comment procéder.
Utilisez la Visionneuse des tâches dans DocuWare Configurations > Intégrations > E-Invoicing pour consulter l'historique complet de traitement et les messages d'erreur détaillés de toutes les factures électroniques envoyées et reçues. Dans certains cas, une nouvelle tentative pour la tâche de facture électronique peut être lancée depuis la Visionneuse des tâches.
En cas d'erreurs de réseau ou de connectivité, le E-Invoicing Service retente automatiquement pendant 24 heures maximum. Évitez tout renvoi manuel durant cette période afin d'éviter les envois en double.
Référence des statuts de facture
Les valeurs de statut suivantes sont utilisées pour les factures électroniques. Certaines valeurs de statut sont définies automatiquement par le processus d'arrière-plan via le réseau Peppol ou d'autres réseaux tels que KSeF en Pologne.
Facture émise
Statut | Description |
|---|---|
| Statut initial d'une facture émise |
| La facture a été envoyée avec succès |
| La facture a été marquée comme acceptée |
| Notification d'enregistrement reçue ou marquage manuel comme enregistrée |
| Notification de refus reçue ou marquage manuel comme refusée |
| La facture a été payée ou marquée manuellement comme payée |
Facture reçue
Statut | Description |
|---|---|
| Statut initial d'une facture reçue ou marquage manuel comme nouvelle |
| La facture a été marquée comme acceptée |
| La facture a été marquée comme refusée |
| La facture a été marquée comme annotée |
| La facture a été payée ou marquée manuellement comme payée |
Facture simplifiée émise
Statut | Description |
|---|---|
| Statut initial d'une facture simplifiée émise |
| La facture a été envoyée avec succès |
| La facture a été marquée comme acceptée |
| Notification de refus reçue ou marquage manuel comme refusée |
| Notification d'enregistrement reçue ou marquage manuel comme enregistrée |
| La facture a été payée ou marquée manuellement comme payée |