Initial copy from influencer-biz
This commit is contained in:
@@ -0,0 +1,357 @@
|
||||
# Förtydligad feedback med tolkningar
|
||||
|
||||
## 1. Onboarding-flöde
|
||||
|
||||
**Influencer Business → Influencer Assistant**
|
||||
- "Influencer Business" står troligen som appnamn/rubrik i onboarding-flödet
|
||||
- Ska ersättas med "Influencer Assistant" överallt där det förekommer
|
||||
- Förmodligen i header, sidtitel och eventuellt metadata
|
||||
|
||||
**Localhost redirect problem vid auth genom mail**
|
||||
- Magic link-autentisering redirectar till `localhost:3000` istället för produktions-URL
|
||||
- Environment variable för NEXT_PUBLIC_SITE_URL är förmodligen inte satt korrekt i Supabase
|
||||
|
||||
**Ta bort alla detaljer kring EF/AB**
|
||||
- Nuvarande onboarding har förklarande text typ "Enklare bokföring, lägre egenavgifter" vid bolagsformsval
|
||||
- Ska bli en ren dropdown med endast "Enskild firma", "Aktiebolag", "Inget bolag ännu (frilans)"
|
||||
- Ingen pedagogisk text, bara valet
|
||||
|
||||
**Lägg till "Inget bolag ännu (frilans)"**
|
||||
- Tredje alternativ för creators som tar sina första samarbeten men inte formaliserat verksamheten än
|
||||
- Låter dem använda appen för att spåra inkomster innan de registrerar bolag
|
||||
- Förmodligen med begränsad funktionalitet (ingen bokföring, bara spårning)
|
||||
|
||||
**Verksamhetsnamn lägg till (Eller ditt namn vid EF)**
|
||||
- Labeln "Verksamhetsnamn" ska ha suffix-text "(Eller ditt namn vid EF)"
|
||||
- Placeholder bör vara "Alices Influencer-verksamhet" eller "Alice Andersson"
|
||||
- Gör det tydligt att EF-användare kan använda personnamn
|
||||
|
||||
**Org nummer förklara att det är ens personnummer vid EF**
|
||||
- Placeholder-text: "ÅÅMMDD-XXXX (ditt personnummer vid EF)"
|
||||
- Eller hjälptext under fältet: "Vid enskild firma är orgnummer samma som ditt personnummer"
|
||||
- Görs obligatoriskt för EF/AB (ta bort "frivilligt")
|
||||
|
||||
**Ta bort frivilligt för EF**
|
||||
- Orgnummer är obligatoriskt för både EF och AB
|
||||
- Required-validering ska gälla
|
||||
|
||||
**Ändra till brun färg där det är grönt**
|
||||
- Primärfärg i appen är troligen grön idag
|
||||
- Ska bytas till brun enligt brand guidelines
|
||||
- Gäller knappar, accenter, aktiva tillstånd
|
||||
|
||||
**Bankkonto ta bort? Eller direkt till Enable Banking?**
|
||||
- Nuvarande flöde: manuellt IBAN-fält i onboarding
|
||||
- Ska ersättas med Enable Banking-integration direkt
|
||||
- Dvs. istället för textfält → knapp "Koppla bankkonto" som öppnar Enable Banking
|
||||
- Hoppar över manuell input helt? Eller?
|
||||
|
||||
**Fixa knapp så att den går direkt vid klick på bank och inte två steg**
|
||||
- Nuvarande: Klicka på en bank , sedan ändå behöva scrolla ner och klicka "autentisera till X" knapp.
|
||||
|
||||
---
|
||||
|
||||
## 2. Dashboard (första sidan)
|
||||
|
||||
**"Godmorgon Alice, idag ska du göra X" eller "Allt är som det ska"**
|
||||
- Personaliserad hero-sektion högst upp på dashboarden
|
||||
- "Godmorgon Alice, idag ska du: Skicka faktura till H&M (förfaller om 3 dagar), Betala moms (deadline 12 feb)"
|
||||
- Om inga pending items: "Godmorgon Alice, allt är som det ska"
|
||||
- Hämtar från kommande kalenderhändelser + fakturor nära förfall + obetalda fakturor
|
||||
|
||||
**Pengarna under**
|
||||
- "Pengarna under" = summan pengar som finns under/kvar efter att preliminärskatt dragits av
|
||||
- Visar nettoresultat efter beräknad skatt
|
||||
- Dashboard ska visa: Bruttoinkomst, Beräknad skatt, Kvar att ta ut
|
||||
- "Kvar att ta ut: 45 000 kr" typ
|
||||
|
||||
**Undersök skatteberäkning?**
|
||||
|
||||
**Intäkter / Kostnader också 0, undersök**
|
||||
- Dashboard visar 0 kr för både intäkter och kostnader, undersök detta om det stämmer
|
||||
|
||||
**Ny kampanj → Nytt samarbete**
|
||||
- CTA-knapp eller sektionshuvud säger "Ny kampanj"
|
||||
- Ska vara "Nytt samarbete" eller "+ Skapa samarbete"
|
||||
- Matchar creators mentala modell bättre
|
||||
|
||||
**Spåra leverabler svårt ord**
|
||||
- "Leverabler" är projektledarjargong, inte creator-språk
|
||||
- Ska vara "Spåra innehåll" eller "Håll koll på publiceringar"
|
||||
- Mindre formellt, mer intuitivt
|
||||
|
||||
**Ta bort logga körning från första sidan**
|
||||
- Det finns en sektion/knapp för mileage tracking på dashboarden
|
||||
- Ska tas bort helt (inte relevant för målgruppen)
|
||||
- Creators kör sällan tjänsteresor, prioritera inte detta
|
||||
|
||||
**Skita i personlig kortkoppling, arbeta endast med företagskort**
|
||||
- Endast företagskort via Enable Banking
|
||||
- Kategorisera alla transaktioner från företagskonto
|
||||
- Enklare modell, färre edge cases
|
||||
|
||||
**Ta bort sammanfattning månadsvis kalendervy**
|
||||
- Kalendervyn har förmodligen en rad per månad som aggregerar events
|
||||
- Tar onödigt utrymme och är inte så användbar
|
||||
- Visa bara enskilda events i kronologisk ordning
|
||||
|
||||
**Kalender större och mer tilltalande**
|
||||
- Nuvarande kalender är förmodligen en liten widget eller sidomodul
|
||||
- Ska ta mer plats (förmodligen halva skärmbredden eller större)
|
||||
- Kanske full-width på mobil
|
||||
- Mer visuellt prominent, då det är core feature
|
||||
|
||||
**Ta bort "Håll koll på betalningar och deadlines"**
|
||||
- Beskrivande text under kalendersektion
|
||||
- Är överflödig/upprepande
|
||||
- Ta bort, låt kalendern tala för sig själv
|
||||
|
||||
---
|
||||
|
||||
## 3. Samarbeten (f.d. kampanjer)
|
||||
|
||||
**Kampanjer → Samarbete**
|
||||
- Överallt där "Kampanj" används som term
|
||||
|
||||
**Flytta upp så att det är "+ Skapa samarbete" och "Importera avtal" där uppe istället**
|
||||
- Nuvarande: CTA-knappar längre ner på sidan eller i subnavigation
|
||||
- Ska vara: Primary actions i toppen av sidan (header-nivå)
|
||||
|
||||
**Start och slutdatum för samarbete ändras när man ändrar publiceringsdatum**
|
||||
- Bugg: När användaren ändrar publiceringsdatum, ändras även start/slutdatum automatiskt
|
||||
- Ska inte hända - olika fält, oberoende av varandra
|
||||
- Eller: Ta bort start/slutdatum helt (se nästa punkt)
|
||||
|
||||
**Start och slutdatum irrelevant**
|
||||
- Start/slutdatum är inte viktiga för creators
|
||||
- Relevant är: Publiceringsdatum (när contentet går live) och Utkastdeadline (när drafts ska skickas)
|
||||
- Ta bort Start/Slutdatum-fält helt, ersätt med:
|
||||
- "Publiceringsdatum" (datum)
|
||||
- "Utkastdeadline" (datum, optional)
|
||||
|
||||
**Att det ska stå varumärke / direktkund men inte lägga in som kund**
|
||||
- Fält för "Varumärke" (t.ex. "H&M") - fritextfält
|
||||
- Fält för "Byrå" (t.ex. "Swim Communication") - dropdown/autocomplete som skapar Customer-post
|
||||
- Endast byrå ska finnas i Customers-tabellen
|
||||
- Varumärke är metadata på samarbetet, inte en relation
|
||||
|
||||
**Endast byrå ska läggas in som kund**
|
||||
- Customer-tabellen innehåller bara byråer (de som faktiskt betalar)
|
||||
- Varumärken är bara en textsträng på samarbetet
|
||||
- Fakturan går till byrån, inte varumärket
|
||||
|
||||
**Slutkund är ibland varumärke, ibland byrå**
|
||||
- "Slutkund" = den entitet som ska synas på fakturan och i kommunikation
|
||||
- Om direktkund (inget mellanled): slutkund = varumärke
|
||||
- Om via byrå: slutkund = byrå
|
||||
- Automatisk logik: Om byrå finns → byrå är slutkund. Annars → varumärke är slutkund
|
||||
|
||||
**"Skapa ny kund" knapp inte helt intuitiv i ladda upp avtal flödet**
|
||||
|
||||
**Byt ut leverabler (svårt ord), extraheras kan också beskrivas lättare**
|
||||
- "Leverabler" → "Innehåll" eller "Publiceringar"
|
||||
- "Extraheras" → "Hittades i avtalet" eller "AI fyllde i automatiskt"
|
||||
- Enklare språk, mindre jargong
|
||||
|
||||
**Exklusivitet inte extraherat korrekt (competing brands i x veckor)**
|
||||
- AI-extrahering hittar inte exklusivitetsklausuler korrekt
|
||||
- Exempel: "No competing brands for 4 weeks" ska extraheras till "4 veckor"
|
||||
- Förbättra prompt eller lägg till specifik parsing för exklusivitet
|
||||
|
||||
**Lägg till funktion att man kan lägga in exklusivitet själv**
|
||||
- Om AI missar exklusivitet, ska användaren kunna lägga till manuellt (även där det står "ingen exklusivitet hittades")
|
||||
- Fält: "Exklusivitet (valfritt)" med dropdown för antal veckor och fritextfält för competing brands
|
||||
- Eller: Edit-knapp vid extraherad exklusivitet
|
||||
|
||||
**Textinnehåll sammanfatta på briefing med AI**
|
||||
-"Klistra in mailetråd"
|
||||
- Användaren klistrar in hela mejlkonversationen eller annan text.
|
||||
- AI extraherar och sammanfattar till strukturerad briefing
|
||||
|
||||
**Från kampanj till faktura: populera automatiskt**
|
||||
- När användaren skapar faktura från ett samarbete
|
||||
- Auto-populera: Kund (byrå), Belopp (från samarbetsavtalet), Beskrivning (samarbetsnamn), Förfallodatum (publiceringsdatum + 30 dagar)
|
||||
- Knapp i samarbetsdetaljer: "Skapa faktura" som öppnar fakturaformulär med förifyllda fält
|
||||
|
||||
**Fixa UI kundsida**
|
||||
- Kundsidan (kund-detaljer) har dålig layout/design
|
||||
- Behöver omarbetas: bättre typografi, spacing, färgschema enligt brand
|
||||
- Förmodligen legacy-design som inte uppdaterats efter rebrand
|
||||
|
||||
---
|
||||
|
||||
## 4. Transaktioner & Kategorisering
|
||||
|
||||
**Automatiskt fetcha banktransaktioner**
|
||||
- Enable Banking är redan integrerat men transaktioner hämtas inte automatiskt
|
||||
- Implementera: Cron job eller webhook som hämtar transaktioner dagligen
|
||||
- Supabase Edge Function + scheduled trigger för att synka transactions
|
||||
|
||||
**Kategorisera logiken lägger av efter 3/6 transaktioner**
|
||||
- AI-kategorisering fungerar för de första transaktionerna
|
||||
- Efter 3-6 transaktioner slutar den kategorisera (returnerar null eller default-kategori)
|
||||
- Förmodligen: Rate limit, token limit, eller bugg i loop-logiken
|
||||
- Fix: Batch-processa i chunks, kolla error handling
|
||||
|
||||
**Undersök balans/resultat??**
|
||||
- Rapporterad balans/resultat matchar inte faktiskt banksaldo eller förväntad vinst (kanske)
|
||||
- Förmodligen: Kategoriseringsbuggen ovan gör att många transaktioner blir okategoriserade
|
||||
- Eller: Dubbelbokföring, felaktig summering
|
||||
- Fix: Debugga query som beräknar balans, verifiera mot banksaldo
|
||||
|
||||
**Gör om swipe funktionen till att man swipear till rätt kostnadskonto istället**
|
||||
- De mest troliga kostnadskonton visas på skärmen, alternativ för fler om det inte stämmer.
|
||||
|
||||
**Lägga till fler alternativ för varje kostnad (ex bankkostnad är inte med)**
|
||||
- Nuvarande kategorilista är ofullständig
|
||||
- "Bankkostnad" saknas (avgifter från banken)
|
||||
- Lägg till: Bankkostnad, Kortavgifter, Valutaväxling, eventuellt fler
|
||||
- Förmodligen hårdkodad enum, utöka listan
|
||||
|
||||
**Faktura ska mappas till transaktioner**
|
||||
- När en faktura betalas, ska den kopplas till motsvarande banktransaktion
|
||||
- Auto-matching baserat på: Belopp (±1%), Datum (±7 dagar), Kund-referens
|
||||
- UI: Ikon som visar "Kopplad till faktura #123" på transaktionen
|
||||
- Underlättar reconciliation
|
||||
- Detta kan vara en del av kategoriserings swipe funktionen.
|
||||
|
||||
---
|
||||
|
||||
## 5. Kalender & Deadlines
|
||||
|
||||
**Lägg in så att prel skatte inbetalningsdatum ligger i kalendern**
|
||||
- Preliminärskatt ska visas som återkommande events i kalendern
|
||||
- Månatlig (om stor omsättning), kvartalsvis (standard), eller årlig (låg omsättning)
|
||||
- Automatisk beräkning baserat på ackumulerad vinst
|
||||
- Event: "Preliminärskatt 12 500 kr" med datum och länk till betalning
|
||||
|
||||
**Månadsvis/kvartal/år**
|
||||
- Intervall för prelskatt beror på förväntad omsättning:
|
||||
- Månad: >1M kr/år
|
||||
- Kvartal: 100k-1M kr/år (default)
|
||||
- År: <100k kr/år
|
||||
- Automatisk detektering baserat på faktiska intäkter
|
||||
- Eller: Användarinställning om de vet sin skatteklass
|
||||
|
||||
---
|
||||
|
||||
## 6. Intäktstyper
|
||||
|
||||
**Lägg till "Podcast" som sätt att man får betalt**
|
||||
- Nuvarande intäktstyper: Instagram, TikTok, YouTube, Sponsrad post, etc.
|
||||
- Lägg till: "Podcast" (brandintegration i podcast-episoder)
|
||||
- Ska vara eget val i dropdown "Typ av samarbete" eller "Plattform"
|
||||
- Samma hantering som andra samarbetstyper: fakturering, kategorisering, momsklassificering
|
||||
|
||||
ISSUES:
|
||||
## Error Type
|
||||
Runtime SyntaxError
|
||||
|
||||
## Error Message
|
||||
Unexpected token '<'
|
||||
|
||||
Next.js version: 16.1.5 (Turbopack)
|
||||
|
||||
|
||||
Fixa så att det är tre cards istället: EF, AB, Frilans (coming soon)
|
||||
|
||||
Blir inte automatiskt redirectad till nästa steg efter bank connect:
|
||||
|
||||
POST /api/banking/connect 200 in 988ms (compile: 37ms, render: 951ms)
|
||||
GET /api/banking/callback?state=acdf00c6-82a1-4068-ac07-7510ee41667d&code=061d67b7-81d7-4996-8bb5-9cd731651108 307 in 2.0s (compile: 35ms, render: 2.0s)
|
||||
GET /onboarding 200 in 167ms (compile: 5ms, proxy.ts: 127ms, render: 35ms)
|
||||
GET /onboarding 200 in 315ms (compile: 5ms, proxy.ts: 276ms, render: 33ms)
|
||||
|
||||
Dessa är på fel ställe och är inkorrekta:
|
||||
|
||||
Välkommen till din översikt!
|
||||
Steg 1 av 5
|
||||
|
||||
Stäng guide
|
||||
Här ser du hela din ekonomiska situation på ett ställe. Låt oss gå igenom de viktigaste delarna.
|
||||
|
||||
Fixa namn / bolagsnamn efter God kväll på main page.
|
||||
|
||||
Trippla lägg till samarbetsknappar på https://marguerite-nonhieratical-becki.ngrok-free.dev/campaigns
|
||||
|
||||
Får ## Error Type
|
||||
Runtime SyntaxError
|
||||
|
||||
## Error Message
|
||||
Unexpected token '<'
|
||||
|
||||
Next.js version: 16.1.5 (Turbopack)
|
||||
när jag försöker ta bort exklusivitetsmärke från AI extraheringen.
|
||||
|
||||
|
||||
Och detta när jag förösker lägga till exklusivitet manuellt:
|
||||
## Error Type
|
||||
Runtime TypeError
|
||||
|
||||
## Error Message
|
||||
Cannot read properties of undefined (reading 'length')
|
||||
|
||||
|
||||
at Step5Exclusivity (components/contracts/ContractImportWizard.tsx:1169:50)
|
||||
at renderStepContent (components/contracts/ContractImportWizard.tsx:324:16)
|
||||
at ContractImportWizard (components/contracts/ContractImportWizard.tsx:403:10)
|
||||
at CampaignImportPage (app/(dashboard)/campaigns/import/page.tsx:37:7)
|
||||
|
||||
## Code Frame
|
||||
1167 | </div>
|
||||
1168 |
|
||||
> 1169 | {extraction.exclusivity.excludedBrands.length > 0 && (
|
||||
| ^
|
||||
1170 | <div>
|
||||
1171 | <Label className="mb-2 block">Uteslutna varumärken</Label>
|
||||
1172 | <div className="flex flex-wrap gap-2">
|
||||
|
||||
Next.js version: 16.1.5 (Turbopack)
|
||||
|
||||
"Kunde inte kategorisera. Tryck "Hoppa över" för att gå vidare." när jag förösker välja bankkostnader / kortkostnader
|
||||
|
||||
POST /api/transactions/d100f6a5-5512-464f-a500-1f63f561e72b/categorize 200 in 1440ms (compile: 474ms, render: 966ms)
|
||||
Failed to update transaction: {
|
||||
code: '23514',
|
||||
details: null,
|
||||
hint: null,
|
||||
message: 'new row for relation "transactions" violates check constraint "transactions_category_check"'
|
||||
}
|
||||
POST /api/transactions/5d926784-7acb-483c-8859-e34ff29bdd49/categorize 500 in 1045ms (compile: 10ms, render: 1035ms)
|
||||
Failed to update transaction: {
|
||||
code: '23514',
|
||||
details: null,
|
||||
hint: null,
|
||||
message: 'new row for relation "transactions" violates check constraint "transactions_category_check"'
|
||||
}
|
||||
POST /api/transactions/5d926784-7acb-483c-8859-e34ff29bdd49/categorize 500 in 799ms (compile: 6ms, render: 793ms)
|
||||
POST /api/transactions/c81e8863-0085-465a-a96b-f3647f28551f/categorize 200 in 1055ms (compile: 6ms, render: 1049ms)
|
||||
POST /api/transactions/7001bd21-c4e0-46a2-b069-fbb6dc16cd43/categorize 200 in 848ms (compile: 7ms, render: 842ms)
|
||||
POST /api/transactions/f7dc202a-0938-4614-99cc-254c43e63144/categorize 200 in 902ms (compile: 6ms, render: 896ms)
|
||||
POST /api/transactions/batch-match-invoices 200 in 425ms (compile: 3ms, render: 422ms)
|
||||
POST /api/transactions/suggest-categories 200 in 291ms (compile: 1823µs, render: 289ms)
|
||||
POST /api/transactions/2ebaeaa7-b452-437c-94d3-3716d45085d4/categorize 200 in 836ms (compile: 3ms, render: 833ms)
|
||||
POST /api/transactions/9bc5e6bb-0dec-4ce0-8732-e6540f44e229/categorize 200 in 860ms (compile: 6ms, render: 853ms)
|
||||
POST /api/transactions/batch-match-invoices 200 in 124ms (compile: 5ms, render: 119ms)
|
||||
POST /api/transactions/suggest-categories 200 in 235ms (compile: 2ms, render: 233ms)
|
||||
Failed to update transaction: {
|
||||
code: '23514',
|
||||
details: null,
|
||||
hint: null,
|
||||
message: 'new row for relation "transactions" violates check constraint "transactions_category_check"'
|
||||
}
|
||||
POST /api/transactions/5d926784-7acb-483c-8859-e34ff29bdd49/categorize 500 in 920ms (compile: 6ms, render: 914ms)
|
||||
|
||||
Fixa transaktionslogiken allmänt. Ta bort privatvalet helt.
|
||||
|
||||
Undersök om alla intäkter ska vara 3900 övriga rörelseintäkter
|
||||
|
||||
Gör en TODO (tex "två passerade deadlines" är direkt under God kväll)
|
||||
|
||||
Fixa så titel på samarbete syns.
|
||||
|
||||
Värde -> Arvode
|
||||
|
||||
Se över bankuppgifter i faktura. Och fakturanr, IBAN, EU momsnmr.
|
||||
|
||||
Ta bort skatte "ditt att spendera"
|
||||
Reference in New Issue
Block a user