Numera Master
Tillfällig översikt

Alla delar av Numera på webben

Översikt över sajterna.

En server, åtta adresser. Den här sidan är tillfällig och stängs av med NUMERA_MASTER=off när allt är på plats.

Ändra innehållet

Redigerarna ligger på admin- och appstore-adresserna, eftersom inloggningen (passkey) bara godtas där. Samma inlogg som admin, just nu även som gäst.

Gamla startsidan https://admin.usenumera.se/startsidan Den första startsidan, sparad som den var. Den har inget eget värdnamn sedan 2026-11-06 (usenumera.se visar alternativ2), men går att se och ändra här. Redigera säljsidan https://admin.usenumera.se/alternativ2 Texterna på https://usenumera.se (alternativ2, huvudsidan sedan 2026-11-06): klicka i en text och skriv, titel och beskrivning, spara med ⌘S. Redigera alternativ3 https://admin.usenumera.se/alternativ3 Samma redigerare, för texterna på https://alternativ3.usenumera.se. Redigera appstore-sidorna https://appstore.usenumera.se/redigera Support, integritetspolicy, villkor, personuppgiftsbiträdesavtal och sidan om appen, i Markdown med förhandsvisning.

Sajterna

Appen https://app.usenumera.se Numera i webbläsaren: inloggning, bokföring, löner, moms, rapporter. End-to-end-krypterad synk med Mac och iPhone. Samma adress som apparna använder (NUMERA_ORIGIN). Admin https://admin.usenumera.se Ett enda inlogg. Antal användare, användning som summor per dag, plattform och land, kundernas kontouppgifter och sidorna. Ingen enskild användares användning, ingen bokföring. Appstore https://appstore.usenumera.se Sidorna som App Store Connect vill ha: support, integritetspolicy, villkor och en sida om appen. Redigeras på /redigera med samma inlogg som admin. Alternativ https://alternativ.usenumera.se Den alternativa säljsidan med 8-bitarskänsla: samma punkter som startsidan plus varför Numera finns. Texterna ligger i mallen sites/alternativ/index.html, ingen redigerare. Säljsidan (alternativ2) https://usenumera.se Huvudsidan på usenumera.se sedan 2026-11-06 (alternativ2.usenumera.se skickas vidare hit). Priset som kostnad per månad (99 kr/mån med årsbetalning, 149 kr/mån månadsvis, inkl. moms, 25 AI-kontroller/mån, 1 månad gratis), Gör klart juni (Claude bokför en hel månad), dator och mobil sida vid sida, Läs mer med alla funktioner (/funktioner), Windows-nedladdning från servern (/ladda-ner/windows), Byt till Numera med Fortnox, Spiris, Bokio m.fl., direkt under hjälten, varför Numera finns, hur lätt det är, AI som hittar rätt post, allt som ingår. Texterna redigeras på admin/alternativ2. Alternativ 3 https://alternativ3.usenumera.se Kassaboken: kvittot från hårdvaruhandeln landar på bordet, läses rad för rad, resoneras om och bokförs med stämpel. Fraunces och Instrument Sans, koboltblå accent, orden tänds när man scrollar, fast panel i stegen, pristoggel. Texterna redigeras på admin/alternativ3. Master https://master.usenumera.se Den här sidan. Du är här

Så hänger det ihop

 usenumera.se ──┐
 app.usenumera.se ──┤
 admin.usenumera.se ──┼──► Cloudflare Tunnel / proxy ──► Numera-servern (en Docker-container på TrueNAS)
 appstore.usenumera.se ──┤                                  ├─ /v1 och /mcp     appens API (krypterade poster)
 alternativ.usenumera.se ──┤                                  ├─ /_api/admin     admin-API (kaka numera_admin)
 alternativ2.usenumera.se ──┤ (→ usenumera.se)                  └─ /_s/…           sajternas css och js
 alternativ3.usenumera.se ──┤
 master.usenumera.se ──┘

Servern väljer sajt efter värdnamnet. Utan egna domäner (lokalt) nås samma sidor på /start, /admin, /appstore, /master, /alternativ, /alternativ2 och /alternativ3.

Att göra för att gå live

  1. Peka värdnamnen på servern (i Cloudflare Tunnel: public hostnames till samma numera:8787). usenumera.se och www. visar säljsidan (alternativ2). alternativ2. behövs bara om gamla länkar ska skickas vidare, alternativ. och alternativ3. kan tas bort.
  2. Sätt NUMERA_ORIGIN=https://app.usenumera.se (appens adress, styr passkeys och bekräftelselänken i e-post) och NUMERA_SITE_DOMAIN=usenumera.se.
  3. MÅSTE innan live: ta bort adminens gästläge. Admin går just nu att öppna med Fortsätt som gäst utan inloggning (på som standard, NUMERA_ADMIN_GUEST). Ta bort gästläget ur koden (sök efter MÅSTE BORT INNAN LIVE i server/src/admin.ts, app.ts, main.ts, sites/shared/adminapi.js och site.css) och kontrollera att adminen bara går att öppna med passkey. Fram till dess: NUMERA_ADMIN_GUEST=off på alla servrar som nås utifrån.
  4. MÅSTE innan live: skydda admin. Admin visar kunders namn, e-post, telefon och adress (personuppgifter enligt GDPR, en läcka kan ge stora sanktionsavgifter och måste anmälas till IMY inom 72 timmar). Admin loggar nu bara in med passkey. Live: sätt en ny lång engångsnyckel i NUMERA_ADMIN_PASSWORD (inte lokala testlösenordet), öppna admin.usenumera.se direkt efter driftsättningen och skapa passkeyn (tills den finns räcker engångsnyckeln), lägg till en reservpasskey under Om servern, och ta sedan gärna bort variabeln. Överväg Cloudflare Access framför admin. och appstore.…/redigera som extra lager.
  5. Byt adminens adress till ett slumpat namn. Skapa ett namn med openssl rand -hex 6 (t.ex. 3f9a1c7e2b04), sätt NUMERA_ADMIN_HOST=3f9a1c7e2b04 (blir 3f9a1c7e2b04.usenumera.se), lägg till det som public hostname i Cloudflare Tunnel och ta bort admin.usenumera.se där. Spara adressen i lösenordshanteraren, den står inte på någon publik sida. app.usenumera.se/admin och admin-API:et från appen och startsidan ger då 404. Använd Cloudflares jokertecken-certifikat (*.usenumera.se, standard när Cloudflare proxar) så att namnet inte syns i certifikatloggarna.
  6. MÅSTE innan live: moms på betalningarna. Utan detta tar Stripe ut noll moms utan att säga något. I Stripe (skarpt läge, inte bara testläge): lägg in huvudkontorets adress under Tax → Settings, lägg till registrering för Sverige med momsregistreringsnumret under Tax → Registrations, välj skattekod på produkten Numera (ur Stripes lista för programvara som tjänst) och momsbeteende (exklusive eller inklusive moms) på priserna för månad och år. Sätt sedan NUMERA_STRIPE_AUTOMATIC_TAX=on, tryck Hämta från Stripe i admin → Betalningar och kontrollera att inga varningar om moms finns kvar. Gör en testbetalning och se att momsen syns på kvittot. Stäm av försäljning till företag i andra EU-länder (omvänd skattskyldighet) och privatpersoner utomlands (OSS) med revisorn.
  7. Stripe innan live: skapa en begränsad nyckel rk_live_… (rättigheterna står under admin → Betalningar → Om Stripe) i stället för sk_live_…; lägg till webhooken med händelserna som står där (bland annat charge.dispute.* och radar.early_fraud_warning.*); låt NUMERA_STRIPE_WEBHOOK_IP_CHECK=cloudflare stå kvar; slå på tvåstegsinloggning med passkey eller app (inte SMS) för Stripe-kontot.
  8. Sätt NUMERA_TRUST_PROXY så att hastighetsbegränsningen ser rätt besökare, och låt Cloudflare skicka CF-IPCountry för landsstatistiken.
  9. Serveradressen i appen: klart. Release-byggen (TestFlight, App Store) föreslår https://app.usenumera.se, Debug-byggen http://localhost:8787 (byggvärdet NUMERA_SERVER_URL).
  10. E-post och fakturautskick (provat 2026-11-10). Faktura från webben och offert från Mac-appen gick fram från faktura@usenumera.se via en tillfällig server. Kvar: ny Scaleway-nyckel för den riktiga servern (testnyckeln går ut 2026-11-17), städa efter provet (Web/.env, testkonton, logga ut Mac-appen från localhost), titta på testmejlen i Gmail, brevlåda eller vidarebefordran för faktura@usenumera.se, prova riktig faktura och påminnelse från Mac och iPhone, prova eget e-postkonto som avsändare, rätta att QR-kopplingen stängs av sig själv och att status visar Offline, knappen Ny offert i appen, skriv ut en faktura på A4 och byt "bokföring för små företag" i texter som sparats i admin. Hela listan står i docs/ga-live.md.
  11. Skapa Scaleways API-nyckel och sätt NUMERA_SMTP_URL (Web/truenas/TRUENAS.md, E-post), kopiera in de nya texterna från sites.ts i redigeraren, ställ in ögonblicksbilderna på 90 dagar, godkänn Cloudflares, Scaleways och Stratos biträdesavtal (Web/docs/compliance/README.md) och klistra in adresserna i App Store Connect.
  12. Apple Intelligence på webben och i Windows (Pontus 2026-11-05): ta bort alla omnämnanden av Apple Intelligence i webbappen och Windows-appen (bl.a. AI-hjälp, Lär dig bokföring, AI-assistentens texter och LearningContent/AssistantService.subtitle när de visas på webben). Lägg i stället till ett tips på webben för den som kör Safari på Mac, iPhone eller iPad: "Appen är bättre, den har Apple Intelligence och fungerar utan nät" med länk till Numera i App Store (inte i Windows-appen och inte i andra webbläsare).
  13. Windows-appen i Microsoft Store: registrera i Partner Center, lägg in variablerna MSSTORE_* i GitHub, ladda upp .appx från Actions och sätt NUMERA_WINDOWS_STORE_URL när appen är godkänd (steg för steg i Web/desktop/README.md). Lägg installerarna för direktnedladdning i downloads. Kunden väljer på usenumera.se/ladda-ner.
  14. Kodsignera Windows-appen så att SmartScreen inte varnar: se Web/desktop/README.md (Azure Artifact Signing, sekreterna AZURE_* i GitHub).
  15. Prova mot myndigheterna innan live: förprov gjorda 2026-11-05 (se Web/docs/myndighetsprov.md): iXBRL utan fel i Arelle mot taxonomin K2 2024-09-12 och fastställelseintyget (ett fel hittat och rättat), AGI-filerna giltiga mot schema 1.1 med frånvarouppgifter, alla SRU-koder för INK2, INK2R, INK2S och NE finns och betyder rätt sak i 2026P4-tabellerna. Kvar, kräver din e-legitimation: ladda upp SRU-filerna i Skatteverkets filöverföring i testläge och AGI-filen i Skatteverkets testtjänst. Bolagsverket tar bara emot iXBRL via API från godkända program, ansök om det eller låt kunden ladda upp filen själv.
  16. CloudKit före varje release: kör appen i Debug så att nya fält finns i utvecklingsmiljön, och tryck sedan Deploy Schema Changes i CloudKit Console så att produktionen har samma fält.
  17. E-faktura via Peppol (Qvalia), se Web/docs/peppol.md: teckna partneravtal med Qvalia och få testnycklar; kör npx tsx tools/peppol/qvalia-check.ts mot testmiljön (lookup, register, send, status, incoming, download) och rätta sökvägar och svar som inte stämmer; fråga Qvalia om personnummer (enskild firma) går att registrera som 0007, annars momsregistreringsnumret (9955); sätt NUMERA_QVALIA_API_KEY, NUMERA_QVALIA_PARTNER, NUMERA_QVALIA_ACCOUNT och skarpa NUMERA_QVALIA_BASE; skicka en riktig e-faktura till ett eget testföretag och ta emot en. Säljsidan lovar e-faktura: publicera den först när det fungerar.
  18. E-faktura, betalning: 10 e-fakturor i månaden ingår, sedan 1 kr styck som debiteras månaden efter. Stripe-nyckeln behöver Invoices: Write (även invoice items). Prova i Stripes testläge: skicka 11 e-fakturor, flytta fram en månad (eller tryck Debitera förra månaden nu i admin → E-faktura) och se att fakturan på 1 kr dras och får moms.
  19. E-faktura, granskning: godkänn varje begäran i admin → E-faktura först när du har kontrollerat att personen hör till företaget (t.ex. firmatecknare hos Bolagsverket eller en bekräftelse från företagets e-post).
  20. Xcode: bygg appen och kör PeppolTests, NumeraCryptoShareTests och resten av NumeraCore-testerna (Swift-koden för e-faktura är inte kompilerad i molnet). Publicera CloudKit-schemat (nytt fält Customer.peppolID).
  21. Stäng av den här sidan: NUMERA_MASTER=off.

Sidorna på appstore-sajten

Hämtar…