🎯 Cel testów Beta

Optimal Tax to kompletna aplikacja księgowa dla Polaków w UK (Self-Employed, Ltd, Landlord, Crypto). Twoim zadaniem jako testera jest sprawdzenie czy każda funkcja działa zgodnie z opisem, czy znajdujesz bugi, oraz czy aplikacja jest intuicyjna w użyciu.

  • Konto: załóż własne konto w aplikacji („Zarejestruj się”). Dostęp Premium do testów włączy biuro — napisz na tech@optima-creative.co.uk.
  • Backend: https://app.optima-creative.co.uk (Contabo, LIVE)
  • Sandbox: Bank LIVE (TrueLayer), HMRC sandbox
📖

Dla kogo i po co testy

Aplikacja jest skierowana do Polaków prowadzących działalność w UK. Obsługuje 4 typy działalności: Self-Employed (samozatrudniony), Limited Company, Landlord (wynajem nieruchomości) i Crypto Investor.

Cel testów

Wykryć błędy zanim aplikacja trafi na produkcję. Sprawdzić czy logika podatkowa UK 2025/26 jest poprawna, czy integracje (Bank, HMRC) działają stabilnie, oraz czy UX jest zrozumiały dla osoby bez wiedzy księgowej.

📲

Instalacja i pierwszy start

1 Pobierz przez Google Play Internal Testing

Otrzymasz mailem link zapraszający do programu Internal Testing.

Oczekiwane

Link otwiera Google Play, aplikacja "Optimal Tax" widoczna, możliwość instalacji jak każda inna aplikacja. Musisz być zalogowany na koncie Gmail na które dostałeś zaproszenie.

Co przetestować
  1. Czy link działa od razu (czasem Google potrzebuje 5-15 min propagacji)
  2. Czy aplikacja się instaluje bez błędów
  3. Czy ikona aplikacji wygląda prawidłowo (zielony checkmark Optimy)
  4. Czy nazwa "Optimal Tax" jest widoczna
🐛

Jak zgłaszać błędy

Co zgłaszać
  • Crash — aplikacja się zamyka nagle
  • Bug funkcjonalny — funkcja nie robi tego co powinna
  • Bug wizualny — coś źle wygląda, polskie znaki krzaki, nakładające się elementy
  • Wolne działanie — coś trwa nieproporcjonalnie długo
  • Niezrozumiałe UI — nie wiesz co kliknąć, opisy są niejasne
  • Złe wyliczenia — niezgodność z HMRC bands podatkowymi
Jak zgłaszać
  1. W aplikacji: Profile → Feedback (lub przez stronę app.optima-creative.co.uk/feedback)
  2. Podaj kroki reprodukcji (co kliknąłeś po kolei)
  3. Podaj oczekiwane vs faktyczne zachowanie
  4. Zrzut ekranu jeśli możliwe (długie przytrzymanie przycisku Power+Volume Down)
  5. Model urządzenia + wersja Androida
👋

Pierwsze uruchomienie - Onboarding

3 slajdy powitalne wprowadzające w funkcjonalność aplikacji.

Cel funkcji

Pokazać nowemu użytkownikowi co aplikacja oferuje zanim założy konto. Zachęcić do rejestracji.

Oczekiwane zachowanie
  • 3 slajdy: Automatyczne rozliczenia MTD / Skanowanie dokumentów / Konsultacje księgowe
  • Możliwość przesuwania palcem między slajdami
  • Wskaźnik aktywnego slajdu (kropka)
  • Przycisk "Dalej" / "Zacznij" → przejście do logowania/rejestracji
  • Język PL/EN przełączny (jeśli ustawiony EN w systemie, pokazuje angielski)
Częste bugi do sprawdzenia
  • Czy polskie znaki w opisach są poprawne (ą, ć, ę, ł, ń, ó, ś, ź, ż) — NIE krzaki typu "ZapL�ata"
  • Czy obrazki/ikony się ładują
  • Czy slajdy nie nakładają się na status bar / system buttons
📝

Rejestracja

Tworzenie nowego konta z podstawowymi danymi.

Cel funkcji

Zarejestrować użytkownika z minimum wymaganymi danymi. UTR/Company Number opcjonalne na tym etapie (można dodać później w Profile).

Oczekiwane zachowanie
  • Email — walidacja formatu (musi zawierać @, .)
  • Hasło — min 8 znaków, 1 wielka litera, 1 cyfra
  • Imię i nazwisko — wymagane
  • Typ działalności — wybór z 4: Self-Employed / Limited / Landlord / Crypto
  • Język — PL lub EN
  • UTR (Unique Taxpayer Reference) — 10 cyfr, wymagane TYLKO dla Self-Employed
  • Company Number — 8 znaków alfanumerycznych, wymagane TYLKO dla Limited
  • Branża HMRC — lista 16 kategorii (Budownictwo, Hydraulika, Elektryka, Stolarka, Malarstwo, Glazurnik, Sprzątanie, Beauty, Transport, Handel, Gastronomia, IT, Kreatywne, Opieka, Edukacja, Wynajem, Inne)
  • Po sukcesie → auto-login → ekran Home
Co przetestować
  1. Spróbuj zarejestrować się z zajętym emailem — powinien być błąd "Email already exists"
  2. Spróbuj zarejestrować się ze słabym hasłem — błąd walidacji
  3. Wybierz Self-Employed bez UTR — powinno działać (UTR opcjonalny)
  4. Wybierz Limited — sprawdź czy pojawia się pole Company Number
  5. Klawiatura nie powinna zasłaniać pola które wypełniasz
🔐

Logowanie

Cel

Zalogować istniejącego użytkownika. JWT token zapisywany w secure storage (expo-secure-store).

Oczekiwane
  • Email + hasło → "Zaloguj"
  • Link "Zapomniałeś hasła?" → wyślij reset link na email
  • Po sukcesie → ekran Home, sesja zachowana po restarcie aplikacji
  • Po 10 nieudanych próbach logowania → rate limit (15 min lockout per IP)
Co przetestować
  1. Zaloguj się na swoje konto testera
  2. Zaloguj się, zamknij aplikację, otwórz ponownie — powinieneś być wciąż zalogowany
  3. Wyloguj się — powinieneś trafić na ekran logowania
  4. Spróbuj wpisać zły email — błąd "Invalid credentials"
  5. Forgot password — sprawdź czy email z linkiem przychodzi
🏢

Konfiguracja firmy (Companies House)

Cel

Połączyć aplikację z oficjalnym rejestrem brytyjskich firm (Companies House) — automatyczne pobieranie danych firmy po numerze.

Oczekiwane
  • Pole "Wyszukaj firmę w Companies House"
  • Wpisz nazwę lub numer (8 znaków) → wyniki na żywo
  • Wybór firmy z listy → pobiera adres, datę założenia, status (active/dissolved)
  • Zapis do profilu użytkownika
  • Możliwość pominięcia tego kroku ("Pomiń - zrobię to później")
Co przetestować
  1. Wpisz "OPTIMA CREATIVE" — powinno znaleźć firmę 10519595
  2. Wpisz wymyślony numer "12345678" — błąd "Nie znaleziono firmy"
  3. Czy adres się automatycznie wypełnia po wyborze firmy
🏠

Home Tab — Pulpit

Główny ekran z przeglądem stanu finansowego użytkownika.

Cel

Pokazać użytkownikowi w jednym miejscu: postęp roku podatkowego, najbliższe terminy, cashflow miesiąca, alerty (VAT threshold, niezakategoryzowane tx).

1. Tax Year Progress

Pasek postępu pokazujący ile dni minęło z bieżącego roku podatkowego UK (6 kwi - 5 kwi następny rok).

Test
  1. Sprawdź czy data startu = 6 kwietnia (NIE 1 kwietnia)
  2. Sprawdź czy pasek odpowiada faktycznemu % roku

2. Cashflow miesięczny

Suma income i expenses z bieżącego miesiąca. Pokazuje "+£X" zielonym i "-£Y" czerwonym.

Oczekiwane
  • Symbol £ widoczny (NIE "ÂŁ" ani "?")
  • Format liczb z przecinkami (1,234.56)
  • Brak danych → wartości 0

3. Lista terminów (Deadlines)

Najbliższe deadliny podatkowe zależnie od typu działalności:

  • Self-Employed: Self-Assessment Online (31 sty), Payment on Account 1 i 2, MTD Q1-Q4, Final Declaration
  • Limited: Corporation Tax, Annual Accounts, Confirmation Statement, VAT Returns
  • Landlord: SA + MTD quarters + Payment on Account
Test
  1. Zmień typ działalności w Profile → wróć na Home → lista deadlines powinna się zmienić
  2. Daty deadlines powinny być prawidłowe (Self-Assessment 31 stycznia, Corporation Tax 9 miesięcy po year-end)
  3. Kolor terminu zależy od pilności: zielony (>30 dni), pomarańczowy (7-30), czerwony (<7)

4. VAT Threshold Alert

Banner ostrzegawczy gdy roczny turnover zbliża się do £90,000 (próg rejestracji VAT).

Oczekiwane
  • >80% progu (£72k) → żółty banner "Zbliżasz się do progu VAT"
  • >100% progu (£90k+) → czerwony banner "Próg przekroczony - musisz zarejestrować VAT"
  • Tap banner → przekierowanie do VAT Monitor (Premium)

5. Uncategorized Transactions Banner

Pokazuje liczbę transakcji bez kategorii. Tap → wybór "Auto-kategoryzuj" lub "Pokaż listę".

Test
  1. Po podłączeniu banku sprawdź czy banner się pojawia
  2. Tap "Auto-kategoryzuj" → system próbuje przypisać kategorie automatycznie
  3. Po skończeniu → powiadomienie "Skategoryzowano X z Y transakcji"
📊

MTD Panel — najważniejszy ekran

Centralny ekran do śledzenia statusu MTD (Making Tax Digital), transakcji, kwartalników HMRC.

Cel

W jednym miejscu: status HMRC + Bank, podgląd kwartalników MTD, lista transakcji z filtrami, kategoryzacja, wysyłka raportów do biura księgowego Optima.

1. Tax Year Selector (strzałki)

Strzałki ◀ ▶ do nawigacji między latami podatkowymi (do 5 lat wstecz). Pokazuje "2026/27 - Bieżący" gdy wybrany aktualny rok.

Test
  1. Przejdź wstecz do 2025/26 → cała karta Income/Expenses powinna pokazać dane tego roku
  2. Wszystkie kwartały Q1-Q4 powinny się zaktualizować
  3. Przy zmianie roku → filtr okresu auto-ustawia się na "Cały rok"

2. Connection Status Pills (HMRC + Bank)

Dwa "pill"-e u góry pokazujące status połączenia. Zielony = OK, żółty = expired consent (PSD2 90 dni), czerwony = niepołączone.

Oczekiwane
  • Tap czerwonego pill HMRC → otwiera browser z OAuth HMRC sandbox
  • Tap czerwonego pill Bank → otwiera TrueLayer flow do podłączenia konta
  • Tap zielonego pill (już połączone) → rozłącza (z confirmation popup)
  • Tap żółtego pill (expired) → re-connect flow

3. Empty State CTA "Dokończ konfigurację"

Prominentna karta z dwoma przyciskami "Połącz bank" + "Połącz HMRC" gdy któryś z nich niepołączony.

Test
  1. Świeży użytkownik → powinien zobaczyć tę kartę na górze
  2. Po podłączeniu Bank → karta powinna pokazać tylko przycisk HMRC
  3. Po podłączeniu obu → karta znika kompletnie

4. Period Filter (chipsy)

Filtruje całą stronę po okresie. Opcje: Cały rok, Q1, Q2, Q3, Q4, każdy miesiąc roku podatkowego.

Oczekiwane
  • Wszystkie kwartały/miesiące należą do TEGO SAMEGO roku podatkowego (selectedTaxYear)
  • Miesiąc jest ZAWSZE podzbiorem swojego kwartału (kwartał ≥ miesiąc)
  • Pokazują się tylko kwartały/miesiące które już się rozpoczęły
  • Karta "Income & Expenses" oraz lista transakcji aktualizują się do wybranego okresu
Bug z poprzedniej wersji który ma być NAPRAWIONY

Jeśli klikniesz "Maj" i pokaże więcej transakcji niż "Q1" — to ZGŁOŚ. Wcześniej był taki bug bo "Ostatni kwartał" pokazywał Q4 poprzedniego roku.

5. "Wyślij raport do Optima"

Duża zielona karta CTA. Wysyła email do info@optima-creative.co.uk z PDF + XLSX raportem P&L za wybrany okres.

Oczekiwane
  • Tap → otwiera popup z polem "Notatka dla księgowego" (opcjonalne) + przyciskiem "Wyślij teraz"
  • Po wysłaniu → Alert "Raport wysłany na email biura" z podsumowaniem (Net, transakcje, top kategorie)
  • Email zawiera 2 załączniki: ProfitAndLoss_*.pdf + ProfitAndLoss_*.xlsx
Test
  1. Wyślij raport, sprawdź czy email dotarł (sprawdź też spam)
  2. Otwórz PDF — wszystkie polskie znaki poprawne, brak krzaków
  3. Otwórz XLSX — 3 zakładki: SL (Sales Ledger), PL (Purchases Ledger), P&L (Summary)
  4. Sprawdź czy w mailu jest podsumowanie z liczbą tx, top kategoriami

6. Karta "Income & Expenses"

Podsumowanie finansowe za wybrany okres: przychód, wydatki, profit + szczegóły podatku (Income Tax + NI).

Oczekiwane
  • Income (zielony) + Expenses (czerwony) z symbolem £
  • Profit = Income - Expenses
  • Sekcja podatkowa: Income Tax 20%/40%/45% bands, Class 4 NIC 6%/2%, Class 2 NIC £0 (reforma 2024)
  • Quick action buttons: "Sync Bank", "Auto-Categorize", "Wyślij do Optima"

7. Kwartały MTD ITSA (Q1-Q4)

4 karty pokazujące status każdego kwartału MTD ITSA z deadline'ami.

Oczekiwane terminy
  • Q1: 6 kwi - 5 lip → submit do 7 sierpnia
  • Q2: 6 lip - 5 paź → submit do 7 listopada
  • Q3: 6 paź - 5 sty → submit do 7 lutego
  • Q4: 6 sty - 5 kwi → submit do 7 maja
  • Final Declaration → 31 stycznia następnego roku
Status kwartału
  • Submitted (zielony) — wysłano do HMRC
  • Ready to submit (niebieski) — okres się zakończył, gotowy do wysyłki
  • In progress (żółty) — bieżący kwartał
  • Overdue (czerwony) — przekroczony deadline a nie wysłany
  • Unknown - no data (szary) — HMRC niepołączone

8. Lista transakcji

Sekcja "Recent Transactions" z wyszukiwarką, filtrami i listą.

Komponenty
  • Dropdown konta bankowego (jeśli >1 konto) — modal z listą
  • Wyszukiwarka — szuka po opisie, kategorii, kwocie
  • Chipy filtra typu: All / Income / Expense / Uncategorized / Review / Personal
  • Każdy wiersz: Ikona income/expense, opis, kategoria w kolorze brand, data, kwota
  • Tap na transakcję → Transaction Detail screen
Kolory kategorii do sprawdzenia
  • Travel = niebieski
  • Cost of Goods = czerwony
  • Office Costs = jasnoniebieski
  • Professional Fees = ciemnoniebieski
  • Private Outcome = bursztyn
  • Income = zielony brand Optimy

9. Connected Bank Accounts (lista)

Lista podłączonych kont bankowych z kropkami banku, sort code, last4. Każde z przyciskiem X do rozłączenia.

Disconnect popup
  • "Co zrobić z transakcjami z tego konta?" — 3 opcje:
  • Zachowaj — transakcje zostają w historii (bank_connection_id → NULL)
  • Usuń — transakcje tego konta trwale usunięte
  • Anuluj — odłączenie anulowane
🛍️

Services Tab — Usługi

Katalog usług księgowych Optima Creative oraz dostęp do funkcji Premium aplikacji.

Cel

Pokazać dostępne usługi (Self-Assessment, Ltd setup, VAT registration, Konsultacja księgowa, BTL Property itp.) z możliwością zamówienia + dostęp do narzędzi Premium.

1. Wyszukiwarka i filtry kategorii

Pasek wyszukiwania + chipy: Wszystkie / Popularne / MTD / Firma / Podatki / Krypto.

2. Sekcje usług

  • Darmowe — Konsultacja, Kalkulatory, Baza wiedzy
  • Usługi standardowe — Self-Assessment, VAT Reg, Founding Ltd, Annual rozliczenia, Payroll, Crypto, BTL
  • Premium — 10 narzędzi (CIS Tracker, Tax Reserve itd.)

3. Service Detail

Tap na kartę → szczegóły usługi: co zawiera, FAQ, przycisk "Zamów usługę" lub "Umów konsultację".

Test
  1. Po zamówieniu → email do biura księgowego
  2. FAQ rozwija się/zwija się
  3. Polskie znaki we wszystkich opisach

4. Self Assessment Settlement (nowość) Beta

Rozszerzony flow rozliczenia rocznego SA z 7 typami dochodu:

  • Self-Employment (multi-pick — można mieć kilka SE trade)
  • PAYE Employment
  • Capital Gains Tax
  • UK Properties (BTL)
  • Foreign Income
  • Stocks and Shares (ISA, GIA, SIPP)
  • Dividends
Test
  1. Wejdź w "Self Assessment Settlement"
  2. Sprawdź czy 7 kafelków jest widocznych z różnymi kolorami
  3. Tap "Self Employment" → multi-pick biznesów + przycisk "Generuj rozliczenie roczne"
  4. Generuj raport SA → email do Optima z PDF + CSV
📅

Bookings Tab — Rezerwacje

Lista zarezerwowanych konsultacji + możliwość anulowania.

Cel

Pokazać użytkownikowi historię i nadchodzące spotkania księgowe (online, telefon, biuro).

Oczekiwane
  • Lista rezerwacji z datą, godziną, typem (konsultacja / usługa), ceną
  • Status: Nadchodzące / Zakończone / Anulowane
  • Przycisk "Anuluj rezerwację" przy nadchodzącej
  • Pusta lista → karta "Brak rezerwacji" + CTA "Umów konsultację"
Test
  1. Umów konsultację (Services → Konsultacja księgowa → wybierz datę i godzinę)
  2. Wróć na Bookings → powinna być widoczna nowa rezerwacja
  3. Anuluj → confirmation popup → status "Anulowana"
  4. Email z potwierdzeniem rezerwacji
👤

Profile Tab — Profil

Dane osobowe i firmy

Edycja: Imię, Nazwisko, Email, Telefon, Typ działalności, Branża HMRC, CIS Status (Verified / Unverified / Gross), UTR, NI Number, VAT Number, Company Name, Company Number, Adres osobisty, Adres firmowy.

Ustawienia

  • Język — Polski / English (zmiana natychmiastowa)
  • Powiadomienia — Push, Email, Deadline reminders, Transaction alerts
  • Premium subscription — status + zarządzanie
  • Polityka prywatności — link do strony

Wyloguj

Confirmation popup "Czy na pewno chcesz się wylogować?" → potwierdzenie czyści JWT i wraca na ekran logowania.

Usunięcie konta GDPR

Nieodwracalne usunięcie konta i wszystkich danych użytkownika.

Oczekiwane
  • 2 confirmation popups: "Usuń konto" → "Czy na pewno usunąć konto?"
  • Po usunięciu → wylogowanie + email potwierdzający
  • Dokumenty finansowe zachowane przez 6 lat (Companies Act)
  • Link do app.optima-creative.co.uk/account-deletion
🏦

Open Banking (TrueLayer LIVE)

Integracja z prawdziwym kontem bankowym przez TrueLayer (UK Open Banking, PSD2).

Cel

Automatyczne pobieranie transakcji z banku bezpośrednio do aplikacji bez ręcznego wprowadzania. Aktualizacja co 6h przez cron + smart auto-sync co 1h przy aktywnym używaniu.

1. Podłączanie konta

Flow
  1. Tap "Połącz konto bankowe" → otwiera browser z TrueLayer
  2. Wybór banku z listy (Tide, Monzo, Barclays, HSBC, Lloyds, NatWest, Revolut itp.)
  3. Login + SCA (2FA) na stronie banku
  4. Zgoda na 90 dni dostępu (PSD2)
  5. Powrót do aplikacji → strona "Konto bankowe podłączone" z deep linkiem
  6. Auto-import transakcji z ostatnich 88 dni
Co przetestować
  1. Multi-account: Podłącz Tide z 2 kontami (Main + Savings) — POWINNO podłączyć OBA, nie tylko pierwsze (bug naprawiony w v1.2.3)
  2. Sprawdź czy transakcje się pobierają (może potrwać 10-30 sek)
  3. Sprawdź czy data od jest 88 dni temu (NIE 90, bo OBIE limit)
  4. Sprawdź czy strona powrotu jest brandowana (zielona, logo Optimy), nie raw JSON

2. Smart Auto-Sync

Aplikacja automatycznie synchronizuje transakcje gdy wejdziesz w MTD Panel i ostatni sync był >1h temu. Bez Alertów, w tle.

Test
  1. Wejdź w MTD Panel → poczekaj 5 sek
  2. Wyjdź, wróć w ciągu 1h → BRAK ponownego sync (throttle)
  3. Wyjdź, wróć po >1h → silent sync, lista tx się odświeża

3. Manualny Sync

Przycisk "Synchronizuj bank" w MTD Panel → wymusza natychmiastowy sync z TrueLayer.

Oczekiwane
  • Loading state podczas sync
  • Po skończeniu → Alert "Zsynchronizowano X nowych transakcji"
  • Jeśli błąd (consent expired) → "Bank requires reconnection - tap to reconnect"

4. Wygaśnięcie zgody (90 dni PSD2)

Po 90 dniach od podłączenia musisz odnowić zgodę (PSD2 wymóg).

Oczekiwane
  • Banner "Bank consent expired - reconnect" w MTD Panel
  • Tap → re-connect flow
  • Email przypomnienie 7 dni przed wygaśnięciem
🏛️

HMRC MTD ITSA (sandbox)

Cel

Bezpośrednia integracja z HMRC do kwartalnego raportowania MTD ITSA. Obecnie sandbox (testowe API), wkrótce production.

1. OAuth flow

Tap "Połącz z HMRC" → przekierowanie do gov.uk login → logowanie HMRC sandbox credentials → powrót do aplikacji.

Sandbox HMRC credentials

HMRC zapewnia konta testowe. Skontaktuj się z Optima jeśli potrzebujesz credentials.

2. Obligations (zobowiązania)

Po podłączeniu HMRC, aplikacja pobiera listę kwartalników do wysłania w bieżącym roku podatkowym.

3. Quarterly Submission Sandbox only

Wysyła dane kwartalne do HMRC. Obecnie sandbox = testowe wysłanie. Production wymaga rejestracji aplikacji w HMRC Developer.

🏷️

Auto-Kategoryzacja

Algorytm automatycznie przypisuje kategorię HMRC do każdej transakcji.

Cel

Bez ręcznego klikania kategoryzować transakcje na podstawie merchant_name + opis. Używa 150+ reguł merchant map (Tesco→Office, BP→Travel itp.) + uczy się z poprawek użytkownika.

Algorytm
  • 1. Sprawdza reguły użytkownika (z AsyncStorage + backend learnedCategories)
  • 2. Sprawdza globalne reguły merchant map (Tesco, Sainsbury, B&Q, BP, Shell itp.)
  • 3. Sprawdza pattern w opisie transakcji
  • 4. Confidence threshold: tylko >=50% → przypisana, reszta = "Uncategorized"

1. Auto-Categorize (przycisk)

Żółty przycisk w MTD Panel. Tap → algorytm przechodzi przez wszystkie niezakategoryzowane tx i próbuje przypisać.

Test
  1. Po sync banku sprawdź ile tx jest "Uncategorized"
  2. Tap Auto-Categorize → loading state
  3. Po skończeniu → Alert "Skategoryzowano X z Y transakcji"
  4. Reszta zostaje "Uncategorized" (wymagają ręcznej decyzji)

2. Recategorize All

Zielony przycisk. Wymusza re-kategoryzację WSZYSTKICH tx (również już przypisanych) na podstawie nowo nauczanych wzorców.

Co chronić

Manualnie ustawione kategorie (tap na tx → Transaction Detail → zmień kategorię) są CHRONIONE i nie zostaną nadpisane przez recategorize.

⚡

Pattern Builder — Wzorce kategoryzacji

Najszybsza metoda kategoryzacji: grupuje tx po merchant fingerprint, klikasz raz, kategoryzuje cały bucket + uczy wzorca.

Cel

Jeśli masz 2928 niezakategoryzowanych tx ale tylko 89 unikalnych merchantów, klikasz każdy merchant RAZ zamiast 2928 razy.

Flow
  1. Tap "Kategoryzuj wzorcami" (fioletowy przycisk)
  2. Modal pokazuje listę unikalnych merchantów: "Tesco x145", "Costa x67", "B&Q x32" itp.
  3. Tap merchant → otwiera Category Picker dla CAŁEJ grupy
  4. Wybierz kategorię → SELECT (highlight), NIE od razu zapisuje
  5. Wybierz Business / Personal
  6. Tap "Zatwierdź [Kategoria] dla 145 tx" → bulk apply
  7. Backend zapisuje wzorzec → przyszłe podobne tx auto-przypisane
Bugi do sprawdzenia (naprawione w v1.2.3-1.2.4)
  • Przycisk "Prywatne" w Category Picker w pattern mode — POWINIEN działać (wcześniej hardcoded business=true)
  • Tap na kategorię — NIE powinien od razu zapisywać (wcześniej tap = instant apply, teraz select+confirm)
  • BRAK blokującego alertu po sukcesie (wcześniej "Wzorzec zapisany" po każdej kategoryzacji)
📝

Transaction Detail — Edycja transakcji

Cel

Szczegółowy widok pojedynczej transakcji z możliwością zmiany kategorii, statusu business/personal, dodania notatki.

Komponenty ekranu

  • Hero: ikona income/expense + kwota + opis
  • Data, Typ, Merchant, Reference
  • Sekcja kategoryzacji: aktualna kategoria + przycisk "Zmień"
  • Toggle Business / Personal
  • (Nowe) Possibility do zmiany per-tx — np. Amazon (mieszane)
🧮

Kalkulator: Income Tax + NI 2025/26

Najważniejszy kalkulator — wylicza podatek dochodowy + National Insurance dla self-employed.

Cel

Pokazać użytkownikowi precyzyjnie ile zostanie na rękę po wszystkich podatkach UK 2025/26.

Stawki UK 2025/26 (do weryfikacji)
  • Personal Allowance: £12,570 (tapered >£100k)
  • Basic Rate: 20% (£12,570 - £50,270)
  • Higher Rate: 40% (£50,270 - £125,140)
  • Additional Rate: 45% (>£125,140)
  • Class 2 NIC: £0 dla profit ≥ £12,570 (reforma 2024-04-06)
  • Class 4 NIC main band: 6% (£12,570 - £50,270)
  • Class 4 NIC upper band: 2% (>£50,270)
Test cases
  1. Income £30,000 → Income Tax = £3,486 (20% z £17,430)
  2. Income £70,000 → mix basic + higher rate
  3. Income £160,000 → wszystkie 3 bands + tapered PA
  4. "Take Home" kwota na ZIELONO (NIE czerwono)
  5. Podatek na CZERWONO
🧮

Kalkulator: VAT

Wylicza VAT do zapłaty lub odzyskania. Standard rate 20%, Reduced 5%, Zero-rated, Exempt.

Test
  1. Standard 20%: £100 net → £20 VAT → £120 gross
  2. Reduced 5%: £100 net → £5 VAT
  3. Zero-rated: 0% (np. żywność)
  4. Możliwość przeliczenia w obie strony (net→gross, gross→net)
🧮

Kalkulator: Dividend Tax

Stawki 2025/26
  • Dividend Allowance: £500
  • Basic Rate: 8.75% (do £50,270)
  • Higher Rate: 33.75% (do £125,140)
  • Additional Rate: 39.35% (>£125,140)
🧮

Kalkulator: CGT (Capital Gains Tax)

Stawki 2025/26
  • Annual Exempt Amount: £3,000
  • Basic Rate: 10% (shares) / 18% (residential property)
  • Higher Rate: 20% (shares) / 24% (residential property)
🧮

Kalkulator: Mileage

HMRC mileage rates dla kierowców biznesowych.

HMRC rates 2025/26
  • Pierwsze 10,000 mil: 45p / mile
  • Powyżej 10,000 mil: 25p / mile
  • Motorbike: 24p / mile
  • Bicycle: 20p / mile
🔨

CIS Deduction Tracker Premium

Śledzenie potrąceń CIS (Construction Industry Scheme) dla subkontraktorów.

Cel

Pomóc subkontraktorom w budownictwie śledzić ile CIS już zostało im potrącone u źródła — kluczowe do rocznego refundu w SA.

Funkcje
  • Lista miesięcznych potrąceń (Gross, CIS deducted, Net received)
  • Dodawanie nowego potrącenia (kontrahent, miesiąc, kwoty)
  • Status CIS: Verified (20%) / Unverified (30%) / Gross (0%)
  • Materials vs Labour split
  • Łączna suma potrąceń (do refundu w SA)
🐷

Tax Reserve — Skarbonka podatkowa Premium

Cel

Pokazać użytkownikowi ile MUSI odkładać co tydzień na podatek, żeby na koniec roku miał wystarczająco i nie miał szoku.

Logika
  • Analizuje cały income roku
  • Wylicza estimated tax bill (IT + Class 2 NIC + Class 4 NIC)
  • Dzieli przez 52 tygodnie + 10% safety buffer
  • Pokazuje "Odkładaj £X / tydzień"
  • Running totals: Total income, Total set aside, Estimated bill, Buffer
  • Wykres miesięczny: income vs set aside
  • Tip card: "You're on track!" lub "Action needed - £X short"
🚗

Mileage Auto-Tracker Premium

Cel

Automatyczne logowanie przejazdów GPS bez ręcznego wpisywania. Raport gotowy do rozliczenia.

Funkcje
  • Włącz/wyłącz tracking GPS
  • Lista przejazdów (data, start→end, dystans, cel)
  • Auto-tracked vs ręcznie dodane
  • Eksport CSV/email do biura
  • Wartość £ na podstawie HMRC mileage rates
📸

Smart Receipt Scan Premium

Cel

Zrób zdjęcie paragonu → OCR (Google Document AI) automatycznie wyciągnie merchant, kwotę, datę, VAT → przypisze kategorię HMRC.

Flow
  1. Tap "Skanuj paragon"
  2. Wybór: Aparat lub Galeria
  3. OCR processing (5-15 sek)
  4. Wyniki: vendor, amount, date, VAT, kategoria
  5. Możliwość edycji + zatwierdzenia
  6. Zapisanie do dokumentów
Test
  1. Zrób zdjęcie prawdziwego paragonu (Tesco, Costa, BP itp.)
  2. Sprawdź czy OCR poprawnie wyciąga dane
  3. Sprawdź czy kategoryzacja HMRC ma sens
🗓️

Smart Calendar Premium

Cel

Spersonalizowany kalendarz deadlines podatkowych UK (SA, VAT, CIS, MTD) — alerty przed terminem.

Funkcje
  • Widok miesięczny z deadlines
  • Filtruj po typie: SA / VAT / CIS / MTD / Corporation Tax
  • Notyfikacje 30/7/1 dni przed deadline
💡

Year-End Tax Tips Premium

Cel

Sugestie optymalizacji podatkowej przed końcem roku (5 kwietnia). Bilingual PL/EN.

Przykładowe tipy
  • "Skorzystaj z ISA limit (£20k) zanim zniknie 5 kwietnia"
  • "Włóż do SIPP £X żeby zejść poniżej £100k - PA capted"
  • "Salary sacrifice oszczędność: £Y"
  • "Capital Gains: realizuj straty żeby offsetować gains powyżej allowance"
📄

Generator faktur Premium

Cel

Tworzenie profesjonalnych faktur z UTR, VAT, CIS. Wysyłka mailem do klienta. Bank matching.

Pola faktury
  • Nazwa klienta, email, adres
  • Data wystawienia, termin płatności
  • Linie: opis, ilość, cena jednostkowa, suma
  • VAT rate (0/5/20%)
  • CIS deduction (jeśli budownictwo)
  • Net payable
  • Twoje dane (UTR, NI, VAT, adres)
Test integracji invoice→bank
  1. Wystaw fakturę na £1000
  2. Klient płaci → transakcja w banku
  3. Aplikacja AUTO-DOPASUJE płatność do faktury (matching service)
  4. Status faktury: Paid
  5. Reminder dla niezapłaconych (po deadline)
₿

Crypto Tax View Premium

Cel

Podgląd zysków/strat krypto z perspektywy Capital Gains Tax UK.

Funkcje
  • Import holdings (manual lub CSV)
  • Wyliczanie gains/losses (FIFO method per HMRC)
  • Same-day rule, 30-day rule (bed & breakfast)
  • Annual exempt: £3,000
  • Eksport do raportu rocznego SA108
📊

VAT Threshold Monitor Premium

Cel

Śledzić rolling 12-month turnover vs próg £90,000 (od kwi 2024). Alert PRZED przekroczeniem.

Funkcje
  • Pasek postępu względem £90k
  • Wykres rolling 12 miesięcy
  • Pokazuje % progu
  • Alert przy 80%, 100%
  • Sugestia rejestracji VAT z linkiem do usługi
💰

CIS Refund Estimator Premium

Cel

Wyliczyć przewidywany zwrot podatku CIS na podstawie zarobków i potrąceń.

Logika
  • Input: total earnings, total CIS deducted, allowable expenses, materials
  • Wylicza: estimated tax bill - CIS already paid = refund (lub dopłata)
  • Pokazuje czy będzie refund czy dopłata
  • Sugestia kiedy złożyć SA (zwykle kwiecień-maj dla szybkiego refundu)
📑

Raport P&L (Profit and Loss)

Główny raport finansowy generowany z transakcji za wybrany okres.

Cel

Generuje profesjonalny PDF + XLSX raport gotowy do wysłania do księgowego.

Struktura PDF
  1. Strona 1 - Cover: Logo Optimy, nazwa klienta, okres, identyfikatory podatkowe (UTR, NI, VAT, Companies House), branża HMRC, adres
  2. Income section: Gross Turnover, Tax Deducted (CIS), Gross Profit
  3. Expenses section: 15 IRIS bucketów + Private Outcome osobno (excluded from tax)
  4. Net Operating Income = Gross Profit - Total Expenses
  5. Net Income = Gross Turnover - Total Expenses (NIE - Tax Deducted)
  6. Tax Computation (Self-Employed only): SA302 1:1 layout — Income Tax bands, Class 4 NIC, Class 2 NIC
  7. Tax Repayable Summary: CIS Tax Deducted vs Tax Bill = Overpaid/Underpaid
  8. Transaction Detail: Lista wszystkich tx za okres
Co weryfikować w PDF
  1. Brand zielony (#009847) we wszystkich nagłówkach
  2. Helvetica, brak polskich znaków → wszystko po angielsku w PDF (klient: nie może być nic po polsku)
  3. Symbol £ wszędzie (NIE krzaki)
  4. Kwoty z 2 miejscami po przecinku, tysiące przecinkami
  5. Adres: Suite 1, Unit 19 Apex Business Centre, Sedgewall House, Boscombe Road, Luton, Dunstable, Bedfordshire, LU5 4SB, England
  6. Sortowanie expenses: 1-15 wg IRIS_CATEGORY_ORDER (NIE po kwocie), Private Outcome zawsze na końcu
📗

XLSX z 3 zakładkami (nowość v1.2.3)

Excel raport zamiast CSV — 3 zakładki odzwierciedlające strukturę PDF.

Zakładka SL (Sales Ledger) - zielona
  • Wszystkie tx income
  • Kolumny: Date | Description | Amount (GBP)
  • Na końcu: Gross Turnover, Tax Deducted (CIS), Gross Profit (highlighted)
Zakładka PL (Purchases Ledger) - czerwona
  • Wszystkie tx expense
  • Kolumny: Date | Description | Category | Amount (GBP)
  • Pogrupowane po IRIS category z subtotalem
  • Private Outcome wyodrębniony, pomarańczowe tło
  • Total Allowable Expenses (highlighted)
Zakładka P&L (Summary) - fioletowa
  • Tylko podsumowanie (bez listy tx)
  • Income: Gross Turnover, Tax Deducted, Gross Profit
  • Expenses per IRIS category + Total Allowable
  • Private Outcome (excluded)
  • Net Operating Income
  • CIS Deductions Summary
  • NET INCOME (duży, zielony, highlighted)
Bugi do weryfikacji
  • BRAK "Transaction Count" przy Gross Turnover / Gross Profit (klient wymagał usunięcia)
  • Format daty w zakładkach: ISO YYYY-MM-DD
  • Kwoty z 2 miejscami po przecinku
📋

Self Assessment Settlement

Roczne rozliczenie SA z 7 typami dochodu + email do biura.

Funkcje
  • Multi-pick: zaznacz które biznesy mają wejść do raportu
  • Generuj PDF (SA100/SA102/SA103/SA105/SA106/SA108 layout)
  • Generuj CSV (IRIS-friendly format dla księgowego)
  • Wyślij do Optima (email z PDF + CSV)
  • Możliwość ustawienia konkretnego adresata (recipient_email)
📸

Skaner dokumentów

Cel

Skanowanie dokumentów: faktur, paragonów, wyciągów bankowych, P60, P45.

Flow
  1. Tap "Skanuj dokument"
  2. Wybór: Aparat / Galeria (uprawnienia wymagane)
  3. Upload do Supabase Storage (zaszyfrowane)
  4. OCR processing (Google Document AI)
  5. Auto-rozpoznanie typu (Receipt / Invoice / Bank Statement / P60 / P45)
  6. Zapis do listy dokumentów
🔔

Powiadomienia

Cel

Powiadomienia push o ważnych wydarzeniach: deadlines, nowe transakcje, faktury opłacone, status MTD.

Typy powiadomień
  • Deadline 30/7/1 dni przed
  • Nowe transakcje >£100
  • Niezapłacone faktury (przypomnienie)
  • Quarterly MTD nadchodzi
  • Bank consent expires soon (7 dni)
  • Marketing (opcjonalne, można wyłączyć)
🌐

Język PL/EN

Oczekiwane
  • Profile → Język → Polski / English
  • Zmiana NATYCHMIASTOWA bez restartu aplikacji
  • Wszystkie ekrany się przetłumaczają
  • Terminy księgowe UK zachowane po angielsku w PL (Self-Assessment, VAT, MTD, HMRC, Income Tax, NI, CIS)
  • Polskie znaki POPRAWNE (ą, ć, ę, ł, ń, ó, ś, ź, ż)
Częsty bug

Krzaki zamiast polskich znaków (typu "BL?d", "BranLLa", "udaL?o"). Sprawdź szczególnie:

  • Przy dodawaniu kategorii
  • W komunikatach błędów
  • W Alert.alert
  • W zakładkach Services i Premium
🗑️

Usuwanie konta (GDPR)

Cel

Zgodność z GDPR — użytkownik ma prawo do usunięcia swoich danych.

Flow
  1. Profile → Usuń konto
  2. 2 confirmation popups (anti-misclick)
  3. API DELETE /api/user/account
  4. Email potwierdzający usunięcie
  5. Wylogowanie
  6. Dokumenty finansowe ZACHOWANE przez 6 lat (Companies Act 2006)
  7. Link do app.optima-creative.co.uk/account-deletion z polityką

🚀 Powodzenia w testach!

Jeśli znajdziesz bug, zgłoś przez stronę feedback lub w aplikacji Profile → Feedback. Pierwszych 50 testerów którzy aktywnie zgłoszą bugi otrzymuje Premium Lifetime za free!