Efterkalkyl
Exempel El AB
Påhittat företag, påhittade kunder och påhittade siffror – bara för att visa hur verktyget fungerar.
Nyckeltal
Resultat per jobbtyp
Var pengarna tjänas – och var de försvinner
Fast pris minus faktisk kostnad, summerat per jobbtyp. Staplar åt vänster är förlust.
Kalkyl mot utfall
Timmar: det vi räknade med mot det det tog
Totalt antal arbetstimmar per jobbtyp. Avvikelsen står inom parentes.
Vad händer om?
Om kalkylen hade varit rätt
Dra i ett reglage för att lägga till timmar i kalkylen för en jobbtyp. Priset räknas om med samma påslag – och resultatet nedan uppdateras direkt.
Antagande: högre kalkylerade timmar ger ett högre fast pris med samma påslag som i originalkalkylen, och ni vinner lika många uppdrag som tidigare. Den faktiska kostnaden är oförändrad.
Uppdragslista
Alla uppdrag
Klicka på en kolumnrubrik för att sortera. Förlustjobb är markerade i rött.
| Id | Datum | Kund | Jobbtyp | Pris | Timmar | Resultat |
|---|
Egen data
Prova med era egna uppdrag
Ladda upp en CSV-fil med samma kolumner som mallen – eller dra filen hit. Filen läses bara i den här webbläsaren. Ingenting skickas eller sparas någonstans.
Vilka kolumner behövs?
Semikolon eller komma mellan kolumnerna, decimalkomma eller decimalpunkt – båda fungerar. Spara från Excel som ”CSV UTF-8” eller ”CSV (semikolonavgränsad)”.
Om demon
Så fungerar det
Demon jämför vad varje uppdrag var kalkylerat till med vad det faktiskt kostade, och pekar ut vilka typer av uppdrag som tjänar pengar och vilka som förlorar. Systemet gör jobbet – människan granskar.
01 · Innehåll
Vad sidan visar
- Slutsatser. Tre meningar som formuleras automatiskt utifrån datan: jobbtyper som går med förlust, jobbtyper som drar över mycket i timmar, vad en rätt kalkyl hade gett, hur mycket materialet underskattas och vilken jobbtyp som är lönsammast. De tre viktigaste visas.
- Nyckeltal. Total omsättning, totalt resultat, marginal och antal uppdrag med förlust.
- Resultat per jobbtyp. Vinst eller förlust summerat per typ av uppdrag. Förlust i rött, åt vänster.
- Kalkyl mot utfall. Kalkylerade mot faktiska timmar per jobbtyp, med avvikelsen i procent.
- Vad händer om? Justera kalkylen per jobbtyp och se direkt hur resultat och marginal hade sett ut.
- Uppdragslista. Alla uppdrag, sorterbara. Förlustjobb är markerade i rött.
02 · Beräkningar
Så räknas det
- Kostnad
- faktiska timmar × internkostnad + faktiskt material
- Resultat
- fast pris − kostnad
- Marginal
- resultat ÷ omsättning
- Timavvikelse
- faktiska timmar ÷ kalkylerade timmar − 1 (t.ex. +26 % = 26 % fler timmar än kalkylerat)
- Per år
- periodens siffror × 12 ÷ antal månader som datan täcker
Internkostnaden är satt till per arbetstimme. Den måste stämma med bolagets verkliga kostnad – annars blir alla resultat fel.
03 · Vad händer om?
Antaganden bakom reglagen
Ett reglage lägger till (eller tar bort) timmar i kalkylen för en jobbtyp. Priset räknas om med samma påslag som originalkalkylen, medan den faktiska kostnaden är oförändrad.
Föreslå justering räknar baklänges: hur mycket måste kalkylen för varje jobbtyp höjas för att nå den valda marginalen? Förslaget avrundas uppåt till hela procent, och jobbtyper som redan når målet lämnas orörda. Förslaget kan därför vara lägre än den faktiska avvikelsen – påslaget täcker redan en del av den.
Beräkningen förutsätter att ni vinner lika många uppdrag med de högre priserna.
04 · Egen data
Använd riktig data
- Kontrollera internkostnaden per timme (se ovan).
- Ladda ner den tomma mallen och fyll i en rad per uppdrag.
- Ladda upp filen. Sidan räknar om allt direkt.
Demon räknar arbetskostnaden som faktiska timmar × internkostnad, alltså som tidlön. Jobbar ni på ackord blir arbetskostnaden i stället den utbetalda ackordslönen per uppdrag – använd då Excel-mallen, som har en kolumn för det.
Semikolon och komma fungerar båda mellan kolumnerna, liksom decimalkomma och decimalpunkt. Spara från Excel som ”CSV UTF-8” eller ”CSV (semikolonavgränsad)”.
05 · Datasäkerhet
Ingen data lämnar enheten
- All beräkning sker i webbläsaren. En uppladdad fil läses lokalt och skickas aldrig någonstans.
- En säkerhetsregel i sidan (Content Security Policy) förbjuder webbläsaren att skicka data till någon server. Det enda som får hämtas utifrån är diagrambiblioteket Chart.js.
- Utan internetanslutning fungerar allt utom diagrammen.
06 · Exempeldatan
Exempel El AB
Ett påhittat installationsföretag med 12 montörer och cirka 30 Mkr i omsättning per år. Datan består av 60 uppdrag under januari–juni 2026, vilket motsvarar ungefär ett halvårs volym. Följande mönster är inbyggda för att demon ska ha något att upptäcka:
- Laddstolpar och ombyggnad i äldre fastighet underskattas systematiskt – 20–35 % fler timmar än kalkylerat.
- Byte av armaturer och felsökning ligger nära kalkylen.
- Materialet blir 3–8 % dyrare än kalkylerat på de flesta jobb.
- Några enstaka uppdrag går mycket bra eller mycket dåligt, som brus.
07 · Teknik
Så är demon uppbyggd
index.html– sidan, med den påhittade exempeldatan inbäddad.demo.js– all beräkning och uppritning.chart.umd.min.js– diagrambiblioteket Chart.js, som ligger på samma server.
Koden är uppdelad i tre lager:
- 1. Läsa inCSV-text blir en lista med uppdrag.
laddaUppdrag() - 2. RäknaResultat per uppdrag och jobbtyp.
analysera() - 3. Rita uppSlutsatser, nyckeltal, diagram, tabell.
visaAllt()
En uppladdad fil går in i lager 1 och följer sedan exakt samma väg som exempeldatan. Sidan hämtar ingenting från andra servrar och kan inte skicka något – det är spärrat i webbplatsens säkerhetsregler.