.. _modules-inkoopsysteem: Koppeling inkoopsysteem ########################### | Datum: 2022-03-22 | Versie: 0.3 Sommige organisaties maken gebruik van inkoopsystemen. Ecmanage kan samen werken met deze systemen als de validatie logica van Ecmanage actief blijft en de winkelwagen van Ecmanage gebruikt wordt op basis van een individuele login van een besteller. Er zijn twee modellen die we ondersteunen, een OCI variant en een cXML variant. Opbouw integratie Inkoopsystemen ================================ In het onderstaande schema is weer gegeven hoe de samenwerken kan zijn tussen Inkoopsysteem, Ecmanage en ERP systeem. .. image:: ecmanage_oci.png :width: 100 % :alt: ecmanage oci integratie inkoopsystemen. De integratie tussen Ecmanage en inkoopsystemen via OCI kan ook werken in een single sign on inrichting. Op deze wijze wordt een besteller direct herkend door Ecmanage zonder apart te hoeven in te loggen. In de cXML variant wordt het inloggen opgelost door middel van een extrinsic en een shared secret. Template gestuurde winkelwagen OCI ================================== Bij de configuratie van de inkoopsysteem koppeling in Ecmanage kan er door middel van een template een mapping gemaakt worden van de Ecmanage order gegevens naar uw inkoop systeem. Een voorbeeld: +---+----------------------------+--------------------------------+--------------------+ | | OCI Field | Value | Toelichting | +===+============================+================================+====================+ | 1 | NEW_ITEM-VENDORMAT[1] | 58561_6200-34 | assortimentid | +---+----------------------------+--------------------------------+--------------------+ | 2 | NEW_ITEM-DESCRIPTION[1] | Dames Uniform broek Zwart | | +---+----------------------------+--------------------------------+--------------------+ | 3 | NEW_ITEM-MATGROUP[1] | BROEK | productgroep | +---+----------------------------+--------------------------------+--------------------+ | 4 | NEW_ITEM-QUANTITY[1] | 1 | | +---+----------------------------+--------------------------------+--------------------+ | 5 | NEW_ITEM-UNIT[1] | STUK | | +---+----------------------------+--------------------------------+--------------------+ | 6 | NEW_ITEM-CURRENCY[1] | EUR | | +---+----------------------------+--------------------------------+--------------------+ | 7 | NEW_ITEM-PRICE[1] | 36.55 | | +---+----------------------------+--------------------------------+--------------------+ | 8 | NEW_ITEM-CUST-FIELD1[1] | 21 | BTW | +---+----------------------------+--------------------------------+--------------------+ | 9 | NEW_ITEM-CUST-FIELD3[1] | CUSTDEMO215559 | ordercode ecmanage | +---+----------------------------+--------------------------------+--------------------+ cXML order flow =================== De verwerking start als Ecmanage een PunchOutSetupRequest CXML bericht ontvangt van het inkoopsysteem via een POST op een https url van de bestelomgeving in ecmanage. In dat bericht verwachten wij bijvoorbeeld de volgende data: - cXML.Header.From.Credential.Identity = KLANT - cXML.Header.To.Credential.Identity = LEVERANCIER - cXML.Header.Sender.Credential.SharedSecret = - cXML.Request.PunchOutSetupRequest.BuyerCookie = - cXML.Request.PunchOutSetupRequest.BrowserFormPost.URL = valide url voor post - cXML.Request.PunchOutSetupRequest.Extrinsic[name="User"] = Unieke gebruikernaam die bekend is in Ecmanage. Als alles valide is dan wordt er een PunchOutSetupResponse cXML bericht gestuurd met de juiste StartPage. Die pagina is maar een aantal uur geldig. Met de StartPage kan een gebruiker een bestelling starten. Aan het eind wordt de winkelwagen teruggestuurd met een PunchOutOrderMessage. In dat bericht staat het Ecmanage ordernummer veld in cXML.payloadID. Dat is de unieke identificatie van een order in Ecmanage. Terugmelden goedkeuring inkooporder ==================================== Voor het terugmelden van een inkoop order die goedgekeurd is kan er gebruik worden gemaakt van een https POST bericht met een cXML payload. In dat cXML bericht staat een verwijzing naar het Ecmanage ordernummer en het inkoop ordernummer. +------------------------------------------------+--------------------------------+ | Veld | Waarde | +================================================+================================+ | OrderRequestHeader.SupplierOrderInfo[orderID] | Ecmanage ordernummer | +------------------------------------------------+--------------------------------+ | OrderRequestHeader[orderID] | Inkoopsysteem ordernummer | +------------------------------------------------+--------------------------------+ Voorbeeld Inkoopsystemen ======================== Een aantal voorbeeld integraties op basis van OCI en cXML: - Proactis / Esize - Afas inkoop via OCI - Jaggaer procurement - Oracle purchasing - Proactive - https://www.opuscapita.com/solutions/source-to-pay/eprocurement