Conversie van orders naar ERP systemen

Datum: 2018-11-30
Versie: 1.0

In de handleiding Ophalen orders staat beschreven dat de bestellingen automatisch door de leverancier opgehaald kunnen worden.

Een opgehaalde bestelling wordt dan aangeleverd in het Ecmanage xml order formaat.

Ecmanage heeft voor een aantal ERP systemen enkele standaard koppelingen klaar liggen nl voor:

Afhankelijk van de koppeling wordt het ecmanage order xml vertaald naar een voor ERP benodigde order formaat, deze kan vervolgens via een webservice en of Soap interface geupload worden naar en of aangemaakt worden in het ERP systeem.

Exact Online

De Exact Online koppeling verwerkt Ecmanage orders naar ExactOnline. Hierbij wordt gebruik gemaakt van de ExactOnline api’s.

Configuratie

Naast de gebruikerlijke instellingen zoals mappen structuur email server etc; moeten de volgende items geconfigureerd in het config bestand zijn:

De ClientId, Clientsecret en Webhook secret zijn gegevens die vergaard worden na registratie van de koppeling bij exact online ( site per land).

EXACT_RefreshToken

Als de ClientId en Clientsecret correct zijn, dan kan via de koppeling een helperfunctie aangeroepen worden om samen met de klant het inlogtoken te verkrijgen. Deze aan te roepen via Powershell: EcmanageExactOnline.exe register Hierdoor wordt het inlogscherm geopend en kan de klant inloggen. Onder water wordt vervolgens in het config bestand het token weggeschreven in EXACT_RefreshToken. Deze waarde zal door de koppeling gebruikt worden om in te loggen.

Division

Iedere klant heeft een bepaalde administratie of Division code. Deze is via een helperfunctie van de koppeling op te vragen. Deze aan te roepen via Powershell: EcmanageExactOnline.exe divisions Deze waarde moet geplaatst worden in het config item Division.

Werking

Bij het verwerken van een order worden de volgende stappen doorlopen:

  1. Controle administratie/division code (config bestand)

Eerst wordt gekeken of de ingevoerde administratie/division code aanwezig is.

  1. Controle klant/Debtor (order bestand)

Aan de hand van de debtor code (reference code/projectcode) wordt gekeken of er een klant in exactonline te vinden is met deze code. Indien niet aanwezig dan treedt een fout op.

  1. Controle WAREHOUSECODE/ magazijn (config bestand)

Indien config item WAREHOUSECODE een waarde bevatdan wordt gecontroleerd of deze aanwezig is in exact online. Indien niet aanwezig dan treedt een fout op.

  1. controle BULKVOORRAAD(order bestand)

Bulkvoorraad order mogen niet naar ERP

Per order detail regel

  1. orderdetail regel met aantal 0 worden niet verwerkt

6. controle INCLUDE_ORDERCOSTS (config bestand) Indien deze setting waarde true bevat dan mogen de orderkosten als Item toegevoegd worden naar ExactOnline.

  1. controle productassortmentsupplierid (order bestand)

Met het productassortmentsupplierid wordt gecontroleerd of item/artikel met deze code aanwezig is in ExactOnline. Zo niet, dan treedt een fout op.

8. controle of product/artikel actief is Zo niet, dan treedt een fout op.

voor iedere productattribute tbv aanmaak extra productkenmerk (als extra orderregel in ERP)

9. controle of de omschrijving overeenkomt met “EXTRA ORDERREGEL” en de value een waarde bevat. dan wordt gecontroleerd aan de hand van productattribute.externid of deze aanwezig is in ERP.

Als deze aanwezig is, dan wordt gecontroleerd of deze actief id. Zo niet dan wordt deze regel overgeslagen.

10. Controle of drager of afdeling (bulk)bekend is (order bestand) Als config ALLOW_CREATE_CONTACT is true dan wordt gekeken of Contact aanwezig is in ExactOnline. Zo niet dan wordt Contact aangemaakt. De gekoppelde adressen aan het contact worden opgehaald. Het afleveradres (order bestand) wordt vergeleken met items uit de opgehaalde lijst. Hierbij config LanguageCode gebruikt. Indien sprake van een match dan wordt deze gebruikt. Indien geen match dan wordt het adres aangemaakt.

11. Order aanmaken Als config ALLOW_CREATE_CONTACT is true dan wordt aangemaakte data id’s hergebruikt. DeliveryDate bepaald afhankelijk van config DELIVERYDATEADDDAYS

per order detail regel setting ADD_PRODUCT_PRICE = true dan wordt NetPrice

loExactOrder.DeliverTo = loExactDebtor.ID;
loExactOrder.DeliverToContactPerson = loExactContact.ID; loExactOrder.DeliveryAddress = loExactAddress.ID; loExactOrder.InvoiceTo = loExactDebtor.ID;

Sales in de Bouw (SIDB)

Dit is gebaseerd op een industrie standaard voor bedrijven in de bouw. De volgende velden worden gebruikt in de conversie vanuit Ecmanage:

Sales in de Bouw veld Ecmanage veld
Order.OrderType Constante: 220
Order.OrderNumber Ordernummer met acro: bijvoorbeeld KLANT1000001
Order.OrderDate Order invoerdatum
Order.OrderTime Order invoertijd
Order.ContractReference.ContractNumber (Optioneel) kan in configuratie een Constante opnemen.
Order.ProjectNumber (Optioneel) dit is de waarde van de projectenmodule uit Ecmanage.
Order.ScenarioTypeCode Default: “X1”, kan in configuratie Constante aanpassen. (deellevering mogelijk X2, Niet mogelijk X1)
Order.EndCustomerOrderNumber Default: “Ecmanage Order”, kan in configuratie aangeven welk veld uit Ecmanage order gebruikt mag worden.
Order.TransportInstruction.DeliveryNoteText (Optioneel) Ecmanage order opmerkingen indien deze actief zijn bij orderinvoer.
Order.DeliveryDateTimeInformation.RequiredDeliveryDate (Optioneel) Ecmanage order gewenste leverdatum indien deze actief is bij orderinvoer. Zie ook instelling in configuratie: “DefaultDeliveryDateDeltaDays”
Order.DeliveryDateTimeInformation.RequiredDeliveryTime (Optioneel) Ecmanage order gewenste leverdatum indien deze actief is bij orderinvoer.
Order.FreeText (Optioneel) kan in configuratie aangeven welk veld uit Ecmanage order gebruikt mag worden.
Order.Buyer.GLN Ecmanage veld van afdeling: BUYERGLN
Order.Buyer.Name2 (Optioneel) kan in configuratie aangeven welk veld uit Ecmanage order gebruikt mag worden.
Order.Buyer.ContactInformation.ContactPersonName Default: “Ontvangernaam”, kan in configuratie aangeven welk veld uit Ecmanage order gebruikt mag worden. Indien bulk dan afhankelijk configuratie “UsePurchaser”: Afdeling naam of Besteller naam.
Order.Buyer.ContactInformation.EmailAddress Default: “Email adres uit de order”, kan in configuratie aangeven welk veld uit Ecmanage order gebruikt mag worden.
Order.Supplier.GLN Ecmanage veld van afdeling: DELIVERYPARTYGLN
Order.Supplier.Name2 (Optioneel) kan in configuratie aangeven welk veld uit Ecmanage order gebruikt mag worden.
Order.DeliveryParty.GLN Ecmanage veld van afdeling: DELIVERYPARTYGLN
Order.DeliveryParty.Name Gelijk aan veld “Order.Buyer.ContactInformation.ContactPersonName”
Order.DeliveryParty.Name2 (Optioneel) kan in configuratie aangeven welk veld uit Ecmanage order gebruikt mag worden.
Order.DeliveryParty.StreetAndNumber Ecmanage order leveradres, straat en huisnmummer. Afhankelijk configuratie in Ecmanage.
Order.DeliveryParty.City Ecmanage order leveradres, plaats. Afhankelijk configuratie in Ecmanage.
Order.DeliveryParty.PostalCode Ecmanage order leveradres, postcode. Afhankelijk configuratie in Ecmanage.
Order.DeliveryParty.Country Ecmanage order leveradres, landcode ISO 2 lettercode. Afhankelijk configuratie in Ecmanage.
Order.DeliveryParty.LocationDescription Default: “9999”, kan in configuratie een Constante opnemen. Of afhankelijk configuratie “UsePurchaser”: gebruik REF1 veld van besteller Of REF1 veld van Ontvanger Of indien bulk REF1 veld Besteller of Afdeling afhankelijk configuratie “UsePurchaser”
Order.ShipFrom.GLN (Optioneel) Afhankelijk configuratie “Use_ShipFrom_Name”. Indien Y: GLN is gelijk aan DELIVERYPARTYGLN.
Order.ShipFrom.Name Of kenmerk “MAGAZIJNNUMMER” van afdeling of
Order.Invoicee.GLN Ecmanage veld van afdeling: DELIVERYPARTYGLN “Default_ShipFrom_Name” uit configuratie.
OrderLine.LineNumber Nummer uit de reeks 1,2,3,4,5….
OrderLine.OrderedQuantity Ecmanage orderregel aantal. Indien 0 dan niet versturen indien configuratie “ProcessQuantity0” = N
OrderLine.OrderedQuantityMeasureUnitCode (Optioneel) kenmerk assortiment product “EENHEID”
OrderLine.LineIdentitfication Ecmanage orderregel id (intern uniek kenmerk)
OrderLine.TradeItemIdentification.GTIN Constante: veertien nullen “00000000000000”
OrderLine.TradeItemIdentification.SuppliersTradeItemIdentification Ecmanage orderregel assortiment supplier id
OrderLine.TradeItemIdentification.AdditionalItemIdentification.TradeItemDescription Ecmanage orderregel product naam
OrderLine.TradeItemIdentification.AdditionalItemIdentification.Size (Optioneel) afhankelijk configuratie koppeling “UseItemSize”. Ecmanage orderregel maat.
OrderLine.FreeText (multiline max 70 chars.) (Optioneel) afhankelijk configuratie in Ecmanage vermakingen. Bevat xml data.