B2B-integraties in Magento 2: Profiles, Mappings en synchronisatiebeheer in B2B Suite
Magento 2 koppelen aan ERP, PIM, WMS of CRM omvat meer dan gegevens naar een API sturen. Je moet vaststellen om welk bedrijf het gaat, ID’s koppelen, de uitkomst controleren en afgewezen berichten afhandelen. In B2B bepaalt dat of orders worden uitgevoerd, klanten correct worden herkend en afgesproken prijslijsten het juiste kanaal bereiken.
Integrations in Kowal B2B Suite verdeelt dit werk over vijf onderdelen: Profiles, Mappings, Sync Jobs, Dead Letter Queue en Sync Errors. Hieronder lees je hoe ze werken en hoe je ze dagelijks inzet.
De beschrijving volgt de implementatie die in november 2026 is gecontroleerd. De voorbeelden zijn illustratief en veronderstellen een adapter voor het betreffende systeem en de betreffende bewerking.
Wat levert Integrations en wat doet de adapter?
Integrations biedt gezamenlijke infrastructuur: profielconfiguratie, ID-koppelingen, een takenregister, pogingenbeheer, resultaten en foutgeschiedenis. Een adapter verzorgt de concrete ERP-, PIM-, WMS- of CRM-verbinding en kent de API en uitwisselingsregels van dat systeem.
De adapter bepaalt authenticatie, berichtformaten, veldtransformaties en uitvoering. Het profieltype ‘ERP’ beschrijft het doel; het installeert geen kant-en-klare koppeling met ieder ERP-pakket.
Een taak opslaan registreert eveneens alleen werk. Het formulier start geen terugkerend achtergrondproces. Verwerking en selectie van uitvoerbare taken moeten bij de implementatie worden aangesloten, bijvoorbeeld via een worker, planning of middleware die de beschikbare logica en API gebruikt.
Vijf schermen, vijf concrete vragen
| Scherm | Welke vraag beantwoordt het? | Toepassing |
|---|---|---|
| Profiles | Met welk systeem, kanaal en welke configuratie werken we? | ERP-profiel voor een website instellen |
| Mappings | Welk Magento-record hoort bij het externe record? | B2B-bedrijf aan ERP-klant koppelen |
| Sync Jobs | Wat moet gebeuren en wat is het huidige resultaat? | Orderexport of gegevensimport volgen |
| Dead Letter Queue | Welke taken hebben hun pogingen opgebruikt? | Werk waarvoor een medewerker moet ingrijpen |
| Sync Errors | Wat ging fout en bij welke taak? | Foutanalyse met profiel, website en pogingen |
De onderdelen beschrijven hetzelfde proces vanuit verschillende hoeken. Het profiel bepaalt de context, mappings verbinden records, een taak vertegenwoordigt een bewerking en de laatste twee schermen helpen fouten afhandelen.
Profiles: integratieconfiguratie voor de juiste website
Onder B2B > Integrations > Profiles maak en bewerk je integratieprofielen. Elk profiel hoort bij een Magento-website met actieve B2B. Zo scheid je bijvoorbeeld de configuratie van binnenlandse en exportkanalen als die aparte websites gebruiken.
Website is hier de organisatorische Magento-eenheid voor een verkoopkanaal. Meerdere taalweergaven binnen één website betekenen niet automatisch meerdere onafhankelijke integraties.
| Profielveld | Betekenis | Voorbeeld |
|---|---|---|
| Website | Verkoopkanaal van het profiel | Groothandelswebsite |
| Code en Name | Unieke code binnen de website en leesbare naam | erp_orders, ‘Orders naar ERP’ |
| System Type | Systeemtype: ERP, PIM, WMS of CRM | ERP |
| Adapter Code | Identificatie van de verbindingsadapter | Code afgesproken met de integrator |
| Direction | Import, Export of Bidirectional | Export om orders te versturen |
| Active | Profielactiviteit; nieuwe taken gebruiken actieve profielen | Actief na configuratie |
| Max Attempts | Standaardlimiet voor uitvoerpogingen | 3 pogingen |
| Config JSON | Configuratie die de adapter interpreteert | Omgevingsinstellingen en verwijzing naar toegangsgegevens |
Config JSON heeft geen universele velden voor alle integraties. De adapter interpreteert de sleutels. Het formulier controleert JSON-syntaxis, maar vervangt geen verbindingstest. Verwijs voor toegangsgegevens naar veilige configuratie volgens de adaptervereisten.
De integrator gebruikt zo een benoemd profiel in plaats van ERP-instellingen over losse scripts te verspreiden. De medewerker ziet welk systeem en welke uitwisselingsrichting het proces bedient.
Mappings: Magento-ID’s en externe ID’s verbinden
Hetzelfde bedrijf kan ID 42 in B2B Suite en code ERP-C-0084 in ERP hebben. Een mens herkent één klant; de integratie heeft een expliciete koppeling nodig om het juiste record te lezen of bij te werken.
Mappings bewaart website, systeemtype, entiteitstype, lokale ID, externe ID en optionele JSON-metadata. De interface ondersteunt onder meer bedrijven, klanten, producten, categorieën, prijslijsten, orders, RFQ’s en documenten.
| Entiteitstype | Local ID | External ID | Betekenis |
|---|---|---|---|
| Company | 42 | ERP-C-0084 | B2B-bedrijf hoort bij een ERP-klantrecord |
| Price List | 7 | ERP-PRICELIST-DEALERS | Magento-prijslijst hoort bij commerciële voorwaarden |
| Order | 12345 | ERP-SO-92018 | Order heeft een gekoppeld ERP-document |
De tabelwaarden zijn voorbeelden. De adapter bepaalt hoe een lokale ID per entiteit wordt weergegeven. Koppelingen zijn zowel op lokale als externe ID op te zoeken.
Mappings koppelt recordidentiteiten en is geen visuele editor voor veldtransformaties. Een regel zoals ‘ERP-klantnaam gaat naar Magento-veld company’ hoort bij de adapter. Een koppeling opslaan haalt op zichzelf geen gegevens op en synchroniseert niets.
De context bestaat uit website, systeemtype en entiteitstype en hoort niet uitsluitend bij één profiel. Bij meerdere gelijksoortige verbindingen binnen één website moet de integrator consistente recordidentificatie plannen. De database bewaakt binnen die context unieke lokale én externe ID’s.
Sync Jobs: werk en synchronisatieverloop volgen
Een Sync Job vertegenwoordigt een bewerking, bijvoorbeeld één order naar ERP sturen. In Schedule Sync Job kies je een actief profiel, entiteitstype en bewerking. Je kunt richting, JSON-invoer, idempotentiesleutel, pogingenlimiet en gepland tijdstip opgeven. Zonder overschrijving geldt de profielrichting.
De adapter moet het entiteitstype en de bewerkingsnaam begrijpen. export_order kan onderdeel zijn van de afgesproken oplossing, maar alleen die naam invoeren bouwt geen exportfunctie.
View toont samenvatting, invoer, adapterresultaat, logs en fouten. Je controleert website, profiel, richting, entiteit, bewerking, pogingen, idempotentiesleutel en de tijdstippen van planning, start en einde.
| Status | Betekenis binnen het mechanisme |
|---|---|
pending | Taak opgeslagen en wacht op verwerking |
running | Uitvoerpoging begonnen en teller verhoogd |
success | Adapter beëindigd zonder uitzondering en resultaat opgeslagen |
failed | Adapter mislukt, maar pogingenlimiet nog niet bereikt |
retry | Bestaande taak opnieuw ingepland |
dead | Mislukte poging bereikte de limiet; taak staat in Dead Letter Queue |
Interpreteer success volgens het contract van de adapter. Als de externe API alleen berichten aanneemt voor latere verwerking, spreek dan af of het resultaat ontvangst of een bevestigde bedrijfsuitkomst betekent.
Het geplande tijdstip is informatie voor de worker. Een datum instellen vervangt niet het uitvoerproces of de regels waarmee dat proces gereedstaande taken selecteert.
Idempotentie: dubbele taken beperken
Na een verbroken verbinding kan middleware dezelfde bewerking opnieuw indienen. Een idempotentiesleutel herkent een bestaande taak. Dezelfde sleutel binnen dezelfde website retourneert het bestaande record in plaats van een nieuw record te maken.
De sleutel moet een specifieke bedrijfsbewerking identificeren, bijvoorbeeld de export van een bepaalde orderversie. Hij geldt websitebreed; neem daarom herkenbare systeem- en bewerkingscontext op. Een oude sleutel hergebruiken werkt de invoer van een bestaande taak niet bij.
Dit voorkomt dubbele taakregistratie. Dubbele gevolgen in ERP, zoals een tweede document na een onzekere verbindingsuitkomst, moeten ook door de adapter en de externe API worden afgevangen.
Dead Letter Queue: taken waarvoor een beslissing nodig is
Dead Letter Queue toont taken met status dead. Het is een weergave van dezelfde records, geen tweede kopie van berichten. Ze scheidt bewerkingen af die niet binnen het toegestane aantal pogingen lukten.
Bij maximaal drie pogingen zet de derde mislukte adapteruitvoering de taak op dead. Dat betekent niet dat de module automatisch drie pogingen achter elkaar start. Verdere uitvoeringen en wachttijden volgen uit het geïmplementeerde proces voor verwerking en retries.
De medewerker opent de taak, onderzoekt de fout en herstelt bijvoorbeeld een ontbrekende klantkoppeling of verbindingsconfiguratie. Daarna kan Retry Job worden gebruikt.
Opnieuw proberen is beschikbaar voor failed en dead. Er ontstaat geen nieuwe taak en de pogingengeschiedenis wordt niet gewist. De actie stelt retry en het huidige plantijdstip in en wist de vorige start- en eindtijd. Bij een bereikte limiet wordt nog één poging toegestaan. Pas de volgende verwerking voert de adapter uit.
Sync Errors: foutgeschiedenis met taakcontext
Sync Errors toont fouten uit adapteruitvoering: code, bericht, tijdstip en mogelijkheid tot opnieuw proberen. De lijst koppelt die aan de actuele taak-, profiel- en websitecontext. Dat onderscheidt een klantprobleem van een algemene verbindingsstoring.
Taakdetails bevatten bijbehorende fouten en technische logs, bijvoorbeeld voor start, einde en opnieuw plannen. Foutgegevens bewaren ook een technische trace voor de integrator.
Eén taak kan meerdere foutregistraties uit opeenvolgende pogingen hebben. Het aantal fouten is dus niet het aantal openstaande bewerkingen. Een later geslaagde taak kan eerdere fouten in de geschiedenis houden.
Retryable hangt hier af van de resterende pogingen op het moment van de fout. Het bepaalt niet automatisch of de oorzaak tijdelijk is. Een verkeerde ID wordt niet vanzelf goed door opnieuw proberen, ook als er nog een poging mogelijk is.
Het belangrijkste verschil: Sync Errors helpt oorzaken analyseren; Dead Letter Queue toont taken met opgebruikte pogingen.
Scenario 1: een B2B-bedrijf aan een ERP-klant koppelen
Bedrijf Alfa heeft een Magento-account en al een klantrecord in ERP. Het team wil geen dubbele klant aanmaken.
- De integrator bereidt de ERP-adapter en het profiel voor de juiste website voor.
- Mappings koppelt bedrijf
42aanERP-C-0084. - De adaptertaak gebruikt de koppeling voor het bestaande record.
- De medewerker controleert resultaat en geretourneerde ID’s in Sync Jobs.
Het voordeel is een consistente klantidentiteit. Welke velden worden bijgewerkt en welk systeem leidend is, valt onder de afgesproken integratiescope.
Scenario 2: B2B-order bereikt ERP na een storing
Een klant bestelt en het geïmplementeerde mechanisme maakt een exporttaak. ERP is tijdelijk onbereikbaar. De adapter mislukt, de fout wordt opgeslagen en de taak krijgt failed of, na alle pogingen, dead.
Na herstel controleert de medewerker de vorige uitkomst in ERP en plant Retry voor dezelfde taak. De adapter hoort bestaande documenten te herkennen, zodat geen duplicaat ontstaat als het eerdere verzoek ondanks een verloren antwoord was geaccepteerd.
Bij succes kan het resultaat de ERP-document-ID bevatten en kan de adapter een mapping opslaan. De inhoud en het moment van koppelen hangen van de implementatie af.
Scenario 3: een prijslijst voor het juiste B2B-kanaal bijwerken
ERP is de bron van afgesproken voorwaarden. Het groothandelskanaal heeft een importprofiel en een mapping van prijslijst 7 naar ERP-PRICELIST-DEALERS.
De adapter leest ERP-gegevens, controleert SKU’s, valuta en staffels en slaat op volgens de Pricing-regels. Sync Job volgt de bewerking; het resultaat kan aantallen verwerkte regels samenvatten. Bij fouten zijn taakcontext en melding beschikbaar.
Integrations beheert de voortgang; Pricing bepaalt de prijsselectie. Meer daarover in B2B-prijslijsten en Price List in Magento 2. Validatie, gedeeltelijke wijzigingen en indexupdates moeten in de adapter worden vastgelegd.
Scenario 4: een terugkerende fout vereist gegevenscorrectie
Het magazijnsysteem weigert een bewerking omdat het een product niet herkent. Opnieuw proberen helpt niet. De taak bereikt de limiet en verschijnt in Dead Letter Queue.
De medewerker opent View Job, leest de melding en controleert ID’s. Ontbreekt een koppeling, dan wordt Mappings gecorrigeerd. Na herstel kiest de medewerker Retry Job en controleert het volgende resultaat.
Dit laat zien waarom zowel mappings als foutgeschiedenis nodig zijn. De wachtrij maakt hervatten mogelijk; de diagnose toont wat vóór een nieuwe poging moet worden hersteld.
Integrations stap voor stap invoeren
- Kies het eerste proces. Begin bijvoorbeeld met orderexport in plaats van alles tegelijk aan te sluiten.
- Bepaal gegevensbronnen. Leg vast welk systeem klant, prijslijst of afhandelingsstatus beheert en hoe conflicten worden opgelost.
- Bereid adapter en worker voor. Definieer bewerkingen, formaten, authenticatie, uitvoering en retryregels.
- Configureer Profiles en Mappings. Controleer website, richting en ID’s aan de hand van echte gevallen.
- Test succes en fouten. Denk aan onbereikbare API’s, verkeerde gegevens, herhaalde indiening en opgebruikte pogingen.
- Controleer de bedrijfsuitkomst. Bevestig naast taakstatus ook het juiste doelrecord.
- Wijs beheerverantwoordelijkheid toe. Bepaal wie Sync Errors en Dead Letter Queue volgt en gegevens of verbindingen herstelt.
Zo beoordeel je correct verwerkte bewerkingen en oplostijd, in plaats van alleen het bestaan van een API-koppeling.
Veelgestelde vragen over Integrations in B2B Suite
Geeft een ERP-profiel een kant-en-klare koppeling met elk ERP?
Nee. Het bewaart context en configuratie. Een adapter voor de API en afgesproken processen verzorgt de communicatie.
Koppelt Mappings importvelden?
Dit scherm verbindt lokale en externe record-ID’s. Veldtransformaties en gegevensformaten zijn de verantwoordelijkheid van de adapter.
Verstuurt Retry direct gegevens?
Nee. Het plant de bestaande taak opnieuw. Versturen of ophalen gebeurt bij de volgende uitvoering door het aangesloten proces.
Wat is het verschil tussen Dead Letter Queue en Sync Errors?
Dead Letter Queue toont dead-taken; Sync Errors toont opgeslagen fouten met taakcontext. Ook later geslaagde bewerkingen kunnen fouten in hun geschiedenis houden.
Probeert de module automatisch om de paar minuten opnieuw?
Het mechanisme bewaart tijdstippen, statussen en tellers en ondersteunt retries. Planning, wachttijden en automatische selectie van nieuwe pogingen moeten in de uitvoeringsoplossing worden ingesteld.
Kan de integratie via een API worden beheerd?
De B2B Suite-API ondersteunt profielen, mappings, taken publiceren, verwerken en opnieuw proberen, plus taken, logs en fouten lezen. Daarvoor zijn integratierechten en waar nodig websitecontext vereist.
B2B-integratie waar je team grip op heeft
Profiles ordent configuratie, Mappings recordidentiteit, Sync Jobs voortgang en Dead Letter Queue en Sync Errors foutafhandeling. Samen vormen ze een uitbreidbare basis voor Magento 2-koppelingen met passende adapters.
Bekijk Kowal B2B Suite voor Magento 2 Open Source of vertel welk proces je aan ERP, PIM, WMS of CRM wilt koppelen. Begin met het systeem, de richting en één bewerking die nu handwerk vraagt.
Lees ook: handmatige B2B-verkoopverwerking verminderen en de kosten van handmatige B2B-orderverwerking.