VBus, versjon 14
Skrevet om 23. februar 2025 – versjon 15 og senere
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:
Når man registrerer en produksjonsordre og legger inn et antall på ordrelinjen med strukturhodet, ekspanderes strukturen med rett antall på strukturlinjene. Strukturlinjene har TransType=5 [Vareforbruk], mens strukturhodet har TransType=7 [Produksjon]:
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 leveringstiden 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 produksjonsstart/kostnader (fra ordre hodet):
Vi ser at vi nå har fått en fornuftig ønsket prod.start dato og dermed også ankomstdato på det som skal produseres.
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 ferdigmelder innkjøpsordren). Monteringsavdelingen starter umiddelbart med å «produsere» to traller; ferdigmelder vareforbruk av 2 stativ og 8 hjul. Dagen etter blir de montert og lakkert. På torsdag (30. januar) er lakken herdet, og to traller blir ferdigmeldt og satt inn på lageret. Fredag dukker den inngående fakturaen for hjulene opp og fakturamottak gjennomfø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å produksjonsordren; det er rengjøring av lakkeringsutstyret 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):
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 produkttransaksjonen når det skjedde, bare at det har skjedd. Men vi kan se når det skjedde i realisasjonsjournalen – og av bilagslinjene og hovedbokstransaksjonene.
Å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 Fakturadato 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 bilagslinjene 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 tilbakefø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 bilagslinjene mangler Valuteringsdato og dermed «arver» Valuteringsdato 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.
Ser vi på transaksjonene på balansekontoene i hovedboka, blir det slik:
Legg merke til at bilagslinjene for tilbakeføring av midlertidig lagerverdi ved realisering ikke har Valuteringsdato og dermed «arver» Valuteringsdato fra bunten, som er satt til Ferdigmeldt dato på produksjonsordren.
I versjon 8 ble realisasjonsjournalene introdusert. Og komplette realisasjonsjournaler forutsetter at det er valgt bokføring av midlertidig lagerverdi. Flott konsept, men ferdigmelding 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 produksjonsordren):
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å realisasjonsjournallinjene til Bokført beløp på hovedbokstransaksjonene, 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 sammenhengen, er jeg lutter øre.
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 ferdigmelder alt i januar. Men realiseringen skjer i februar.
Realisasjonsjournalene (Produktnr, Beskrivelse, Partinr og A&B-gruppe er hentet fra produkttransaksjonene) og hovedbokstransaksjonene blir slik:
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 lagerhåndtering og har hverken lagerbevegelse eller lagerverdi 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 realisasjonsjournallinjene 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å realisasjonsjournallinjen 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 Valuteringsdato, År og Periode på realisasjonsjournallinjene. Og når realiseringen skjer i en senere periode enn ferdigmeldingen, 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 Produkttransaksjon som endrer Regnsk. år/per. ved realisering av produksjonsordren 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 varemottatt 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 Valuteringsdato 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 lagerverdi ved produksjon ingen verdi. Realisasjonsjournallinjene 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 Valuteringsdato til realisert dato på disse radene – eller helst endrer Valuteringsdato på bunten.
Dersom forrige periode er stengt, vil bunten mangle Valuteringsdato og blir ikke oppdatert. Så en trigger som setter Valuteringsdato 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.
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 produksjonsordre. VBus behandler hver ordre for seg og oppretter en bunt for hver produksjonsordre. 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 produksjonsordre 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.
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:
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 lagerkorrigering av biproduktet – i prinsippet frikoblet fra produksjonsordren.
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 vareforbruk 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 Journaldato på realisasjonsjournallinjene): VBus bruker tidligste ferdigmeldt dato (fra produkttransaksjonene med Trans.type=7). Det betyr at om man har en ordre med to produksjoner hvor den ene ble ferdigmeldt 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