Invoices

Brouillon de facture depuis un document (photo/PDF)

Analyse une photo ou un PDF (plan dessiné, devis ou facture manuscrit) et en crée un brouillon de facture (sans émission). Renvoie la facture brouillon + extraction (méta de relecture : confiance, client détecté, avertissement). L'analyse IA a un coût : 30 analyses par heure et par organisation, factures et devis confondus. Scope requis : invoices:draft.

post/invoices/draft/from-document

Request

  • Base URL: https://api.swipify.fr/api/v1
  • URL: https://api.swipify.fr/api/v1/invoices/draft/from-document
  • Auth: API key in header X-API-Key

Headers

Idempotency-Keystring

Clé d'idempotence (un UUID est recommandé). Optionnelle mais conseillée sur les retries réseau : la première réponse 2xx est mémorisée par (organisation, clé) ~24 h et rejouée au lieu de recréer la ressource (évite les doublons de facture/devis/client). Réutiliser la même clé pour une autre requête (méthode/chemin différents) renvoie 422. L'en-tête X-Idempotency-Key est accepté comme alias équivalent.

Request body

filestring required

Contenu du document (image ou PDF) encodé en base64. ~7,5 Mo binaire max (sous la limite de corps de 10 Mo).

mimeType'image/jpeg' | 'image/jpg' | 'image/png' | 'image/webp' | 'image/heic' | 'image/heif' | 'application/pdf' required
userHintstring

Contexte libre (client, type de document, TVA, objet…) pour guider l'extraction.

clientIdinteger

Rattache un client existant ; sinon le client détecté est renvoyé dans extraction.clientName.

Response

Brouillon créé depuis le document

idinteger
numberstring nullable
draftNumberstring nullable
statusstring
objectstring nullable
datestring date-time nullable
dueDatestring date-time nullable
paidDatestring date-time nullable
totalHTstring
totalVATstring
totalTTCstring
einvoiceStatus'pending' | 'delivered' | 'accepted' | 'rejected' | 'paid' | 'reported' | 'error' | 'null' nullable

Statut de cycle de vie e-invoice (PA). null si pas de cycle (brouillon/non conforme). rejected = refusée par la plateforme. reported = vente à un particulier, transmise en e-reporting : pas d'e-facture, donc ni remise ni acceptation client.

brandProfileKeystring nullable

Profil de marque du document. null = profil par défaut.

reminderCountinteger

Nombre de relances d'impayé envoyées (manuelles et automatiques). L'envoi d'une relance reste un geste dans l'application, jamais un appel API.

reminderLastSentAtstring date-time nullable

Date de la dernière relance d'impayé, null si jamais relancée.

remindersPausedboolean

true si les relances automatiques sont suspendues pour cette facture.

recurringboolean

true si la facture a été générée par une facture récurrente.

createdAtstring date-time

Example response

{
  "id": 1234,
  "number": "FAC-2026-0042",
  "status": "paid",
  "totalHT": "850.00",
  "totalVAT": "170.00",
  "totalTTC": "1020.00",
  "brandProfileKey": "boutique-lyon",
  "reminderCount": 1,
  "extraction": {
    "confidence": 0.82
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.