1. søndag i advent, 2019

VBus versjon 14

I dag skriver jeg om sporing av transaksjoner fra logistikken til regnskapet.

Alle som har forsøkt å lage en komplett sporing av transaksjoner fra logistikken til regnskapet og tilbake, vet at det ikke er enkelt – i alle fall om det er mer enn en håndfull transaksjoner.

Men det er nødvendig. Bokføringslovens §4, punkt 7 er rimelig klar: Sporbarhet: Det skal foreligge toveis kontrollspor mellom dokumentasjon, spesifikasjoner og pliktig regnskapsrapportering.

Og RegnskapsStiftelsen har ført i pennen en egen bokføringsskikk om dette: NBS 2 Kontrollsporet.

Kort fortalt sier den at det skal være mulig fra enhver transaksjon i logistikken som påvirker regnskapet å finne frem til de(n) konkrete posteringen(e) i regnskapet som logistikktransaksjonen førte til og tilbake; fra enhver postering i regnskapet skal vi kunne finne de(n) konkrete transaksjonen(e) i logistikken som var opphavet til regnskapspostene. Ikke bare for en og en transaksjon eller postering, men også for grupper av transaksjoner og posteringer – f.eks. summen av alle transaksjoner eller posteringer som er bokført i en bestemt periode. Rimelig ambisiøst.

Det er sikkert noen (som i god tro) har fortalt deg at det er mulig å gjøre dette fra tabellen Produkttansaksjon i logistikken og Oppdaterte bilag (evt. Hovedbok-transaksjon) i regnskapet. Kort fortalt: Det er feil.

Årsaken til dette er at det fra alle avgangstransaksjoner i logistikken (slike som tar varer ut av lager) vil det være minst én, men noen ganger to transaksjoner i regnskapet. Og årsaken til dét (altså to transaksjoner i regnskapet for hver avgang) er i VBus kan vi selge varer straks de har kommet inn på lager (altså at varemottak er gjennomført), før den inngående faktura er behandlet (fakturamottatt) i VBus. Eller for det som er produsert; før produksjonen er realisert. Produksjonsordre har jeg skrevet om før; det kan du lese om her – så jeg skriver ikke mer om det nå. Problemet med å bruke produkttransaksjonene er at kolonnen Lagerkostnad (kr) – som etter min mening burde hete Lagerverdiendring (kr) – viser det som er bokført ved faktureringen pluss/minus korrigert varekost etter fakturamottaket. Vi kan se av Transstatus på produkttransaksjonen om Lagerkostnad (kr) er endret eller ikke – evt. om det muligens vil skje i fremtid, men vi ser ikke (om den er endret) hva som ble bokført ved fakturering og hva som ble bokført i ettertid. Riktignok har vi Oppr. kostpris (kr) og vi kan lage en beregnet kolonne som viser opprinnelige kostnader samt korrigerte kostnader, men slike beregnede kolonner vil ikke vise aggregerte størrelser om vi ikke samtidig viser detaljtransene. Og i et transaksjonstungt miljø er vi helt avhengig av å kunne jobbe med aggregerte størrelser, så vel som detaljerte.

I VBus løses transaksjonssporingen med realisasjonsjournalene. Det forutsetter at bokføring av midlertidig lagerverdi er implementert for kjøp, produksjon og salg. Jeg kommer tilbake til hva dette innebærer senere.

Hver gang det skjer noe i logistikken som påvirker bokført verdi i balansen så lages det en realisasjonsjournal med linjer som viser både til produkttransaksjon og regnskapsbilag. For hver produkttransaksjon kan det oppstå inntil fire posteringer i regnskapet:

·       For innkjøp, produksjon og salg med Ordretype=1 (som ferdigmeldes først og realiseres senere) blir det opprettet en realisasjonsjournal ved ferdigmelding/varemottak som reverseres ved realisering (fakturamottak eller fakturering). I regnskapet har denne transaksjonen Opprinnelse=16 [Bokføring av kostnader]. Personlig skulle jeg ønske meg egne opprinnelser for disse hendelser. Realisasjonsjournallinjen har kolonner for Lagerbevegelse, Lagerverdi og Bokført verdi. De to første handler om endringer i logistikken (eller produkttransaksjonen om du vil). Den siste viser til hva som blir bokført. Realisasjons­linjen viser til det oppdaterte bilaget  (Bilagsjour.nr). Merk at det er ferdigmeldingen/varemottaket som oppdaterer Lagerbevegelse og Lagerverdi. I praksis betyr dette at realisasjonslinjene i sum viser På lager NÅ (på lagersaldo) og verdien av dette.  

·       Ved realisering reverseres (som nevnt) den midlertidige lagerverdi – om det gjelder en transaksjon som genererer midlertidig lagerverdi ved ferdigmelding – og det opprettes en ny linje for realisering. Merk at for transaksjoner som realiseres ved ferdigmelding (salgsordre med Ordretype=2 eller 3, korreksjonsordre, lagertelling, vareforbruk i produksjon eller lageroverførsler) så finnes det ingen transaksjon med midlertidig lagerverdi å reversere. Og så lages det en realisasjonsjournal for selve realiseringen.

·       Dersom transaksjonen er en avgang (at varer går ut av lager) fra et vareparti med urealisert lagerøkning (altså at varepartiet er opprettet fra en innkjøpsordre som er varemottatt, men ikke fakturamottatt – eller fra en produksjon som er ferdigmeldt, men ikke realisert – eller retur fra kunde hvor varene er mottatt/ferdigmeldt, men hvor kreditnota ikke er skrevet ut) og vareinngangen realiseres med annen kostpris enn opprinnelig (f.eks. ved endret innkjøps­pris, -rabatt, fraktpåslag eller valutakurs ved fakturamottak); da opprettes det en realisasjonsjournal til for å dokumentere bokføringen av korrigerte kostnader.

Merk at det er realisasjonsjournalen som opprettes ved ferdigmelding som har Lagerbevegelse på linjene. Og det er denne samt eventuelt den for korrigering av solgte varers kost som har verdi i kolonnen Lagerverdi. La oss ta et eksempel. Vi kjøper inn 2 stk av et lagerhåndtert produkt til 100 EUR med kurs 10 NOK/EUR og på innkjøpsfaktura kommer det en frakt-linje (som ikke er lagerhåndtert) på 20 EUR. På den lagerhåndterte linjen legger vi på 10% i fraktpåslag, slik at Kostpris (kr) blir 1.100. Innkjøpsordren ferdigmeldes. Så selges (og faktureres) 1 stk til 2.500 NOK, mens den siste telles bort (lagersaldo telles til null). Til slutt gjennomføres fakturamottaket med valutakurs 11 NOK/EUR.­

Produkttransaksjonene blir slik:

Trans. type

Ordre-nr

Ordre jour.nr

Opprinnelse

Produkt-nr

Antall

Pris

ISO- kode

Beløp

Pris (kr)

Frakt 1

Oppr. kostpris (kr)

Kostpris (kr)

Lager-bevegelse

Lager-kostnad (kr)

Realisert beh.endring; realisasjons-journalnr

Realisert beh.endring; realisasjons-journallinjenr

Realisert lagerverdi; realisasjons-journalnr

Realisert lagerverdi; realisasjons-journallinjenr

Siste realisasjons-journalnr

6 [Innkjøp]

2360

2016

1 [Manuelt registrert]

Vare

2

100,00

USD

200,00

1 100,00

110

1 100,00

1 210,00

2

2 420,00

1742

1

1747

1

1748

1 [Salg]

2361

2017

1 [Manuelt registrert]

Vare

1

2 500,00

NOK

2 500,00

2 500,00

110

1 100,00

1 210,00

-1

-1 210,00

1743

1

1744

1

1749

4 [Tap]

2019

15 [Lagertelling]

Vare

1

121,00

USD

121,00

1 210,00

110

1 100,00

1 210,00

-1

-1 210,00

1746

1

1746

1

1749

6 [Innkjøp]

2360

2020

1 [Manuelt registrert]

Frakt

1

20,00

USD

20,00

220,00

 

220,00

220,00

 

 

 

 

 

 

 

 Mens realisasjonsjournallinjene ser slik ut:

Realisasjons-journalnr.

Linje-nr

Opprinnelse

Ordre-jour.nr

Trans. nr

Trans. type

Ordre-nr

Opprinnelse

Bilags-jour.nr

Valuterings-dato

År

Periode

Lager-bevegelse

Lager-verdi

Bokført verdi

Journal-dato

Kommentar

1742

1

16 [Bokføring av kostnader]

2016

1

6 [Innkjøp]

2360

1 [Manuelt registrert]

861

01.12.2019

2019

12

2

2 200,00

2 200,00

01.12.2019

Varemottak

1743

1

16 [Bokføring av kostnader]

2017

1

1 [Salg]

2361

1 [Manuelt registrert]

862

01.12.2019

2019

12

-1

-1 100,00

-1 100,00

01.12.2019

Ferdigmelding av salgsordre

1744

1

9 [Ordrebehandling]

2017

1

1 [Salg]

2361

1 [Manuelt registrert]

863

01.12.2019

2019

12

0

0,00

-1 100,00

01.12.2019

Fakturering av salgsordre

1745

1

16 [Bokføring av kostnader]

2017

1

1 [Salg]

2361

1 [Manuelt registrert]

863

01.12.2019

2019

12

0

0,00

1 100,00

01.12.2019

Tilbakeføring av ferdigmelding

1746

1

16 [Bokføring av kostnader]

2019

1

4 [Tap]

15 [Lagertelling]

864

01.12.2019

2019

12

-1

-1 100,00

-1 100,00

01.12.2019

Lagertelling

1747

1

23 [Inngående faktura]

2016

1

6 [Innkjøp]

2360

1 [Manuelt registrert]

865

01.12.2019

2019

12

0

220,00

2 420,00

01.12.2019

Fakturamottak

1748

1

16 [Bokføring av kostnader]

2016

1

6 [Innkjøp]

2360

1 [Manuelt registrert]

865

01.12.2019

2019

12

0

0,00

-2 200,00

01.12.2019

Tilbakeføring av varemottak

1749

1

40 [Korreksjon av kostnader]

2017

1

1 [Salg]

2361

1 [Manuelt registrert]

865

01.12.2019

2019

12

0

-110,00

-110,00

01.12.2019

Korrigert solgte varers kost

1749

2

40 [Korreksjon av kostnader]

2019

1

4 [Tap]

 

15 [Lagertelling]

865

01.12.2019

2019

12

0

-110,00

-110,00

01.12.2019

Korrigert kost ved lagertelling

Her ser vi henvisningen til Bilagsjour.nr i regnskapet. Ideelt sett burde det også ha vært en henvisning til Oppdatert buntnr. For Bilagsjour.nr. 865, som er resultat av fakturamottak, har tre bunter; én for selve fakturamottaket, én for tilbakeføring av midlertidig lagerverdi fra varemottaket og én for korrigering av varekost. Men disse tre buntene har ulike Opprinnelse; h.h.v. 23, 16 og 40 – så vi vet allikevel hvor de kommer fra.

Vi har nå en tabell som gjør at vi kan fra enhver produkttransaksjon se bokføringen og fra enhver hovedbokstransaksjon se produkttransaksjonene som er grunnlag for bokføringen. Altså at vi tilfredsstiller kravet i Bokføringslovens §4, punkt 7 om Sporbarhet: Det skal foreligge toveis kontrollspor mellom dokumentasjon, spesifikasjoner og pliktig regnskapsrapportering.

De to kolonnene i tabellen produkttransaksjoner med det lange omstendelige navnet som starter med Realisert beh.endring viser til de realisasjonsjournalene som ble dannet ved ferdigmelding eller lagertelling, mens de som starter med Realisert lagerverdi viser til journalene som ble dannet ved realisering. Kolonnen Siste realisasjonsjournalnr. vil for innkjøp vise til tilbakeføring av midlertidig lagerverdi fra varemottaket, mens for salgstransaksjoner vil det vise til tilbakeføring av midlertidig lagerverdi fra ferdigmelding – hvis ikke (som i dette eksempelet) kostprisen ble endret i fakturamottaket; da viser Siste realisasjonsjournalnr. til den som ble opprettet for å korrigere kostnadene.

Legg merke til at tilbakeføring av midlertidig lagerverdi skjer ved realisering (fakturering av salgsordre og fakturamottak av innkjøp og produksjon). I eksempelet over er fraktpåslaget inkludert de midlertidige lagerverdiene. Dette er et valg som gjøres i A. og b. behandl. i tabellen Avgifts- og bokføringsopplysninger:

 

En fallgruve er at alle produkter må settes opp med behandlingsmåten Bokfør midlertidig lagerverdi. Det er ikke tilstrekkelig å angi dette i Bokføringstilfeller (men det må angis der også). Jeg anbefaler at det legges i ordrelagrings­prosedyren at denne behandlingsmåten alltid skal settes på lagerhåndterte produkter. Snakk med forhandleren din om dette. Og be samtidig om at prosedyren endrer Trans.dato på realiserte avgangstransaksjoner som er merket med Midlertidige kostnader. Det er en feil i versjon 14 som gjør at regnskapsbilaget får Valuteringsdato fra Trans.dato på bilag med Opprinnelse = 40 [Korreksjon av kostnader]. Og siden Trans.dato i utgangspunktet er den dagen som ordren er registrert, så anbefaler jeg å sette Trans.dato lik Fakturadato. Jeg var innom dette da jeg skrev om produksjon hvor det kan gi nokså bisarre utslag, så jeg skriver ikke noe mer om dette her.

Så må det også settes opp konti for føring av midlertidig lagerverdi, f.eks. slik:

Jeg har ikke tatt med konti for import/eksport eller EU her. Disse brukes bare om man setter Område (3 eller 2) på ordren (som arves fra kunde og leverandør). Jeg har heller ikke tatt med konti for rabatt eller tillegg. Tillegg er negativ rabatt, men blir bare bokført på egne konti om man i ordrebehandling har krysset av for Bokfør tillegg. Påslaget for frakt skal etter Regnskapslovens § 5-5 bokføres ved innkjøp. RegnskapsStiftelsen har presisert dette i NRS-1. Interesserte kan lese mer om dette her: frode.antun.no/VBus/blogg/Frakt.htm. Bokfør debet/kredit frakt 1-4 og toll ved innkjøp kan settes både i Transp.avt.behandl. (i bedriftsopplysningene) eller i A. og b.behandling (i Avgifts- og bokførings­opplysninger), men det er ikke nødvendig å sette det begge steder. Legg merke til at dette krever eget kontosett for lagertelling hvor debet og kredit frakt føres motsatt av forventet. Det hjelper ikke å angi Bokfør debet/kredit frakt 1-4 og toll ved innkjøp på linjene med Kontosett 4 [Lagertelling] fordi VBus ignorerer dette ved bokføring av telling. Debet og kredit frakt må bokføres som debet og kredit varekost. Og kontosett 4 [Lagertelling] må ikke brukes på ordre, heller ikke på korreksjonsordre.

De konti jeg bruker her er følgende:

1406      Råvarer mottatt, venter faktura

1410      Råvarer (realisert)

1411      Råvarer utlevert, ikke fakturert

1420      Varer under tilvirkning (VIA)

1430      Egenprod. varer, venter realisering

1440      Ferdige egenprod. varer (realisert)

1441      Egenprod. varer utlevert, ikke fakturert

1456      Handelsvarer mottatt, venter faktura

1460      Innkjøpte handelsvarer for videresalg (realisert)

1461      Handelsvarer utlevert, ikke fakturert

1501      Varer levert, ikke fakturert

2406      Varer mottatt, venter faktura

3000      Varesalg, avg.pliktig

3001      Tjenester, avg.pliktig

3100      Salgsinntekter, avgiftsfritt

3101      Tjenester, avg.fritt

4060      Frakt, toll og spedisjon

4410      Varekost ved salg

4440      Aktivert ved produksjon

4444      Varekost ved telling

Og Bokføringstilfeller slik:

Alternativet Sett val.dato for kostnadskorrigeringer = fakturaens val.dato i Bokføringstilfeller ignoreres i versjon 14. Det benyttes i versjon 13 og tidligere, men gjør på ingen måte det man skulle tro.

Det må settes opp «rene» avgifts- og bokføringsgrupper slik at alle produkter i A&B-grupper med lagerhåndtering er lagerhåndtert og omvendt.  I denne tabellen angis at om et produkt som normalt er lagerhåndtert blir unntatt lagerhåndtering, så endres A&B-gruppen tilsvarende. Mens for tjenester og frakt, så er det ikke tillatt å fjerne Unntas lagerhåndtering på produkt eller ordrelinje. Merk at det er alternativet Lagerkonsistenskontroll på posteringer i Bokføringstilfeller som gjør at dette fungerer som beskrevet her.

 

En forferdelig ulempe med bokføring av midlertidig lagerverdi er at ferdigmelding ikke kan trekkes tilbake – fordi midlertidig lagerverdi allerede er bokført. Man må i stedet legge inn en ny linje med negativt antall. Og da er det viktig å bruke samme vareparti(er) som VBus valgte ved ferdigmelding. Mange brukere opplever dette som så klønete omstendelig at de velger bort føring av midlertidig lagerverdi. Dette er trist, for da velger man også bort komplette realisasjonsjournaler. Og nøkternt sett velger man også bort å tilfredsstille Bokføringslovens §4, punkt 7 om Sporbarhet: Det skal foreligge toveis kontrollspor mellom dokumentasjon, spesifikasjoner og pliktig regnskapsrapportering. Eller for den saks skyld RegnskapsStiftelsens bokføringsskikk NBS 2 Kontrollsporet. Personlig synes jeg du skal ta opp med din revisor om det er greit å velge bort dette.

I dag er det første søndag i advent. Da må det være lov å sette opp en ønskeliste:

·         Komplette realisasjonsjournaler uten bruk av midlertidig lagerverdi

·         Mulighet til å trekke tilbake ferdigmelding (både varemottak og ferdigmelding av salgsordre) selv om midlertidig lagerverdi er bokført

·         Relasjon (koblingsmulighet) fra tabellen regnskapsperiode til produkttransaksjon over År og Periode à Regnsk. år/per.

·         Kolonnen Regnsk. år/per. på produkttansaksjon må ikke endres når korrigerte kostnader bokføres selv om det ikke er bokført midlertidig lagerverdi ved salg

·         Valuteringsdato på bilaget for korrigerte kostnader må tas fra Fakturadato (eller Ferdigm. dato for andre transer enn salg), ikke fra Trans.dato

·         Nye kolonner Ferdigmeldt og På lager verdi NÅ i tabellen vareparti – og de samme på tabellen Aggregert vareparti, slik at vi kan se verdien av Tellbart antall.

·         Som et alternativ til realisasjonsjournal; nye felt på tabellen produkttransaksjon: LagerVerdiEndring1 som viser bokført verdi ved realisering sammen med BilagsJournal1 (samt OppdaterBunt1 og Regnsk. år/per1) og LagerVerdiEndring2 som viser den korrigerte kostnaden sammen med BilagsJournal2 (samt OppdaterBunt2 og Regnsk. år/per2). Og med tilhørende relasjoner.

·         Lageroversikt bakover i tid, f.eks. 31. desember i fjor. Med mulighet for å bryte ned på varepartier og underliggende produkttransaksjoner.

 

 

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

 

Frode Antun

Løsningsrådgiver

m: + 47 911 46 751

e: frode.antun@amesto.no

a: Smeltedigelen 1, 0195 Oslo

w: amestosolutions.no