Overzicht
Pakketfeature invoices. Een nieuwe factuur is altijd een concept en krijgt het volgende factuurnummer volgens de nummering van de organisatie. Alleen concepten kun je wijzigen of verwijderen.
| Status | Betekenis |
|---|---|
draft | Concept; wijzigbaar en verwijderbaar |
sent | Verzonden (per e-mail of gemarkeerd als verzonden) |
overdue | Vervallen. Filter status=overdue geeft ook verzonden facturen met een verstreken vervaldatum; is_overdue zegt het per factuur |
paid | Volledig betaald |
cancelled | Geannuleerd, eventueel met creditnota |
Bedragen in het antwoord: subtotal (excl. btw), tax_amount, total_amount, paid_amount en outstanding_amount, allemaal in centen. public_pay_url is gevuld als online betalen aan staat en er een betaallink is.
Factuurvelden
| Veld | Type | Regels |
|---|---|---|
customer_id | uuid | Verplicht; klant van dezelfde organisatie |
invoice_date | date | Verplicht |
due_date | date | Optioneel, op of na invoice_date. Standaard: factuurdatum + betalingstermijn |
notes | string | Max. 1000 tekens |
lines | array | Minimaal één regel. Bij PATCH vervangt deze lijst alle regels. |
lines[].id | uuid | Alleen bij PATCH: bestaande regel behouden en bijwerken |
lines[].description | string | Max. 5000 tekens; meerdere regels toegestaan |
lines[].quantity | number | Minimaal 0.01 |
lines[].unit_price | integer | Prijs per eenheid in centen exclusief btw, minimaal 0 |
lines[].tax_rate | number | Btw-percentage, 0–100 |
Endpoints
- GET
/invoices - GET
/invoices/{id} - POST
/invoices - PATCH
/invoices/{id} - DELETE
/invoices/{id} - POST
/invoices/{id}/send - POST
/invoices/{id}/reminder - POST
/invoices/{id}/resend - POST
/invoices/{id}/mark-as-sent - POST
/invoices/{id}/mark-paid - POST
/invoices/{id}/mark-unpaid - POST
/invoices/{id}/register-payment - POST
/invoices/{id}/payment-link - POST
/invoices/{id}/cancel - GET
/invoices/{id}/pdf
/invoicesFacturen opvragen
Gepagineerde lijst zonder regels; standaard nieuwste factuurdatum eerst.
- Pakketfeature
- invoices
- Recht (app-login)
- invoices.view
Queryparameters
statusstringdraft,sent,overdue,paidofcancelledcustomer_iduuidAlleen facturen van deze klant
searchstringZoekt in factuurnummer en klantnaam (max. 100 tekens)
sortstringinvoice_date,due_date,invoice_number,total_amount,statusofcreated_at;-ervoor voor aflopendper_pageinteger1–100, standaard 50
curl "https://factora.one/api/v1/invoices?status=sent&sort=due_date" \
-H "Authorization: Bearer $FACTORA_API_KEY" \
-H "Accept: application/json"200 Voorbeeldantwoord
{
"data": {
"current_page": 1,
"data": [
{
"id": "9d3c7a2c-3b9f-4e20-9c73-4f80ad9e6b32",
"invoice_number": "2026-0142",
"customer_id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"customer": {
"id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"name": "Jansen Bouw",
"email": "info@jansenbouw.nl"
},
"invoice_date": "2026-11-12",
"due_date": "2026-11-26",
"status": "sent",
"is_overdue": false,
"invoice_type": "regular",
"is_credit_note": false,
"credited_invoice_id": null,
"credit_note_id": null,
"currency": "EUR",
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150,
"paid_amount": 0,
"outstanding_amount": 18150,
"notes": "Bedankt voor de opdracht.",
"labels": [],
"sent_at": "2026-11-12T10:02:00+01:00",
"paid_at": null,
"cancelled_at": null,
"cancellation_reason": null,
"public_pay_url": null,
"created_at": "2026-11-12T09:20:11+01:00",
"updated_at": "2026-11-12T09:20:11+01:00"
}
],
"first_page_url": "https://factora.one/api/v1/invoices?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "https://factora.one/api/v1/invoices?page=1",
"next_page_url": null,
"path": "https://factora.one/api/v1/invoices",
"per_page": 50,
"prev_page_url": null,
"to": 1,
"total": 1
}
}/invoices/{id}Factuur tonen
Factuur met alle regels.
- Pakketfeature
- invoices
- Recht (app-login)
- invoices.view
curl "https://factora.one/api/v1/invoices/<id>" \
-H "Authorization: Bearer $FACTORA_API_KEY" \
-H "Accept: application/json"200 Voorbeeldantwoord
{
"data": {
"id": "9d3c7a2c-3b9f-4e20-9c73-4f80ad9e6b32",
"invoice_number": "2026-0142",
"customer_id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"customer": {
"id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"name": "Jansen Bouw",
"email": "info@jansenbouw.nl"
},
"invoice_date": "2026-11-12",
"due_date": "2026-11-26",
"status": "draft",
"is_overdue": false,
"invoice_type": "regular",
"is_credit_note": false,
"credited_invoice_id": null,
"credit_note_id": null,
"currency": "EUR",
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150,
"paid_amount": 0,
"outstanding_amount": 18150,
"notes": "Bedankt voor de opdracht.",
"labels": [],
"sent_at": null,
"paid_at": null,
"cancelled_at": null,
"cancellation_reason": null,
"public_pay_url": null,
"created_at": "2026-11-12T09:20:11+01:00",
"updated_at": "2026-11-12T09:20:11+01:00",
"lines": [
{
"id": "9d3cbe60-7fd3-4264-d0b7-83c4e132af76",
"description": "Website onderhoud",
"quantity": 2,
"unit_price": 7500,
"tax_rate": 21,
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150
}
]
}
}/invoicesConceptfactuur aanmaken
Maakt een concept met regels. Factora berekent alle bedragen en kiest het factuurnummer.
- Pakketfeature
- invoices
- Recht (app-login)
- invoices.manage
Mogelijke fouten
422Validatiefout of factuurlimiet van het pakket bereikt
curl -X POST "https://factora.one/api/v1/invoices" \
-H "Authorization: Bearer $FACTORA_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"customer_id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"invoice_date": "2026-11-12",
"due_date": "2026-11-26",
"notes": "Bedankt voor de opdracht.",
"lines": [
{
"description": "Website onderhoud",
"quantity": 2,
"unit_price": 7500,
"tax_rate": 21
}
]
}'201 Voorbeeldantwoord
{
"data": {
"id": "9d3c7a2c-3b9f-4e20-9c73-4f80ad9e6b32",
"invoice_number": "2026-0142",
"customer_id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"customer": {
"id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"name": "Jansen Bouw",
"email": "info@jansenbouw.nl"
},
"invoice_date": "2026-11-12",
"due_date": "2026-11-26",
"status": "draft",
"is_overdue": false,
"invoice_type": "regular",
"is_credit_note": false,
"credited_invoice_id": null,
"credit_note_id": null,
"currency": "EUR",
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150,
"paid_amount": 0,
"outstanding_amount": 18150,
"notes": "Bedankt voor de opdracht.",
"labels": [],
"sent_at": null,
"paid_at": null,
"cancelled_at": null,
"cancellation_reason": null,
"public_pay_url": null,
"created_at": "2026-11-12T09:20:11+01:00",
"updated_at": "2026-11-12T09:20:11+01:00",
"lines": [
{
"id": "9d3cbe60-7fd3-4264-d0b7-83c4e132af76",
"description": "Website onderhoud",
"quantity": 2,
"unit_price": 7500,
"tax_rate": 21,
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150
}
]
}
}/invoices/{id}Conceptfactuur bijwerken
Alleen concepten. Wijzig je invoice_date zonder due_date, dan rekent Factora de vervaldatum opnieuw uit. lines vervangt alle regels.
- Pakketfeature
- invoices
- Recht (app-login)
- invoices.manage
Mogelijke fouten
422Alleen conceptfacturen kunnen bewerkt worden.
curl -X PATCH "https://factora.one/api/v1/invoices/<id>" \
-H "Authorization: Bearer $FACTORA_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"lines": [
{
"id": "9d3cbe60-7fd3-4264-d0b7-83c4e132af76",
"description": "Website onderhoud",
"quantity": 3,
"unit_price": 7500,
"tax_rate": 21
}
]
}'200 Voorbeeldantwoord
{
"data": {
"id": "9d3c7a2c-3b9f-4e20-9c73-4f80ad9e6b32",
"invoice_number": "2026-0142",
"customer_id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"customer": {
"id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"name": "Jansen Bouw",
"email": "info@jansenbouw.nl"
},
"invoice_date": "2026-11-12",
"due_date": "2026-11-26",
"status": "draft",
"is_overdue": false,
"invoice_type": "regular",
"is_credit_note": false,
"credited_invoice_id": null,
"credit_note_id": null,
"currency": "EUR",
"subtotal": 22500,
"tax_amount": 4725,
"total_amount": 27225,
"paid_amount": 0,
"outstanding_amount": 27225,
"notes": "Bedankt voor de opdracht.",
"labels": [],
"sent_at": null,
"paid_at": null,
"cancelled_at": null,
"cancellation_reason": null,
"public_pay_url": null,
"created_at": "2026-11-12T09:20:11+01:00",
"updated_at": "2026-11-12T09:20:11+01:00",
"lines": [
{
"id": "9d3cbe60-7fd3-4264-d0b7-83c4e132af76",
"description": "Website onderhoud",
"quantity": 2,
"unit_price": 7500,
"tax_rate": 21,
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150
}
]
}
}/invoices/{id}Conceptfactuur verwijderen
Alleen concepten.
- Pakketfeature
- invoices
- Recht (app-login)
- invoices.manage
Mogelijke fouten
422Alleen conceptfacturen kunnen verwijderd worden.
curl -X DELETE "https://factora.one/api/v1/invoices/<id>" \
-H "Authorization: Bearer $FACTORA_API_KEY" \
-H "Accept: application/json"200 Voorbeeldantwoord
{
"message": "Factuur verwijderd."
}/invoices/{id}/sendFactuur versturen per e-mail
Verstuurt de factuur naar de klant en zet de status op sent.
- Pakketfeature
- invoices + automatic_emails
- Recht (app-login)
- invoices.send
Mogelijke fouten
422Factuur kan in deze status of zonder e-mailadres van de klant niet verstuurd worden
curl -X POST "https://factora.one/api/v1/invoices/<id>/send" \
-H "Authorization: Bearer $FACTORA_API_KEY" \
-H "Accept: application/json"200 Voorbeeldantwoord
{
"data": {
"id": "9d3c7a2c-3b9f-4e20-9c73-4f80ad9e6b32",
"invoice_number": "2026-0142",
"customer_id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"customer": {
"id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"name": "Jansen Bouw",
"email": "info@jansenbouw.nl"
},
"invoice_date": "2026-11-12",
"due_date": "2026-11-26",
"status": "sent",
"is_overdue": false,
"invoice_type": "regular",
"is_credit_note": false,
"credited_invoice_id": null,
"credit_note_id": null,
"currency": "EUR",
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150,
"paid_amount": 0,
"outstanding_amount": 18150,
"notes": "Bedankt voor de opdracht.",
"labels": [],
"sent_at": "2026-11-12T10:02:00+01:00",
"paid_at": null,
"cancelled_at": null,
"cancellation_reason": null,
"public_pay_url": null,
"created_at": "2026-11-12T09:20:11+01:00",
"updated_at": "2026-11-12T09:20:11+01:00",
"lines": [
{
"id": "9d3cbe60-7fd3-4264-d0b7-83c4e132af76",
"description": "Website onderhoud",
"quantity": 2,
"unit_price": 7500,
"tax_rate": 21,
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150
}
]
}
}/invoices/{id}/reminderBetalingsherinnering versturen
Stuurt de klant een betalingsherinnering voor een openstaande factuur.
- Pakketfeature
- invoices + automatic_emails
- Recht (app-login)
- invoices.send
curl -X POST "https://factora.one/api/v1/invoices/<id>/reminder" \
-H "Authorization: Bearer $FACTORA_API_KEY" \
-H "Accept: application/json"200 Voorbeeldantwoord
{
"data": {
"id": "9d3c7a2c-3b9f-4e20-9c73-4f80ad9e6b32",
"invoice_number": "2026-0142",
"customer_id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"customer": {
"id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"name": "Jansen Bouw",
"email": "info@jansenbouw.nl"
},
"invoice_date": "2026-11-12",
"due_date": "2026-11-26",
"status": "sent",
"is_overdue": false,
"invoice_type": "regular",
"is_credit_note": false,
"credited_invoice_id": null,
"credit_note_id": null,
"currency": "EUR",
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150,
"paid_amount": 0,
"outstanding_amount": 18150,
"notes": "Bedankt voor de opdracht.",
"labels": [],
"sent_at": "2026-11-12T10:02:00+01:00",
"paid_at": null,
"cancelled_at": null,
"cancellation_reason": null,
"public_pay_url": null,
"created_at": "2026-11-12T09:20:11+01:00",
"updated_at": "2026-11-12T09:20:11+01:00",
"lines": [
{
"id": "9d3cbe60-7fd3-4264-d0b7-83c4e132af76",
"description": "Website onderhoud",
"quantity": 2,
"unit_price": 7500,
"tax_rate": 21,
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150
}
]
}
}/invoices/{id}/resendFactuur opnieuw versturen
Verstuurt een al verzonden factuur nog een keer.
- Pakketfeature
- invoices + automatic_emails
- Recht (app-login)
- invoices.send
curl -X POST "https://factora.one/api/v1/invoices/<id>/resend" \
-H "Authorization: Bearer $FACTORA_API_KEY" \
-H "Accept: application/json"200 Voorbeeldantwoord
{
"data": {
"id": "9d3c7a2c-3b9f-4e20-9c73-4f80ad9e6b32",
"invoice_number": "2026-0142",
"customer_id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"customer": {
"id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"name": "Jansen Bouw",
"email": "info@jansenbouw.nl"
},
"invoice_date": "2026-11-12",
"due_date": "2026-11-26",
"status": "sent",
"is_overdue": false,
"invoice_type": "regular",
"is_credit_note": false,
"credited_invoice_id": null,
"credit_note_id": null,
"currency": "EUR",
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150,
"paid_amount": 0,
"outstanding_amount": 18150,
"notes": "Bedankt voor de opdracht.",
"labels": [],
"sent_at": "2026-11-12T10:02:00+01:00",
"paid_at": null,
"cancelled_at": null,
"cancellation_reason": null,
"public_pay_url": null,
"created_at": "2026-11-12T09:20:11+01:00",
"updated_at": "2026-11-12T09:20:11+01:00",
"lines": [
{
"id": "9d3cbe60-7fd3-4264-d0b7-83c4e132af76",
"description": "Website onderhoud",
"quantity": 2,
"unit_price": 7500,
"tax_rate": 21,
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150
}
]
}
}/invoices/{id}/mark-as-sentMarkeren als verzonden
Zet een concept op sent zonder e-mail, bijvoorbeeld als je de factuur zelf verstuurt.
- Pakketfeature
- invoices
- Recht (app-login)
- invoices.manage
curl -X POST "https://factora.one/api/v1/invoices/<id>/mark-as-sent" \
-H "Authorization: Bearer $FACTORA_API_KEY" \
-H "Accept: application/json"200 Voorbeeldantwoord
{
"data": {
"id": "9d3c7a2c-3b9f-4e20-9c73-4f80ad9e6b32",
"invoice_number": "2026-0142",
"customer_id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"customer": {
"id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"name": "Jansen Bouw",
"email": "info@jansenbouw.nl"
},
"invoice_date": "2026-11-12",
"due_date": "2026-11-26",
"status": "sent",
"is_overdue": false,
"invoice_type": "regular",
"is_credit_note": false,
"credited_invoice_id": null,
"credit_note_id": null,
"currency": "EUR",
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150,
"paid_amount": 0,
"outstanding_amount": 18150,
"notes": "Bedankt voor de opdracht.",
"labels": [],
"sent_at": "2026-11-12T10:02:00+01:00",
"paid_at": null,
"cancelled_at": null,
"cancellation_reason": null,
"public_pay_url": null,
"created_at": "2026-11-12T09:20:11+01:00",
"updated_at": "2026-11-12T09:20:11+01:00",
"lines": [
{
"id": "9d3cbe60-7fd3-4264-d0b7-83c4e132af76",
"description": "Website onderhoud",
"quantity": 2,
"unit_price": 7500,
"tax_rate": 21,
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150
}
]
}
}/invoices/{id}/mark-paidMarkeren als betaald
Markeert de factuur als volledig betaald.
- Pakketfeature
- invoices
- Recht (app-login)
- invoices.manage
Mogelijke fouten
422Status staat dit niet toe
curl -X POST "https://factora.one/api/v1/invoices/<id>/mark-paid" \
-H "Authorization: Bearer $FACTORA_API_KEY" \
-H "Accept: application/json"200 Voorbeeldantwoord
{
"data": {
"id": "9d3c7a2c-3b9f-4e20-9c73-4f80ad9e6b32",
"invoice_number": "2026-0142",
"customer_id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"customer": {
"id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"name": "Jansen Bouw",
"email": "info@jansenbouw.nl"
},
"invoice_date": "2026-11-12",
"due_date": "2026-11-26",
"status": "paid",
"is_overdue": false,
"invoice_type": "regular",
"is_credit_note": false,
"credited_invoice_id": null,
"credit_note_id": null,
"currency": "EUR",
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150,
"paid_amount": 18150,
"outstanding_amount": 0,
"notes": "Bedankt voor de opdracht.",
"labels": [],
"sent_at": null,
"paid_at": "2026-11-12T14:00:00+01:00",
"cancelled_at": null,
"cancellation_reason": null,
"public_pay_url": null,
"created_at": "2026-11-12T09:20:11+01:00",
"updated_at": "2026-11-12T09:20:11+01:00"
}
}/invoices/{id}/mark-unpaidBetaald terugzetten
Zet een betaalde factuur terug naar sent.
- Pakketfeature
- invoices
- Recht (app-login)
- invoices.manage
Mogelijke fouten
422Alleen betaalde facturen kunnen teruggezet worden.
curl -X POST "https://factora.one/api/v1/invoices/<id>/mark-unpaid" \
-H "Authorization: Bearer $FACTORA_API_KEY" \
-H "Accept: application/json"200 Voorbeeldantwoord
{
"data": {
"id": "9d3c7a2c-3b9f-4e20-9c73-4f80ad9e6b32",
"invoice_number": "2026-0142",
"customer_id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"customer": {
"id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"name": "Jansen Bouw",
"email": "info@jansenbouw.nl"
},
"invoice_date": "2026-11-12",
"due_date": "2026-11-26",
"status": "sent",
"is_overdue": false,
"invoice_type": "regular",
"is_credit_note": false,
"credited_invoice_id": null,
"credit_note_id": null,
"currency": "EUR",
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150,
"paid_amount": 0,
"outstanding_amount": 18150,
"notes": "Bedankt voor de opdracht.",
"labels": [],
"sent_at": "2026-11-12T10:02:00+01:00",
"paid_at": null,
"cancelled_at": null,
"cancellation_reason": null,
"public_pay_url": null,
"created_at": "2026-11-12T09:20:11+01:00",
"updated_at": "2026-11-12T09:20:11+01:00"
}
}/invoices/{id}/register-payment(Deel)betaling registreren
Registreert een ontvangen betaling. Zonder amount_cents geldt het openstaande bedrag. Pas als alles binnen is, wordt de factuur paid.
- Pakketfeature
- invoices
- Recht (app-login)
- invoices.manage
Body
amount_centsintegerOntvangen bedrag in centen, minimaal 1
paid_atdateBetaaldatum; standaard nu
curl -X POST "https://factora.one/api/v1/invoices/<id>/register-payment" \
-H "Authorization: Bearer $FACTORA_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"amount_cents": 5000,
"paid_at": "2026-11-12"
}'200 Voorbeeldantwoord
{
"data": {
"id": "9d3c7a2c-3b9f-4e20-9c73-4f80ad9e6b32",
"invoice_number": "2026-0142",
"customer_id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"customer": {
"id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"name": "Jansen Bouw",
"email": "info@jansenbouw.nl"
},
"invoice_date": "2026-11-12",
"due_date": "2026-11-26",
"status": "sent",
"is_overdue": false,
"invoice_type": "regular",
"is_credit_note": false,
"credited_invoice_id": null,
"credit_note_id": null,
"currency": "EUR",
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150,
"paid_amount": 5000,
"outstanding_amount": 13150,
"notes": "Bedankt voor de opdracht.",
"labels": [],
"sent_at": null,
"paid_at": null,
"cancelled_at": null,
"cancellation_reason": null,
"public_pay_url": null,
"created_at": "2026-11-12T09:20:11+01:00",
"updated_at": "2026-11-12T09:20:11+01:00",
"lines": [
{
"id": "9d3cbe60-7fd3-4264-d0b7-83c4e132af76",
"description": "Website onderhoud",
"quantity": 2,
"unit_price": 7500,
"tax_rate": 21,
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150
}
]
}
}/invoices/{id}/payment-linkBetaallink aanmaken
Maakt (of hergebruikt) een openbare betaallink via de betaalprovider van de organisatie. Vereist dat online betalen aan staat.
- Pakketfeature
- invoices
- Recht (app-login)
- invoices.manage
Mogelijke fouten
422Er kan geen betaallink gemaakt worden, bijvoorbeeld omdat online betalen niet aan staat
curl -X POST "https://factora.one/api/v1/invoices/<id>/payment-link" \
-H "Authorization: Bearer $FACTORA_API_KEY" \
-H "Accept: application/json"200 Voorbeeldantwoord
{
"data": {
"id": "9d3c7a2c-3b9f-4e20-9c73-4f80ad9e6b32",
"invoice_number": "2026-0142",
"customer_id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"customer": {
"id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"name": "Jansen Bouw",
"email": "info@jansenbouw.nl"
},
"invoice_date": "2026-11-12",
"due_date": "2026-11-26",
"status": "sent",
"is_overdue": false,
"invoice_type": "regular",
"is_credit_note": false,
"credited_invoice_id": null,
"credit_note_id": null,
"currency": "EUR",
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150,
"paid_amount": 0,
"outstanding_amount": 18150,
"notes": "Bedankt voor de opdracht.",
"labels": [],
"sent_at": "2026-11-12T10:02:00+01:00",
"paid_at": null,
"cancelled_at": null,
"cancellation_reason": null,
"public_pay_url": "https://factora.one/pay/4f8c2e…",
"created_at": "2026-11-12T09:20:11+01:00",
"updated_at": "2026-11-12T09:20:11+01:00",
"lines": [
{
"id": "9d3cbe60-7fd3-4264-d0b7-83c4e132af76",
"description": "Website onderhoud",
"quantity": 2,
"unit_price": 7500,
"tax_rate": 21,
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150
}
]
}
}/invoices/{id}/cancelFactuur annuleren
Annuleert de factuur, optioneel met creditnota (die je ook kunt e-mailen).
- Pakketfeature
- invoices
- Recht (app-login)
- invoices.manage
Body
reasonstringReden, max. 500 tekens
create_credit_notebooleanMaak een creditnota
email_credit_notebooleanVerstuur de creditnota per e-mail
curl -X POST "https://factora.one/api/v1/invoices/<id>/cancel" \
-H "Authorization: Bearer $FACTORA_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"reason": "Dubbel gefactureerd",
"create_credit_note": true,
"email_credit_note": false
}'200 Voorbeeldantwoord
{
"data": {
"invoice": {
"id": "9d3c7a2c-3b9f-4e20-9c73-4f80ad9e6b32",
"invoice_number": "2026-0142",
"customer_id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"customer": {
"id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"name": "Jansen Bouw",
"email": "info@jansenbouw.nl"
},
"invoice_date": "2026-11-12",
"due_date": "2026-11-26",
"status": "cancelled",
"is_overdue": false,
"invoice_type": "regular",
"is_credit_note": false,
"credited_invoice_id": null,
"credit_note_id": "9d3ccf71-80e4-4375-e1c8-94d5f243b087",
"currency": "EUR",
"subtotal": 15000,
"tax_amount": 3150,
"total_amount": 18150,
"paid_amount": 0,
"outstanding_amount": 18150,
"notes": "Bedankt voor de opdracht.",
"labels": [],
"sent_at": null,
"paid_at": null,
"cancelled_at": "2026-11-12T15:00:00+01:00",
"cancellation_reason": "Dubbel gefactureerd",
"public_pay_url": null,
"created_at": "2026-11-12T09:20:11+01:00",
"updated_at": "2026-11-12T09:20:11+01:00"
},
"credit_note": {
"id": "9d3ccf71-80e4-4375-e1c8-94d5f243b087",
"invoice_number": "2026-0143",
"customer_id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"customer": {
"id": "9d3c6f1b-2a8e-4d1f-8b62-3e7f9c8d5a21",
"name": "Jansen Bouw",
"email": "info@jansenbouw.nl"
},
"invoice_date": "2026-11-12",
"due_date": "2026-11-26",
"status": "draft",
"is_overdue": false,
"invoice_type": "credit_note",
"is_credit_note": true,
"credited_invoice_id": "9d3c7a2c-3b9f-4e20-9c73-4f80ad9e6b32",
"credit_note_id": null,
"currency": "EUR",
"subtotal": -15000,
"tax_amount": -3150,
"total_amount": -18150,
"paid_amount": 0,
"outstanding_amount": 0,
"notes": "Bedankt voor de opdracht.",
"labels": [],
"sent_at": null,
"paid_at": null,
"cancelled_at": null,
"cancellation_reason": null,
"public_pay_url": null,
"created_at": "2026-11-12T09:20:11+01:00",
"updated_at": "2026-11-12T09:20:11+01:00"
}
},
"message": "Factuur 2026-0142 is gecrediteerd met creditfactuur 2026-0143."
}/invoices/{id}/pdfPDF downloaden
Geeft de factuur als PDF (application/pdf). Met ?inline=1 wordt hij in de browser getoond.
- Pakketfeature
- invoices + pdf_export
- Recht (app-login)
- invoices.view
Queryparameters
inlinebooleanToon inline in plaats van als download
curl "https://factora.one/api/v1/invoices/<id>/pdf" \
-H "Authorization: Bearer $FACTORA_API_KEY" \
-o document.pdfAntwoord: het PDF-bestand met Content-Type: application/pdf.
Lees ook
- KlantenKlanten zoeken, aanmaken, bijwerken en verwijderen, inclusief instellingen voor automatisch factureren.
- OffertesConceptoffertes maken, versturen, laten accepteren of afwijzen en omzetten naar een factuur.
- WebhooksLaat Factora je systeem aanroepen zodra er iets gebeurt, zoals een betaalde factuur of een geaccepteerde offerte.