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

Serie/batch/partinr oppsett mot Visma Business

Oppsett av serienummer/batch/parti mot Visma Business med BxLogistics Pro

Visma Business har ikke egne parti-/serieklasser på varen. Hvordan serienummer, batch og parti settes opp i BxLogistics Pro mot Visma Business avhenger derfor av to ting: om varen er partistyrt i Visma Business (standard partioppsett med varepartier og reservasjoner), og hvilket felt kunden bruker for å skille de ulike typene varer fra hverandre. Ofte brukes et gruppefelt på varen (for eksempel Gruppe 10) eller et annet felt til dette.

Serie/batch/parti oppsett mot Visma Business krever en BxLogistics Pro lisens før oppsett påbegynnes.

Mot Visma Business leser spørringene direkte fra tabellene i Visma Business-databasen (for eksempel Prod, OrdLn, Rsv og ShpBal). Alle innstillinger i artikkelen gjøres i BxAdmin:

  • Spørringer (ReceiveListLines, PickinglistLines, PickinglistBatches, Products, StockcountProducts): SQL Integration, velg spørringen i listen.
  • Clientconfig: Configuration → Profile. Finn linjen med riktig Area (for eksempel pickinglist) og Property (for eksempel showbatchexpirydate), og sett Value. Skrives her som area / property = verdi.
  • Export field mapping og exportconfig: Export to ERP, velg eksporten (kolonnen Export type, for eksempel receivelist) og se Export Mapping eller Export Config.

Artikkelen gjelder eksport via Visma Business Services (VBS), med feltene OrderLine.SerialNo, OrderLine.ShipmentNo, OrderLine.FinishNow og så videre i export mapping.

Innhold

1. Parti og serienummer i Visma Business

Det finnes to måter å registrere serie/batch/parti på i Visma Business. Det er viktig å vite hvilken kunden bruker før oppsettet starter:

Oppsett i Visma Business Hva det betyr Hvor nummeret lagres
Partistyrt vare (standard partioppsett) Beholdningen føres per vareparti. Ved mottak opprettes et nytt parti med parti-/serienummer, eventuelt holdbarhetsdato og lokasjon. Ved salg reserveres partiet på ordrelinjen. Vareparti (ShpBal): partinr (ShpNo), parti-/serienummer (SerNo), holdbarhetsdato (DurDt) og lokasjon (Loc). Reservasjon (Rsv) knytter ordrelinjen til partiet.
Serienummer i serienummertabellen Én ny rad i serienummertabellen per serienummer, med ordrenr og linjenr. Da kan man finne hvilket serienummer som ble sendt til en bestemt kunde, ordre og ordrelinje. Det er ingen beholdning per serienummer. Serienummertabellen (Ser): ordrenr (OrdNo), linjenr (OrdLnNo) og serienummer (SerNo).
Ingen sporing Vanlig vare. –

Det vanligste er at batch/parti og serienummer som skal spores på lager, er satt opp som partistyrte varer, mens serienummer som bare logges ved plukk, legges i serienummertabellen. Snakk med Visma-partner hvis det er uklart hvordan varene er satt opp.

Serienummer på partiet betyr full partistyring: serienummeret for hver lagerførte enhet registreres ved varemottak og telles enkeltvis ved telling på vareparti. Ved plukk velger plukkeren serienummeret selv med oppslag, eller skanner og validerer det som Visma Business har reservert.

Visma Business har ikke et eget felt som forteller hvilken type parti eller serienummer en vare har. Kunden må derfor ha et felt på varen som skiller typene, for eksempel Gruppe 10 (Prod.Gr10): 1 = batch, 2 = batch med holdbarhetsdato, 3 = serienummer som parti, 4 = serienummer i serienummertabellen. Eksemplene i artikkelen bruker disse verdiene.

2. Typen leses fra varen i spørringene

  • Spørringene ReceiveListLines, PickinglistLines og Products joiner inn varen (prod p). Bruk feltet direkte, for eksempel p.Gr10. Ta gjerne med p.Gr10 batchprofile i spørringene, slik at typen også finnes på linjene i appen.
  • Ikke bruk behandlingsfeltet EdFmt for å finne varer med parti eller serienummer. Standardspørringene har case when ol.EdFmt & 192 = 192 then 1 else 0 end UseSerialno, men verdiene 64 («Ett parti pr. enhet ved lagerøkning») og 128 («En reservasjonsrad pr. enhet ved lagerreduksjon») skal bare brukes i helt spesielle tilfeller. Det finnes ikke ett felles flagg for dette i Visma Business. Erstatt linjen med gruppefeltet på varen.
  • For å sjekke hvilke verdier kunden har, kan du opprette og kjøre en egen spørring (gruppen Custom) under SQL Integration: select Gr10, count(*) from Prod group by Gr10. Bruk de eksakte verdiene i spørringene.
  • Partilistene i appen leser vareparti-tabellen direkte: PickinglistBatches og Batches henter partier fra ShpBal (ShpNo batchid, SerNo batchno).

3. Hvilken variant gjelder?

Oppsett i Visma Business Varemottak Plukk
Partistyrt vare, partiet er reservert på ordren Registrer batch/serienummer (og eventuelt holdbarhetsdato). Visma Business oppretter partiet. Variant B: plukk det reserverte partiet (batchno fra reservasjonen, MatchOnScan)
Partistyrt vare, partiet er ikke reservert Som over Variant A: brukeren angir/skanner parti
Serienummer i serienummertabellen Normalt ingenting (kan aktiveres, se punkt 4) Variant C: brukeren skanner serienummer, som logges i serienummertabellen (addserialnos = true)

Variant B har en sikkerhetsventil: Visma Business får ikke alltid reservert et parti (for eksempel når det mangler beholdning på partiet). Linjen kommer da uten batchnr og håndteres som variant A. PickinglistLines-spørringen i punkt 7 dekker begge tilfellene.

4. Varemottak (ReceiveListLines)

  • UseSerialno = '1' for partistyrte varer med serienummer.
  • UseBatchno = '1' for partistyrte varer med batch/partinummer.
  • UseExpiryDate: for batchlinjer er utløpsdato på som standard når UseBatchno = '1', med mindre UseExpiryDate = '0'. For batch uten holdbarhetsdato må du derfor sette '0' eksplisitt. Utløpsdato vises bare når også clientconfig receivelist / showbatchexpirydate = true.
  • Export field mapping under Export to ERP → receivelist → Export Mapping (standard): lines.batches.batchno → OrderLine.SerialNo og lines.batches.quantity → OrderLine.FinishNow. Hver batch skrives som en egen oppdatering av ordrelinjen, slik at Visma Business oppretter ett parti per batch/serienummer.
  • Holdbarhetsdato: legg til lines.batches.expirydate → OrderLine.UseByDate. Datoen legges da på partiet.
  • Normalt angir brukeren partinummeret selv på terminalen ved mottak. Partier som allerede er lagt inn på innkjøpsordren og bare skal valideres før ferdigmelding, er utenom det vanlige, men kan settes opp ved behov.
  • Serienummer i serienummertabellen ved mottak (sjelden): sett addserialnos = true under Export to ERP → receivelist → Export Config. Se punkt 5 for hvordan addserialnos virker.

5. Plukk (PickinglistLines)

Standardspørringen PickinglistLines joiner inn reservasjonene (Rsv res) for plukklisten. Hver reservasjon blir derfor én linje i appen.

Variant A: brukeren angir parti (partistyrt vare uten reservert parti)

  • UseSerialno/UseBatchno = '1' for typen. Brukeren velger eller skanner parti fra partilisten (PickinglistBatches).
  • Standard export field mapping under Export to ERP → pickinglist → Export Mapping: lines.batches.batchid → OrderLine.ShipmentNo og lines.batches.quantity → OrderLine.FinishNow. Partinummeret (batchid = ShpNo) som brukeren velger fra partilisten, sendes da på ordrelinjen.
  • Det skal ikke opprettes reservasjon fra BxLogistics. Når linjen ferdigmeldes med partinummer, oppretter Visma Business selv en reservasjon som settes som plukket og ferdigmeldt.

Variant B: plukk reservert parti (partistyrt vare med reservasjon)

  • Ta med partiet og reservasjonsnummeret fra reservasjonen: res.SerNo batchno, res.ShpNo batchid og res.SeqNo resid. Når linjen har resid, oppdaterer VBS antallet (FinishNow) på reservasjonen i stedet for på ordrelinjen.
  • UseBatchno = 'MatchOnScan' når linjen har batchnr. Brukeren må da skanne samme batch/serienummer som Visma Business har reservert.
  • Har en ordrelinje flere reserverte partier, blir det én linje per parti. Hver linje ferdigmeldes på sin egen reservasjon.

Variant C: serienummer i serienummertabellen

  • UseSerialno = '1' for typen. Brukeren skanner ett serienummer per enhet.
  • Sett addserialnos = true under Export to ERP → pickinglist → Export Config. Uten denne blir serienumrene ikke lagret i Visma Business. Med true opprettes én rad per serienummer i serienummertabellen (Ser) på ordrelinjen. Med withquantity lagres antallet i tillegg, for eksempel SN123 (x2).
  • Har kunden både partistyrte varer og varer med serienummertabell, kan addserialnos styres per linje med kolonnen cfg_AddSerialnos i spørringen (for eksempel 'true' bare for type 4). En tom verdi bruker verdien fra Export Config.
  • Bruker kunden bare serienummertabellen (ingen partistyrte varer), kan batch-mappingene (lines.batches.*) deaktiveres. Da ferdigmeldes linjen med det totale antallet (lines.quantity → OrderLine.FinishNow), og serienumrene legges bare i serienummertabellen.

Utløpsdato ved plukk: clientconfig pickinglist / showbatchexpirydate = true og UseExpiryDate per type. Holdbarhetsdatoen til et reservert parti kan tas med i spørringen fra res.DurDt (se eksemplet i punkt 7).

6. Varer, flytting og lagerjustering (Products)

Bruk rutinespesifikke kolonner. Bare partistyrte varer har beholdning per parti:

  • StockTransfer_UseSerialno / StockTransfer_UseBatchno
  • StockAdjustment_UseSerialno / StockAdjustment_UseBatchno / StockAdjustment_UseExpiryDate

Standardspørringen Products har ikke disse kolonnene. Legg dem til for kundens typer. Varer med serienummer i serienummertabellen skal ha '0' her, fordi det ikke finnes beholdning per serienummer.

Lageroverføring (stocktransfer) sender som standard lines.batchid → OrderLine.ShipmentNo og lines.batchno → OrderLine.SerialNo.

7. Eksempel: kunde med fire typer

Gruppe 10 (Prod.Gr10) Beskrivelse Oppsett i Visma Business Mottak Plukk
1 Batch Partistyrt Batch B (reservert), ellers A
2 Batch med holdbarhetsdato Partistyrt med holdbarhetsdato Batch + holdbarhetsdato B (reservert), ellers A
3 Serienummer som parti Partistyrt, ett parti per serienummer Serienummer B (reservert), ellers A
4 Serienummer ved plukk Serienummertabellen Ingenting C: serienummer, addserialnos

ReceiveListLines (erstatt UseSerialno-linjen i standardspørringen):

case when p.Gr10 in (3) then '1' else '0' end UseSerialno,
case when p.Gr10 in (1,2) then '1' else '0' end UseBatchno,
case when p.Gr10 in (2) then '1' else '0' end UseExpiryDate,
p.Gr10 batchprofile

PickinglistLines (erstatt useserialno-linjen i standardspørringen):

-- Linjetyper:
--   Reservert:      Visma Business har reservert parti (res.SerNo er fylt ut, type 1-3).
--                   Brukeren skanner reservert batch/serienummer (MatchOnScan).
--   Ikke reservert: linje uten res.SerNo (type 1-3). Brukeren angir parti,
--                   og partiet sendes på ordrelinjen (resid = 0).
--   Serienummertabell: type 4. Brukeren skanner serienumre, som logges i serienummertabellen.

-- Serienummer angis av brukeren når partiet ikke er reservert, og alltid for type 4
case when p.Gr10 in (3,4) and isnull(res.SerNo,'') = '' then '1' else '0' end UseSerialno,

-- Reservert parti må skannes, ellers angir brukeren batch
case
    when isnull(res.SerNo,'') <> '' then 'MatchOnScan'
    when p.Gr10 in (1,2) then '1'
    else '0'
end UseBatchno,

-- Utløpsdato bare for type med holdbarhetsdato
case when p.Gr10 in (2) then '1' else '0' end UseExpiryDate,
case isdate(Str(res.DurDt)) when 1 then convert(datetime,Str(res.DurDt),112) end expirydate,

res.SerNo batchno,
res.ShpNo batchid,

-- Reservasjonsnr: VBS ferdigmelder på reservasjonen når linjen har resid
case when isnull(res.SerNo,'') <> '' then res.SeqNo else 0 end resid,

-- Serienummer til serienummertabellen bare for type 4
case when p.Gr10 in (4) then 'true' else '' end cfg_AddSerialnos,

p.Gr10 batchprofile,

Products:

case when p.Gr10 in (3) then '1' else '0' end StockTransfer_UseSerialno,
case when p.Gr10 in (1,2) then '1' else '0' end StockTransfer_UseBatchno,
case when p.Gr10 in (3) then '1' else '0' end StockAdjustment_UseSerialno,
case when p.Gr10 in (1,2) then '1' else '0' end StockAdjustment_UseBatchno,
case when p.Gr10 in (2) then '1' else '0' end StockAdjustment_UseExpiryDate,
p.Gr10 batchprofile,

Clientconfig (Configuration → Profile): receivelist / showbatchexpirydate = true og pickinglist / showbatchexpirydate = true.

Exportconfig: pickinglist / addserialnos kan stå til false når cfg_AddSerialnos styrer det per linje som i eksemplet. Settes den til true, legges også serienumre fra partistyrte varer i serienummertabellen.

8. Varetelling (StockcountProducts)

Se også Oppsett av varetelling på varepartier med Visma Business Services for detaljert oppsett av telling på varepartier, holdbarhetsdato og nye varepartier under telling, og Varetelling mot Visma Business for selve gjennomføringen av tellingen.

  • Partistyrte varer: Visma Business har beholdning per parti, og tellingen må ha én linje per parti per lokasjon. Standardspørringen StockCountBatches henter partiene som er satt til telling (ShpBal med ShpSt & 1 = 1). Partiene lastes ned til appen når stockcount / downloadbatches = true.
  • Standard StockcountProducts har ikke kolonnen usebatchno, og da behandles alle varer som varer uten parti. Legg til case when p.Gr10 in (1,2,3) then 1 else 0 end usebatchno. For serienummer kan du i stedet sette useserialno = 1 og usebatchno = 0 (type 3), slik at antallet blir 1 per serienummer.
  • Telling av varepartier krever også at firmaoppsettet stockcount / accumulateonfields inneholder batchid,batchno, slik at partiene ikke slås sammen. Standard eksport av tellingen skriver bare til StockBalance. For partier må du legge til lines.quantity → Shipment.CountedQuantity under Export to ERP → stockcount → Export Mapping.
  • Nye partier under telling krever stockcount / addnewbatches = true og stockcount / addbatchidonnewbatch = true.
  • Serienummer i serienummertabellen (type 4): ingen beholdning per serienummer. Varene telles som vanlige varer, og spørringen trenger ingen tilpasning.

9. Sjekkliste før produksjon

  • Varemottak per type: riktig felt i appen (serienummer, batch, holdbarhetsdato), og partiet blir opprettet riktig i Visma Business med partinummer (SerNo), lokasjon (Loc) og eventuelt holdbarhetsdato (DurDt).
  • Plukk med reservert parti: MatchOnScan stopper feil batch, og riktig parti blir ferdigmeldt i Visma Business.
  • Plukk uten reservasjon: partiet som brukeren velger, blir brukt på ordrelinjen i Visma Business.
  • Serienummer ved plukk (type 4): serienumrene kommer i serienummertabellen (Ser) på riktig ordrelinje, og linjen blir ferdigmeldt med riktig antall.
  • Flytting og lagerjustering på partistyrte varer krever batch/serienummer. Type 4 krever det ikke.
  • Varetelling: talte partier ligger på hver sin linje etter sammenslåing og får riktig antall i Visma Business.