Bokföringslagen säger att eventuella rättelser av bokföringsposter tydligt ska dokumenteras med tidpunkt, orsak och information om vem som utfört rättelsen. Det innebär i praktiken att alla system som hanterar bokföring måste spara information och lagra denna i en fil eller databas. Tyvärr betyder det också att det alltid finns någon som har tillgång till dessa filer och – ännu värre – kan ändra i dem.
Så vill vi såklart inte att det ska vara. Själva grundbulten för vårt system är ju att erbjuda våra kunder en vattentät lösning för ekonomihantering. Så, finns det nåt sätt att skydda sig? Vi tog det som en utmaning.
Blockchain revolutionerar
År 2009 kom ett tekniskt genombrott som passerade under radarn för de allra flesta, men som på senare tid fått stort genomslag. Då skapades Bitcoin – världens första decentraliserade valuta. Och det fina med Bitcoin är den underliggande tekniken som kallas blockchain (ungefär Bitcoins transaktionslogg) som för första gången gör det möjligt att spara information som garanterar att ingen kan ändra den.
Kort sagt: tack vare blockchain kan vem som helst i efterhand verifiera att en viss sak hände vid en viss tidpunkt. Perfekt när det gäller bokföring!
Vi på Wint testade att som första svenska företag någonsin säkerställa att ingen kan vara inne och ändra i våra kunders bokföring i efterhand. Ett litet steg för våra kunder kanske, men det borde vara ett väldigt trevligt steg för Skatteverket och alla revisorer där ute. Att få bokföring som vi kan garantera att ingen mixtrat med. Det är i alla fall vi nöjda över.
Om du tycker att det är jobbigt att läsa om tekniska detaljer är det helt ok att ge oss en mental high five och sluta läsa nu. Annars får du gärna hänga med i hur vi gjorde.
Överkurs: så här gjorde vi
Okej, dags för det tekniska.
Inom datavetenskapen finns något som kallas hashfunktion. Den tar godtycklig data och omvandlar denna till en hashsumma, vilket är ett sorts fingeravtryck för just den datan. Även om mängden data är stor kommer fingeravtrycket alltid att vara litet, och kan på ett unikt sätt identifiera den data som stoppades in (på samma sätt som ett fingeravtryck kan identifiera en person). Om man därmed bara får tillgång till fingeravtrycket finns det inget sätt att ta reda på vilken data den motsvarar, men samma data ger alltid upphov till samma fingeravtryck.
Så, vad kan vi på Wint göra med detta? Jo, vi kan skapa ett fingeravtryck utifrån hur bokföringen såg ut vid en viss tidpunkt och spara detta i blockkedjan. Det finns därmed ett tidsstämplat fingeravtryck som ingen kan ändra på.
Låt oss säga att vi sparar ner ett fingeravtryck vid början av varje månad. Om någon senare frågar oss hur bokföringen såg ut den 1:a mars, så kan vi ge dem en fil med den kompletta bokföringen. Personen kan sedan själv köra filen genom hashfunktionen och jämföra fingeravtrycket som kommer ut med det fingeravtryck vi sparade ned i blockkedjan den 1:a mars. Om fingeravtrycken överensstämmer kan personen med säkerhet veta att bokföringen i filen är precis den bokföring som vi hade i systemet den 1 mars.
Man kan också tänka sig att vi i samband med ett årsbokslut sparar ner ett fingeravtryck för det räkenskapsår som avslutas. Om man vid ett senare tillfälle vill bekräfta att bokföringen som låg till grund för bokslutet fortfarande är den bokföring som finns i systemet, plockar man bara ut datan för det året och jämför fingeravtrycken.
Vi har idag implementerat ett proof of concept för denna teknik och vi kommer till en början att använda det på våra egna bolag för att senare erbjuda tjänsten till våra kunder.
Så revisorer och skatteverkare, är vi förtjänta av den där high fiven?