OdinTask field-service app OdinTask ODINTASK · GUIDE
offertkalkyl

Offertkalkyl: mallen som räknar fram priset åt dig

3 augusti 2026 · 10 min · offertkalkylkalkylmalltäckningsbidragoffertprissättning

Du sitter vid köksbordet halv tio på kvällen med ett badrum du varit och tittat på. Kunden vill ha priset i morgon. Du skriver en siffra som känns rätt, skickar och somnar. Tre månader senare vet du att den var 40 000 kr för låg — men du vet inte var i kalkylen felet låg.

Admin för hand ≈ 8 tim/vecka Spretiga verktyg 4–6 abonnemang Ett system 1 abonnemang Relativ månadskostnad — tiden inräknad.
Systemet kostar sällan mest. Timmarna gör det.

Ett offertark löser inte allt, men det gör en sak: det tvingar fram varje antagande som en egen rad. När priset är en formel i stället för en känsla kan du felsöka det efteråt. Här är strukturen, formlerna och ett ifyllt badrumsexempel du kan kopiera rakt av.

Varför ett ark slår magkänsla

Magkänsla är komprimerad erfarenhet och den är ofta bra på arbetstid. Den är däremot systematiskt dålig på tre saker: spilltid, materialsvinn och resor. De tre posterna är trist osynliga och de varierar lite mellan jobb. Hur mycket de väger går inte att slå fast med en allmän tumregel, det måste räknas: i badrumsexemplet längre ner motsvarar resor, etablering och materialspill tillsammans knappt 5 procent av offertpriset, och restiden ytterligare drygt 4 procent. Räkna fram din egen andel ur tre avslutade jobb. Ett ark tvingar upp dem på bordet.

Den andra vinsten är spårbarhet. När jobbet är klart lägger du utfallet bredvid kalkylen och ser exakt vilken rad som sprack. Utan ark har du bara en känsla av att "det blev tungt". Med ark har du "plattsättningen tog 61 timmar mot kalkylerade 46, resten stämde". Det är skillnaden mellan att gissa och att lära sig.

Arkets sex block

Bygg arket i sex block i den här ordningen, uppifrån och ner i samma flik. Dela inte upp på många flikar — du ska kunna se hela kalkylen utan att bläddra.

Radstrukturen kolumn för kolumn

Åtta kolumner räcker. Kolumn F och G är de två som de flesta glömmer, och det är precis de som gör kontrollblocket möjligt.

KolumnFältInnehåll och varför
APostMomentets namn, till exempel "Plattsättning vägg 22 m2"
BMängdAntal, kvadratmeter, löpmeter, timmar eller mil
CEnhetst, m2, lpm, h, mil — gör raden läsbar för nästa person
DÁ-prisTimpris för arbete, inköpspris ex moms för material
ESummaFormel, aldrig en handskriven siffra
FTypArbete, Material eller Resa — styr alla summeringar
GTimmarArbetstimmar bakom raden, även på materialrader där montage ingår
HAntagandeVad du förutsätter, vilken prislista och vilket datum

Kolumn H är arkets viktigaste fält när något går fel. "Förutsätter befintlig golvbrunn, kontrollerad på plats 12 juni" är skillnaden mellan en saklig ÄTA-diskussion och ett gräl.

De fyra formlerna som ska ligga i arket

Formlerna nedan är skrivna med svenska funktionsnamn och semikolon som argumentskiljare. Använder du engelsk Excel eller Google Kalkylark heter funktionerna SUMIF och ROUND och du separerar med kommatecken.

  1. Radsumma: =B12*D12, kopierad ner över hela radområdet. Ingen rad får innehålla en inknappad siffra i kolumn E.
  2. Arbetskostnad: =SUMMA.OM($F$12:$F$80;"Arbete";$E$12:$E$80). Ger summan av alla rader du märkt som arbete — det är också den siffra du behöver redovisa separat för ROT-avdrag.
  3. Material med påslag: =SUMMA.OM($F$12:$F$80;"Material";$E$12:$E$80)*(1+$D$6) där D6 är påslaget i indatablocket. Skriv 0,22 för 22 procent. Genom att lägga påslaget en enda gång kan du testa hela offerten mot ett annat påslag på en sekund.
  4. Offertpris: =AVRUNDA((D82+D83+D84)*(1+$D$7);-3) där D82–D84 är delsummorna för arbete, material och resor och D7 är riskpåslaget. Minus tre avrundar till närmaste tusental, vilket ser ut som ett pris och inte som ett räkneexperiment.

Kontrollblocket behöver en formel till, och den är den enda du verkligen måste titta på innan du trycker skicka: täckningsbidrag per arbetstimme, =(D86-D90)/SUMMA($G$12:$G$80), där D86 är offertpriset och D90 summan av de rörliga kostnaderna (lönekostnad, material till inköpspris och faktiska resekostnader). Ligger den under ditt golv ska offerten inte skickas.

Ifyllt exempel: badrum 6 kvadratmeter

Totalrenovering av ett badrum på 6 m2 i en villa från 1978. Väggyta 22 m2, golv 6 m2. Konsument. Timpris 795 kr ex moms, materialpåslag 22 procent, riskpåslag 8 procent, lönekostnad 375 kr per betald timme.

PostMängdÁ-prisSummaTyp
Rivning, skydd och bortforsling till container14 h795 kr11 130 krArbete
VVS: rör, golvbrunn, montage22 h795 kr17 490 krArbete
El: ny grupp, golvvärme, belysning10 h795 kr7 950 krArbete
Avjämning och fall mot brunn8 h795 kr6 360 krArbete
Tätskikt enligt branschregler12 h795 kr9 540 krArbete
Plattsättning 28 m246 h795 kr36 570 krArbete
Montage porslin och inredning10 h795 kr7 950 krArbete
Fog, silikon, lister, slutstäd8 h795 kr6 360 krArbete
Inköp, planering, dokumentation6 h795 kr4 770 krArbete
Restid, 18 körningar tur och retur12 h795 kr9 540 krArbete
Summa arbete148 h117 660 kr
VVS-material och rör19 400 kr9 400 krMaterial
Elmaterial och golvvärme16 200 kr6 200 krMaterial
Avjämning, primer, tätskiktssystem17 800 kr7 800 krMaterial
Kakel och klinker inkl 12 % spill31,4 m2401 kr12 600 krMaterial
Fix, fog, silikon13 400 kr3 400 krMaterial
Porslin, blandare, kommod, dusch118 500 kr18 500 krMaterial
Förbrukning, skydd, blad, plast12 100 kr2 100 krMaterial
Material till inköpspris60 000 kr
Material med 22 % påslag73 200 kr
Resor, 18 körningar × 3 mil54 mil45 kr2 430 krResa
Container och bortforsling14 800 kr4 800 krResa
Byggström, skydd, städmaterial11 200 kr1 200 krResa
Delsumma199 290 kr
Riskpåslag 8 %15 943 kr
Offertpris ex moms215 000 kr

Offertpris inklusive moms blir 268 750 kr. Lägg märke till att restiden ligger som en egen arbetsrad: arton körningar tur och retur är tolv betalda timmar, och de ska bäras av priset. Redovisa arbetskostnaden separat i offerten — det är den som ROT-avdraget räknas på, och kunden vill se båda siffrorna. Kontrollera aktuell procentsats och takbelopp för ROT hos Skatteverket innan du räknar ut kundens nettobelopp, de har ändrats flera gånger de senaste åren.

Kontrollraderna som stoppar dåliga offerter

Nu kommer den del av arket som faktiskt tjänar pengar. Räkna fram fyra tal och sätt ett golv för vart och ett.

  1. Rörlig kostnad. Lön 148 h × 375 = 55 500 kr, material till inköpspris 60 000 kr, resor och container 8 430 kr. Summa 123 930 kr.
  2. Täckningsbidrag. 215 000 − 123 930 = 91 070 kr.
  3. Täckningsgrad. 91 070 / 215 000 = 42,4 procent.
  4. Täckningsbidrag per arbetstimme. 91 070 / 148 = 615 kr.

Ditt golv får du fram själv. Ett företag med fyra montörer, 1 400 000 kr i fasta kostnader per år och 5 000 debiterbara timmar behöver 280 kr per timme bara för att nå noll. 615 kr ligger med god marginal över. Materialandelen är 60 000 / 215 000 = 28 procent, vilket är normalt för ett badrum — ligger den över 45 procent bör du kontrollera att timmarna inte är för lågt satta.

Lägg in en villkorsstyrd formatering som färgar täckningsbidrag per timme rött under ditt golv. Det är den enklaste spärren mot offerter skrivna klockan halv tolv på kvällen.

Vanliga fel i egna kalkylark

Och det största felet av alla: arket öppnas aldrig igen efter att offerten skickats. Kalkylen är bara halva värdet. Den andra halvan är att lägga utfallet bredvid.

Från ark till offert till uppföljning

Ett ark är utmärkt för att räkna och dåligt på att hållas levande. Timmarna som faktiskt gick åt ligger i montörernas tidrapporter, materialet ligger på kvitton och leverantörsfakturor, och offerten ligger som en pdf i mejlen. Så länge de tre inte möter varandra får du aldrig veta vilken rad som sprack. Lösningen är antingen disciplin — en fast eftersnacksrutin per jobb där du fyller i utfallskolumnen — eller ett system där offert, tidrapport och material redan hänger ihop på samma jobb, så att jämförelsen finns utan extra arbete. Prova OdinTask gratis i 14 dagar om du vill se hur den kopplingen ser ut i praktiken, men bygg arket först: strukturen är viktigare än verktyget.

Vanliga frågor

Vilka kolumner behöver ett offertark ha?

Åtta kolumner räcker: post, mängd, enhet, á-pris, summa, typ, timmar och antagande. Kolumnen typ (Arbete, Material eller Resa) är det som gör att du kan summera arbetskostnaden separat för ROT och lägga materialpåslaget på rätt poster. Kolumnen timmar behövs för att kunna räkna täckningsbidrag per arbetstimme, som är det tal du faktiskt styr på. Kolumnen antagande är den som räddar dig i en diskussion om tilläggsarbete tre månader senare.

Vilka formler ska ligga i offertkalkylen?

Fyra stycken: radsumma =B12*D12 kopierad ner över alla rader, arbetskostnad =SUMMA.OM(typkolumnen;Arbete;summakolumnen), material med påslag =SUMMA.OM(typkolumnen;Material;summakolumnen)*(1+påslaget) och offertpris =AVRUNDA((arbete+material+resor)*(1+riskpåslaget);-3). Lägg dessutom in en kontrollformel för täckningsbidrag per arbetstimme: offertpriset minus rörliga kostnader delat med summan av arbetstimmarna. I engelsk Excel heter funktionerna SUMIF och ROUND och argumenten skiljs med kommatecken i stället för semikolon.

Ska material ligga till inköpspris eller kundpris i kalkylen?

Till inköpspris ex moms. Påslaget läggs på en enda gång i summeringen, inte på varje rad. Då kan du testa hela offerten mot ett annat påslag genom att ändra en cell, och framför allt blir täckningsbidraget rätt räknat. Lägger du in material till kundpris och sedan drar av samma belopp som kostnad blir täckningsbidraget uppblåst med hela påslaget, och kalkylen visar en lönsamhet som inte finns.

Hur vet jag om ett offertpris är tillräckligt högt?

Räkna täckningsbidrag per arbetstimme och jämför med ditt eget golv. Täckningsbidraget är offertpriset minus rörliga kostnader, alltså lönekostnad inklusive arbetsgivaravgifter och semesterersättning, material till inköpspris och faktiska resekostnader. Golvet är dina fasta kostnader per år delat med antalet debiterbara timmar per år. Ett företag med 1 400 000 kr i fasta kostnader och 5 000 debiterbara timmar behöver 280 kr per timme bara för att nå noll.

Allt-i-ett för ditt fältserviceföretag

Bokning, offert med ROT, schema, offline-app, tidrapport och fakturering – i ditt eget varumärke.

Testa OdinTask gratis