11. oktober 2020 – endret 28. oktober 2020

VBus versjon 13

Produktkatalog

I sommer var jeg i selskap med familien. Vi snakket om mangt, og jeg kom til å nevne bloggen min og at det siste blogginnlegget hadde mer enn 10.000 visninger på LinkedIn. Det overrasket alle. Det var ikke mange som visste at jeg skriver en blogg og at den kunne nå så mange, var nesten naturstridig – så introvert som jeg er. Og flere ville se på den. Hun som bl.a. jobber med web-design, utbrøt umiddelbart: Det er det verste jeg har sett! Det er nok objektivt sett helt presist formulert. Du leser nok ikke dette fordi du tiltrekkes av designet. Da er det vel innholdet som er av interesse. Jeg skriver for spesielt interesserte.

I dag skriver jeg om produktkatalog; både eksport av produktkatalog som du kan sende til kundene dine og import av produktkatalog fra leverandørene dine. Mange mottar produktkatalog fra leverandører i form av et regneark som typisk inneholder leverandørens Produktnr, Beskrivelse, Pris og i noen tilfeller ytterligere informasjon som Strekkode, GTIN item no (som noen kaller EAN-kode), antall i innkjøps­forpakning, mål, vekt og/eller tekniske egenskaper. I VBus skal denne informasjonen fordeles på i alle fall tre tabeller; Produkt, Leveringsalternativ og Pris/rabattmatrise. Og så skal strekkoden i egen tabell. Dette er i og for seg trivielt, men ofte dreier det seg om regneark med flere tusen linjer som har en salig blanding av produkter som er registrert fra før og nye produkter – uten at det fremgår av den enkelte rad i regnearket om det er det ene eller det andre. For om produktet finnes fra før og informasjonen i regnearket handler om nye priser gjeldende fra nå eller en dato i fremtid, så skal disse radene i regnearket behandles litt annerledes enn om det er nye produkter. Og så kan regnearket inneholde ny informasjon om eksisterende produkter som det er viktig å få importert.

Det er laget mange ulike løsninger for denne problemstillingen; jeg har laget en selv en gang: Vare- og pris-import med DME.

I versjon 13 av VBus er det introdusert en løsning for både å sende og motta produktkatalog via AutoInvoice. Det er også løsning for ordreutveksling med AutoInvoice. Litt skjematisk ser det slik ut:

Avsender (selger/leverandør) av produktkatalog trenger ikke gjøre noe annet enn å registrere virksomheten i AutoInvoice. Mottaker (kjøper/kunde) må i tillegg registrere seg som mottaker av produktkatalog. Dette kan gjøres fra bedriftsopplysninger; Behandling Konfigurere AutoInvoice-konto:

 

For å motta salgsordre fra kunder må leverandøren (selger) velge å Motta ordrer, men dette kommer jeg tilbake til neste gang.

Hos avsender (selger/leverandør)

Prosedyren er enkel. I produkttabellen (bruk et vindu som viser aktuelle produkter som en liste), marker de produktene du vil ha med i katalogen og velg Behandling Produktkatalog. Du får opp et vindu som hvor du velger kunde og evt. kontaktperson:

VBus foreslår at katalogen er gyldig fra dags dato og ett år fremover, men fra og med versjon 14 kan du blanke ut Gyldig til dato om den gjelder inntil videre.  

Dersom virksomheten er registrert i AutoInvoice, får du melding om at katalogen er sendt:

Det er på dette tidspunktet ingen kontroll på om kunden har åpnet for å motta produktkatalog eller ikke. Det må du inn i AutoInvoice-portalen for å se. Du kan gjøre dette fra et vindu i VBus:

Katalogen er i XML-format i inneholder opplysninger om selger (leverandør), kjøper (kunde) og de valgte produktene.

Opplysningene om selger (den som lager og sender katalogen) til sin kunde er:

°          Navn

°          Adresse linje 1, Postnr, Poststed

°          Landkode (ISO-kode fra landtabellen)

°          Org.nr

°          Navn, Telefonnr og Epost-adresse til kontaktpersonen som er valgt da katalogen ble laget

I tillegg legges det ut gyldighetsperiode og beskrivelsen til betalingsbetingelsene.

For det enkelte produkt inneholder katalogen

°          Leverandørens Produktnr

°          GTIN item no

°          EU varestat.nr

°          Beskrivelse

°          EDI-enhet fra Standard enhet i Enhet-tabellen

°          Antall pr. enhet fra Enhet-tabellen

°          Pris etter rabatt¹ i kundens valuta

°          Opprinnelsesland (ISO-kode fra landtabellen)

°          Lengde, Bredde, Høyde og Nettovekt ²

°          Web-side

°          Bilde

¹) I versjon 13 blir Pris før rabatt lagt ut. Fra og med versjon 15 blir Pris etter rabatt lagt ut.

²) Hvis oppgitt, må Lengde, Bredde og Høyde være angitt i meter, mens Nettovekt må oppgis i kg.

Antallsomregning må man være forsiktig med. Hvis man i Pris/rabatt-matrisen har lagt opp til å selge ulike enheter (med ulikt Antall pr. enhet), slik:

så vil samme produkt dukke opp to ganger i produktkatalogen, med rett EDI-enhet, men med Antall pr. enhet fra Standard enhet på produkt. Merk at det som er angitt som Antall pr. enhet på Leveringsalternativ og i Pris/rabatt-matrisen ignoreres på det som legges ut i produktkatalogen. Litt forenklet kan vi si at det ikke er støtte for antallsomregning i produktkatalog.

Hos mottaker (kjøper/kunde)

Kunde må ha åpnet for å motta produktkatalog i AutoInvoice (se ovenfor). I det nye standardoppsettet (under Lager Kartotek) ligger det et vindu for å hente og behandle produktkatalog fra leverandører:

VBus kvitterer med om noe er lastet ned eller ikke. Hvis det er en produktkatalog, ser du det i vinduet:

 

Hvis det var vellykket nedlastning uten at det dukker opp noen produktkatalog, så er det noe annet som er lastet ned, f.eks. en ordre eller ordrebekreftelse.

Det som er lastet ned er en XML-fil. Du kan se på denne før du behandler den ved å klikke på knappen [Vis dokument(er)], men det du ser er for spesielt interesserte. Det viktigste i første omgang er hvem den kommer fra:

For om dette er en leverandør du ikke har fra før, så kan du opprette leverandøren med menyvalget Opprett kunde eller leverandør fra XML:

Dersom leverandøren finnes fra før, kan du velge å Behandle dokument. Det inngående dokumentet forsvinner nå fra siden Nedlastet, men vi finner det igjen på neste side; Behandlet:

Og her starter forvirringen. For her kommer produktene tre ganger hver. Og feilen ligger ikke på mottakersiden. Alle produktene er lagt ut i produktkatalogen (XML-filen) tre ganger. På de linjene hvor det finnes en innkjøpspris, så er denne rett; det er utsalgsprisen til leverandøren fratrukket rabatten som er angitt på kunden. Dette er en feil som er introdusert i versjon 15, for slik er det ikke med de produktkatalogene som sendes fra versjon 14. Vi starter med å slette alle radene uten innkjøpspris.

Nå er utfordringen å finne ut om disse produktene finnes fra før – og hvis de finnes; er det da det samme produktet eller står vi overfor en mulig konflikt mellom eksisterende og nye produkter. Denne kontrollen gjøres ved å merke tabellen (evt. de linjene vi er interessert i) og klikke på knappen [Slå opp og foreslå prod.nr.].

Vi ser at de fleste produktnummer ikke finnes fra før og de er klare for oppdatering. Tre produkter finnes fra før og er faktisk det samme produktet. Kriteriene er at det nye produktet har samme GTIN item no som det som finnes fra før eller at det finnes et leveringsalternativ fra denne leverandøren for dette Produktnr. hos lev. Dersom vi ønsker å oppdatere disse, må Behandling endres fra 1 [Legg til] til 2 [Oppdater]. Hvis det er krysset av for Opprett produkt, hvis ikke funnet under oppdatering av produktdata i AutoInvoice behandling kan vi med fordel endre Behandling endres fra 1 [Legg til] til 2 [Oppdater] på alle radene i tabellen før [Slå opp og foreslå prod.nr].

Om Behandling er satt til 1 [Legg til], 2 [Oppdater] eller 3 [Slett] er avhengig av hvilken katalogtype avsender har valgt. For mottaker er det ingen forskjell på Erstatt eller Endre (se avsnittet Hos avsender). Men den kan altså endres. Da vil VBus angi at de som ikke finnes fra før får Behandling satt til 1 [Legg til], mens de som finnes fra før og ikke er i konflikt får Behandling 1 [Legg til]. Og Status settes til 2 [Klar for oppdatering] for alle som ikke er duplikater:

To produker er duplikat; altså at Produktnr finnes fra før, men det er ikke samme GTIN item no eller det finnes på et leveringsalternativ hos annen leverandør. Her må vi ta stilling til om det er samme produkt eller ikke. Paraplyen er samme produkt, bare ny leverandør, så her endrer jeg Behandling til 2 [Oppdater]. Hansken er noe helt annet enn det Produktnr 211 som jeg har fra før, så her endrer jeg Nytt produktnr til 211-1. Og så foretar jeg ny kontroll med [Slå opp og foreslå prod.nr]. Dermed er disse radene også klar for oppdatering.

Men før vi legger til eller oppdaterer produktene, så kan det være klokt å endre Enhet. Merk at Enhetskode på produktkatalogen er EDI-enhet hos avsender. Det er ikke gitt at avsender og mottaker har de samme enhetene – og i alle fall ikke at de er nummerert likt, så her kan man med fordel oppdatere Enhet. De verdiene som legges inn som EDI-enhet må være gyldige enheter, f.eks. slik:

Hvis Enhet (eller EDI-enhet) mangler, så vil VBus legge ut enheten ZZ som er en gyldig enhet og betyr «Annen enhet som partene har blitt enige om». EA er betyr each – fritt oversatt til stk.

Tilsvarende gjelder for Oppr.land. På produktkatalogen kommer Opprinnelseslandkode som er ISO-kode fra Land-tabellen hos avsender. Og siden det ikke er gitt at land er nummerert likt hos avsender og mottaker, så må mottaker legge inn rett nummer for Oppr.land.

Merk at selv om XML-filen kan inneholde bilde på produktene i katalogen, så blir ikke bildene importert hos mottaker.

Kun felt med verdi blir oppdatert. Det betyr at om det er lagt inn Avg. og bokf.gr. og/eller opplysninger om enhet, mål, vekt etc. på produktene, så blir disse heldigvis ikke overskrevet ved oppdatering fra produktkatalog, med mindre opplysningene finnes i katalogen (eller registrert i tabellen før oppdateringen skjer). Litt irriterende er det at produktbeskrivelsen oppdateres, særlig om man har lagt inn norske beskrivelser som avviker fra leverandørens beskrivelse. Man kan unngå dette ved å krysse av for Oppdater bare leverandørrelaterte produktdata i AutoInvoice behandling. Da oppdateres Produkt-tabellen bare når nye produkter opprettes. Ulempen er selvfølgelig at man da ikke får med andre opplysninger som leverandøren har valgt å legge ut i produktkatalogen, som GTIN item no, mål, vekt, etc. Litt overraskende er det at Leveringsalternativ ikke blir oppdatert med Beskrivelse hos lev. Men det er enkelt å kopiere etterpå om man ønsker. Og så kan vi legge den norske produktbeskrivelsen inn i tabellen Produktbeskrivelse.

Jeg savner mulighet for å legge inn et malprodukt før nye produkter legges inn. Og da tenker jeg at opplysningene fra malprodukt skulle supplere det som kommer fra produktkatalogen, ikke overskrive det – slik det vil skje om man bruker Mal-produktnr etter at de nye produktene er opprettet. Nye produkter må nødvendigvis suppleres med behandlingsmåte, Avg. og bokf.gr. og alle felt som benyttes til interne klassifiseringer. Det samme gjelder Leveringsalternativ. Det opprettes en rad med Produktnr, Produktnr los lev., samt Oppr.land, men altså ikke Beskrivelse hos lev. Også Frakt-påslag, Øk. Innkj.m. m.v. må legges inn. Bortsett fra Lev.tid og Transp.tid som hentes fra leverandøren på samme måte som når man legger inn et nytt leveringsalternativ manuelt. Det opprettes naturligvis ikke noen lagersaldo, men når det opprettes, savner jeg kopiering av Normal lev., Lev.tid og Transp.tid fra Leveringsalternativ til Lagersaldo, men det har strengt tatt ikke noe med produktkatalog-behandlingen å gjøre.

Hvis produktkatalogen inneholder et produkt du har fra før, men som i Leverings­alternativ er satt opp med annen leverandør (slik som paraplyen ovenfor) og du velger Behandling 2 [Oppdater] så blir det lagt til en ny rad i Leverings­alternativ og i Pris/rabatt-matrisen for den nye leverandøren. Den nye raden kommer etter den opprinnelige, slik at det fremdeles er den gamle raden som benyttes ved generering av innkjøpsordre. Jeg savner muligheten til å endre Sort.sekv.nr på Leverings­alternativ. For om man vil beholde begge, men gjøre den nye linjen til den foretrukne, må man slette den gamle og legge den inn på nytt etter den nye raden. Et alternativ er å endre Normal lev. på Lager­saldo og i Best.gen.behandling (i Bedriftsopplysninger) krysse av for Bruk normal leverandør fra lagersaldoer.

I Pris/rabatt-matrisen opprettes det en rad med den nye innkjøpsprisen med Fra dato og Til dato fra produktkatalogen. Dersom det i AutoInvoice behandling ikke er krysset av for Legg til ny prisrad under oppdatering, så slettes den gamle prisraden. Kan være praktisk om de nye innkjøpsprisene gjelder med det samme, men om det legges inn innkjøpspriser med Fra dato frem i tid, så er det viktig at de legges til som ny prisrad. Da er det også viktig å sette rett Til dato på de gamle prisradene. Det må gjøres manuelt. Jeg skulle nok ønske at akkurat det skjedde automatisk, men det er nokså lett å sette opp et vindu som viser hvilke produkter som har fått ny pris – i alle fall om det ikke er krysset av for Oppdater bare leverandørrelaterte produktdata i AutoInvoice behandling. De rader som legges til eller endres ved behandling av produktkatalog merkes med Inng. dok. nr. Da kan man i Pris- og rabatt-matrisen hente frem Inng. dok. nr fra Produkt og skjule de radene som har samme Inng. dok. nr. Da sitter vi igjen med de gamle radene hvor det har kommet ny innkjøpspris – og hvor det (altså på de gamle radene) bør settes inn en Til dato. Litt ergerlig at denne muligheten forsvinner om det krysses av for Oppdater bare leverandørrelaterte produktdata i AutoInvoice behandling. Det kan selvfølgelig løses med en pytta lite trigger på Leveringsalternativ som oppdaterer et felt på Produkt (f.eks. et av Gr.-feltene eller et DME-felt) med Inng. dok. nr på Leveringsalternativ. Et alternativ for de som insisterer på å holde seg innenfor standard VBus er å blanke ut Beskrivelse fra produktkatalogen før oppdatering. Da kan man la Oppdater bare leverandørrelaterte produktdata i AutoInvoice behandling være blank (slik at også Produkt-tabellen blir oppdatert). Man må ha tunga rett i munnen så man ikke blanker beskrivelsen på nye produkter. Legg merke til at det er mulig å vise eksisterende Beskrivelse på produkt ved siden av beskrivelsen fra produktkatalogen slik at det er enkelt å ta stilling til om den gamle skal beholdes eller ikke.

I Pris/rabatt-matrisen vil det være naturlig å legge inn nye utsalgspriser. Merk at siden det nå står Lev.nr på raden med Innkjøpspris, så må Utsalgspris legges på egen rad. Hvis man for å gjøre det «enklere» velger å blanke Lev.nr fra linjen med Innkjøpspris, kan Utsalgspris legges på samme rad. Da vil raden ikke bli slettet ved neste oppdatering fra produktkatalog. I alle fall må det settes en Til dato – eller slette gamle linjer. Når nye utsalgspriser er lagt inn kan man med fordel sende produktkatalog til egne kunder.

 

Alt i alt synes jeg dette har blitt en veldig bra løsning. Og Visma har beskrevet det rimelig bra her: doc.visma.net/userdoc/business/15.01/en-gb/products/business/reference/r_AutoInvoice_OrderExchange.html.

Det viktige er at dette legger grunnlaget for ordreutveksling med AutoInvoice. Det skal jeg skrive om neste gang.

 

Resten av min blogg kan du lese her: frode.antun.no/VBus/blogg 

 

frode@antun.no