Gå til innhold
Norsk – Norge
  • Det finnes ingen forslag fordi søkefeltet er tomt.

nShift Shipment Server integrasjon

Oppsett og konfigurasjon av nShift/Consignor Shipment Server integrasjon med BxLogistics Pro

Denne manualen beskriver oppsett av nShift Shipment Server mot BxLogistics Pro. Hovedfokus er BxCloud, det vil si VismaNet, Business NXT og andre sky-ERP. Her lastes grunndata fra nShift Shipment Server (transportører, produkter, tjenester og pakketyper) ned til system-databasen, som alltid er dbconnection 0. ERP-dataene ligger i data-databasen (den første dbconnection som opprettes, «data», på kunder med ett company). SQL-spørringene mot data-databasen kan likevel hente fra system-tabellene med prefikset system., f.eks. system.DeliveryMethod. Det trengs derfor ingen ekstra databasekobling.

For lokale BxEngine OnPremises installasjoner mot OnPremises ERP systemer med egen database, f.eks. Visma Business, Visma Global, Uni Micro V3 osv. kreves noen ekstra steg: en egen databasekobling mot BxEngine-databasen og SQL-spørringer som henter fra flere databaser. Disse stegene er merket on-premises i manualen.

Innhold

1. Forberedelser

1.1 Printere

BxCloud: Alle utskrifter går via BxSmartPrintPro (printproxy), se 3.4 Configuration. Printerne må da være installert på maskinen der BxSmartPrintPro kjører. On-premises: Printerne installeres på BxEngine-serveren, eller nås via BxSmartPrintPro som beskrevet under.

Sørg for at etikettprinter og eventuell A4 printer som står for Shipment Server utskrifter er installert på server tilgjengelig for BxEngine tjenesten (med andre ord, printkø på samme server som BxEngine). 
Dersom det ikke er mulig å installere printkø på BxEngine serveren (pga. begrensninger i nettet eller hos ASP) kan man installere BxSmartPrintPro som en printproxy på f.eks. en lager-PC eller lokal server hvor det er lettere å få installert etikettprintere. 
Vi anbefaler å installere printkø lokalt på Bx server/PC, fremfor delt fra printserver etc., da det både er mer stabilt og utskrifter går raskere. 
Det vi mener med lokal printkø er at printkøen ligger under Control Panel -> Devices and Printers -> og heter noe som "Printer" fremfor "Printer on servername" eller "\\servername\Printer". Bør se ca. slik ut: 

Velger dere likevel å bruke en printer delt fra printserver eller lignende er det veldig viktig at printeren er tilgjengelig for BxEngine og/eller BxSmartPrintPro tjenestene våre. Local System som er standard servicebruker på disse to tjenestene har i de fleste tilfellene ikke tilgang til delte nettverksprintere.
I vårt oppsett i BxAdmin må også printernavnet legges inn med UNC stien, som f.eks. "\\servername\Printername". 

Printere som inneholder (Redirected) vil ikke fungere da dette er printere som er med over via en RDP eller Citrix sesjon, så fort sesjonen lukkes forsvinner også printkøen. 

1.2 Printerformat

Det er viktig å finne ut hvilket printformat printeren støtter, i form av ZPL, ZPLGK, EPL eller DATAMAXLP2. Støtter den ingen av delene må man vanligvis benytte PDF. Hovedsaklig er det ZPLGK språket som benyttes hos de fleste som integrerer Shipment Server med BxLogistics. Dette er stort sett Zebra printere av nyere type. Dette bestemmer hva man setter i påkrevd shipmentoptions config i BxAdmin. 
Oversikt over de forskjellige formatene fra dokumentasjonen til nShift: 

  • All label types are encoded as Base64. 

  • none - will not return any label but creates the shipment.
  • PNG - labels in PNG format.
  • PDF - labels in PDF format.
  • EPL - labels in EPL format for printers that are supporting this e.g. LP2844, ZM400 and GK420D.
  • ZPL - labels in ZPL format but will have a margin of 30 on top of the label. This label type is optimized for LP2844-Z printers and may print too far down on the label for other printers, if this issue occurs try the ZPLGK type.
  • ZPLGK - is also in ZPL format but without the top margin. Supported by printers like GK420D, ZM400 and may also work with other printers that are supporting ZPL language. 
  • DATAMAXLP2 - label for Datamax printers. 

1.3 Shipment Server og API nøkkel

Alt oppsett i Shipment Server vedr. transportavtaler, fraktselskaper etc. i seg selv må også være ferdig satt opp, vi regner med at dere eller nShift sørger for at dette er i orden. BxSoftware tar ikke på seg ansvaret for å sette opp dette. 
For å integrere mot Shipment Server krever det også at dere får API detaljer fra nShift, da trengs Actor ID/Aktør ID og serverkey/nøkkel. 

1.4 ERP system

Alle leveringsmetoder må være lagt opp i ERP systemet. Det må legges opp én metode pr. leveringsprodukt i Shipment Server dere ønsker å benytte fra håndterminalene. For å ta noen eksempler:
Bring Ekspress neste dag, Bring Pakke til bedrift, Bring Stykkgods til bedrift, Bring Pakke levert hjem, Bring Pakke til hentested, Schenker Stykkgods osv., alle disse må ha én leveringsmetode pr. produkt i ERPet. Vi anbefaler også å legge opp et "Henter selv" valg eller tilsvarende som kan benyttes for å sende ordren uten at det bestilles frakt via Shipment Server.
Eksempel på hvordan leveringsmetoder legges opp under. 

Visma.net: Leveringsmetoder Visma.net
Visma Business: Link kommer
Visma Global: Link kommer
Uni Micro: Link kommer
Andre ERP: Link kommer

2. Shipment Server

nShift har en testside for å sjekke forskjellige detaljer relatert til leveringsmetoder etc. i Shipment Server. Vi bruker vanligvis denne for å se etter korrekte IDer pr. leveringsmetode vi må sende til Shipment Server for at fraktbestilling skal bli opprettet. Det er ikke nødvendig å bruke denne da vi importerer alle leveringsmetoder fra Shipment Server. Den er fin å ha i bakhånd dersom det skulle være leveringsmåter som mangler etter import er kjørt eller om man skulle trenge å sende inn en annen ID til Shipment Server, f.eks. ved de tilfellene hvor man bruker ProdCSID i stedet for ProdConceptID som vi sender som standard. 
Link til siden - http://consignorsupport.no/testbench/shipmentserver.aspx - på denne siden bytter vi Type til PROD før vi så fyller ut key og actor (serverkey og actor id dere får fra nShift). Deretter trykk Load Actor, da skal dere kunne få frem forskjellige Product -> Carriers etc. og se de forskjellige IDene. 

3. BxAdmin

3.1 Installation

BxCloud (VismaNet, Business NXT og andre sky-ERP): Her trengs ingen ekstra Database connection. Leveringsmetodene fra Shipment Server lagres i system-databasen, som alltid er dbconnection 0. Gå videre til neste punkt.

On-premises (f.eks. Visma Business): Under Installation i BxAdmin må man legge opp en ekstra Database connection, dette skal være BxEngine databasen da det er BxEngine databasen vi laster ned data til fra Shipment Server. 
image-png-Jul-20-2021-11-50-37-35-AM.png (703×467)

3.2 Imports from ERP

  1. Opprett ny importer under Imports from ERP ved å trykke New import. Fyll ut Import type = shipmentserver, Module = deliverymethods, Enabled = Ja.
  2. I Field mapping trykker du Add missing defaults for å legge til alle import parameterne.
  3. I Import config trykker du Add missing defaults for å legge til konfigurasjons parameterne.
    1. dbconnection angir hvilken database leveringsmetodene lagres i. Standardverdien er 0 (system-databasen). I BxCloud skal den stå på 0. Ved on-premises settes den til ID-en for BxEngine-koblingen fra 3.1 Installation.
    2. I serverkey og actorid legger du inn actor id og key fått fra nShift.

3.3 Export to ERP

  1. Vi skal også legge opp en exporter for Shipment Server under Export to ERP. Export type = shipmentserver, Module = shipmentserver, Action = create, Enabled = Ja.
  2. I Field mapping trykker du Add missing defaults for å legge til alle export parameterne.

3.4 Configuration

  1. I Configuration -> Client profile -> Velg korrekt profil: Aktiver disse parameterne under Area: consignor
    1. enabled = true
    2. serverkey = serverkey fra nShift. Samme som i Imports from ERP. 
    3. actorid = actorid fra nShift. Samme som i Imports from ERP. 
    4. shipmentlabelprinter = navn på printkø slik den ligger tilgjengelig for BxEngine (on-premises) eller BxSmartPrintPro (BxCloud).
    5. shipmentoptions = I dette tilfellet bruker vi ZPLGK da printer er av nyere Zebra printer med ZPL format:
      {"Labels":"ZPLGK", "PriceCalculation":"1"} - se tidligere avsnitt om Printerformat. PriceCalculation blir også alltid lagt til i vårt oppsett med 1 som standard. I BxCloud brukes {"Labels":"ZPLGK", "PriceCalculation":"1"} hvis feltet står tomt. 
    6. url = https://www.shipmentserver.com/ship/ShipmentServerModule.dll (fra versjon 2022 og nyere, og i BxCloud, trengs ikke URL)
    7. senderaddress = avsenderadresse.
    8. sendercity = avsenderby.
    9. sendermobile = avsender telefon/mobilnr.
    10. sendername  = avsendernavn, vanligvis bedriftsnavn.
    11. senderpostcode  = avsender postnr.
  2. Under Area: pickinglist, aktiver disse parameterne
    1. deliverymethod = true
    2. shipment = true
    3. downloadpackagetypes = true, brukes for pakketyper fra fraktleverandør.
    4. showpackagetype = true, brukes for pakketyper fra fraktleverandør.
  3. Printproxy (BxSmartPrintPro): Påkrevd i BxCloud. Ved on-premises brukes det bare når printerne ikke kan installeres på BxEngine-serveren, se 1.1 Printere.
    Under Area: consignor, fyll ut printproxy med firmakoden til BxSmartPrintPro lisensen, printproxylicensekey fylles ut med lisensnøkkel til BxSmartPrintPro. 
    1. printproxy = firmakode/AppCode
    2. printproxylicensekey = lisensnøkkelimage-png-May-23-2022-01-30-36-11-PM.png (1178×200)

3.5 Data

Åpne Data i BxAdmin og trykk Run Import for å laste ned leveringsmetodene fra Shipment Server. Vent et par minutter før du prøver en refresh da det innimellom kan ta litt tid å hente ned alle. Når de er ferdig lastet ned burde listen se slik ut. Her har vi også fylt ut DeliveryMethod kolonnen med IDen til forkjellige Send via-koder fra VismaNet, dvs. IDen til leveringsmetoden fra ERPet.

3.6 SQL Integration

Delivery Methods
Spørringen for leveringsmetoder ligger under SQL Integration -> Picking -> Delivery Methods. BxCloud (VismaNet, Business NXT): Standardspørringen henter leveringsmetodene fra ERP (BxDeliverymethod), og har en left join mot system.DeliveryMethod (Data -> DeliveryMethods) som er kommentert ut. For Shipment Server tar du bort kommentaren på left join-linjen og på linjen under «Shipment Server and Unifaun Online» (bx.product som externalid), og kommenterer ut den eksisterende externalid-linjen. Ta også bort kommentaren på externalserviceid-linjen hvis det skal sendes med tjenester. Spørringen kjører mot data-databasen der ERP-dataene ligger, og henter Shipment Server-dataene fra system-databasen via prefikset system. Leveringsmetoder med tom externalid eller 0 blir ikke sendt til Shipment Server.

On-premises: For ERP systemer som ikke er skybasert må man ofte joine inn tabeller for transportører/leveringsmetoder fra ERPet slik at vår tabell joines med ERPets, deliverymethod ID skal matches med ERPets ID. 

Package Types
Visse leveringsmetoder for forskjellige transportører krever noen ganger at vi også sender med pakketyper til Shipment Server. Ved disse tilfellene må man også fylle ut DeliveryMethod kolonnen i PackageTypes fanen under Data med korrekt ID fra ERPet. I tillegg må man aktivere oppsett for det under Configuration -> area: pickinglist, showpackagetype = true og downloadpackagetypes = true. Dette gir et ekstra valg for pakketyper på terminal i fraktbildet. 
SQL spørringen for Package Types er standard og skal ikke endres på.

Delivery Services
Vi har også støtte for å sende med en eller flere servicer til transportører som har støtte for dette. For å aktivere dette må man aktivere det under Configuration -> Client Profiles -> area: pickinglist, showdeliveryservices = true og downloaddeliveryservices = true. Deretter må man under Data -> DeliveryServices matche DeliveryMethod kolonnen med ID fra ERPet, mot korrekt transportør og leveringsmetode. I vårt tilfelle er BRING1 ID i ERPet, for Bring Bedriftspakke. Oppdatert 18.08.23: Standardspørringen for servicer tar hensyn til dette så man slipper å fylle ut DeliveryMethod kolonnen. Skulle man likevel ønske å begrense valgene tilgjengelig for leveringsmåten er det enklest å gjøre det på denne måten.

4. Oppsummert

Dette er alt man trenger å gjøre for å sette opp Shipment Server integrasjonen i BxLogistics Pro. Vanligvis trenger man ikke gjøre mer enn dette. Eventuelt ekstra relevant oppsett vil etterhvert dokumenteres under Ekstra kategorien. 

5. Ekstra

5.1 Sporingsnummer og fraktpris

Shipment Server sender oss sporingsnummer, sporingsurl og fraktpris sammen med fraktetiketten i det fraktbestillingen sendes fra terminal. Disse verdiene kan vi hente ut og sende med videre til ERPet. Korrekte sourcefields for dette er

shipmentTrackingId - sporingsnummer
shipmentTrackingUrl 
- sporingslink - støttes ikke i Shipment Server API V1 så får ikke hentet ut URL fra nShift. BxCloud leser sporingslinken hvis nShift returnerer den i svaret.
shipmentPrice1 
- fraktpris 1 (Price1 fra nShift)
shipmentPrice2 - fraktpris 2 (Price2 fra nShift) 

Disse kan sendes videre til ønskede felter i ERPet via pickinglist create exporteren.
Visse ERPer, som VismaNet, har standard-felter for dette allerede lagt opp i standard-exporter, mens andre ERPer er det nødvendig å legge inn mappinger mot korrekt felt i ERPet.
Det kan også være nødvendig å benytte pickinglist addproduct exporteren for fraktpris mot ERPer som ikke har standardfelter for priser, hvor prisen i stedet skal legges på som en ordrelinje.