Invovate ← Terug naar Factuur Generator

Factuur Generator API

Genereer professionele PDF facturen met eenvoudige API-aanroepen

v1.0.0

Overzicht

De Factuur Generator API stelt u in staat professionele PDF facturen te maken met ondersteuning voor meerdere talen, RTL-lay-outs en verschillende ontwerpsjablonen. Elke API-aanroep verbruikt 1 credit.

Eenvoudige Prijzen

1 credit per factuurgeneratie

Meertalig

Engels, Arabisch, Frans, Spaans en meer

RTL Ondersteuning

Volledige rechts-naar-links lay-out voor Arabisch

Professionele Sjablonen

Meerdere ontwerpoptes

Basis URL:
https://invovate.com/api

Snelstart

Genereer uw eerste factuur in 3 eenvoudige stappen:

Stap 1: Verkrijg uw API-sleutel
Meld u aan op invovate.com en genereer uw API-sleutel in het dashboard
Stap 2: Maak factuur JSON-bestand
Sla uw factuurgegevens op als een JSON-bestand (zie voorbeelden hieronder)
Stap 3: Doe API-aanroep
curl -X POST https://invovate.com/api/render -H "Content-Type: application/json" -H "Authorization: inv_sk_your_api_key_here" -d "@invoice.json"

Authenticatie

Alle API-verzoeken vereisen een API-sleutel voor authenticatie. Neem uw API-sleutel op in de Authorization header.

Authorization: inv_sk_your_api_key_here
API-sleutel Formaat: Uw API-sleutel begint met inv_sk_ gevolgd door een unieke identifier.
Belangrijk: Houd uw API-sleutel veilig en exposeer deze nooit in client-side code. Uw API-sleutel geeft volledige toegang tot uw accountcredits.

Creditsysteem

Elke succesvolle PDF-generatie verbruikt 1 credit van uw accountsaldo.

Eenvoudige Prijzen: 1 credit = 1 gegenereerde factuur

Uw Creditsaldo Controleren

Elk API-antwoord bevat uw huidige creditsaldo:

{ "credits": { "remaining": 95, "used": 1, "userType": "api", "verified": true } }

Credits Kopen

Om extra credits aan te schaffen, bezoek invovate.com en navigeer naar de factureringssectie.

Opmerking: API-aanroepen mislukken als u onvoldoende credits heeft. Controleer altijd uw saldo in het API-antwoord.

PDF Factuur Genereren

POST
/api/render

Genereer een PDF factuur van JSON-gegevens. Verbruikt 1 credit bij succes.

Verzoek Headers

Content-Type: application/json Authorization: inv_sk_your_api_key_here

Verzoek Body

Verzend uw factuurgegevens als een JSON-bestand of inline JSON-object.

Aanvraagformaat

Verplichte Velden

Veld Type Verplicht Beschrijving
title string Ja Uw bedrijfsnaam
invno string Ja Factuurnummer
date string Ja Factuurdatum (YYYY-MM-DD)
to string Ja Klantadres (meerdere regels)
currency string Ja Valutacode (USD, EUR, AED, etc.)
lang string Ja Taalcode (nl, en, ar, fr, es, etc.)
template string Ja Sjabloonnaam (neat-pro, etc.)
rows array Ja Array van regelitems

Regelitem Velden

Veld Type Verplicht Beschrijving
desc string Ja Itembeschrijving
qty number/string Ja Hoeveelheid
rate number/string Ja Eenheidsprijs
disc number/string Nee Kortingspercentage
tax number/string Nee Belastingpercentage

Optionele Velden

Veld Type Beschrijving
due string Vervaldatum (YYYY-MM-DD)
po string Inkoopordernummer
terms string Betalingsvoorwaarden
ship string Verzendadres
notes string Aanvullende notities
refund string Restitutiebeleid
logo string Base64 gecodeerde logo-afbeelding
sig string Base64 gecodeerde handtekeningafbeelding
customLabels object Aangepaste tekstlabels voor verschillende talen

Antwoordformaat

Succes Antwoord

{ "success": true, "pdf": "base64_encoded_pdf_string_here", "credits": { "remaining": 95, "used": 1, "userType": "api", "verified": true }, "mode": "api", "metadata": { "template": "neat-pro", "language": "nl", "direction": "ltr", "fileSize": 15432, "creditsRemaining": 95, "itemsCount": 3, "hasLogo": true, "hasSignature": false } }

Antwoordvelden

Veld Type Beschrijving
success boolean Verzoek successtatus
pdf string Base64 gecodeerd PDF-bestand
credits.remaining number Uw resterende creditsaldo
credits.used number Credits gebruikt in deze aanroep (altijd 1)
credits.userType string Altijd "api" voor API-aanroepen
mode string Altijd "api" voor API-aanroepen
metadata object Aanvullende informatie over het gegenereerde PDF

Foutafhandeling

Fout Antwoordformaat

{ "success": false, "error": "Foutmelding beschrijving", "code": "ERROR_CODE" }

Veelvoorkomende Foutcodes

Foutcode HTTP Status Beschrijving
API_KEY_REQUIRED 401 Ontbrekende API-sleutel in Authorization header
INVALID_API_KEY 401 Ongeldige of verlopen API-sleutel
EMAIL_VERIFICATION_REQUIRED 403 Account e-mail niet geverifieerd
INVALID_JSON 400 Ongeldige JSON in verzoek body
INSUFFICIENT_CREDITS 402 Niet genoeg credits om PDF te genereren
API_SECURITY_LIMIT_EXCEEDED 429 Snelheidslimiet overschreden
RENDER_ERROR 400 PDF-generatie mislukt
INTERNAL_ERROR 500 Interne serverfout

Code Voorbeelden

Nederlands Factuur Voorbeeld (invoice_nl.json)

{ "title": "Voorbeeld Bedrijf BV", "invno": "FACT-2025-001", "date": "2025-11-13", "due": "2025-12-13", "currency": "EUR", "lang": "nl", "template": "neat-pro", "to": "Klant Bedrijf\n123 Bedrijfslaan\[email protected]", "ship": "Global Tech Solutions - Magazijn\n456 Verzendstraat\nAmsterdam, 1000 AA", "notes": "Bedankt voor uw zaken!", "rows": [ { "desc": "Website Ontwikkeling", "qty": "10", "rate": "75", "disc": "0", "tax": "21" }, { "desc": "Consulting Uren", "qty": "5", "rate": "120", "disc": "0", "tax": "21" } ] }

Engels Factuur Voorbeeld (invoice_en.json)

{ "title": "Sample Business Inc.", "invno": "INV-2025-001", "date": "2025-11-13", "due": "2025-12-13", "currency": "USD", "lang": "en", "template": "neat-pro", "to": "Client Company\n123 Business Ave\[email protected]", "ship": "Global Tech Solutions - Warehouse\n456 Shipping Lane\nNew York, NY 10001", "notes": "Thank you for your business!", "rows": [ { "desc": "Website Development", "qty": "10", "rate": "75", "disc": "0", "tax": "20" }, { "desc": "Consulting Hours", "qty": "5", "rate": "120", "disc": "0", "tax": "20" } ] }

cURL Commando

# JSON-bestand gebruiken curl -X POST https://invovate.com/api/render -H "Content-Type: application/json" -H "Authorization: inv_sk_your_api_key_here" -d "@invoice_nl.json" # Antwoord opslaan in bestand curl -X POST https://invovate.com/api/render -H "Content-Type: application/json" -H "Authorization: inv_sk_your_api_key_here" -d "@invoice_nl.json" --output response.json

JavaScript Voorbeeld

async function generateInvoice(invoiceData) { const API_KEY = 'inv_sk_your_api_key_here'; try { const response = await fetch('https://invovate.com/api/render', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': API_KEY // Geen "Bearer" prefix }, body: JSON.stringify(invoiceData) }); const result = await response.json(); if (result.success) { // Decodeer base64 PDF const pdfBytes = Uint8Array.from(atob(result.pdf), c => c.charCodeAt(0)); const blob = new Blob([pdfBytes], { type: 'application/pdf' }); // Download PDF const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = `factuur-${invoiceData.invno}.pdf`; document.body.appendChild(a); a.click(); document.body.removeChild(a); URL.revokeObjectURL(url); console.log(`PDF gegenereerd! Resterende credits: ${result.credits.remaining}`); } else { console.error('Fout:', result.error); } } catch (error) { console.error('Verzoek mislukt:', error); } } // Gebruik const invoiceData = { title: "Mijn Bedrijf", invno: "FACT-001", date: "2024-01-15", currency: "EUR", lang: "nl", template: "neat-pro", to: "Klant Naam\nKlant Adres", rows: [ { desc: "Webdesign", qty: 1, rate: 1000 } ] }; generateInvoice(invoiceData);

Python Voorbeeld

import requests import base64 import json API_KEY = "inv_sk_your_api_key_here" URL = "https://invovate.com/api/render" invoice_data = { "title": "Mijn Bedrijf", "invno": "FACT-001", "date": "2024-01-15", "currency": "EUR", "lang": "nl", "template": "neat-pro", "to": "Klant Bedrijf\n123 Klantstraat", "rows": [ {"desc": "Webdesign", "qty": 1, "rate": 1000} ] } headers = { "Content-Type": "application/json", "Authorization": API_KEY # Geen "Bearer" prefix } response = requests.post(URL, headers=headers, json=invoice_data) result = response.json() if result["success"]: # Sla PDF op in bestand pdf_data = base64.b64decode(result["pdf"]) with open("factuur.pdf", "wb") as f: f.write(pdf_data) print(f"PDF gegenereerd! Resterende credits: {result['credits']['remaining']}") else: print(f"Fout: {result['error']}")

Ondersteunde Talen

Taalcode Taal Richting
nl Nederlands LTR
en Engels LTR
ar Arabisch RTL
ar-e Oost-Arabisch RTL
fr Frans LTR
es Spaans LTR
hi Hindi LTR
pt Portugees LTR

Beschikbare Sjablonen

Sjabloonnaam Beschrijving
neat-pro Schoon professioneel ontwerp
modern-right Rechts uitgelijnde moderne lay-out
classic-left Traditioneel links uitgelijnd ontwerp
elegant-gray-pro Elegant grijs kleurenschema
band-blue-pro Blauwe kopband ontwerp
cool-waves-pro Modern golfpatroon ontwerp