curl --request GET \
--url https://thirdparty.qonto.com/v2/supplier_invoices \
--header 'Authorization: Bearer <token>'import requests
url = "https://thirdparty.qonto.com/v2/supplier_invoices"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://thirdparty.qonto.com/v2/supplier_invoices', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://thirdparty.qonto.com/v2/supplier_invoices",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://thirdparty.qonto.com/v2/supplier_invoices"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://thirdparty.qonto.com/v2/supplier_invoices")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://thirdparty.qonto.com/v2/supplier_invoices")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"supplier_invoices": [
{
"id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48",
"is_einvoice": false,
"has_discrepancies": false,
"organization_id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48",
"file_name": "my-invoice.pdf",
"status": "to_review",
"source_type": "email",
"created_at": "2022-03-04T17:58:30+02:00",
"updated_at": "2022-03-04T17:58:30+02:00",
"attachment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"display_attachment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"declined_note": "",
"e_invoice_type": "zugferd",
"has_duplicates": false,
"supplier_id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48",
"self_invoice_id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48",
"issuer_name": "McDonald's",
"invoice_number": "QONTO-JAN-2022",
"supplier_name": "McDonald's",
"vat_number": "IT12345678901",
"tin_number": "1234567890",
"description": "This is an invoice for Ronald!",
"total_amount": {
"value": "22.10",
"currency": "EUR"
},
"total_amount_excluding_taxes": {
"value": "18.42",
"currency": "EUR"
},
"total_tax_amount": {
"value": "3.68",
"currency": "EUR"
},
"taxes": [
{
"tax_amount": {
"value": "3.68",
"currency": "EUR"
},
"tax_rate": "20"
}
],
"issue_date": "2022-03-01",
"due_date": "2022-03-01",
"payment_date": "2022-03-01",
"scheduled_date": "2022-03-01",
"iban": "FR1420041010050500013M02606",
"initiator_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source": "email_forward",
"is_attachment_invoice": true,
"attachment_category": "INVOICE",
"is_attachment_non_financial": true,
"analyzed_at": "2022-03-04T17:58:30+02:00",
"matched_transactions_ids": [
"4d5418bb-bd0d-4df4-865c-c07afab8bb48"
],
"matched_transactions": [
{
"subject_id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48",
"subject_type": "transfer",
"transaction_id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48"
}
],
"transfer_ids": [
"4d5418bb-bd0d-4df4-865c-c07afab8bb48"
],
"request_transfer": {
"id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48",
"initiator_id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48"
},
"einvoicing_lifecycle_events": [
{
"status_code": 200,
"reason": "DOUBLE FACTURE",
"reason_message": "I already received this invoice",
"timestamp": "2024-12-04T11:05:16.4497Z"
}
],
"meta": {
"integration_type": "amazon",
"connector": "grover",
"accounting_recorded_at": "2023-11-07T05:31:56Z",
"accounting_recorded_source": "regate"
},
"supplier_snapshot": {
"id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48",
"name": "McDonald's",
"iban": "FR1420041010050500013M02606",
"tin": "1234567890",
"vat_number": "IT12345678901",
"email": "billing@example.com",
"currency": "EUR",
"status": "active"
},
"available_actions": {
"delete": true,
"archive": true,
"unarchive": true,
"pay": true,
"reasons": {
"pay": [
"is_credit_note"
],
"delete": [
"invalid_status"
],
"archive": [
"invalid_status"
],
"unarchive": [
"invalid_status"
]
}
},
"approval_workflow": {
"approver_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"supplier_invoice_request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"verified_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"last_approved_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"payable_amount": {
"value": "22.10",
"currency": "EUR"
},
"total_amount_credit_notes": {
"value": "22.10",
"currency": "EUR"
},
"is_credit_note": false,
"has_suggested_credit_notes": false,
"related_invoices": [
{
"id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48",
"invoice_number": "QONTO-JAN-2022",
"total_amount": {
"value": "22.10",
"currency": "EUR"
},
"attachment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"file_name": "my-invoice.pdf"
}
],
"suggested_transactions": [
{
"id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48",
"score": "0.8"
}
],
"buyer": {
"name": "Qonto SAS",
"tin": "552100554",
"vat_number": "FR89552100554",
"address": {
"street_address": "12 rue de Rivoli",
"zip_code": "75001",
"city": "Paris",
"province_code": "IDF",
"country_code": "FR"
}
},
"seller": {
"name": "ACME SAS",
"tin": "123456789",
"vat_number": "FR12345678901",
"address": {
"street_address": "12 rue de Rivoli",
"zip_code": "75001",
"city": "Paris",
"province_code": "IDF",
"country_code": "FR"
}
},
"payment_means": [
{
"type": "transfer",
"payee_name": "ACME SAS",
"code": "30"
}
]
}
],
"meta": {
"current_page": 2,
"next_page": 3,
"prev_page": 1,
"total_pages": 11,
"total_count": 210,
"per_page": 20
}
}List supplier invoices
OAuth scope: supplier_invoice.read
Retrieves all supplier invoices and documents requiring review for the authenticated organization.
The response includes documents from both customer-facing areas:
- Supplier Invoices: documents identified as supplier invoices.
- Document Review: documents that require customer review because it is not immediately clear whether they are supplier invoices. These documents can be in the To Review or Resolved tab.
A document can move from Document Review to Supplier Invoices after it is resolved. Some documents may also be moved automatically when they are identified through a transaction attachment.
You can filter (for example, to retrieve only the latest supplier invoices) and sort this list by using query parameters 👇
curl --request GET \
--url https://thirdparty.qonto.com/v2/supplier_invoices \
--header 'Authorization: Bearer <token>'import requests
url = "https://thirdparty.qonto.com/v2/supplier_invoices"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://thirdparty.qonto.com/v2/supplier_invoices', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://thirdparty.qonto.com/v2/supplier_invoices",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://thirdparty.qonto.com/v2/supplier_invoices"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://thirdparty.qonto.com/v2/supplier_invoices")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://thirdparty.qonto.com/v2/supplier_invoices")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"supplier_invoices": [
{
"id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48",
"is_einvoice": false,
"has_discrepancies": false,
"organization_id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48",
"file_name": "my-invoice.pdf",
"status": "to_review",
"source_type": "email",
"created_at": "2022-03-04T17:58:30+02:00",
"updated_at": "2022-03-04T17:58:30+02:00",
"attachment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"display_attachment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"declined_note": "",
"e_invoice_type": "zugferd",
"has_duplicates": false,
"supplier_id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48",
"self_invoice_id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48",
"issuer_name": "McDonald's",
"invoice_number": "QONTO-JAN-2022",
"supplier_name": "McDonald's",
"vat_number": "IT12345678901",
"tin_number": "1234567890",
"description": "This is an invoice for Ronald!",
"total_amount": {
"value": "22.10",
"currency": "EUR"
},
"total_amount_excluding_taxes": {
"value": "18.42",
"currency": "EUR"
},
"total_tax_amount": {
"value": "3.68",
"currency": "EUR"
},
"taxes": [
{
"tax_amount": {
"value": "3.68",
"currency": "EUR"
},
"tax_rate": "20"
}
],
"issue_date": "2022-03-01",
"due_date": "2022-03-01",
"payment_date": "2022-03-01",
"scheduled_date": "2022-03-01",
"iban": "FR1420041010050500013M02606",
"initiator_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source": "email_forward",
"is_attachment_invoice": true,
"attachment_category": "INVOICE",
"is_attachment_non_financial": true,
"analyzed_at": "2022-03-04T17:58:30+02:00",
"matched_transactions_ids": [
"4d5418bb-bd0d-4df4-865c-c07afab8bb48"
],
"matched_transactions": [
{
"subject_id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48",
"subject_type": "transfer",
"transaction_id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48"
}
],
"transfer_ids": [
"4d5418bb-bd0d-4df4-865c-c07afab8bb48"
],
"request_transfer": {
"id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48",
"initiator_id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48"
},
"einvoicing_lifecycle_events": [
{
"status_code": 200,
"reason": "DOUBLE FACTURE",
"reason_message": "I already received this invoice",
"timestamp": "2024-12-04T11:05:16.4497Z"
}
],
"meta": {
"integration_type": "amazon",
"connector": "grover",
"accounting_recorded_at": "2023-11-07T05:31:56Z",
"accounting_recorded_source": "regate"
},
"supplier_snapshot": {
"id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48",
"name": "McDonald's",
"iban": "FR1420041010050500013M02606",
"tin": "1234567890",
"vat_number": "IT12345678901",
"email": "billing@example.com",
"currency": "EUR",
"status": "active"
},
"available_actions": {
"delete": true,
"archive": true,
"unarchive": true,
"pay": true,
"reasons": {
"pay": [
"is_credit_note"
],
"delete": [
"invalid_status"
],
"archive": [
"invalid_status"
],
"unarchive": [
"invalid_status"
]
}
},
"approval_workflow": {
"approver_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"supplier_invoice_request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"verified_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"last_approved_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"payable_amount": {
"value": "22.10",
"currency": "EUR"
},
"total_amount_credit_notes": {
"value": "22.10",
"currency": "EUR"
},
"is_credit_note": false,
"has_suggested_credit_notes": false,
"related_invoices": [
{
"id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48",
"invoice_number": "QONTO-JAN-2022",
"total_amount": {
"value": "22.10",
"currency": "EUR"
},
"attachment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"file_name": "my-invoice.pdf"
}
],
"suggested_transactions": [
{
"id": "4d5418bb-bd0d-4df4-865c-c07afab8bb48",
"score": "0.8"
}
],
"buyer": {
"name": "Qonto SAS",
"tin": "552100554",
"vat_number": "FR89552100554",
"address": {
"street_address": "12 rue de Rivoli",
"zip_code": "75001",
"city": "Paris",
"province_code": "IDF",
"country_code": "FR"
}
},
"seller": {
"name": "ACME SAS",
"tin": "123456789",
"vat_number": "FR12345678901",
"address": {
"street_address": "12 rue de Rivoli",
"zip_code": "75001",
"city": "Paris",
"province_code": "IDF",
"country_code": "FR"
}
},
"payment_means": [
{
"type": "transfer",
"payee_name": "ACME SAS",
"code": "30"
}
]
}
],
"meta": {
"current_page": 2,
"next_page": 3,
"prev_page": 1,
"total_pages": 11,
"total_count": 210,
"per_page": 20
}
}Authorizations
Bearer authorization header: Bearer <token>, where <token> is the access token received from the authorization server at the end of the OAuth 2.0 flow.
Headers
Required only for Sandbox API requests; to get one, please sign up to the Developer Portal.
Query Parameters
statuses to filter on. if provided multiple times, they will be parsed as an array Initial status for invoices.
"to_review""to_review"
Due date filters for invoices. If provided multiple times, they will be parsed as an array
past_and_today, future, missing_date "due"
attachment ID filters for invoices. If provided multiple times, they will be parsed as an array
"4d5418bb-bd0d-4df4-865c-c07afab8bb48"
attachment ID array filters for invoices.
"4d5418bb-bd0d-4df4-865c-c07afab8bb48"
RFC3339 format (e.g 2022-01-21T12:01:02Z)
"2025-07-23T13:35:36Z"
RFC3339 format (e.g 2022-01-21T12:01:02Z)
"2026-07-23T13:35:36Z"
RFC3339 format (e.g 2022-01-21T12:01:02Z)
"2025-07-23T13:35:36Z"
RFC3339 format (e.g 2022-01-21T12:01:02Z)
"2026-07-23T13:35:36Z"
Filter payment dates by "friendly" values.
today, yesterday, this_week, past_week, this_month, past_month "yesterday"
Filter issue dates by "friendly" values.
today, yesterday, this_week, past_week, this_month, past_month "yesterday"
Filter supplier invoices with missing data
false
Filter invoices with matched transactions
false
Filter documents by their document-review status. true returns documents in Document Review's Resolved tab, and false returns documents in Document Review's To Review tab. If provided multiple times, values are parsed as an array. Omitting this filter returns documents from both Document Review and Supplier Invoices.
true
Filter invoices by document type. If provided multiple times, they will be parsed as an array
duplicates, non_financial_documents "duplicates"
Document type array filters for invoices.
duplicates, non_financial_documents "duplicates"
Approval workflow approver ID array filters for invoices.
Exclude credit notes from the result
false
Filter invoices by payable amount with operators lte/gte and currency with format payable_amount[lte]=lte:100.00:EUR
"filter[payable_amount]=lte:100.00:EUR"
Supplier invoice ID array filters. If provided multiple times, they will be parsed as an array.
"4d5418bb-bd0d-4df4-865c-c07afab8bb48"
Supplier ID array filters. If provided multiple times, they will be parsed as an array.
"4d5418bb-bd0d-4df4-865c-c07afab8bb48"
Source array filters. If provided multiple times, they will be parsed as an array.
email_forward, e_invoicing, supplier_invoices, pay_by_invoice, integration, regate, attachments_hub, generic_upload, pay_later "email_forward"
Attachment category array filters. If provided multiple times, they will be parsed as an array.
INVOICE, EXPENSE_RECEIPT, CARD_RECEIPT, CREDIT_CARD_RECEIPT, CREDIT_NOTE, OTHER_FINANCIAL_DOCUMENT, OTHER_NON_FINANCIAL_DOCUMENT "INVOICE"
Full-text search query. To be associated with the query_fields param.
"Qonto"
Fields to search in. To be associated with the query param.
"supplier_name,amount,file_name,invoice_number"
1
25
"name:desc"
Was this page helpful?