.. _koppelingen-conversie: Conversie van orders naar ERP systemen ###################################### | Datum: 2018-11-30 | Versie: 1.0 In de handleiding |lnk_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: - AFAS Software https://www.afas.nl/software/connector - Cash Bedrijfssoftware https://www.cash.nl/koppelingen/cash-connect/cash-api-3-0/ - DGE dgeDetailhandel https://www.dgebv.nl - Exact Globe https://www.exact.com/nl/software/technologie/exact-globe/ - Exact Online https://start.exactonline.nl - GenCom https://www.gencom.be/ - Logic4 https://www.logic4.nl - King Business Software https://www.king.eu/erp/ - Odoo/OpenERP https://www.odoo.com - Prima https://www.primasolutions.co.uk/ - Unit4 Agresso Wholesale https://www.unit4.com - Sales in de Bouw (SIDB) https://www.ketenstandaard.nl/sales/sales-standaard/ - TNT Fashion / Bleckmann https://www.bleckmann.com/services/ 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 Handel. Hierbij wordt gebruik gemaakt van de ExactOnline api's. Configuratie ------------ Voor het inloggen in Exact Online is het nodig dat een gebruiker eenmalig zich aanmeld, we krijgen dan een refreshtoken van Exact Online waarmee de koppeling zijn werk kan doen. Division Iedere klant heeft een bepaalde administratie of Division code. Deze is via een helperfunctie van de koppeling op te vragen. 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. 2. 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. 3. Controle WAREHOUSECODE/magazijn (config bestand) Indien config item WAREHOUSECODE een waarde bevat dan wordt gecontroleerd of deze aanwezig is in exact online. Indien niet aanwezig dan treedt een fout op. 4. controle BULKVOORRAAD (order bestand) Bulkvoorraad order mogen niet naar ERP En de volgende stappen per order detail regel: 5. 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. 7. 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 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. ========================================================================================== =================================================================================================================== .. |lnk_ophalen_orders| replace:: :ref:`Ophalen orders `