Aller au contenu principal
REST API

De Novadesko API

Verbind uw tools met Novadesko: kerncijfers, facturen, klanten, producten en openstaande facturen van al uw bedrijven, zowel lezen als schrijven.

JSON / REST Intrekbare API-sleutels Claude-connector (MCP)
20+
Endpoints
REST
JSON-formaat
nvk_ / nvt_
Intrekbare sleutels
MCP
Claude-connector

Authenticatie

Genereer uw sleutels vanuit uw Novadesko-omgeving op web.novadesko.com/integrations/api. Twee soorten sleutels, op elk moment intrekbaar:

  • nvk_… — Gebruikerssleutel: dekt alle bedrijven van uw account.
  • nvt_… — Bedrijfstoken: beperkt tot één bedrijf.
Basis-URL
https://web.novadesko.com/api/v1

Drie authenticatieformaten worden aanvaard:

// 1. Bearer
Authorization: Bearer CLE.SECRET

// 2. Basic
Authorization: Basic base64(CLE:SECRET)

// 3. Aparte headers
X-Api-Key: CLE
X-Api-Secret: SECRET

Het secret wordt slechts één keer getoond, bij het aanmaken. Intrekking is onmiddellijk vanaf dezelfde pagina. Oude Sanctum-tokens en nsk_-sleutels blijven aanvaard.

Voorbeeld

curl https://web.novadesko.com/api/v1/me \
  -H "Authorization: Bearer nvk_xxx.SECRET"

Profiel & bedrijven

Identificeer de aanvrager en lijst de bedrijven op die toegankelijk zijn met uw sleutel.

GET/api/v1/meProfiel + toegankelijke bedrijven
GET/api/v1/companiesLijst van bedrijven (id, naam, btw, contactgegevens)
curl https://web.novadesko.com/api/v1/me \
  -H "Authorization: Bearer nvk_xxx.SECRET"
Antwoord
{
  "user": { "id": 1, "name": "John Doe", "email": "john@doe.com" },
  "credential": { "kind": "user_key", "name": "Zapier", "shop_id": null },
  "companies": [
    {
      "id": 1,
      "name": "Demo SPRL",
      "vat_number": "BE0123456789",
      "email": "info@demo.com",
      "phone": "+32 2 123 45 67",
      "city": "Bruxelles",
      "country": "Belgique"
    }
  ]
}

Statistieken

Kerncijfers van een bedrijf over een periode: omzet incl. btw, creditnota's, aankopen, brutoresultaat, openstaande klanten- en leveranciersfacturen, tellers.

GET/api/v1/companies/{id}/stats?from=&to=

Datums in formaat YYYY-MM-DD. Standaard: lopend jaar.

curl "https://web.novadesko.com/api/v1/companies/1/stats?from=2026-01-01" \
  -H "Authorization: Bearer nvk_xxx.SECRET"
Antwoord
{
  "company": { "id": 1, "name": "Demo SPRL" },
  "period": { "from": "2026-01-01", "to": "2026-08-17" },
  "revenue_ttc": 17077.46,
  "credit_notes_ttc": 250.00,
  "net_revenue_ttc": 16827.46,
  "purchases_ttc": 6420.35,
  "gross_result_ttc": 10407.11,
  "invoices_count": 34,
  "purchases_count": 21,
  "estimates_count": 8,
  "unpaid_invoices": { "count": 6, "total_ttc": 11769.28, "overdue_count": 6 },
  "unpaid_purchases": { "count": 2, "total_ttc": 840.50 },
  "customers_count": 57,
  "products_count": 112
}

Documenten (lezen)

Zoek en raadpleeg de documenten van elk bedrijf, over alle types heen.

GET/api/v1/companies/{id}/documentsLijsten / filteren
GET/api/v1/companies/{id}/documents/{docId}Detail + lijnen + klant

Beschikbare filters:

?type=&paid=&from=&to=&q=&page=&per_page=

Documenttypes:

invoice · purchase · estimate · order · credit_note · proforma · receipt
Antwoord (uittreksel)
{
  "data": [
    {
      "id": 123,
      "number": "FAC-2026-0042",
      "type": "invoice",
      "date": "2026-06-12",
      "due_date": "2026-07-12",
      "customer": "ACME SRL",
      "amount_ttc": 1200.00,
      "is_paid": false
    }
  ],
  "meta": { "page": 1, "per_page": 25, "total": 34 }
}
Detail (uittreksel)
{
  "id": 123,
  "number": "FAC-2026-0042",
  "type": "invoice",
  "amount_ttc": 1200.00,
  "is_paid": false,
  "customer": {
    "id": 7,
    "name": "ACME SRL",
    "vat_number": "BE0987654321"
  },
  "lines": [
    {
      "product_name": "Abonnement Pro",
      "quantity": 2,
      "unit_amount": 495.87,
      "tax_rate": 21
    }
  ]
}

Klanten & Producten

Raadpleeg de klantenfiches en de productcatalogus van elk bedrijf, met zoekfunctie en paginering.

GET/api/v1/companies/{id}/customers?q=&page=
GET/api/v1/companies/{id}/products?q=&page=
Klanten (uittreksel)
{
  "data": [
    {
      "id": 7,
      "name": "ACME SRL",
      "email": "contact@acme.be",
      "phone": "+32 2 555 12 34",
      "city": "Bruxelles"
    }
  ],
  "meta": { "page": 1, "per_page": 25, "total": 57 }
}
Producten (uittreksel)
{
  "data": [
    {
      "id": 42,
      "name": "Abonnement Pro",
      "reference": "ABO-PRO",
      "sale_price": 49.99,
      "tax_included": true,
      "stock_quantity": 0
    }
  ],
  "meta": { "page": 1, "per_page": 25, "total": 112 }
}

Openstaande facturen

Openstaande facturen van een bedrijf, gegroepeerd per klant, met vervaldagen en totaal.

GET/api/v1/companies/{id}/unpaid-invoices
Antwoord
{
  "count": 6,
  "total_ttc": 11769.28,
  "invoices": [
    {
      "id": 118,
      "number": "FAC-2026-0031",
      "customer": "ACME SRL",
      "date": "2026-03-02",
      "due_date": "2026-04-01",
      "amount_ttc": 3025.00,
      "overdue": true
    }
  ]
}

Transacties

Betalingen en kasbewegingen van een bedrijf over een periode (max. 500).

GET/api/v1/companies/{id}/transactions?from=&to=&limit=
Antwoord
{
  "period": { "from": "2026-01-01", "to": "2026-08-17" },
  "count": 1,
  "data": [
    {
      "id": 88,
      "date": "2026-06-12",
      "amount": 1200.00,
      "type": "payment",
      "direction": "in",
      "source": "bank"
    }
  ]
}

Documenten (schrijven)

Historische endpoints per bedrijf: maak en wijzig alle documenttypes (slugs: invoices, quotes, orders…). De nummering gebeurt automatisch bij het aanmaken.

GET/api/v1/documents/{slug}Documenten oplijsten
POST/api/v1/documents/{slug}Aanmaken (auto-nummering)
GET/api/v1/documents/{slug}/{id}Detail van een document
PUT/api/v1/documents/{slug}/{id}Wijzigen

Voorbeeld: Facturen

curl -H "Authorization: Bearer nvk_xxx.SECRET" \
  https://web.novadesko.com/api/v1/documents/invoices
Antwoord (uittreksel)
[
  {
    "id": 123,
    "number": "FAC-2026-0042",
    "date": "2026-06-12",
    "client": { "id": 1, "name": "ACME Sarl" },
    "total": 1200.00,
    "status": "paid"
  }
]
Aanmaken (POST)
{
  "client_id": 1,
  "date": "2026-06-12",
  "lines": [
    { "product_id": 15, "qty": 2, "price": 100 }
  ]
}

Klanten

Beheer uw klantenbestand: aanmaken, raadplegen en bijwerken.

GET/api/v1/customers
POST/api/v1/customers
GET/api/v1/customers/{id}
PUT/api/v1/customers/{id}
curl -H "Authorization: Bearer nvk_xxx.SECRET" \
  https://web.novadesko.com/api/v1/customers
Aanmaken (POST)
{
  "name": "Société Demo",
  "email": "contact@demo.com",
  "phone": "+32 2 123 45 67"
}
Antwoord
{
  "id": 2,
  "name": "Société Demo",
  "email": "contact@demo.com",
  "created_at": "2026-06-12T16:10:00Z"
}

Leveranciers

Beheer uw leveranciers en hun gegevens.

GET/api/v1/suppliers
POST/api/v1/suppliers
GET/api/v1/suppliers/{id}
PUT/api/v1/suppliers/{id}
curl -H "Authorization: Bearer nvk_xxx.SECRET" \
  https://web.novadesko.com/api/v1/suppliers
Aanmaken (POST)
{
  "company": "Fournisseur SARL",
  "vat_number": "FR123456789",
  "email": "info@fournisseur.com"
}
Antwoord
{
  "id": 5,
  "company": "Fournisseur SARL",
  "created_at": "2026-06-12T16:22:00Z"
}

Producten

Beheer uw productcatalogus.

GET/api/v1/products
POST/api/v1/products
GET/api/v1/products/{id}
PUT/api/v1/products/{id}
curl -H "Authorization: Bearer nvk_xxx.SECRET" \
  https://web.novadesko.com/api/v1/products
Aanmaken (POST)
{
  "name": "Abonnement Pro",
  "price": 49.99,
  "category_id": 1
}
Antwoord
{
  "id": 42,
  "name": "Abonnement Pro",
  "price": 49.99
}

Documenttypes

Lijst van actieve documenttypes en hun slugs voor de endpoints /documents/{slug}.

GET/api/v1/document-types
curl -H "Authorization: Bearer nvk_xxx.SECRET" \
  https://web.novadesko.com/api/v1/document-types
Antwoord (uittreksel)
[
  { "id": 2, "name": "Factures", "slug": "invoices", "prefix": "FAC" },
  { "id": 6, "name": "Devis", "slug": "quotes", "prefix": "DEV" }
]

Claude-connector (MCP)

Alleen-lezen

Verbind Claude met uw Novadesko-gegevens: stel vragen in natuurlijke taal, Claude leest uw bedrijven (cijfers, documenten, klanten, openstaande facturen).

  1. 1 Genereer een geheime URL vanuit uw Novadesko-omgeving op web.novadesko.com/integrations/claude.
  2. 2 In claude.ai: Instellingen › Connectors › Aangepaste connector toevoegen, en plak de URL.
  3. 3 Claude kan uw bedrijven dan alleen-lezen bevragen, rechtstreeks in uw gesprekken.
Onder de motorkap
POSThttps://web.novadesko.com/api/mcp/claude/{token}

MCP-protocol (JSON-RPC: initialize, tools/list, tools/call) · 9 beschikbare tools, waaronder get_company_overview.

// JSON-RPC (MCP)
{ "jsonrpc": "2.0", "method": "tools/call",
  "params": { "name": "get_company_overview", "arguments": { "company_id": 1 } },
  "id": 1 }
API REST

Klaar om Novadesko te integreren?

Genereer uw API-sleutel in enkele seconden vanuit uw Novadesko-omgeving en automatiseer uw stromen: facturatie, klanten, statistieken en openstaande facturen.

JSON / REST Intrekbare API-sleutels Claude-connector (MCP)

Support Novadesko

Connexion...

Hallo!

Hoe kunnen wij u helpen?