Naar de inhoud
SyncMyShop

OCI en PunchOut

OCI koppeling Spend Cloud

Spend Cloud heet sinds 1 oktober 2026 Elari. De koppeling werkt zoals voorheen: je klant opent jouw webshop vanuit de inkoopmodule, de winkelmand gaat via OCI terug, en na goedkeuring komt de order als cXML, XML of pdf bij jou binnen. Hier staat wat Elari van je webshop vraagt, veld voor veld.

Wat er tussen je webshop en Elari gaat

Elari is de inkoop- en declaratiesoftware die tot 1 oktober 2026 Spend Cloud heette, gemaakt door Visma | ProActive, dat sinds die datum ook Elari heet. Het bedrijf noemt op zijn site meer dan 1.200 organisaties, vooral in zorg, onderwijs en non-profit, en meer dan 320 OCI-koppelingen met leveranciers. De software, de koppelingen en de documentatie voor leveranciers zijn hetzelfde gebleven.

De koppeling heeft twee helften. De sessie en de winkelmand lopen via OCI, het protocol van SAP. De order komt na goedkeuring apart, en daarvoor kiest de leverancier de route. Elari schrijft dat de koppeling is gebouwd op de OCI-documentatie van SAP en verwijst leveranciers naar versie 4.0 daarvan. Wat Elari daarbovenop vraagt, staat in de technische documentatie OCI-koppeling in het helpcentrum.

Stap Richting Wat er gaat Formaat
Inlog Elari naar webshop Gebruikersnaam, wachtwoord, HOOK_URL URL met parameters
Winkelmand Webshop naar Elari Regels met artikel, aantal, eenheid, prijs, btw NEW_ITEM-velden in een formulier
Goedkeuring Bij de klant Kostenplaats, procuratieflow Niets naar jou
Order Elari naar jou De goedgekeurde order met afleveradres cXML via HTTPS, XML via SFTP, of pdf en cXML per e-mail
Van inlog in Elari tot order in het ERP van de leverancier Elari opent de webshop met een inlog-URL met USERNAME, PASSWORD en HOOK_URL. De koppeling bewaart hash en supplier_id uit HOOK_URL. De winkelmand van 3 regels, 521,71 euro exclusief btw, gaat als 18 NEW_ITEM-velden terug. Na goedkeuring in de procuratieflow post Elari een cXML-order via HTTPS, de koppeling antwoordt met 200 en zet de order van 631,27 euro inclusief btw in het ERP. Elari ex Spend Cloud Koppeling en je webshop ERP van jou GET inlog-URL: USERNAME, PASSWORD, HOOK_URL hash, supplier_id bewaard De inkoper vult de winkelmand: 3 regels, 521,71 exclusief btw. POST naar HOOK_URL: 18 NEW_ITEM-velden goedkeuring in de procuratieflow cXML-order via HTTPS, vanaf 35.204.242.219 200 OK verkooporder, 631,27 inclusief btw Tussen de overdracht en de order kan de klant in Elari aantallen wijzigen en regels verwijderen. De koppeling verwerkt de order zoals hij binnenkomt, niet de bewaarde winkelmand.
Een bestelling uit Elari. De order komt na de goedkeuring binnen en kan afwijken van de winkelmand.

Welk systeem is leidend, per gegeven

Gegeven Leidend Waar het vandaan komt
Assortiment en prijzen Jouw webshop en ERP De sessie toont de prijzen van het account waarmee Elari inlogt
Btw-percentage per regel Jouw webshop NEW_ITEM-VATPERCENTAGE, verplicht bij Elari
Aantallen in de order Elari De klant kan na de overdracht wijzigen en regels verwijderen
Afleveradres en locatiecode Elari Ingericht door de beheerder bij de klant, per adres
Grootboek en kostenplaats Elari Vertaald uit een artikelgroep die jij meestuurt
Gewenste leverdatum Elari Standaard morgen; per leverancier op te hogen met het veld Levertijd

Twee regels volgen hieruit. De prijs die je in de sessie toont, is de prijs die de klant goedkeurt, dus de prijslijst per klant moet in de webshop kloppen voor de inlog begint. En de order die terugkomt, is leidend boven de winkelmand die je bewaarde. Elari wil daarom dat het orderbestand de volledige order bevat en niet alleen een verwijzing naar een opgeslagen winkelmand: tijdens de goedkeuring kunnen aantallen veranderen en regels verdwijnen.

De inlog: één URL met parameters

Elari roept je webshop aan met een URL waarin de inloggegevens als variabelen staan. Het voorbeeld uit de documentatie heeft deze vorm:

https://webshop.example.nl/oci/login?USERNAME=$username&PASSWORD=$password
  &OCI_VERSION=3.0&HOOK_URL=$hook_url

Elari vult $username en $password met de gegevens die jij aan de klant hebt gegeven en codeert speciale tekens. Een gebruikersnaam inkoop@bakker.example komt binnen als inkoop%40bakker.example. De webshop decodeert dat; Elari raadt aan speciale tekens te vermijden. Omdat de methode GET is, staan gebruikersnaam en wachtwoord in de URL en dus in de toegangslogs van je server. Een eigen OCI-account per klant, los van de accounts waarmee mensen gewoon inloggen, houdt dat beperkt.

Het retouradres HOOK_URL bevat zelf vier parameters:

Parameter Altijd aanwezig Waarvoor
hash Ja Elari controleert ermee dat de winkelmand bij een eigen sessie hoort
supplier_id Ja Van welke leverancier de winkelmand komt
administration_id Alleen bij een account per administratie Welk bedrijf van de klant bestelt
delivery_address_id Alleen bij een account per afleveradres Vanaf welke locatie besteld wordt

De webshop bewaart het hele adres bij de sessie en stuurt de winkelmand er ongewijzigd naartoe. Een webshop die HOOK_URL inkort of opnieuw opbouwt, verliest de hash, en dan kan Elari de winkelmand niet aan de sessie van de klant koppelen.

Elari kent vier manieren om OCI-accounts in te richten: één account voor de hele omgeving, een account per administratie, een account per afleveradres, of per combinatie van die twee. De eerste is volgens Elari het meest gebruikt. Bij de derde en vierde krijgt elke locatie van de klant een eigen account bij jou, met een eigen assortiment, bestellijsten of bestelhistorie, en moet elke nieuwe locatie ook aan jouw kant worden aangemaakt.

De winkelmand: de velden die Elari leest

Elari leest acht NEW_ITEM-velden standaard:

Veld In Elari Verplicht
NEW_ITEM-DESCRIPTION Artikelnaam Ja
NEW_ITEM-VENDORMAT Artikelnummer Ja
NEW_ITEM-QUANTITY Aantal Ja
NEW_ITEM-UNIT Eenheid Ja
NEW_ITEM-VATPERCENTAGE Btw Ja
NEW_ITEM-PRICE Prijs exclusief btw Ja
NEW_ITEM-CURRENCY Valuta Alleen als de klant meerdere valuta gebruikt
NEW_ITEM-PRICEUNIT Prijs per eenheid Alleen als de prijsberekening per eenheid is ingesteld

NEW_ITEM-VATPERCENTAGE staat niet in de specificatie van SAP. Het is een veld dat Elari en AFAS allebei lezen; Elari kan het percentage ook uit een vrij veld zoals NEW_ITEM-CUST_FIELD1 halen als dat met de klant is afgesproken. De waarde is een getal zonder procentteken: 21 of 21.00.

De winkelmand van Bakker Installatie B.V. heeft drie regels. Elk heeft de zes verplichte velden, dus het formulier telt 3 × 6 = 18 velden. De kabelbinders gaan per zak van 100, zodat er geen prijseenheid nodig is:

Regel QUANTITY × PRICE Exclusief btw Btw bij VATPERCENTAGE 21
Wandcontactdoos, 10482 12 × 17.08 204,96 43,04
Groepenkast, 20915 2 × 149.00 298,00 62,58
Kabelbinder, zak 100, 30377 5 × 3.75 18,75 3,94

Exclusief btw is dat 204,96 + 298,00 + 18,75 = 521,71. De btw is 43,04 + 62,58 + 3,94 = 109,56, samen 631,27. Rekent de webshop btw over het totaal in plaats van per regel, dan komt hij hier op hetzelfde bedrag uit, 21% van 521,71 = 109,56. Bij een andere mand kan dat een cent schelen tegen de som per regel.

Elari noemt nog vier punten die beide kanten moeten testen. Verzendkosten gaan als een extra artikelregel mee, met alle verplichte velden. Artikelen op gewicht krijgen hun gewicht in een vrij veld zoals NEW_ITEM-CUST_FIELD1. Een artikelgroep of boekhoudcode, bijvoorbeeld een UNSPSC- of NZI-code in NEW_ITEM-MATGROUP, laat de klant de regel automatisch naar een grootboekrekening vertalen. En alles wat je in de winkelmand meestuurt, kan Elari in de cXML-order aan je teruggeven.

De order na goedkeuring

Na goedkeuring biedt Elari de order aan op een van drie manieren. Welke het wordt, spreekt de klant met jou af:

Route Wat je ontvangt Afzender
E-mail naar één vast adres Pdf, cXML-bestand of beide noreply@elari.nl, voorheen noreply@spend.cloud
HTTPS naar jouw server Een XML-bericht, bij voorkeur cXML IP-adres 35.204.242.219
SFTP Een XML-bestand IP-adres 35.204.242.219

Het orderadres is een ander adres dan de inlog-URL. In het voorbeeld van Elari heeft de cXML-order een orderID zoals I.01.20.0001, een ShipTo met het afleveradres, een Contact met rol endUser en het e-mailadres van de besteller, een Extrinsic met de kostenplaats en per regel een ItemOut met SupplierPartID, UnitPrice, Description en UnitOfMeasure. Elari stelt de tags per leverancier in, zodat de order de velden bevat die jouw orderverwerking nodig heeft.

Een orderbericht via e-mail moet iemand overtypen, en het inkoopordernummer moet daarbij mee naar de factuur, anders lukt de factuurcontrole bij de klant niet. Elari gebruikt het veld Relatie bij de leverancier om facturen aan orders te matchen. De route via HTTPS zet de order zonder overtypen in je orderstroom, met het orderID van Elari als referentie.

Als het misgaat

Elari documenteert de foutmeldingen die een klant ziet als een order niet bij de leverancier aankomt. Ze komen allemaal bij jou terecht:

Melding of situatie in Elari Oorzaak Wat er aan jouw kant moet gebeuren
"Het attribuut addressID van veld adres is niet gevuld. Locatiecode is verplicht" Je orderverwerking vraagt een locatiecode die de klant voor dat adres nog niet heeft ingevuld De code per afleveradres aan de klant geven
Order geweigerd: Elari niet bevoegd voor de locatie Je server wijst de order af op account of locatie Rechten van het OCI-account nalopen
Order krijgt status "Te bestellen" Je server weigerde de order; het foutverslag staat bij de order Het foutverslag lezen en de oorzaak in de orderverwerking oplossen
Inloggen in de webshop mislukt Verkeerde inloggegevens, of het account is geen zakelijk account Account controleren en opnieuw aan de klant geven
Koppeling werkt niet meer na 1 oktober 2026 Retouradres of afzender gecontroleerd tegen spend.cloud elari.app en noreply@elari.nl toevoegen

Bij elke order kan de klant in Elari onder Plaatsingdetails drie bestanden downloaden: de winkelmand zoals jouw webshop hem stuurde (<ordernummer>_create_order.json), de order zoals Elari hem naar jou stuurde (<ordernummer>_(c)xml_order.json), en jouw antwoord (<ordernummer>_response.json, met bijvoorbeeld http code 200 - ok). Die drie zijn het eerste wat je vraagt als een klant belt. Een koppeling die zelf elke inlog, elke winkelmand en elke ontvangen order logt, heeft ze al.

Aansluiten en wat wij bouwen

Voor de eerste klant vraagt Elari van jou de URL van de webshop, inloggegevens voor een testaccount, het e-mailadres of de URL voor testorders en een voorbeeld-XML met verschillende artikelen, ook artikelen op gewicht als je die verkoopt. Na een geslaagde test geef je de productiegegevens en komt je webshop op de lijst van beschikbare webshops in Elari. Elke volgende klant vraagt de koppeling daar aan.

Wij bouwen de inlog-URL, de sessie met de prijzen van die klant, de overdracht met de velden die Elari leest en het adres dat de cXML-order aanneemt en in je ERP zet. Daarna draaien en bewaken we de koppeling: een geweigerde inlog of een order die niet verwerkt kon worden, staat in het dashboard voor de klant belt. Dezelfde opbouw werkt voor AFAS en voor de inkoopsystemen op OCI en PunchOut; de berichten na de order staan op PunchOut koppeling. Vertel welke klant om de koppeling vraagt en op welk platform je webshop draait.

Veelgestelde vragen

Moet ik iets aanpassen nu Spend Cloud Elari heet?

Elari schrijft dat bestaande koppelingen blijven werken. Wat verandert: de omgevingen van klanten draaien op [omgevingsnaam].elari.app in plaats van spend.cloud, en orders per e-mail komen van noreply@elari.nl in plaats van noreply@spend.cloud. Controleert je webshop het retouradres of de afzender tegen een vaste lijst, dan moeten de nieuwe namen erbij.

Kan ik met één koppeling alle klanten met Elari bedienen?

Ja. Na de eerste werkende koppeling zet Elari je op de lijst van beschikbare webshops. Een volgende klant vraagt de koppeling daar aan en hoeft alleen eigen inloggegevens, en waar nodig klantnummers of locatiecodes, van jou te krijgen. De velden en de orderroute zijn voor elke klant dezelfde.

Leest Elari prijzen inclusief of exclusief btw?

Bij voorkeur exclusief. Elari schrijft dat 99 procent van de leveranciers exclusief btw aanlevert en adviseert klanten de instelling voor OCI-bedragen inclusief btw op nee te zetten. Het btw-percentage stuur je per regel mee in NEW_ITEM-VATPERCENTAGE, als 21 of 21.00.

Hoe test je een koppeling met Elari?

Elari vraagt de URL van je webshop, een testaccount en het adres waarop een testorder mag binnenkomen, met een voorbeeld-XML met verschillende artikelen. Daarna volgt een testronde waarbij jij controleert of de order goed is aangekomen en alle velden gevuld zijn. Pas daarna komen de productiegegevens.

Kan een klant per locatie een eigen assortiment krijgen?

Ja, met een OCI-account per afleveradres. Elari stuurt het afleveradres mee in de order en bij leveranciers die erom vragen een locatiecode per adres. Elari waarschuwt klanten dat die variant meer beheer kost: elke nieuwe locatie moet ook bij jou worden ingericht.

Vertel wat je nodig hebt

Vertel welke systemen je gebruikt en wat je wilt verbeteren. Je krijgt binnen één werkdag een persoonlijk antwoord. We helpen je de werkzaamheden helder te krijgen en spreken de prijs en planning af voordat je iets toezegt.

  • Je weet de prijs en de doorlooptijd voordat je iets toezegt
  • Wij zoeken uit welke koppeling het werk uit handen neemt
  • Wij verzorgen de bouw, hosting, bewaking en het onderhoud
  • Je team krijgt minder overtypwerk en minder uitzoekwerk

Leveranciers, producten, orders per dag, een ruwe schatting is prima.

Of mail direct: carsten@syncmyshop.com