Produksjon i VBus

Oslo, 31. august 2019

VBus, versjon 14

Skrevet om 23. februar 2025 – versjon 15 og senere

 

Jeg skrev om produksjon her første gang for fem og et halvt år siden – den gang med referanse til versjon 14 – som hadde noen grelle feil i bokføringen etter realisering av produksjon. Dette ble rettet i versjon 15. Alt som er skrevet etter overskriften Selve produksjons­ordren nedenfor, er skrevet om for å reflektere slik det er fra og med versjon 15 (i alle fall til og med versjon 19; hvem vet hva fremtiden bringer).

VBus er ikke noe MPS-system og «produksjon» i VBus er helt enkel montering. Det er ingen kapasitets­-beskrankninger og produksjons­tiden er helt uavhengig av volum. Det er allikevel mange som klarer seg fint med den funksjonaliteten som ligger i VBus. Eksempelet som jeg bruker her, er fra demo-dataene som brukes på kurs og sertifiseringer hos Visma. Gi beskjed om du vil ha dem, de er nyttige hvis du skal sette opp dette på egen hånd.

Oppsett av produksjonsstrukturen

Produktet som produseres er en tralle bestående av en ramme og fire hjul, samt arbeid med montering og lakkering. Produksjonstiden er tre dager (lakken må herde) og arbeidet er to timer uavhengig av hvor mange traller som produseres (det er rensing av pensler som tar tid).

Oppsettet er slik:

 

Strukturhodet (det vi produserer) er altså lagerhåndert og i tillegg til behandlingsmåten som er vist over så er det (under fanen Etterbeh.) krysset av for Bokfør midlertidig lager­verdi (av struktur­hodet). Kryssene i dialogen behandlings­måte trenger forklaring. Det som står helt til venstre gjelder strukturhodet. Det som står ved siden, er overstyring av struktur­linjene. Når det er krysset av for at struktur­linjene er Råvare, så er det ikke nødvendig å angi dette på strukturlinjene. Denne egenskapen er overstyrt fra struktur­hodet. Det samme gjelder at Kostnader ved produksjon (på struktur­linjene) skal Akkumuleres opp i strukturhodet. For at dette skal bli rett må det i bedrifts­opplysningene (i Ordre­behandling) krysses av for Beregn gjennomsn. kostpris på ordrelinje.

Når det gjelder TIMER så skal det behandles noe annerledes enn de andre to produktene som inngår som vare­forbruk i produksjonen. Her benyttes en overstyrt beskrivelse og i behandlings­måte er det krysset av for at TIMER Unntas lager­håndtering, Unntas fra generering av innkjøpsordre (under fanen Restriksjoner) og at det er Fast antall (uavhengig av antallet i strukturhodet).

Avgifts- og bokføringsopplysningene

I versjon 8 ble det introdusert et nytt regime for bokføring. Dette er beskrevet i vedlegg A til releasenotes både til versjon 8 og 9, og anbefales lest. Det som gjelder produksjon, er satt opp slik:

 

Dette skal leses slik:

·        Innkjøp av råvarer til lager bokføres inn på konto 1410 [Råvarer].

·        Når råvarer ferdigmeldes som vareforbruk i produksjon bokføre lagerverdien ut av (til kredit) konto 1410 og inn (til debet) på konto 1420 [Varer under tilvirkning] – se Produkt i arbeid.

·        Når arbeid ferdigmeldes som «vareforbruk» i produksjon så føres kostnaden ut av (til kredit) 4440 [Aktivert ved produksjon] og inn (til debet) på konto 1420. Se Produksjons kost differanse. Det er altså på denne handlingen som påvirker resultat som en verdiøkning av varelager.

·        Når det som blir produsert blir ferdigmeldt bokføres verdien ut av (til kredit) konto 1420 og inn på (til debet) konto 1430 [Egenproduserte varer, venter realisering] – se midlertidig lagerkostnad produksjon.

·        Når produksjonen blir realisert føres verdien ut av (til kredit) 1430 og inn (til debet) på konto 1440 [Ferdige egenproduserte varer (realisert)] – se Produksjonslager. Rent teknisk skjer det en reversering av bokføringen fra ferdigmeldingen (verdien flyttes tilbake til 1420 og så videre med det samme til 1440).

På denne måte flytter vi lagerverdiene slik 1410 => 1420 => 1430 => 1440 ved følgende hendelser (hver hendelse representert med en pil):

1.      Ferdigmelding av vareforbruk i produksjon

2.      Ferdigmelding av det som er produsert

3.      Realisering av produksjon

Legg merke til at det ikke er nødvendig å benytte eget kontosett for produksjon med det nye bokføringsregimet.

I bokføringstilfeller er det nesten helgardert:

Et bilde som inneholder tekst, skjermbilde, display, nummer

KI-generert innhold kan være feil.

 

Selve produksjonsordren

Når man registrerer en produksjonsordre og legger inn et antall på ordrelinjen med strukturhodet, ekspanderes strukturen med rett antall på struktur­linjene. Strukturlinjene har TransType=5 [Vareforbruk], mens strukturhodet har TransType=7 [Produksjon]:

Et bilde som inneholder tekst, skjermbilde, Font, nummer

KI-generert innhold kan være feil.

Datoene som VBus foreslår, er ikke helt innertier. Men heller ikke helt bak mål. Vi ser at vi ikke har noen hjul på lager, så det må kjøpes inn. Siden leverings­tiden på disse er tre dager så «bekrefter» VBus at disse er tilgjengelig for produksjonsordren om tre dager. VBus tar ikke hensyn til at 26. er i søndag, men det får så være. Stativ er på lager, så her bekrefter VBus bramfritt at disse kan leveres til produksjon med det samme. Og ankomstdato for det som skal produseres er samme dag som produksjonsordren registreres, til tross for at noe som skal brukes ikke er tilgjengelig før om tre dager og at det er en produksjonstid på tre dager. Så da bruker vi menyvalget Kalkuler produksjons­start/kostnader (fra ordre hodet):  

Et bilde som inneholder tekst, Font, line, nummer

KI-generert innhold kan være feil.

Vi ser at vi nå har fått en fornuftig ønsket prod.start dato og dermed også ankomstdato på det som skal produseres.

Trinnvis ferdigmelding

Vi ser at vi ikke kan starte produksjonen før det er kjøpt inn hjul. Så vi registrerer en innkjøpsordre for dette og henter disse hos leverandøren på mandag 27. januar (og ferdig­melder innkjøps­ordren). Monterings­avdelingen starter umiddelbart med å «produsere» to traller; ferdigmelder vare­forbruk av 2 stativ og 8 hjul. Dagen etter blir de montert og lakkert. På torsdag (30. januar) er lakken herdet, og to traller blir ferdig­meldt og satt inn på lageret. Fredag dukker den inngående fakturaen for hjulene opp og faktura­mottak gjennom­føres. Innkjøpsfakturaen hadde en litt høyere pris på hjulene enn først antatt, slik at kostprisen ble 56,10 i stedet for 51,- som først antatt.

Uka etter «produseres» den siste tralla. Siden denne også skal lakkeres er må det legges inn et Antall på 2 (timer) på nytt på produksjons­ordren; det er rengjøring av lakkerings­utstyret som tar tid – uavhengig av antall som lakkeres.

Produksjonsordren realiseres 9. februar. Produktransaksjonene fra produksjonsordren ser nå slik ut (meningsløse verdier på sumlinjene er sensurert for å unngå forvirring):

Et bilde som inneholder tekst, Font, nummer, skjermbilde

KI-generert innhold kan være feil.

Den opprinnelige kostprisen på hjulene var 51 kroner, men endelig kostpris ble 56,10. Siden 8 hjul ble ferdigmeldt med den opprinnelige kostprisen, får vi en korrigering av varekosten etter at fakturamottaket for innkjøpet er gjort. Det fremgår ikke av produkt­transaksjonen når det skjedde, bare at det har skjedd. Men vi kan se når det skjedde i realisasjons­journalen – og av bilags­linjene og hovedboks­transaksjonene.

Årsaken til at kostpris på det som ble ferdigmeldt 30. januar, er mye større enn det som kan forklares med prisøkningen på hjulene, er at vi har fått Montering og lakkering to ganger.

Vareforbruket blir realisert ved ferdigmelding, mens det som produseres blir realisert samlet når alt er ferdigmeldt og alt vareforbruk har fått endelig kostpris. Kolonnen Faktura­dato viser når produksjonen ble realisert og det var den 9. februar. VBus setter Regnsk. år/per. ved ferdigmelding, men oppdaterer den ikke ved realisering. Det betyr at Regnsk. år/per. er feil når produksjonen realiseres i en annen periode enn ferdigmeldt. Mer om dette nedenfor.

Jeg har endret teksten på bilagslinjene (se Korreksjonsbilag fra logistikken) og lagt til i parentes hva det gjelder. Her ser vi at korrigert kost på de 8 hjulene skjedde 31. januar. Disse bilags­linjene har Opprinnelse = 40 [Korreksjon av kostnader].

Realiseringen av produksjonen skjedde altså 9. februar; se Bilagsjour.nr. 876. Bunten får Valuteringsdato 6. februar som er dato for siste ferdigmelding. Bilagslinjene for tilbake­føring av midlertidig lagerverdi (fra 1430 tilbake til 1420) får bilagsdato 30. januar som er første gang det som er produsert ble ferdigmeldt. Nokså ulogisk. Direkte feil blir det at disse bilags­linjene mangler Valuteringsdato og dermed «arver» Valuterings­dato fra bunten. Disse linjene burde ha samme Valuteringsdato som de som gjelder bokføring av produksjonsverdi – altså når produksjonen ble realisert. Det er først når produksjonen realiseres i en senere periode enn siste ferdigmelding, feilen blir av betydning.  

Et bilde som inneholder tekst, Font, nummer, programvare

KI-generert innhold kan være feil.

 

Ser vi på transaksjonene på balansekontoene i hovedboka, blir det slik:

Et bilde som inneholder tekst, nummer, Font, programvare

KI-generert innhold kan være feil.

Legg merke til at bilagslinjene for tilbakeføring av midlertidig lagerverdi ved realisering ikke har Valuteringsdato og dermed «arver» Valuterings­dato fra bunten, som er satt til Ferdig­meldt dato på produksjons­ordren.

I versjon 8 ble realisasjonsjournalene introdusert. Og komplette realisasjonsjournaler forutsetter at det er valgt bokføring av midlertidig lager­verdi. Flott konsept, men ferdig­melding kan ikke trekkes tilbake med negativt antall i Ferdig NÅ. Dermed er dette i liten grad tatt i bruk for kjøp og salg, men jeg har til nå anbefalt dette for produksjon – først og fremst fordi vi får en skille i bokføringen mellom det som faktisk er varer i arbeid og det som er ferdig produsert, men avventer realisering (altså det som er urealisert lager­økning på lagersaldo).

Realisasjonsjournalene blir slik (de som er markert – realisasjonsjournal 1750 og bilagsjournal 876 – kommer fra realisering av produksjons­ordren):

Et bilde som inneholder tekst, skjermbilde, nummer, Parallell

KI-generert innhold kan være feil.

Realisasjonsjournalene før realisering er oversiktlig nok, de kjenner vi igjen både fra produkttansaksjoner og hovedbokstransaksjoner. De som gjelder realisering av produksjonen, er det verre med. Vi kjenner igjen summen; økningen i lagerverdi på 2000 kroner som er 2 x 2 x 500 kroner til montering og lakkering. Og vi kjenner igjen 707,47 som endring i varekost på det som ble produsert i januar. Men jeg har ikke fantasi nok til å koble det som står i kolonnen Bokført verdi på realisasjons­journal­linjene til Bokført beløp på hovedboks­transaksjonene, selv om jeg ser at både 1.605,07 og 1.156,27 figurerer begge steder. Jeg har vel blitt for gammel og fantasien er for dårlig. Om noen hos Visma føler seg kallet til å forklare sammen­hengen, er jeg lutter øre.

Realisering i annen periode enn ferdigmelding

For å gjøre det enkelt; vi lager 1 tralle, har alle råvarer på lager med endelig kostpris (slik at vi slipper korrigerte kostnader på veien), dropper bokføring av midlertidig lager verdi av produksjon og ferdig­melder alt i januar. Men realiseringen skjer i februar.

Realisasjonsjournalene (Produktnr, Beskrivelse, Partinr og A&B-gruppe er hentet fra produkttransaksjonene) og hovedbokstransaksjonene blir slik:

Et bilde som inneholder tekst, Font, line, nummer

KI-generert innhold kan være feil.

Her er det enkelt å følge både realisasjonsjournallinjer og hovedbokstransaksjoner. Verdien av råvarer tas ut fra lager og går inn i produksjon, bokført som 1410 [Råvarer over lager] à 1420 [Varer under tilvirkning]. Montering og lakkering er unntatt lager­håndtering og har hverken lager­bevegelse eller lager­verdi og bokføres som 4440 [Aktivert i produksjon] à 1420 [Varer under tilvirkning]. Ved realiseringen legges verdien av det som er produsert tilbake på lager (og her er realisasjons­journal­linjene ufullstendig siden vi har droppet bokføring av midlertidig lagerverdi ved produksjon) og dette bokføres som 1420 [Varer under tilvirkning] à 1440 [Ferdige egenprod. varer].

Legg merke til at både realisasjonsjournallinjen og produkttransaksjonen har feil periode; det ser ut som om dette er bokført i januar. Journal-dato på realisasjons­journal­linjen er det eneste som forteller når realiseringen skjedde.

Uansett om man har bokføring av midlertidig lagerverdi eller ikke, så blir det rett akkumulert. Det er bare om man sammenlikner bevegelsene i logistikken med bokføringen i regnskapet periode for periode det blir feil. Og det er altså to feil:

1.     Regnsk. år/per. på produkttransaksjonene for det som produseres følger ferdigmeldt dato og ikke realisert dato. Det samme gjelder Valuterings­dato, År og Periode på realisasjons­journal­linjene. Og når realiseringen skjer i en senere periode enn ferdig­meldingen, får vi en periode-forskyvning – selv om det altså er korrekt akkumulert. Det gjør sporingen og dokumentasjon av balansen svært tidkrevende. Men om du setter Fakturadato i ordrehodet (på produksjonsordren) til den dagens dato før realisering, så blir det rett. Det kan være vanskelig å huske på alltid, så en løsning kan være å få BIG til å gjøre dette. En annen løsning kan være en trigger på tabellen Produkt­transaksjon som endrer Regnsk. år/per. ved realisering av produksjons­ordren slik at den settes rett.

2.     Fordelen med å bokføre midlertidig lagerverdi ved produksjon er at vi kan splitte opp varer under tilvirkning (varer i arbeid) i det som virkelig er under tilvirkning og det som er ferdig produsert (og vare­mottatt på lager), men avventer realisering. Det er viktig om man har som ambisjon å ha bokført fysisk lagerverdi og varer i arbeid på separate konti. Men siden VBus ikke setter Valuterings­dato på bilagslinjene som tilbakefører den midlertidige lagerverdien fra 1430 til 1420, så vil det som er bokført på 1430 ved utløpet av måneden før realiseringen være feil. Og med denne feilen har bokføring av midlertidig lager­verdi ved produksjon ingen verdi. Realisasjons­journal­linjene som oppstår ved realisering, gir ingen forklaring på bokføringen når det er bokført midlertidig lagerverdi ved produksjon. Så min klare anbefaling er enten å doppe det eller sette opp en trigger på Bilagstabellen som setter Valuterings­dato til realisert dato på disse radene – eller helst endrer Valuterings­dato på bunten.

Dersom forrige periode er stengt, vil bunten mangle Valuteringsdato og blir ikke oppdatert. Så en trigger som setter Valuterings­dato på bunten til dagens dato på bunter som kommer fra realisering av produksjon, kan være på sin plass selv om man ikke har bokføring av midlertidig lagerverdi ved produksjon.

Realisering av flere produksjonsordrer i én operasjon

De som har mye produksjon, har gjerne som rutine å realisere mange produksjonsordre i én operasjon. Dette er særlig vanlig der det produseres varer som inngår som vareforbruk i andre produksjons­ordre. VBus behandler hver ordre for seg og oppretter en bunt for hver produksjons­ordre. Jeg har sett tilfeller av at VBus splitter det som skulle være på én bunt i to bunter og oppdaterer den ene, mens den andre blir liggende igjen – gjerne med en ubalanse i bunten. Jeg har aldri klart å fremprovosere dette, men tror det bare oppstår når mange produksjons­ordre realiseres samtidig. Jeg anbefaler derfor å realisere ordrene én etter én. Dette kan være tidkrevende, men her kan jobb-planleggeren til VBus være nyttig. Legg merke til at en jobb kan settes opp slik at den behandler én rad ad gangen.

Produksjonsordre med biprodukter

Produksjon kan ha biprodukter. Et eksempel kan være torskefilet. Til det trenger man åpenbart torsk og arbeidskraft til bearbeiding og pakking. Samtidig kan det som ikke blir til filet, brukes til noe annet – f.eks. fiskemel. Hvis det er slik at for å lage én kg filet, vil gå med 2 kg torsk og 0,1 time arbeid – og samtidig får vi ut 0,8 kg fiskemel fra produksjonsprosessen, kan det settes opp slik (med negativt vareforbruk av fiskemel):

Produksjonsordren kan da bli slik:

Et bilde som inneholder tekst, skjermbilde, line, Font

KI-generert innhold kan være feil.

Legg merke til at kostprisen på fiskemel hentes fra lagersaldo og verdien trekkes fra kostnadene. Beløpet på 47 tusen er altså 50’+5’-8’=47’.

Det kan være fristende å sette opp biproduktet, ikke som negativt vareforbruk, men med Trans.type=7. Det blir feil i bokføringen når produksjonen realiseres. Da er det bedre (og enklere) å foreta en lager­korrigering av biproduktet – i prinsippet frikoblet fra produksjons­ordren.

Flere produksjoner på samme ordre

Det er mulig å registrere flere produkter som skal produseres på samme produksjonsordre, men jeg anbefaler det ikke. Årsaken til dette er at alle ordrelinjer må være ferdigmeldt og alt vare­forbruk må ha endelig kostpris før produksjonsordren kan realiseres. Bokføringen blir som ellers, men det er en liten sær detalj når det gjelder Bilagsdato (og Journal­dato på realisasjons­journal­linjene): VBus bruker tidligste ferdig­meldt dato (fra produkt­transaksjonene med Trans.type=7). Det betyr at om man har en ordre med to produksjoner hvor den ene ble ferdig­meldt i sin helhet i januar og den andre i februar, så vil bokføring av midlertidig lagerverdi på den andre produksjonen få bilagsdato i februar, mens tilbakeføringen får bilagsdato i januar. Dette er for så vidt bare forvirrende; valuteringsdato vil være i februar.

 

 

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

 

 

frode@antun.no