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.

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 = <geheim>

  • cXML.Request.PunchOutSetupRequest.BuyerCookie = <unieke waarde voor deze sessie>

  • 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: