Envoyer une facture
L'API envoyer une facture permet aux utilisateurs de l'OD d'envoyer des factures qu'ils ont au préalable créées
Lors de l'envoi au PPF ou à une PDP, seules les factures B2B France sont effectivement transmises sous forme de fichiers (e-invoicing). Les factures B2B International et B2C font l'objet d'une déclaration de transaction (e-reporting)
Pré-requis
- Posséder un compte OD
- Avoir créé une connexion PDP ou PPF
- Avoir créé une facture et avoir récupéré son identifiant
Requête
Pour envoyer une facture, on change son statut en faisant une requête PATCH sur le chemin d'accès suivant:
/v1/ventes/factures/<identifiant facture>
On doit passer:
- L'identifiant utilisateur de l'OD dans l'en-tête X-OD-User-ID
- Le contenu du patch au format JSON Patch dans le corps de la requête
Le patch doit affecter la valeur A_ENVOYER à la propriété statutOd de la facture
Par exemple:
- cURL
- Typescript
Requête d'envoi d'une facture de vente
curl \
-X PATCH \
-H 'X-OD-User-ID: ${userId}' \
-H 'Content-Type: application/json-patch+json; charset=utf-8' \
-d @envoi-facture.json \
http://<host>:<port>/v1/ventes/factures/26ad3a21-615e-40ea-a05a-2ac8e8a2f373
Requête d'envoi d'une facture de vente
const url = 'http://<host>:<port>/v1/ventes/factures/26ad3a21-615e-40ea-a05a-2ac8e8a2f373'
const data = fs.readFileSync('envoi-facture.json');
const response: AxiosResponse = await axios.patch(url, data, {
headers: {
'X-OD-User-ID': userId,
'Content-Type': 'application/json-patch+json; charset=utf-8',
}
});
Fichier envoi-facture.json
[
{
"op": "replace",
"path": "/statutOd",
"value": "A_ENVOYER"
}
]
Réponse
Si l'envoi a réussi, la réponse de l'OD est 204 No Content
Erreurs
Si une erreur s'est produite, les codes et messages suivants peuvent être retournés:
| Code | Message |
|---|---|
| 400 Bad Request | Requête invalide - Voir messages d'erreur |
| 401 Unauthorized | Informations d'authentification invalides |
| 403 Forbidden | Droits insuffisants pour effectuer cette action |
| 404 Not Found | La facture n'a pas été trouvée |
Impact
- La propriété statutOd de la facture a maintenant la valeur A_ENVOYER
- Le fichier facture sera envoyé à son destinataire dès que possible, via la PDP choisie par l'utilisateur ou le PPF
- Si l'envoi réussit:
- La propriété statutOd de la facture prendra la valeur ENVOYEE (e-invoicing) ou DECLAREE (e-reporting) en fonction de son type B2B France ou B2B International / B2C