Case / Tidsappen Soda Time

Eget verktyg · App för macOS

Tidsappen Soda Time

När bolaget startade kom uppdragen ofta via en byrå. Kunden godkänner en budget, vi lägger timmarna och fakturan går till byrån. Budgeten och timmarna ska gå ihop och fakturan ska till rätt mottagare.

Soda Time är en app för macOS som jag byggt för vårt bolag. Den visar timmarna mot budgeten, vad som väntar på faktura och vad som är klart. Själva fakturan skrivs i Fortnox.

Typ
Eget verktyg, i bruk i bolaget
Roll
UX, UI och utveckling
Teknik
SwiftUI, SwiftData, macOS
Tid
Juli till oktober 2026
Appikonen och timern i Soda Time

01Caset på 30 sekunder

Problemet

Timmar och budget i olika världar.

Det jag lägger och det jag fakturerar är inte samma siffra.

Lösningen

En app som visar båda.

Loggat och fakturerat sida vid sida, på varje vy.

Det jag valde bort

Ett eget fakturaregister.

Byggt, testat och borttaget. Fortnox gör det redan.

02Problemet

Två siffror som måste mötas.

2

siffror per uppdrag. Timmarna jag lägger och budgeten kunden har godkänt.

Det jag behövde se

  • Hur mycket tid ett uppdrag faktiskt tar mot det som är godkänt.
  • Vad som är klart men inte fakturerat än.
  • Tid som loggas efter att fakturan gått.
  • Vilken byrå som ska ha fakturan för vilken slutkund.

Det jag inte behövde

  • Ännu ett ställe att skriva fakturor på.
  • En tjänst i molnet för något bara vi använder.

03Det avgörande valet

Ta bort det som redan fungerade.

Valt

Appen markerar, Fortnox fakturerar.

Ett projekt får ett belopp att fakturera, en markering när det är fakturerat och Fortnox-numret. Inga fakturor, inga rader och inga statusar som måste hållas i synk med bokföringen.

Fyra fält · Inga nya tabeller

Vägar jag valde bort

01

Ett fullständigt fakturaregister

Utkast, skickad och betald med PDF ur sparade rader. Byggt och testat, sedan borttaget.

Registret fungerade. Men varje faktura hade funnits på två ställen och bara det ena räknas i bokföringen. Jag valde att hålla appen ren och enkel och låta den göra det Fortnox inte gör.

04Designbesluten

Små regler som speglar hur jobbet faktiskt går till.

01

Loggat eller fakturerat, överallt

En växel på varje vy byter mellan timmarna jag lagt och det jag kommer att fakturera. Budgeten är ett golv och tid över budget räknas mot ett eget timpris.

02

Klart är inte fakturerat

Ett jobb blir ofta klart en tid innan fakturan går. Därför är det två markeringar och klara projekt hamnar först i listan över det som väntar.

03

Tid efter fakturan

Loggas tid efter att ett projekt fakturerats dyker det upp igen. Jag väljer om tiden ska faktureras som extra eller ingår.

04

Byrå och slutkund

En kund kan ha en byrå som fakturamottagare. Slutkunderna grupperas under sin byrå, så jag ser både vem jobbet är för och vem som betalar.

05

Timern i menyraden

Timern startas från menyraden med en rad om vad jag tänker göra. Planen följer med in i tidsposten.

Alla beslutInga nya tabeller där en markering räcker.

05När allt försvann

All loggad tid var borta en morgon.

I augusti 2026 var appens databas plötsligt tom. Appen använde systemets standardplats för SwiftData, en delad fil som en annan process i macOS migrerade till sitt eget format. Det gick inte att återställa.

Nu har appen en egen mapp, en uttrycklig sökväg och en säkerhetskopia vid start, var trettionde minut och vid avslut. En tom kopia skrivs aldrig, så en tömd databas kan inte tränga undan de bra kopiorna. Återställningen testades innan den skickades.

Säkerhetskopior
60 sparade, dubbletter hoppas över
Återställning
Tar en kopia av nuläget först
Lärdom
Ange alltid en egen sökväg för datan

07Resultatet

Varje uppdrag går att följa från timer till faktura.

4

fält i stället för ett fakturaregister

Belopp, fakturerat, datum och Fortnox-nummer

30

minuter mellan säkerhetskopiorna

Plus vid start och avslut

41/41

kontroller gröna när faktureringen byggdes om

Körda mot en kopia av riktig data

08Lärdomar

Fungerar

Jag ser direkt vad som väntar på faktura.

Skillnaden mellan lagd och fakturerad tid är synlig överallt.

Datan har en egen plats och kopior som går att återställa.

Kvar

Formulären för kund, projekt och taggar har inte fått den nya stilen.

Appen finns bara för macOS. Koden är förberedd för iOS men inte byggd.

Det här caset är lösenordsskyddat

Det innehåller kunddetaljer som inte får visas publikt. Har du fått ett lösenord av mig skriver du in det här, så låses alla case du har tillgång till upp.

Saknar du lösenord? Skriv till sarajohannaelin@live.se så skickar jag en länk.