Användarmanual — Kassan
Uppdateras löpande i takt med nya funktioner. Teknisk dokumentation finns på
dok-sidan; denna sida är för den som står i kassan.
Systemet nås på kassaexperten.se — kassan ligger på /kassa.html
och alla sidor är samlade på testsidorna (den gamla adressen
kassa.karlberg.nu skickas hit automatiskt).
Komma igång
- Öppna kassan i webbläsaren (surfplatta eller dator). Notan sparas lokalt — laddar du om sidan ligger den kvar.
- Pricken uppe till höger visar kontakten med kontrollenheten: grön = allt normalt, röd = kassan kan inte sälja förrän kontakten är tillbaka (se nedan).
- Mer-knappen öppnar panelen med allt utöver själva säljandet. Administrationssidorna (admin och driftvyn) loggas in med ditt mobilnummer och en engångskod via SMS — ingen nyckel att knappa in. Inloggningen står kvar länge på din egen enhet.
- Månknappen växlar mellan ljust och mörkt läge (sparas per enhet).
Sälja
- Tryck på produkterna — de hamnar på notan till höger. Plus/minus ändrar antal.
- Välj betalsätt: Kort, Swish, Kontant (eller presentkort, se nedan).
- Kvittot visas med kontrollkod. "Rensa notan" tar bort allt (registreras i journalen, som lagen kräver).
Alla priser hämtas ur kassans register — det går inte att ändra pris i säljögonblicket.
Vill du ändra ett pris görs det i driftvyns produktadmin, och ändringen loggas automatiskt.
Parkera notan (flera kunder/bord samtidigt)
- Parkera under notan sparar undan den (ge den ett namn, t.ex. "Bord 4") så du kan börja på en ny.
Notor-knappen visar alla parkerade — öppna en för att fortsätta, eller släng den.
- Har du redan en nota igång när du öppnar en parkerad, parkeras den pågående automatiskt — inget försvinner.
- Att slänga en parkerad nota registreras i journalen (som en borttagning), precis som "Rensa notan".
Parkerade notor ligger kvar på enheten även om sidan laddas om.
Kategorier och färger på produktknapparna
- Ge produkterna en kategori i driftvyns produktadmin (t.ex. Pizza, Dryck, Behandlingar) —
då visas flikar ovanför produktknapparna och gridden blir luftig i stället för plottrig.
Vald flik minns per enhet.
- Varje kategori får automatiskt en egen färg som tonar produktknapparna och den aktiva fliken.
Utan kategorier ser kassan ut precis som förut.
- Kategorierna är bara navigation — varje köp registreras per produkt precis som vanligt.
Skanna produkter (streckkod)
- Sätt en streckkod (EAN) på produkten i driftvyns produktadmin. Skanna sedan direkt i kassan —
produkten hamnar på notan utan att du behöver trycka något.
- Samma scanner som för presentkort funkar (USB/Bluetooth i tangentbordsläge). Kassan känner själv
igen skillnaden: presentkortskoder skannas i sin kodruta, produkter skannas rakt mot sidan.
Kortbetalning via QR (Stripe)
- Komma igång: driftvyn → "Kortbetalningar via Stripe" → Aktivera. Registreringen görs hos
Stripe (ca 5 min — ha bank-id och kontonummer redo). Slå sedan på växeln "Kort via Stripe-QR"
i inställningarna.
- Ta betalt: tryck Kort som vanligt — en QR-kod visas i kassan och på kundskärmen. Kunden
skannar med mobilen och betalar med kort eller Klarna. När betalningen är klar skapas kvittot
automatiskt (betalsätt: Kort).
- Pengarna betalas ut direkt till ert bankkonto via Stripe, minus plattformsavgiften.
Kassan skapar aldrig ett kvitto förrän betalningen är bekräftad, och en betalning kan
aldrig användas till två kvitton.
- Växeln avstängd = Kort-knappen fungerar som förut (extern kortterminal, registrering på förtroende).
Mejla kvittot till kunden
- På kvittorutan efter betalningen finns ett fält "Mejla kvittot" — skriv kundens e-postadress
och tryck Mejla. Kvittot skickas exakt som det ser ut, med kontrollkod och allt.
- Bara det senaste kvittot, inom 15 minuter, kan mejlas — det räknas då som leveransen av
det elektroniska kvittot. Behöver kunden ett äldre kvitto används kvittokopian (märkt KOPIA, max en).
- Fältet syns bara när mejl är uppsatt på servern.
- Automatiskt vid Stripe-betalning: kunden anger sin e-post hos Stripe när hen betalar via
QR — kassan förifyller adressen i mejla-fältet. Slå på växeln "Autokvitto" i inställningarna
så skickas kvittot helt automatiskt, utan att någon behöver trycka. (Vid terminal-/kontantköp finns
ingen adress att hämta — kortnumret ser kassan aldrig.)
Presentkort
Sälja
- Tryck Sälj presentkort, ange belopp (5–10 000 kr) och hur kunden betalar.
- Kvittot får en kod (
PK-XXXX-XXXX) och en QR-kod — det ÄR presentkortet. Ge det till kunden.
Lösa in
- Slå in varorna som vanligt och tryck Betala med presentkort.
- Skanna QR-koden på kundens kvitto (en ansluten scanner skickar automatiskt) eller knappa in koden — saldot visas direkt.
- Räcker saldot dras beloppet och resten sitter kvar på kortet till nästa gång.
Varför behövs koden? Koden är själva kortet — utan den vet kassan inte
vilket saldo som ska dras. Att betala "utan nummer" går därför inte; det vore som en tom plånbok.
Koden är också skyddet: bara den som HAR kvittot (eller en bild på QR-koden) kan använda pengarna.
Skannern gör det enkelt — ett pip i stället för åtta tecken.
Presentkortet är en förhandsfunktion — momshanteringen utreds innan skarp drift.
Räcker inte saldot? Delbetala.
- Om kortets saldo inte täcker köpet visar kodrutan automatiskt:
"Saldot X kr dras — betala resterande Y kr med:" och knappar för Kort/Swish/Kontant.
- Hela saldot dras, resten tas med valt betalsätt — kvittot visar båda raderna, och
dagsrapporterna och journalen fördelar beloppen korrekt per betalningsmedel.
Skriv ut ett fint presentkort
- När du säljer ett presentkort kan du välja en hälsning (t.ex. "Grattis på födelsedagen!"
eller egen text) i säljrutan.
- Efter köpet finns knappen "🎁 Skriv ut fint presentkort" på kvittot — den öppnar ett
elegant kort (butiksnamn, värde, hälsning, QR + kod) redo att skrivas ut och läggas i ett kuvert.
Kvittot med koden är fortfarande kundens värdehandling; det fina kortet är presentförpackningen.
Retur & kvittokopia
- Retur: Mer-panelen → ange kvittonumret → Retur → bekräfta med ett andra tryck. Hela kvittot returneras (pengar tillbaka samma väg som betalningen). Ett kvitto kan bara returneras en gång.
- Kopia: samma väg, knappen Kopia. Max EN kopia per kvitto (lagkrav) — kopian märks KOPIA i extra stor stil.
Växelkassa
Mer-panelen → Växelkassa: ange förändringen i kronor (plus = insättning, minus = uttag).
Saldot visas i panelen och följer med i X- och Z-rapporterna. Varje förändring journalförs.
Lager
Kassan kan hålla reda på hur många du har av varje vara. Saldot dras automatiskt
när varan säljs — i samma sekund som kvittot skapas. Tjänster och presentkort har
inget lager och påverkas aldrig.
Allt arbete med lagret sker i ett arbetspass. Du väljer läge när du startar det:
- Inleverans — en leverans har kommit. Räkna varorna, antalet läggs till saldot.
- Inventering — du räknar hyllan. Antalet du anger blir det nya saldot,
och skillnaden mot vad kassan trodde sparas i historiken. Så syns svinn i stället för att försvinna.
- Upplägg — varor du inte har i sortimentet än. Pipa eller knappa in streckkoden,
namnge och prissätt efteråt vid plattan.
Ingenting ändras förrän du trycker Bokför. Fram till dess går det att rätta
antal och ta bort rader — räkna klart i lugn och ro, avbryt om något blev fel.
Varje vara har en historik som visar varenda förändring: vad som hände, hur mycket,
varför och när. Sålda varor är kopplade till sitt kvitto.
Handskanner: en trådlös skanner kan skicka streckkoder rakt in i det öppna
arbetspasset utan dator emellan. Vilket läge skanningen hamnar i bestäms här i kassan —
skannern behöver inga menyer och kan användas till alla tre lägena. Är inget arbetspass
öppet tas skanningen inte emot, så inget kan hamna fel.
Dagsavslut & rapporter
- X-rapport = avläsning mitt på dagen. Påverkar ingenting, kan tas hur ofta som helst.
- Z-rapport = dagsavslut. Stänger dagens period och öppnar nästa — kräver ett bekräftande andra tryck.
- Båda kan laddas ner som textfil direkt, och i efterhand från driftvyns rapportlista.
- Journalutskrift laddar ner dagens alla registreringar som läsbar text.
- Dagens försäljning visas överst i Mer-panelen (bara information — ersätter inte X-rapporten).
Skärmar
- Kundskärm (
/kund.html): visar kundens köp rad för rad, summan och "Tack för köpet".
Öppna från Mer-panelen och dra fönstret till en extern skärm — ELLER öppna adressen på en helt egen
enhet (surfplatta vid disken); den uppdaterar sig själv varannan sekund.
- Dagens försäljning-skärm (
/dagens.html): stor siffervy för personalen — dagens summa,
antal kvitton, per betalsätt. Kräver adminnyckeln en gång, uppdaterar sig var 30:e sekund. Sätt den på
en skärm i köket/kontoret om ni vill följa dagen.
- Översikten (
/start.html, "Alla sidor" i Mer-panelen): startsida med länkar till
allt — kassan, bokningarna, skärmarna, driftvyn och dokumentationen. Bra som bokmärke.
Bordsbeställning & kök
- Komma igång: kräver aktiverade Stripe-betalningar. Slå på växeln
"Bordsbeställning via QR + köksskärm" i inställningarna, skriv ut bordslappar från
/bordqr.html (finns på översikten) och sätt en på varje bord.
- Kundens flöde: skanna bordets QR → välj i menyn (kassans aktiva produkter) →
"Beställ & betala" → kort/Klarna i mobilen. Betalningen sker först — obetalda
beställningar når aldrig köket, och köpet registreras automatiskt med kvitto när
betalningen är bekräftad.
- Köksskärmen (
/kok.html, Mer-panelen eller översikten; adminnyckel en gång):
nya beställningar visas med bordsnummer och plingar till — tryck "Levererad till bordet"
när maten är ute. Beställningar äldre än 15 minuter blir rödmarkerade.
- Kundens mobil visar "Beställningen är på väg" med kvittonummer så fort köket har den.
Servering — personalens bordssida
- Serveringssidan (
/servera.html, adminnyckel en gång): tryck på ett bord,
välj varor och Skicka till köket — utan betalning. Blåmarkerade bord har öppna beställningar.
- När bordet ska betala: "Ta betalt i kassan" flyttar bordets alla rader till kassans nota —
betala som vanligt (kort/Stripe-QR/kontant/Swish). Stäng sedan bordet med "Stäng bord".
- Serveringens beställningar är arbetsordrar till köket — själva köpet registreras (kvitto + journal)
när betalningen tas i kassan.
Självbetjäningskiosk
- Ställ en surfplatta/skärm med
/kiosk.html i butiken. Kunden väljer i menyn, betalar
via QR med sin mobil (kort/Klarna) och får ett stort hämtnummer på skärmen.
- Beställningen dyker upp i köket som "Avhämtning #nummer". Kiosken nollställer sig själv
efter varje beställning. Kräver samma växel som bordsbeställning.
Bokningsförskott (no show-skydd)
- Sätt ett belopp i inställningsfältet "Bokningsförskott i kronor" (kräver Stripe) så måste
kunden betala förskottet direkt vid onlinebokningen — tiden bekräftas (och SMS skickas) först när
betalningen gått igenom. Obetalda bokningar släpper tiden efter ca 45 minuter.
- Förskottet dras av vid besöket (manuellt i denna version) — det är en deposition via Stripe,
inte ett kvitto i kassan.
Bokföring (SIE-export)
- Driftvyn → "SIE-export till bokföringen": välj period och ladda ner en SIE-fil som
importeras direkt i Bokio, Fortnox, Visma m.fl.
- Filen innehåller ett verifikat per dagsavslut (serie K, verifikationsnummer = Z-nummer),
byggt direkt ur kvittona så att debet och kredit alltid balanserar på öret.
| Konto | Vad |
| 1910 | Kassa — kontantbetalningar |
| 1580 | Fordran kortbetalning — kortköp (blir bank när inlösaren betalar ut) |
| 1930 | Bank — Swish |
| 2421 | Skuld presentkort — sålda kort ökar skulden, inlösta minskar den |
| 3001 / 3002 / 3003 | Försäljning 25 / 12 / 6 % moms (netto) |
| 3004 | Momsfri försäljning |
| 2611 / 2621 / 2631 | Utgående moms 25 / 12 / 6 % |
Sålda presentkort bokförs som skuld (2421), inte som försäljning — momsen tas när
kortet löses in. Stäm gärna av med er redovisningskonsult att kontoplanen passar er.
Bokningskalender
- Öppna från Mer-panelen → Bokningskalender (eller
/bokning.html på valfri enhet).
Kräver adminnyckeln en gång per enhet.
- Lägg upp tjänster först: knappen "Tjänster" → namn, längd i minuter och (valfritt) en koppling
till en produkt i kassan. Kopplingen behövs för att kunna ta betalt med ett tryck.
- Boka: tryck på en ledig tid i veckovyn (eller "+ Ny bokning") och fyll i kund, telefon och
eventuell personal. Bläddra vecka med ‹ › — sidan minns visad vecka vid omladdning.
- SMS till kunden: slå på växeln "Boknings-SMS" i kassans inställningar så får kunden en
bekräftelse direkt och en påminnelse inom ett dygn före tiden. Kräver telefonnummer på bokningen.
(Avstängt som standard — SMS kostar per styck.)
- Ta betalt: öppna bokningen → "Ta betalt i kassan" — tjänstens produkt läggs i notan och
betalas som vanligt. Markera sedan bokningen som klar, eller avboka vid återbud.
- Kalendern är fristående från kassaregistret — bokningar hamnar aldrig i journalen; det gör bara
det vanliga köpet när du tar betalt.
Onlinebokning — låt kunderna boka själva
- Slå på växeln "Onlinebokning" i inställningarna, så kan kunder boka själva på
/boka.html — lägg länken på er hemsida eller i sociala medier.
- Kunden väljer tjänst, dag och en ledig halvtimmestid, och fyller i namn + mobilnummer.
Bokningen dyker upp i er kalender direkt, märkt "Onlinebokning".
- Bokningsbara tider styrs av fältet "Onlinebokningens tider" i inställningarna
(t.ex. 09:00-17:00). En tid visas bara som ledig om ingen annan bokning överlappar.
- Med Boknings-SMS påslaget får kunden bekräftelse och påminnelse automatiskt.
Onlinebokningen är skyddad mot missbruk (max 3 bokningar per timme och besökare).
- Avbokar du en bokning får kunden automatiskt ett avbokningsbesked via SMS
(om Boknings-SMS är på och tiden inte redan passerat).
Inställningar
- Mer-panelen → Inställningar: butikens namn (visas i kassan och på kundskärmen) och
funktionsväxlar — stäng av det som inte passar er verksamhet (t.ex. kontant, presentkort,
kundskärm). Avstängda funktioner försvinner ur kassan och spärras även tekniskt.
- Alla inställningsändringar loggas automatiskt i behandlingshistoriken (lagkrav).
- Produkter hanteras i driftvyn (
/intern.html) → "Visa/uppdatera produkter".
Säljsidan & priserna (för ägaren)
Priserna som visas på förstasidan (kassaexperten.se) ändras i
driftvyn under Säljsida & priser (kräver inloggning med SMS-kod):
de tre prisnivåerna (månadsavgift + procent av försäljningen, med egen säljtext per nivå),
konkurrentpriserna som förifylls i kalkylatorn, hårdvarupriserna, kortinlösarens avgiftsrader
(visas öppet på säljsidan) och erbjudandet om sponsrad utrustning mot bindningstid.
Spara — säljsidan visar de nya priserna direkt, ingen omstart behövs. Alla funktioner ingår
i alla nivåer; det är bara betalmodellen som skiljer. Där styrs också den frivilliga
bindningstiden (månader, rabatt på månadsavgiften och sponsrat utrustningsbelopp) som kunden
kan välja i prissektionens växel — utan bindning är alltid förvalet.
Procentdelen på kortköp tas ut automatiskt via plattformsavgiften i Stripe: i driftvyns
sektion Kortbetalningar finns fältet "Plattformsavgift för denna kassaägare" —
sätt procenten efter kundens valda prisnivå (tomt fält = standard). Gäller från nästa kortköp.
Personalliggare (tagg-stämpling)
Slå på växeln Personalliggare i inställningarna. Personalen stämplar in och ut genom att
blippa sin tagg på kassans RFID-läsare (läsare i tangentbordsläge, samma som streckkodsscannern).
Vid blipp visas en fråga — "Vill du stämpla IN eller UT?" — så ingen stämplar fel av misstag;
därefter bekräftar en grön remsa "Anna — instämplad 07:58". När ingen är instämplad låses kassan
("Kassan är låst — blippa din tagg") och öppnas direkt vid instämpling; går personalliggaren inte att
nå låses kassan aldrig — försäljningen går alltid först. Den som saknar tagg kan stämpla med knappen i
tidrapport-appen (tid.karlberg.nu). Taggen kopplas till den anställde i tidrapportens personalformulär
(ställ markören i taggfältet och blippa), och ny personal kan CSV-importeras från er befintliga liggare
(namn;personnummer;telefon). Vid Skatteverkets kontrollbesök: öppna
/personal.html — där syns vem som är instämplad just nu och utdrag för
valfri period, med personnummer. Rättelser görs i efterhand av admin och loggas separat — ursprungliga
stämplingar ändras aldrig. Verksamhetens namn och organisationsnummer sätts i tidrapportens inställningar.
Tillbehör att ansluta
| Tillbehör | Hur | Status |
| Extern kundskärm | HDMI till platta/dator och dra kundskärmsfönstret dit — eller egen enhet mot /kund.html | Fungerar |
| QR-/streckkodsscanner | USB eller Bluetooth, läge "tangentbord (HID)". Skannar produkternas streckkoder rakt in i notan och presentkortens QR i kodrutan — inga drivrutiner behövs | Fungerar |
| Skärm för dagens försäljning | Valfri enhet mot /dagens.html | Fungerar |
| Kvittoskrivare (papper) | ESC/POS-skrivare | Planerad |
| Kortterminal (Stripe S700/S710/WisePOS E) | INTEGRERAD: kassan skickar summan till terminalen
när du trycker Kort — kunden blippar, kassan ser betalningen och skriver kvittot. Registrera terminalen
i driftvyn under Kortbetalningar: starta terminalen, anslut nätverk,
generera parkopplingskod (Inställningar → Generate pairing code) och ange koden + butikens adress.
I betalrutan finns Avbryt och "Betala via QR i stället" | Fungerar (kräver aktiverat Stripe-konto) |
| Annan fristående kortterminal | Terminalen sköter kortbetalningen separat (beloppet slås in
på terminalen) — kassan registrerar köpet som Kort | Fungerar |
| Kontrollenhet (CleanCash) | INGÅR i abonnemanget — en central Typ C-enhet (delas av flera
kassor) ansluts via kassans kontrollager; ingenting att installera hos kunden | Väntar på leverantör |
Hämtmat eller äta här — momsen skiljer
Sedan 1 april 2026 är momsen 6 % på hämtmat och 12 % på att äta på plats
(tillfälligt till och med 2027). Säljer du mat måste du därför tala om vilket det är.
- Två knappar står intill summan i notan: Äta här och Ta med. Tryck själv
eller vänd plattan mot kunden. Momsraden ändras direkt så du ser vad valet gör.
- Priset ändras inte. Kunden betalar samma summa — det är fördelningen mellan
butiken och momsen som skiftar.
- Läget nollställs till "Äta här" efter varje köp. Det är med flit: ett läge som
ligger kvar från förra kunden ger fel moms på nästa, och det upptäcks först i
bokföringen.
- Ser du inga knappar har ingen vara fått en hämtmatsmoms ännu. Den sätts per vara under
Admin → Varor. Lämnas den tom gäller varans vanliga moms i båda lägena — vilket är rätt
för alkohol (alltid 25 %) och för allt som inte är mat.
- Kiosk och bordsbeställning frågar inte: kiosken är avhämtning, bordet är på plats.
- Hela funktionen kan stängas av under Admin → Butiken. Då gäller varornas vanliga
moms igen och knapparna försvinner — utan att du behöver ändra en enda vara. Satserna ligger
kvar och gäller på nytt om du slår på den igen. Det är så du gör när den tillfälliga
sänkningen upphör vid årsskiftet 2027/28.
- Läget står på kvittot, och en retur ärver originalets läge.
Om nätet eller kontrollenheten ligger nere
- Kassan stannar. Du får meddelandet "Kontrollenheten svarar inte" och köpet går inte igenom. Det är inte ett tillfälligt strul att trycka igen på — ett kassaregister får enligt lag inte användas utan kontakt med sin kontrollenhet.
- Skriv kvitto för hand så länge, precis som vid strömavbrott. Spara handkvittona — försäljningen ska in i bokföringen på vanligt sätt.
- Pricken uppe till höger visar kontakten: grön = allt normalt, röd = kassan kan inte sälja.
- Hör av dig till oss om det inte löser sig inom några minuter.
- Kortbetalning offline är terminalens funktion (chip + PIN), inte kassans — det påverkas inte av det här.
- Vilken kontrollenhet kassan använder: CleanCash-kontrollenheter från Retail Innovation/Origum, antingen direkt eller via GreenGate Online (kontrollenhet som molntjänst), GreenGate Enterprise Manager eller GreenGate Device Communicator. Alla fungerar ihop med kassan. Vilken din butik har står i ditt avtal — kontrollenhetens tillverkningsnummer skrivs ut på varje kvitto.
API-översikt (för integrationer)
Fullständig teknisk referens finns i docs/kassa.md i repot. De viktigaste:
| Endpoint | Vad | Nyckel |
POST /api/kop | Genomför köp (även presentkortsköp/-inlösen) | – |
GET /api/status | Kassans läge + inställningar | – |
GET /api/presentkort/:kod | Presentkortssaldo | – (koden är nyckeln) |
POST /api/retur, POST /api/kopia | Returkvitto / kvittokopia | Admin |
GET/POST /api/vaxelkassa | Växelkassa | Admin |
GET/POST /api/lager/session | Öppna/visa arbetspass | Personal |
POST /api/lager/rad | Räkna in en vara | Personal |
POST /api/lager/session/bokfor | Bokför passet mot saldot | Personal |
GET /api/lager | Lagerlista | Personal |
POST /api/skanna | Handskanner skickar streckkod | Skannernyckel |
POST /api/rapport/x, /api/rapport/z | Dagrapporter | Admin |
GET /api/dagens | Dagens försäljning (informationsvy) | Admin |
GET /api/journal/utskrift | Journal som läsbar text | Admin |
GET /api/export/journal | Journalexport (Skatteverkets XML) | Admin |
GET/POST /api/kundskarm | Kundskärmens visningsdata | – |
GET/POST /api/bokning, POST /api/bokning/:id/status | Bokningar (lista/skapa/status) | Admin |
GET /api/bokning/tjanster, POST /api/admin/bokning/tjanst | Bokningsbara tjänster | Admin |
GET /api/boka/info, /lediga, POST /api/boka | Publik onlinebokning (kräver påslagen växel) | – |
POST /api/kvitto/mejla | E-postkvitto (senaste kvittot, inom 15 min) | – |
GET /api/export/sie | SIE-fil till bokföringen (period) | Admin |
POST /api/admin/installningar, /api/admin/produkter | Inställningar / produkter | Admin |