Facture fournisseur (supplier_invoice)

Une supplier_invoice représente une facture reçue d'un fournisseur. Son modèle sépare le cycle de réception et d'approbation, l'avancement du règlement et l'existence d'un litige afin que ces trois dimensions puissent évoluer sans s'écraser mutuellement.

Rôle

La facture fournisseur est le document central du flux accounts payable. Elle peut être rapprochée d'un ou plusieurs bons de commande, soumise à approbation, planifiée pour paiement puis imputée à un paiement fournisseur.

Le champ type distingue une facture (invoice) d'un avoir fournisseur (credit_note). Un avoir peut référencer sa facture d'origine via source_invoice_id.

Identifiant et structure

Chaque facture fournisseur porte un identifiant préfixé par sinv_.

JSON
"supplier_invoice":{21 items
"object":"supplier_invoice"
"id":"sinv_4a7b2e9f1c3d8a5e"
"merchant_id":"mer_1a2b3c4d5e6f7a8b"
"supplier_id":"cmp_3a8f1d9c2b4e7f6a"
"supplier_contact_id":null
"type":"invoice"
"source_invoice_id":null
"status":"approved"
"settlement_status":"scheduled"
"disputed":false
"amount_excluding_tax":100000
"amount_tax":20000
"amount_including_tax":120000
"currency":"eur"
"reference":"SUP-2026-0042"
"source_reference":"ERP-AP-7842"
"issue_date":"2026-06-17"
"received_at":"2026-06-18T09:00:00.000Z"
"due_date":"2026-07-17"
"scheduled_payment_date":"2026-07-15"
"paid_at":null
}
{
  "object": "supplier_invoice",
  "id": "sinv_4a7b2e9f1c3d8a5e",
  "merchant_id": "mer_1a2b3c4d5e6f7a8b",
  "supplier_id": "cmp_3a8f1d9c2b4e7f6a",
  "supplier_contact_id": null,
  "type": "invoice",
  "source_invoice_id": null,
  "status": "approved",
  "settlement_status": "scheduled",
  "disputed": false,
  "amount_excluding_tax": 100000,
  "amount_tax": 20000,
  "amount_including_tax": 120000,
  "currency": "eur",
  "reference": "SUP-2026-0042",
  "source_reference": "ERP-AP-7842",
  "issue_date": "2026-06-17",
  "received_at": "2026-06-18T09:00:00.000Z",
  "due_date": "2026-07-17",
  "scheduled_payment_date": "2026-07-15",
  "paid_at": null
}

Champs

ChampTypeDescription
idstringIdentifiant de la facture fournisseur (préfixe sinv_).
objectstringToujours "supplier_invoice".
merchant_idstringMarchand qui reçoit la facture.
supplier_idstringFournisseur (cmp_…).
supplier_contact_idstring | nullContact fournisseur associé, si connu.
typeenuminvoice ou credit_note.
source_invoice_idstring | nullFacture fournisseur d’origine pour un avoir.
statusenumCycle de vie : received, pending_approval, approved, cancelled.
settlement_statusenumRèglement : unpaid, scheduled, partially_paid, paid.
disputedbooleanIndique si la facture est actuellement contestée.
amount_excluding_taxintegerMontant HT en centimes.
amount_taxintegerMontant de taxe en centimes.
amount_including_taxintegerMontant TTC en centimes.
currencystringDevise ISO 4217 en minuscules.
referencestring | nullNuméro de facture attribué par le fournisseur.
source_referencestring | nullRéférence dans votre système source.
issue_datedate | nullDate d’émission indiquée par le fournisseur.
received_atdatetime | nullDate de réception de la facture.
due_datedate | nullDate d’échéance.
approved_atdatetime | nullDate d’approbation.
scheduled_payment_datedate | nullDate de paiement planifiée, le cas échéant.
paid_atdatetime | nullDate de règlement complet, lorsqu’elle est connue.
document_filefile | nullDocument de facture joint.
metadataobjectMap plate de scalaires `string | number | boolean`, selon la convention metadata de l’API.
created_atdatetimeDate de création.
updated_atdatetimeDate de dernière mise à jour.

Cycle de vie

status répond uniquement à la question « où en est le document dans son traitement ? ». La planification ou l'exécution d'un paiement ne change pas cet axe.

statusDescription
receivedFacture reçue et enregistrée. Statut initial.
pending_approvalSoumise au circuit d’approbation.
approvedApprouvée pour traitement et paiement.
cancelledAnnulée. Fin de vie du document.

Règlement

settlement_status suit séparément l'avancement du paiement. La valeurscheduled appartient à cet axe : elle indique qu'un décaissement est planifié, sans faire de la planification une étape du cycle de vie de la facture.

settlement_statusDescription
unpaidAucun règlement n’est encore engagé sur la facture.
scheduledUn paiement fournisseur a été planifié pour cette facture.
partially_paidUne partie du montant a été réglée.
paidLe montant total a été réglé.

Lorsqu'un paiement fournisseur est appliqué au document, le règlement progresse vers partially_paid ou paid selon le montant effectivement imputé.

Litiges

Le booléen disputed constitue un troisième axe indépendant. Ouvrir un litige ne remplace ni status ni settlement_status ; une facture peut par exemple rester approved tout en étant contestée.

HTTP
POST /v1/supplier-invoices/sinv_4a7b/dispute
{}0 items
{}

POST /v1/supplier-invoices/:id/resolve-dispute clôt le litige et remetdisputed à false. La requête précise si le cycle reprend en received ou approved.

Bons de commande

Une facture fournisseur peut être liée à un ou plusieurs bons de commande. Les relations sont consultables via GET /v1/supplier-invoices/:id/purchase-orderset modifiables via POST /v1/supplier-invoices/:id/purchase-order-links.

Les lignes peuvent également référencer une ligne de bon de commande avec purchase_order_line_item_id pour conserver un rapprochement ligne à ligne.

Actions métier

EndpointEffet sur les axes
POST /v1/supplier-invoices/:id/submit-for-approvalstatus : received → pending_approval
POST /v1/supplier-invoices/:id/approvestatus : received/pending_approval → approved
POST /v1/supplier-invoices/:id/schedulesettlement_status → scheduled ; status reste approved
POST /v1/supplier-invoices/:id/disputedisputed → true ; status et settlement_status restent indépendants
POST /v1/supplier-invoices/:id/resolve-disputedisputed → false ; le cycle reprend en received ou approved
POST /v1/supplier-invoices/:id/cancelstatus → cancelled

Événements

ÉvénementDéclencheur
supplier_invoice.receivedUne facture fournisseur vient d’être enregistrée.
supplier_invoice.updatedLa facture ou son cycle métier a été mis à jour.
supplier_invoice.approvedLa facture vient d’être approuvée.
supplier_invoice.partially_paidLe règlement devient partiel.
supplier_invoice.paidLa facture est entièrement réglée.
supplier_invoice.overdueLa facture est échue et reste ouverte.
supplier_invoice.disputedUn litige est ouvert sur la facture.
supplier_invoice.cancelledLa facture est annulée.