Facturen

Facturen

Facturen ophalen, aanmaken en versturen. Scope: invoices.read / invoices.write. Type is vast invoice (geen type-query).

Facturen ophalen

GET /v1/invoices
Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Query
Naam Type Beschrijving
page integer
per_page integer
id string
client_id string
number string
date_from string
date_to string
due_date_from string
due_date_to string
created_from string
created_to string
search string
payment_status string
sort string Sort field.
order string Sort direction.
Request body

Geen

Response
data array
id string
number string
title string
invoice_date string
due_date string
created_at string
subtotal number
vat_rate number
vat_amount number
total_excl_vat number
total_incl_vat number
client_id string
payment_status string

Payment status.

paid_at string Nullable
sent_at string Nullable
project_number string Nullable
is_credit boolean
external_id string Nullable

Your reference, if set.

meta object
page integer
per_page integer
total integer
pages integer

Examples

GET /v1/invoices
curl -X GET "https://api.appficient.nl/v1/invoices" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json"

Curl, Node en response staan rechts naast dit endpoint.

Factuur aanmaken

POST /v1/invoices
Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Headers
Naam Type Beschrijving
Idempotency-Key string Optional. Replay within 24h returns the same response.
Request body
title string Required
client_id string
client_external_id string
invoice_date string
due_date string
external_id string

Your unique reference. Duplicate → `409`.

Example: inv-2026-00123
generation_mode string

`draft` (default) or `final`.

Enum
draft final
Example: draft
generate boolean

Shortcut for `final`.

rows array
name string
title string
quantity number
unit_price number
unit string
vat_rate string
vat_code string
subtotal number
vat_rate number
vat_amount number
total_excl_vat number
total_incl_vat number
number string
payment_status string
Response
data object

Document list item.

id string
number string
title string
invoice_date string
due_date string
created_at string
subtotal number
vat_rate number
vat_amount number
total_excl_vat number
total_incl_vat number
client_id string
payment_status string

Payment status.

paid_at string Nullable
sent_at string Nullable
project_number string Nullable
is_credit boolean
external_id string Nullable

Your reference, if set.

rows array
name string
quantity number
unit string
unit_price number
vat_rate string
total_excl_vat number
total_incl_vat number
client_company_name string
client_firstname string
client_lastname string
web_url string
pdf_url string
meta object
generation_mode string

`draft` (default) or `final`.

Enum
draft final
Example: draft
pdf object
generated boolean
status string
message string Nullable
url string Nullable

Examples

POST /v1/invoices
curl -X POST "https://api.appficient.nl/v1/invoices" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "00000000-0000-0000-0000-000000000001",
    "title": "Draft invoice",
    "generation_mode": "draft"
}'

Curl, Node en response staan rechts naast dit endpoint.

Factuur ophalen

GET /v1/invoices/{id}
Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Path
Naam Type Beschrijving
id Required string
Request body

Geen

Response
data object

Document list item.

id string
number string
title string
invoice_date string
due_date string
created_at string
subtotal number
vat_rate number
vat_amount number
total_excl_vat number
total_incl_vat number
client_id string
payment_status string

Payment status.

paid_at string Nullable
sent_at string Nullable
project_number string Nullable
is_credit boolean
external_id string Nullable

Your reference, if set.

rows array
name string
quantity number
unit string
unit_price number
vat_rate string
total_excl_vat number
total_incl_vat number
client_company_name string
client_firstname string
client_lastname string
web_url string
pdf_url string
meta object

Examples

GET /v1/invoices/{id}
curl -X GET "https://api.appficient.nl/v1/invoices/{id}" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json"

Curl, Node en response staan rechts naast dit endpoint.

Factuur bijwerken

PATCH /v1/invoices/{id}

Send at least one field

Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Path
Naam Type Beschrijving
id Required string
Request body
title string
invoice_date string
due_date string
payment_status string
Response
data object

Document list item.

id string
number string
title string
invoice_date string
due_date string
created_at string
subtotal number
vat_rate number
vat_amount number
total_excl_vat number
total_incl_vat number
client_id string
payment_status string

Payment status.

paid_at string Nullable
sent_at string Nullable
project_number string Nullable
is_credit boolean
external_id string Nullable

Your reference, if set.

rows array
name string
quantity number
unit string
unit_price number
vat_rate string
total_excl_vat number
total_incl_vat number
client_company_name string
client_firstname string
client_lastname string
web_url string
pdf_url string
meta object

Examples

PATCH /v1/invoices/{id}
curl -X PATCH "https://api.appficient.nl/v1/invoices/{id}" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "string",
    "invoice_date": "2026-07-01",
    "due_date": "2026-07-01",
    "payment_status": "string"
}'

Curl, Node en response staan rechts naast dit endpoint.

Factuur verwijderen

DELETE /v1/invoices/{id}

Draft only

Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Path
Naam Type Beschrijving
id Required string
Request body

Geen

Response
data object

Invoice list item.

id string
number string
title string
invoice_date string
due_date string
created_at string
subtotal number
vat_rate number
vat_amount number
total_excl_vat number
total_incl_vat number
client_id string
payment_status string

Payment status string (free text; not a closed enum).

paid_at string Nullable
sent_at string Nullable
project_number string Nullable
is_credit boolean
external_id string Nullable

Your own reference for this document, if set.

rows array
name string
description string
quantity number
unit string
unit_price number
vat_rate string
total_excl_vat number
total_incl_vat number
client_company_name string
client_firstname string
client_lastname string
web_url string
pdf_url string
meta object

Examples

DELETE /v1/invoices/{id}
curl -X DELETE "https://api.appficient.nl/v1/invoices/{id}" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json"

Curl, Node en response staan rechts naast dit endpoint.

Factuur versturen

POST /v1/invoices/{id}/send
Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Path
Naam Type Beschrijving
id Required string
Headers
Naam Type Beschrijving
Idempotency-Key string Optional. Replay within 24h returns the same response.
Request body
to string Required

Comma-separated emails

subject string Required
message string Required
cc string
send_type string

Email template for send. Defaults per endpoint.

Enum
invoice quote credit invoice_rem1 invoice_rem2 invoice_rem3 quote_rem1 quote_rem2 quote_rem3 order_confirmation subscription workorder
Example: invoice
include_pdf boolean
Example: 1
Response
data object
success boolean
recipients array
recipients_list string
meta object

Examples

POST /v1/invoices/{id}/send
curl -X POST "https://api.appficient.nl/v1/invoices/{id}/send" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "string",
    "cc": "string",
    "subject": "string",
    "message": "string",
    "send_type": "invoice",
    "include_pdf": true
}'

Curl, Node en response staan rechts naast dit endpoint.

Factuur crediteren

POST /v1/invoices/{id}/credit

Defaults to full credit

Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Path
Naam Type Beschrijving
id Required string
Request body
credit_all boolean
Example: 1
row_indexes array

When `credit_all` is false.

Response
data object

Document list item.

id string
number string
title string
invoice_date string
due_date string
created_at string
subtotal number
vat_rate number
vat_amount number
total_excl_vat number
total_incl_vat number
client_id string
payment_status string

Payment status.

paid_at string Nullable
sent_at string Nullable
project_number string Nullable
is_credit boolean
external_id string Nullable

Your reference, if set.

rows array
name string
quantity number
unit string
unit_price number
vat_rate string
total_excl_vat number
total_incl_vat number
client_company_name string
client_firstname string
client_lastname string
web_url string
pdf_url string
meta object

Examples

POST /v1/invoices/{id}/credit
curl -X POST "https://api.appficient.nl/v1/invoices/{id}/credit" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "credit_all": true,
    "row_indexes": [
        0
    ]
}'

Curl, Node en response staan rechts naast dit endpoint.

Factuur-PDF downloaden

GET /v1/invoices/{id}/pdf
Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Path
Naam Type Beschrijving
id Required string
Request body

Geen

Response
data object
id string
pdf_url string
meta object

Examples

GET /v1/invoices/{id}/pdf
curl -X GET "https://api.appficient.nl/v1/invoices/{id}/pdf" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json"

Curl, Node en response staan rechts naast dit endpoint.

Betalingen ophalen

GET /v1/invoices/{id}/payments
Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Path
Naam Type Beschrijving
id Required string
Query
Naam Type Beschrijving
external_id string
status string Payment status.
type string Typically manual|online
Request body

Geen

Response
data array
id string
amount number
date string
status string

Payment status.

Enum
open pending paid failed canceled expired authorized created chargeback refunded
type string

`manual` or `online`.

Enum
manual online
Example: manual
method string

Payment method.

Enum
ideal paypal klarna bancontact in3 creditcard banktransfer
external_id string
provider string
meta object

Examples

GET /v1/invoices/{id}/payments
curl -X GET "https://api.appficient.nl/v1/invoices/{id}/payments" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json"

Curl, Node en response staan rechts naast dit endpoint.

Betaling registreren

POST /v1/invoices/{id}/payments

`type` defaults to `manual`

Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Path
Naam Type Beschrijving
id Required string
Headers
Naam Type Beschrijving
Idempotency-Key string Optional. Replay within 24h returns the same response.
Request body
type string

`manual` or `online`.

Enum
manual online
Example: manual
amount number
date string
external_id string
provider string
status string
method string
payment_data object
feedback_data object
Response
data object
invoice object
id string
paid_amount number
price number
payment object
id string
amount number
date string
status string

Payment status.

Enum
open pending paid failed canceled expired authorized created chargeback refunded
type string

`manual` or `online`.

Enum
manual online
Example: manual
method string

Payment method.

Enum
ideal paypal klarna bancontact in3 creditcard banktransfer
external_id string
provider string
meta object

Examples

POST /v1/invoices/{id}/payments
curl -X POST "https://api.appficient.nl/v1/invoices/{id}/payments" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "manual",
    "amount": 0,
    "date": "2026-07-01",
    "external_id": "string",
    "provider": "string",
    "status": "string",
    "method": "string",
    "payment_data": [],
    "feedback_data": []
}'

Curl, Node en response staan rechts naast dit endpoint.

Betaling bijwerken

PATCH /v1/invoices/{id}/payments/{payment_id}

Send at least one field

Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Path
Naam Type Beschrijving
id Required string
payment_id Required string
Request body
amount number
date string
status string
method string
external_id string
provider string
payment_data object
Response
data object
invoice object
id string
paid_amount number
price number
payment object
id string
amount number
date string
status string

Payment status.

Enum
open pending paid failed canceled expired authorized created chargeback refunded
type string

`manual` or `online`.

Enum
manual online
Example: manual
method string

Payment method.

Enum
ideal paypal klarna bancontact in3 creditcard banktransfer
external_id string
provider string
meta object

Examples

PATCH /v1/invoices/{id}/payments/{payment_id}
curl -X PATCH "https://api.appficient.nl/v1/invoices/{id}/payments/{payment_id}" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 0,
    "date": "2026-07-01",
    "status": "string",
    "method": "string",
    "external_id": "string",
    "provider": "string",
    "payment_data": []
}'

Curl, Node en response staan rechts naast dit endpoint.

Betaling verwijderen

DELETE /v1/invoices/{id}/payments/{payment_id}
Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Path
Naam Type Beschrijving
id Required string
payment_id Required string
Request body

Geen

Response

Geen

Examples

DELETE /v1/invoices/{id}/payments/{payment_id}
curl -X DELETE "https://api.appficient.nl/v1/invoices/{id}/payments/{payment_id}" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json"

Curl, Node en response staan rechts naast dit endpoint.

Betaaltermijnen ophalen

GET /v1/payment-terms
Authorization: HTTP
name: httpBearer
type: http
scheme: bearer
Request body

Geen

Response
data array
code string
days integer
label string
meta object

Examples

GET /v1/payment-terms
curl -X GET "https://api.appficient.nl/v1/payment-terms" \
  -H "Authorization: Bearer apf_xxxxxxxx" \
  -H "Accept: application/json"

Curl, Node en response staan rechts naast dit endpoint.