Met à jour une facture existante.
Numérotation automatique:
- Si la facture passe de 'draft' à un état validé (waiting, paid, etc.), un numéro est automatiquement attribué
- Le numéro est verrouillé pendant l'attribution pour éviter les doublons
- Un numéro d'enregistrement FEC (numberRecord) est aussi généré
Restrictions:
- Une facture numérotée ne peut pas revenir en brouillon
- Certaines modifications sont interdites sur les factures validées
Événements déclenchés:
- Mise à jour du stock si nécessaire
- Logs de numérotation
Body
Required
-
ID du client
-
Nom du client
-
Adresse du client
-
Date de la facture
-
Date d'échéance de paiement
-
État de la facture
Values are
draft,waiting,paid,notpaid, orlate. -
Type de facture
Values are
invoice,invoice_credit,external,external_credit,proforma, oradvance. -
Titre/objet de la facture
-
Lignes de la facture
PATCH
/invoice/{uid}
curl \
--request PATCH 'https://wuro.pro/api/v3.2/invoice/{uid}' \
--header "X-APP-ID: $API_KEY" \
--header "X-APP-SECRET: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"client":"string","client_name":"string","client_address":"string","client_city":"string","client_zip_code":"string","client_country":"string","client_email":"hello@example.com","date":"2025-05-04T09:42:00Z","payment_expiry_date":"2025-05-04T09:42:00Z","state":"draft","type":"invoice","title":"string","invoice_lines":[{"_id":"string","description":"string","price_ht":0,"quantity":1,"reference":"string","title":"string","total_ht":0,"total_ttc":0,"tva_rate":42.0,"type":"product","unit":"string"}]}'
Request examples
{
"client": "string",
"client_name": "string",
"client_address": "string",
"client_city": "string",
"client_zip_code": "string",
"client_country": "string",
"client_email": "hello@example.com",
"date": "2025-05-04T09:42:00Z",
"payment_expiry_date": "2025-05-04T09:42:00Z",
"state": "draft",
"type": "invoice",
"title": "string",
"invoice_lines": [
{
"_id": "string",
"description": "string",
"price_ht": 0,
"quantity": 1,
"reference": "string",
"title": "string",
"total_ht": 0,
"total_ttc": 0,
"tva_rate": 42.0,
"type": "product",
"unit": "string"
}
]
}
Response examples (200)
{
"updatedInvoice": {
"_id": "string",
"VATRates": [
{
"amount": 42.0,
"rate": "string",
"total": 42.0
}
],
"acomptes": [
{
"_id": "string",
"amount": 42.0,
"amount_ht": 42.0,
"credit": false,
"date": "2025-05-04T09:42:00Z"
}
],
"base_currency": "EUR",
"client": "string",
"client_name": "string",
"client_address": "string",
"client_city": "string",
"client_zip_code": "string",
"client_country": "France",
"client_email": "string",
"client_phone": "string",
"company": "string",
"company_name": "string",
"date": "2025-05-04T09:42:00Z",
"payment_expiry_date": "2025-05-04T09:42:00Z",
"invoice_lines": [
{
"_id": "string",
"description": "string",
"price_ht": 0,
"quantity": 1,
"reference": "string",
"title": "string",
"total_ht": 0,
"total_ttc": 0,
"tva_rate": 42.0,
"type": "product",
"unit": "string"
}
],
"number": "string",
"state": "draft",
"title": "string",
"total_ht": 42.0,
"total_ttc": 42.0,
"total_tva": 42.0,
"type": "invoice",
"payments": [
{
"_id": "string",
"mode": "string",
"method_name": "string",
"amount": 42.0,
"date": "2025-05-04T09:42:00Z",
"check_number": "string"
}
]
}
}