DBFact · ERP · Webshop · CRM · Portaal

DBFact koppeling

ERP-integraties die niet alleen werken, maar ook blijven werken

DBFact draait bij veel Benelux-bedrijven als ERP-hart. Een goede koppeling met je webshop, CRM of klantportaal scheelt uren handwerk per dag, voorkomt voorraadfouten en houdt je administratie schoon. Ik bouw DBFact-koppelingen die robuust zijn, gemonitord en uitlegbaar — geen black box.

Bekijk voorbeelden
< 5 min
Sync-cyclus
ERP-first
Source of truth
Logged
Elke transactie
Retry
Self-healing

De waarde van een goede developer

Een goede DBFact-developer maakt het verschil tussen 'het werkt meestal' en 'we vertrouwen het volledig'

ERP-koppelingen lijken simpel — totdat een sync klapt, een order dubbel wordt geboekt, een prijs verkeerd op de webshop staat of een voorraadstand kant nog wal raakt. Een ervaren developer ontwerpt vanuit data-stromen, transactionele garanties en monitoring — niet vanuit 'we exporteren wel een CSV'.

Realtime sync waar het moet, batch waar het kan

Voorraad en orders realtime via API of webhook, klant- en productdata in batches per nacht. Wat snel moet is snel, wat zwaar is belast je systeem niet.

Idempotent en transactioneel

Elke order krijgt een unieke key, retries veroorzaken geen duplicaten. Falende calls worden opnieuw geprobeerd, succes wordt geboekt — nooit 'half'.

Monitoring en alerting standaard

Elke sync gelogd, falen leidt tot een alert in Slack/mail, dashboard laat realtime zien wat er gebeurt. Geen 'oeps, het loopt al 3 dagen niet'.

Source of truth helder vastgelegd

Voor elk veld is duidelijk: leidt DBFact of de webshop? Geen conflicten, geen overschrijfdrama's, geen welkom-terug-mail die per ongeluk een prijs verlaagt.

Externe storingen vangen we op

DBFact even traag of webshop offline? Retries met backoff, queues, circuit breaker. Een hiccup brengt niet je hele administratie plat.

Uitbreidbaar en uitlegbaar

Schoon code, gedocumenteerde mappings, configuratie centraal. Volgend jaar een tweede sales-kanaal? Dezelfde sync-laag uitbreiden, niet opnieuw bouwen.

Twijfel je waar het in jouw situatie misgaat? Ik denk graag mee — gewoon Maarten zelf.

Hoe het eruit ziet

Hoe een DBFact-koppeling in de praktijk werkt

Van order-flow tot voorraad-sync, code-architectuur en monitoring — een paar visualisaties van wat een goede koppeling concreet inhoudt.

Order-flow · webshop → DBFact

Realtime

Idempotent, queued, met retry

  1. 01

    Order in webshop

    Webhook bij order-bevestiging, unieke order-key.

  2. 02

    Queue + validatie

    Job in Redis-queue, payload gevalideerd via DTO.

  3. 03

    Klant matchen / aanmaken

    DBFact-klant gezocht op e-mail/BTW, anders aangemaakt.

  4. 04

    Order schrijven

    Order + regels + verzending in DBFact als concept/definitief.

  5. 05

    Statusupdate terug

    DBFact-ordernr terug naar webshop, klant ziet 'in behandeling'.

  6. 06

    Monitoring

    Succes/falen gelogd, alert bij falen na 3 retries.

Handwerk · voor / na koppeling

−92% werk

Webshop + DBFact · 1.200 orders/mnd

Metric
Voor
Na
Uren orderinvoer / week
14 u
0 u
Voorraadfouten / mnd
23
1
Dubbele orders / mnd
6
0
Tijd order → DBFact
4 u
12 s
Late facturen / mnd
18
0
Klachten 'verkeerd geleverd'
9
1

Idempotent order-sync

Self-healing

Laravel · DBFact API · Redis queue

final class SyncOrderToDBFact
{
    public function handle(Order $order): void
    {
        if ($this->alreadySynced($order->idempotency_key)) {
            return; // veilig opnieuw uit te voeren
        }

        $customer = $this->dbfact->findOrCreateCustomer($order->customer);
        $dbOrder  = $this->dbfact->createOrder($customer, $order->lines);

        $order->update([
            'dbfact_order_id' => $dbOrder->id,
            'synced_at'       => now(),
        ]);

        OrderSyncedEvent::dispatch($order);
    }
}

Sync-dashboard

Live

Realtime monitor van alle koppelingen

9:415G · 100%

Live

DBFact ↔ Webshop

Sync-cyclus: < 5 min · Errors: 0

Orders vandaag: 86 / 86 ok
Voorraad: laatste sync 1 min geleden
Retries lopend: 0

Hoe zou dit er in jouw shop uitzien? Ik denk graag mee — gewoon Maarten zelf.

Herkenbaar?

DBFact-koppeling-problemen die ik vaak voorbij zie komen

Bijna elk traject begint met dezelfde klachten — en bijna altijd is de oplossing geen nieuwe koppeling, maar een sync-laag die wél robuust is.

Handmatige order-invoer in DBFact

Pijn: Backoffice tikt elke webshop-order over: trage doorlooptijd, typefouten, late facturen. Bij groei: extra mensen aannemen of het systeem fixen.

Aanpak: Webhook-koppeling van webshop naar DBFact, klant + order + regels in seconden geboekt, automatisch factuurnummer. 14 uur handwerk per week verdwenen.

Voorraad in webshop loopt achter

Pijn: DBFact-voorraad is realiteit, webshop-voorraad is fictie. Oversells op marktplaatsen, klanten gefrustreerd, refunds en imagoschade.

Aanpak: Realtime voorraad-push bij mutatie in DBFact, plus veiligheidsbuffer per artikel. Bij meerdere kanalen: centrale orchestratielaag.

Synchronisatie loopt vast, niemand merkt het

Pijn: CSV-export draait om 03:00 en is sinds maandag stuk. Pas vrijdag merkt boekhouding dat facturen ontbreken. Wekelijks brandjes blussen.

Aanpak: Realtime sync via API + queues, monitoring met alerts. Een falende job leidt tot Slack-melding binnen minuten, niet dagen.

Trage of fragiele DBFact-calls

Pijn: Synchronisatie is een grote nachtelijke job die 4 uur duurt; één fout en alles moet opnieuw. Webshop-orders blijven hangen.

Aanpak: Incrementele sync (alleen wat veranderd is), batches met chunking, retries per record. Van 4 uur naar continue micro-sync, herstartbaar zonder dataverlies.

Veld-mapping is een mysterie

Pijn: Niemand weet meer wat in welk DBFact-veld hoort, welke webshop-attribuut waar landt. Elke wijziging is gokwerk.

Aanpak: Mappings centraal, in configuratie en gedocumenteerd. Wijziging gaat via één plek, met validatie en versiebeheer.

Klantendubbels in DBFact

Pijn: Elke webshop-bestelling maakt een nieuwe klantkaart aan, ook als de klant al bestaat. CRM-rapportages kloppen niet meer.

Aanpak: Klant matchen op e-mail, BTW-nr of telefoon vóór aanmaken; samenvoegrunner voor bestaande duplicates.

Geen retry of foutafhandeling

Pijn: DBFact even traag → call faalt → order weg. Pas dagen later komt het naar boven, dan met klanten aan de telefoon.

Aanpak: Queue met exponential backoff, dead-letter voor wat écht stuk is, dashboard om handmatig opnieuw te triggeren. Een hik kost je geen orders meer.

Marktplaatsen en webshop tegen elkaar

Pijn: DBFact telt verkoop in webshop, Bol, Amazon — maar voorraadstand verschilt per kanaal. Oversells stapelen op.

Aanpak: Eén orchestratielaag tussen DBFact en alle kanalen: voorraadbuffers, kanaal-specifieke regels, oversells voorkomen vóór ze ontstaan.

DBFact · ERP · Webshop · CRM · Portaal

DBFact-koppeling die structureel beter moet?

Sparring over je ERP-flow, je sync-strategie en de snelste route naar minder handwerk en minder fouten — concreet en zonder sales-trechter.

Bekijk klantcases

Wat het oplevert

Voorbeelden van DBFact-trajecten

Een goede DBFact-koppeling levert iets meetbaars op: minder handwerk, geen voorraadfouten, snellere facturatie, betrouwbare cijfers. Een paar voorbeelden ter inspiratie.

−14 u/wk

Handwerk weg bij backoffice

1.200 orders/maand automatisch in DBFact. Backoffice doet alleen nog uitzonderingen, geen overtikwerk meer.

−95%

Oversells verdwenen

Realtime voorraad-sync + buffer. Van gemiddeld 23 oversells naar 1 per maand — die ene is een edge-case, niet een ramp.

+22%

Cashflow versneld

Facturen direct bij verzending in plaats van weken later. Sneller geld binnen, minder DSO.

0 dubbels

Klantkaarten opgeschoond

8.400 duplicaten samengevoegd, daarna match-logica vóór aanmaken. CRM-cijfers eindelijk weer betrouwbaar.

1 view

Multi-channel voorraad

DBFact-voorraad als bron, push naar webshop + Bol + Amazon met buffers per kanaal.

Live

Monitoring-dashboard

Realtime sync-status met alerts naar Slack. Eerste maand: 12 onbekende fouten ontdekt en opgelost vóór klant belde.

< 5 min

Sync-cyclus

Van nachtelijke batch naar continue micro-sync. Order in webshop → DBFact in 12 seconden.

−4 u

Nachtjob ingekort

Incrementele sync vervangt 4 uur durende full-export. Server-load veel lager, herstart zonder dataverlies.

0 verloren

Geen verloren orders meer

Queue + retry + dead-letter. Externe storingen kosten geen orders meer, alleen vertraging tot herstel.

Bol live

Marktplaats gekoppeld

Bol.com via dezelfde sync-laag aan DBFact gehangen. Eén voorraad, één order-flow, geen dubbele administratie.

Docs

Mappings gedocumenteerd

Veld-mappings centraal in code + Notion. Wijzigingen gaan via één plek, met versiebeheer en validatie.

Onboard 1d

Nieuwe medewerker in 1 dag

Documentatie, dashboard en duidelijke flows. Wat eerst 2 weken inlezen was, kan nu in 1 dag.

Auto

Factuur per mail vanuit DBFact

PDF-factuur uit DBFact automatisch gemaild bij verzending, met track & trace.

BE + NL

Multi-entiteit ondersteund

DBFact met meerdere administraties (BE + NL), webshop routeert orders naar de juiste entiteit.

Black Friday

5× volume gehaald

Sync-laag schaalt mee, queues opgehoogd, monitoring intensiever — 5× normaal volume zonder incident.

Welk voorbeeld lijkt het meest op jouw situatie? Ik denk graag mee — gewoon Maarten zelf.

Wat ik bouw

DBFact-werk dat regelmatig terugkomt

Order-koppeling

Webshop-orders direct als verkooporder of factuur in DBFact, met klant-match.

Voorraad-sync

Realtime push of geplande sync, met veiligheidsbuffers en kanaal-specifieke regels.

Product- en prijslijst-sync

DBFact-producten en prijzen periodiek naar webshop, inclusief afbeeldingen en attributen.

Klant- en CRM-sync

Bi-directioneel klantbeheer, dedupe-logica, BTW-validatie.

Facturatie & e-mail

Automatische factuurgeneratie en mail vanuit DBFact, met betaallink.

Marktplaats-orchestratie

Bol, Amazon, ChannelEngine via één sync-laag aan DBFact.

Multi-entiteit / multi-warehouse

Meerdere DBFact-administraties of warehouses logisch verdeeld.

Idempotency & retry

Geen dubbele orders bij retries, zelf-herstellend bij storingen.

Monitoring & alerting

Realtime dashboard, Slack-alerts, dead-letter-queue voor handmatige actie.

Mapping-laag

Centrale, gedocumenteerde mapping van velden tussen DBFact en kanalen.

Self-hosted of cloud

Sync-laag op je eigen server, een VPS of in Cloudflare/AWS — wat past.

Datamigratie

Eenmalige import of opschoonactie van bestaande data, met dedupe.

Versiebeheer & deploys

Sync-code in Git, CI/CD met staging, rollback-pad.

API-gateway tussen systemen

DBFact als ERP-core, sync-laag als hub, kanalen als clients.

Doorlopend onderhoud

Monitoring, updates, kleine uitbreidingen — sync blijft betrouwbaar.

Specifiek onderdeel in je hoofd? Ik denk graag mee — gewoon Maarten zelf.

Koppelingen

Systemen die ik regelmatig aan DBFact koppel

WooCommerce / WordPress

Order, voorraad, klant, product — bi-directioneel.

Magento 2 / Adobe Commerce

Voor grotere catalogi en B2B-flows.

Custom webshop (Laravel / Symfony / TanStack)

Volledige flexibiliteit, sync-laag op maat.

Bol.com / Amazon / ChannelEngine / Channable

Marktplaatsen via één voorraad- en orderbron.

Mollie / MultiSafepay / Adyen

Betalingen gematcht met DBFact-facturen.

PostNL / DHL / FedEx / Sendcloud

Verzending getriggerd vanuit DBFact, T&T terug naar shop.

HubSpot / Pipedrive / Copernica

Klantdata en marketing-flows gevoed uit DBFact.

Klantportalen (custom)

Klanten zien hun orders, facturen en voorraad live uit DBFact.

BI-tools (Power BI / Metabase)

DBFact-data ontsloten voor rapportage en dashboards.

Ander systeem? Vraag het even. Ik denk graag mee — gewoon Maarten zelf.

Hoe het werkt

Een DBFact-koppelingstraject in 4 stappen

  1. 01

    Audit & inventarisatie

    DBFact-velden, webshop-attributen, flows en pijnpunten in kaart.

  2. 02

    Architectuur & mapping

    Sync-richting, frequentie, source-of-truth en foutafhandeling vastleggen.

  3. 03

    Bouw & test

    Sync-laag op staging, met testdata, edge-cases en monitoring.

  4. 04

    Live & beheer

    Go-live met alerting, eerste week meekijken, daarna doorlopend onderhoud.

Klaar om de eerste stap te zetten? Ik denk graag mee — gewoon Maarten zelf.

Veelgestelde vragen

Werk je met de officiële DBFact API?

Ja. Afhankelijk van je DBFact-versie via de standaard API, web services of een directe DB-koppeling. Voor maatwerk-velden gebruiken we de configuratie- of mapping-laag.

Realtime of batch synchronisatie?

Combinatie: orders en voorraad realtime via webhook/API, klant- en product-bulk in batches. Wat snel moet is snel, wat zwaar is belast je systeem niet onnodig.

Hoe voorkom je dubbele orders?

Elke order krijgt een idempotency-key. Een retry op dezelfde order doet niets, succes wordt eenmaal geboekt. Geen duplicaten, ook niet bij storingen.

Wat als DBFact even traag is of offline?

Queues met exponential backoff, dead-letter voor wat structureel faalt, dashboard om handmatig opnieuw te triggeren. Een hik kost geen orders.

Kan ik meerdere webshops aan één DBFact hangen?

Ja, via een centrale sync-laag die voor elk kanaal de juiste mapping en regels hanteert. Eén DBFact als bron, meerdere kanalen als clients.

Hoe zit het met multi-entiteit (NL + BE)?

Meerdere DBFact-administraties worden ondersteund. Orders worden gerouteerd naar de juiste entiteit op basis van land, BTW of kanaal.

Krijg ik inzicht in wat er gebeurt?

Ja, een dashboard met realtime sync-status, foutmeldingen, retries en historie. Plus Slack/mail-alerts bij structurele issues.

Kan de koppeling klant- en factuurgegevens beide kanten op?

Ja, bi-directioneel. Bijvoorbeeld klantmutaties uit DBFact terug naar de webshop, of webshop-registraties als prospect in DBFact.

Werk je ook met marktplaatsen?

Ja. Bol, Amazon, ChannelEngine en Channable via dezelfde sync-laag. DBFact blijft de bron, kanalen worden gevoed en orders teruggeschreven.

Is een klantportaal mogelijk?

Zeker. Klanten loggen in en zien hun orders, facturen, voorraad en eventueel maatwerk-prijslijst — live uit DBFact.

Wat doe je bij overname van een bestaande koppeling?

Code-overname, audit, fixes en doorontwikkeling. Vaak begint het met monitoring en logging toevoegen, daarna gericht oplossen.

Wordt mijn data veilig behandeld?

Ja: AVG-proof, secrets in vault, encrypted transport, geen ongebruikte data persistent opgeslagen, logging zonder PII waar mogelijk.

DBFact · ERP · Webshop · CRM · Portaal

DBFact-koppeling die structureel beter moet?

Sparring over je ERP-flow, je sync-strategie en de snelste route naar minder handwerk en minder fouten — concreet en zonder sales-trechter.

Bekijk klantcases
Maarten Soetens

Even sparren over jouw project?

Korte lijntjes, eerlijk advies, geen sales-praat. Ik denk vrijblijvend met je mee — gewoon Maarten zelf.

Geen automatisch antwoord — ik mail of bel je persoonlijk terug.