CompanyBelgium

KYC-verificatie automatiseren met de Company Belgium API

Ontdek hoe u uw KYC-verificatieprocessen kunt automatiseren door de Company Belgium API te integreren. Codevoorbeelden, use cases en volledige integratiegids voor domiciliatiekantoren.

6 april 202610 min leestijd

In het kort

Belgische domiciliatiekantoren kunnen de tijd voor KYC-verificaties met 80 % verminderen door de REST API van Company Belgium te integreren, die directe toegang biedt tot de officiele KBO/BCE-gegevens. In 2 seconden retourneert de API de status, het adres, de rechtsvorm, het BTW-nummer en de uiteindelijk begunstigden van een onderneming — tegenover 30 minuten handmatige verificatie. Elke respons is getimestamped en archiveerbaar voor de AML/KYC-audits die worden vereist door de wet van 18 september 2017.

Inleiding: Automatisering ten dienste van compliance

Domiciliatiekantoren in België worden geconfronteerd met een toename van KYC-verplichtingen (Know Your Customer) in het kader van de strijd tegen witwassen. Handmatige verificatie van elke klant wordt snel tijdrovend en foutgevoelig.

Company Belgium biedt een moderne technologische oplossing: een krachtige REST API die het mogelijk maakt om al uw KYC-verificatieprocessen te automatiseren door directe toegang tot officiële KBO/BCE-gegevens.

In dit artikel begeleiden we u stap voor stap bij de integratie van de Company Belgium API en verminderen we de tijd besteed aan KYC-verificaties met 80%.

Waarom KYC-verificatie automatiseren?

⏱️ Aanzienlijke tijdsbesparing

Een handmatige verificatie van een bedrijf duurt gemiddeld 30 minuten:

  • Zoeken op de KBO/BCE-website: 10 min
  • Verificatie UBO-register: 8 min
  • BTW-validatie: 5 min
  • Raadpleging vestigingen: 7 min

Met de Company Belgium API gebeurt deze verificatie in 2 seconden.

> 💡 Impact berekening: Voor een kantoor dat 100 nieuwe klanten/maand verwerkt, betekent dit 50 uur bespaard elke maand, gelijk aan 1,25 FTE!

✅ Gegarandeerde betrouwbaarheid en compliance

  • Officiële gegevens: directe toegang tot de KBO/BCE-database (dagelijkse updates)
  • Tijdstempel: elke verificatie wordt getimestamped voor audits
  • Volledige traceerbaarheid: historiek van alle verzoeken
  • AVG-compliance: veilige opslag en conforme bewaartermijn

🚀 Focus op uw kernactiviteit

Bevrijd uw teams van repetitieve administratieve taken zodat ze zich kunnen concentreren op:

  • Adviesbegeleiding van klanten
  • Grondige risicoanalyse
  • Detectie van zwakke signalen
  • Commerciële ontwikkeling

Technische architectuur van de integratie

Belangrijkste endpoints voor KYC

De Company Belgium API biedt verschillende essentiële endpoints:

#### 1. Bedrijfsverificatie

Code
1
GET /api/companies/{enterpriseNumber}

Retourneert alle officiële informatie van een bedrijf:

  • Status (actief/inactief)
  • Rechtsvorm
  • Adres maatschappelijke zetel
  • BTW-nummer
  • Oprichtingsdatum
  • Bestuurders

#### 2. UBO-opzoek

Code
1
GET /api/companies/{enterpriseNumber}/ubo

Toegang tot het register van de uiteindelijk begunstigden (indien publiek beschikbaar).

#### 3. Vestigingsverificatie

Code
1
GET /api/companies/{enterpriseNumber}/establishments

Lijst van alle operationele vestigingen van het bedrijf.

#### 4. Peppol-verificatie

Code
1
GET /api/peppol/check?vatNumber={vatNumber}

Controleert of het bedrijf geregistreerd is op het Peppol-netwerk voor elektronische facturering.

Veilige authenticatie

De API gebruikt een dubbel-sleutel systeem om veiligheid te garanderen:

JavaScript
1
2
3
4
const headers = {
  class="code-string">'X-API-Key': class="code-string">'pk_live_uw_publieke_sleutel',    class="code-comment">// Identificeert uw applicatie
  class="code-string">'X-API-Secret': class="code-string">'sk_live_uw_geheime_sleutel',  class="code-comment">// Authenticeert het verzoek
};

> ⚠️ Beveiliging: Stel de geheime sleutel nooit bloot aan de client-side! Gebruik deze alleen server-side.

Integratiegids stap voor stap

Stap 1: Uw API-sleutels verkrijgen

  • Maak een gratis account aan op Company Belgium
  • Ga naar uw dashboard
  • Sectie "API-sleutels""Maak een nieuw paar aan"
  • Bewaar uw sleutels veilig in een secrets manager (bijv. Vault, AWS Secrets Manager)
  • Stap 2: SDK-installatie (optioneel)

    Voor Node.js/TypeScript:

    Terminal
    1
    2
    3
    npm install @company-belgium/sdk
    # of
    pnpm add @company-belgium/sdk

    Voor Python:

    Terminal
    1
    pip install company-belgium

    Stap 3: Initiële configuratie

    Node.js / TypeScript

    TypeScript
    1
    2
    3
    4
    5
    6
    7
    import { CompanyBelgiumClient } from class="code-string">'@company-belgium/sdk';
    
    const client = new CompanyBelgiumClient({
      publicKey: process.env.CB_PUBLIC_KEY,
      secretKey: process.env.CB_SECRET_KEY,
      environment: class="code-string">'production', class="code-comment">// of class="code-string">'sandbox' voor tests
    });

    Python

    Python
    1
    2
    3
    4
    5
    6
    7
    from company_belgium import Client
    
    client = Client(
        public_key=os.getenv(class="code-string">'CB_PUBLIC_KEY'),
        secret_key=os.getenv(class="code-string">'CB_SECRET_KEY'),
        environment=class="code-string">'production'
    )

    Stap 4: Eerste KYC-verificatie

    Volledig TypeScript voorbeeld

    TypeScript
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    async function verifyNewClient(enterpriseNumber: string) {
      try {
        class="code-comment">// 1. Basisverificatie
        const company = await client.companies.get(enterpriseNumber);
        
        class="code-comment">// 2. Compliance controles
        const checks = {
          isActive: company.status === class="code-string">'AC',
          hasValidVAT: company.vatNumber !== null,
          hasAddress: company.addresses.length > 0,
          isNotBankrupt: company.status !== class="code-string">'ST',
          createdRecently: isWithinLastYear(company.startDate),
        };
        
        class="code-comment">// 3. UBO-register verificatie (indien nodig)
        let uboVerified = false;
        if (checks.isActive) {
          const ubo = await client.companies.getUBO(enterpriseNumber);
          uboVerified = ubo !== null && ubo.beneficiaries.length > 0;
        }
        
        class="code-comment">// 4. Peppol-verificatie (bonus)
        const peppolRegistered = await client.peppol.check(company.vatNumber);
        
        class="code-comment">// 5. KYC-rapport genereren
        const kycReport = {
          enterpriseNumber,
          companyName: company.denomination,
          verificationDate: new Date().toISOString(),
          checks,
          uboVerified,
          peppolRegistered,
          riskLevel: calculateRiskLevel(checks),
          status: allChecksPassed(checks) ? class="code-string">'APPROVED' : class="code-string">'REVIEW_REQUIRED',
        };
        
        class="code-comment">// 6. Opslaan voor audit
        await saveKYCReport(kycReport);
        
        return kycReport;
        
      } catch (error) {
        console.error(class="code-string">'KYC verification failed:', error);
        throw new KYCVerificationError(error.message);
      }
    }
    
    class="code-comment">// Hulpfunctie
    function calculateRiskLevel(checks: Checks): class="code-string">'LOW' | class="code-string">'MEDIUM' | class="code-string">'HIGH' {
      const passedChecks = Object.values(checks).filter(Boolean).length;
      const totalChecks = Object.values(checks).length;
      const ratio = passedChecks / totalChecks;
      
      if (ratio >= 0.9) return class="code-string">'LOW';
      if (ratio >= 0.7) return class="code-string">'MEDIUM';
      return class="code-string">'HIGH';
    }

    Geavanceerde use cases

    Case 1: Geautomatiseerde onboarding

    Creëer een volledige klant onboarding workflow:

    TypeScript
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    async function automaticOnboarding(clientData: ClientData) {
      class="code-comment">// Stap 1: Validatie ondernemingsnummer
      if (!isValidKBONumber(clientData.enterpriseNumber)) {
        return { status: class="code-string">'REJECTED', reason: class="code-string">'Ongeldig KBO-nummerformaat' };
      }
      
      class="code-comment">// Stap 2: KYC-verificatie via API
      const kycReport = await verifyNewClient(clientData.enterpriseNumber);
      
      class="code-comment">// Stap 3: Automatische beslissing
      if (kycReport.status === class="code-string">'APPROVED' && kycReport.riskLevel === class="code-string">'LOW') {
        class="code-comment">// Auto-goedkeuring: klantendossier aanmaken
        await createClientFile(clientData, kycReport);
        await sendWelcomeEmail(clientData.email);
        return { status: class="code-string">'APPROVED', clientId: newClientId };
      }
      
      class="code-comment">// Stap 4: Handmatige beoordeling voor complexe gevallen
      if (kycReport.riskLevel === class="code-string">'HIGH') {
        await notifyComplianceOfficer(kycReport);
        return { status: class="code-string">'PENDING_REVIEW', reason: class="code-string">'Hoog risico - handmatige beoordeling vereist' };
      }
      
      class="code-comment">// Stap 5: Aanvraag aanvullende documenten
      await requestAdditionalDocuments(clientData.email, kycReport.missingData);
      return { status: class="code-string">'PENDING_DOCUMENTS' };
    }

    Conclusie

    Automatisering van KYC-verificatie via de Company Belgium API transformeert uw compliance-proces radicaal:

    80% tijdsbesparing op verificaties

    100% betrouwbaarheid met officiële KBO/BCE-gegevens

    Gegarandeerde compliance met volledige audit trail

    Schaalbaarheid: van 10 tot 10.000 verificaties/maand

    Directe ROI vanaf de eerste weken

    Begin vandaag nog

  • Maak uw gratis account aan (100 verzoeken/maand inbegrepen)
  • Test de API in 5 minuten met onze sandbox
  • Integreer in uw applicatie volgens deze gids
  • Implementeer en bespaar honderden uren
  • > 🚀 Lanceringsaanbieding: Eerste maand gratis op het Professional plan met code AUTOKYC2026

    Vragen? Ons team staat tot uw beschikking om u te begeleiden bij uw integratie.

    👉 Neem contact op of Boek een demo

    ---

    Gerelateerde artikelen:

    Veelgestelde vragen

    Hoe automatiseer je KYC-verificatie van een Belgisch bedrijf met de KBO/BCE-API?

    Via de Company Belgium-API roept u achtereenvolgens het endpoint GET /api/companies/{nummer} aan voor status, rechtsvorm, adres en BTW-nummer, en vervolgens GET /api/companies/{nummer}/ubo voor toegang tot het UBO-register indien publiek beschikbaar. Elke respons is getimestamped. U kunt vervolgens automatisch een risiconiveau berekenen en een onmiddellijke goedkeuring, handmatige beoordeling of aanvraag om aanvullende documenten triggeren op basis van het resultaat.

    Is KYC-verificatie via de BCE-API conform de Belgische antiwitwaswet van 18 september 2017?

    De Company Belgium-API geeft toegang tot de officiele KBO/BCE-gegevens, die een erkende referentiebron vormen voor de identiteitsverificatie van rechtspersonen. Voor volledige conformiteit met de wet van 18 september 2017 moet u een volledig audit trail bewaren van elke verificatie met tijdstempel, resultaat en bron, gedurende minimaal 10 jaar. De API levert de tijdstempel en traceerbaarheid; de bewaring valt onder uw documentbeheersysteem.

    Hoelang duurt een geautomatiseerde KYC-verificatie versus handmatig voor een Belgisch domiciliatiekantoor?

    Een handmatige verificatie duurt gemiddeld 30 minuten: 10 minuten zoeken op de KBO/BCE-website, 8 minuten voor het UBO-register, 5 minuten voor BTW-validatie en 7 minuten voor vestigingen. Met de Company Belgium-API wordt dezelfde verificatie in circa 2 seconden uitgevoerd. Voor een kantoor dat 100 nieuwe klanten per maand verwerkt, bespaart automatisering circa 50 uur per maand.

    Hoe omgaan met inactieve of failliete bedrijven in een geautomatiseerd KYC-proces in Belgie?

    De API retourneert het veld status voor elk bedrijf: AC betekent actief, ST betekent gestopt, FA betekent faillissement. Uw KYC-code moet deze gevallen specifiek behandelen. Voor een bedrijf met status ST bewaart u de historische gegevens voor AML-conformiteit (bewaarverplichting van 10 jaar). Voor status FA triggert u een onmiddellijke melding aan het compliance-team. De KBO/BCE bewaart gegevens ook van gestopte bedrijven, wat de traceerbaarheid garandeert.

    Klaar om te beginnen?

    Maak gratis een account aan en ontvang uw API-sleutels in enkele minuten.

    Reacties

    Reacties laden…

    Laat een reactie achter

    Niet gepubliceerd — alleen om u te verwittigen.

    Reacties worden gemodereerd voor publicatie.

    Gerelateerde artikelen

      KYC-verificatie automatiseren via de KBO/BCE-API | CompanyBelgium