Met een WooCommerce AFAS koppeling kun je orders en andere bedrijfsgegevens tussen je webshop en AFAS Profit uitwisselen. Dat voorkomt dubbel invoerwerk, maar alleen wanneer vooraf duidelijk is welke gegevens je synchroniseert, welk systeem leidend is en wat er bij een fout gebeurt.
Deze gids gaat specifiek over WooCommerce en AFAS Profit. AFAS SB is een ander product met eigen mogelijkheden; controleer dus eerst welke AFAS-omgeving je gebruikt. Zoek je een algemener technisch kader? Lees dan hoe je een webshop en ERP betrouwbaar koppelt.
Begin met een overzicht van de datastromen
Leg vóór de technische inrichting vast welk systeem de bron is voor ieder gegeven. Een mogelijke verdeling is:
| Gegeven | Mogelijk bronsysteem | Gebruikelijke richting |
|---|---|---|
| Artikelen en SKU’s | AFAS of PIM | Naar WooCommerce |
| Voorraad | AFAS of magazijnsysteem | Naar WooCommerce |
| Webshopprijzen | AFAS of WooCommerce | Volgens commerciële inrichting |
| Bestellingen | WooCommerce | Naar AFAS |
| Betaalstatus | Betaalprovider en WooCommerce | Naar AFAS |
| Verkooprelaties | AFAS | Volgens expliciete matchingregels |
| Lever- en factuurstatus | AFAS | Naar WooCommerce |
| Trackinggegevens | AFAS, WMS of vervoerder | Naar WooCommerce |
Deze verdeling is een voorbeeld. Bepaal per gegeven één eigenaar om conflicterende updates te voorkomen.
Drie manieren om WooCommerce met AFAS te koppelen
1. Een financiële standaardkoppeling
Een bestaande plug-in of connector kan prima passen wanneer je vooral betaalde orders of financiële boekingen wilt doorzetten. Controleer de scope nauwkeurig. Een financiële koppeling verwerkt niet automatisch producten, voorraad, logistieke status, retouren of klantspecifieke prijzen.
2. Een bredere connector of integratieplatform
Een connector of iPaaS-oplossing kan meerdere gegevensstromen beheren en biedt vaak mapping, planning en foutmeldingen. Dit is interessant wanneer je proces binnen de ondersteunde mogelijkheden past en je niet ieder onderdeel zelf wilt onderhouden.
3. Een maatwerkintegratie
Maatwerk wordt relevant wanneer bedrijfsspecifieke regels, meerdere magazijnen, B2B-prijzen, samengestelde producten of andere systemen onderdeel van dezelfde orderstroom zijn.
Hoe werken de API’s samen?
WooCommerce biedt via de REST API v3 toegang tot onder andere orders, producten en klanten. Via webhooks kan WooCommerce een integratie informeren wanneer bijvoorbeeld een order, product of klant wordt aangemaakt of gewijzigd.
AFAS Profit gebruikt onder meer twee typen connectoren:
- GetConnectoren voor het ophalen van gegevens uit AFAS;
- UpdateConnectoren voor het toevoegen, wijzigen of verwijderen van gegevens, voor zover de betreffende connector dat ondersteunt.
Een AFAS App Connector bepaalt tot welke specifieke Get- en UpdateConnectoren de integratie toegang heeft. Authenticatie verloopt via een token dat aan die inrichting en autorisatie is gekoppeld. De officiële AFAS API-documentatie beschrijft de beschikbare routes en voorwaarden.
Niet ieder AFAS-onderdeel stuurt gebeurtenissen naar buiten. Bepaal welke gegevens je periodiek ophaalt en controleer op ontbrekende of afwijkende records.
Werk de belangrijkste gegevensstromen afzonderlijk uit
Producten, prijzen en voorraad
Gebruik een stabiele sleutel om hetzelfde artikel in beide systemen te herkennen, meestal een SKU of artikelcode. Beschrijf apart hoe variaties, samengestelde producten, staffelprijzen en tijdelijke aanbiedingen worden verwerkt.
Voor voorraad moet je bepalen wat de getoonde waarde betekent. Is dit fysieke voorraad, vrije voorraad of verkoopbare voorraad na reserveringen? Een technisch correct getal kan commercieel verkeerd zijn wanneer beide systemen een andere definitie gebruiken.
Klanten en verkooprelaties
Bepaal wanneer een WooCommerce-klant in AFAS een verkooprelatie wordt. Kijk niet alleen naar het e-mailadres. Zakelijke klanten kunnen meerdere contactpersonen, afleveradressen of bestellers hebben. Tegelijk wil je voorkomen dat iedere gastbestelling een dubbel klantrecord veroorzaakt.
Leg matchingregels vast voor bestaande relaties en stuur twijfelgevallen naar een controlelijst. Automatisch koppelen op onvoldoende betrouwbare kenmerken kan bestaande klantdata vervuilen.
Orders en betalingen
Vertaal expliciet artikelcodes, aantallen, eenheden, prijzen, kortingen, btw, adressen, verzendkosten, betaalwijze en betaalstatus.
Bepaal ook op welk moment de order naar AFAS gaat: direct na checkout, pas na succesvolle betaling of na een aanvullende controle. Het juiste moment hangt af van jouw verkoop- en fulfilmentproces.
Levering, factuur en retour
Een order eindigt niet nadat deze in AFAS is aangemaakt. Maak een aparte statusmapping voor levering, factuur en tracking. Een interne AFAS-status hoeft niet één op één overeen te komen met een begrijpelijke WooCommerce-status. Neem ook deelleveringen, annuleringen, creditnota’s en retouren mee.
Voorkom dubbele orders en stille uitval
Bewaar voor iedere verwerking een vaste unieke sleutel en zowel het WooCommerce-order-ID als de AFAS-identificatie. Controleer na een time-out eerst of AFAS de verkooporder al heeft aangemaakt voordat je opnieuw schrijft. Zo wordt een tijdelijke storing geen dubbele order.
Maak AFAS-specifieke problemen herkenbaar, zoals een onbekende artikelcode, een ontbrekend verplicht veld, een verlopen token of een niet-geactiveerde UpdateConnector. WooCommerce kan webhooks na herhaalde mislukte afleveringen uitschakelen; controleer daarom zowel de verwerkingswachtrij als de status van de webhooks.
Voer daarnaast periodiek een reconciliatie uit. Vergelijk bijvoorbeeld welke betaalde WooCommerce-orders een AFAS-identificatie hebben en welke AFAS-leveringen nog geen statusupdate in WooCommerce kregen. Een uitgebreider kader voor herhaalpogingen, foutclassificatie en herstel vind je in Webshop en ERP betrouwbaar koppelen.
Werkvoorbeeld: één order, twee controles
Onderstaand voorbeeld gebruikt fictieve nummers. Het laat zien welk bewijs je nodig hebt om een overdracht af te ronden. Een ontvangen webhook en een verwerkte AFAS-order zijn twee verschillende gebeurtenissen.
| Stap | Voorbeeld | Wat controleer je? |
|---|---|---|
| Order ontvangen | WooCommerce-order 1042 is betaald. | Leg winkel, order-ID en het afgesproken startmoment vast. Een tweede melding voor dezelfde order is geen nieuwe bestelling. |
| Gegevens controleren | Order 1042 bevat twee stuks van artikel DEMO-20. | Controleer de artikelmapping, aantallen, adressen en bedragen vóór je schrijft. Ontbreekt de mapping, laat dan eerst de bron of vertaling corrigeren. |
| Resultaat vastleggen | AFAS verwerkt de order als verkooporder 7801. | Bewaar de koppeling 1042 → 7801 en controleer het antwoord van de connector. Gebruik geen zelf verzonnen successtatus als bewijs. |
| Ontbrekend antwoord onderzoeken | De verbinding valt weg voordat het antwoord aankomt. | Zoek eerst via de afgesproken identificatie uit of AFAS al heeft verwerkt. Alleen opnieuw schrijven als duidelijk is dat je geen tweede order maakt. |
Controleer daarnaast de aanlevering zelf. In WooCommerce vind je webhookinstellingen onder WooCommerce → Instellingen → Geavanceerd → Webhooks en afleverlogs onder WooCommerce → Status → Logs. Een actieve webhook zegt niet dat iedere order correct in AFAS is verwerkt; vergelijk daarom ook de orders aan beide kanten.
De WooCommerce-documentatie over webhooks en logs en de AFAS-uitleg over connectoren en autorisatie beschrijven de technische uitgangspunten. Welke velden en controles nodig zijn, hangt af van je inrichting.
Wil je deze route laten inrichten? Op de pagina WooCommerce koppelen aan AFAS staan de gegevensstromen, implementatieaanpak en afspraken over herstel. De data-eigenaarsmatrix helpt je de bronafspraken voor te bereiden.
Test meer dan de ideale bestelling
Gebruik een WooCommerce-stagingomgeving en een AFAS test- of acceptomgeving. Test minimaal:
- een normale particuliere bestelling;
- een zakelijke klant met afwijkend afleveradres;
- een gastbestelling van een bestaande klant;
- korting, verzendkosten en een afwijkend btw-scenario;
- een onbekende SKU en een dubbele webhook;
- tijdelijke uitval van AFAS;
- gedeeltelijke levering;
- annulering na betaling;
- retour of credit;
- een orderwijziging nadat verwerking is gestart.
Controleer per scenario zowel WooCommerce als AFAS en kijk ook wat een medewerker en klant uiteindelijk zien.
Onderhoud hoort bij de koppeling
WooCommerce, plug-ins, AFAS-connectoren en interne processen veranderen. Leg daarom vast wie foutmeldingen ontvangt, wie mappings mag aanpassen, hoe tokens worden vernieuwd, welke controles draaien, hoe een mislukte order opnieuw wordt verwerkt en welke wijzigingen eerst op staging worden getest.
Wat bepaalt de kosten?
De kosten hangen af van het aantal gegevensstromen, uitzonderingen, ordervolume, beschikbare connectoren en gewenste monitoring. Een financiële eenrichtingskoppeling is minder complex dan tweerichtingssynchronisatie van assortiment, prijzen, voorraad, leveringen en retouren.