Skip to content

Commit 681a812

Browse files
authored
Merge pull request #43 from olefredrik/feature/nicegui-ui
Erstatt Streamlit med NiceGUI og oppdater dokumentasjon
2 parents 8424665 + 18c0475 commit 681a812

9 files changed

Lines changed: 1554 additions & 1271 deletions

File tree

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
![Tester](https://github.com/olefredrik/Wenche/actions/workflows/test.yml/badge.svg)
88
[![Dokumentasjon](https://img.shields.io/badge/docs-olefredrik.github.io%2FWenche-blue)](https://olefredrik.github.io/Wenche/)
99

10-
Wenche er et verktøy for holdingselskaper og småaksjeselskaper som må levere regnskap og skattedokumenter til norske myndigheter. Det kan brukes både fra kommandolinjen og via et grafisk webgrensesnitt — uten behov for et fullverdig regnskapsprogram.
10+
Wenche er et verktøy for holdingselskaper og småaksjeselskaper som må levere regnskap og skattedokumenter til norske myndigheter — uten behov for et fullverdig regnskapsprogram.
11+
12+
Kjør `wenche ui` for å åpne et grafisk webgrensesnitt i nettleseren der du fyller ut og sender inn alt. Kommandolinjen er tilgjengelig for de som foretrekker det.
1113

1214
Autentisering skjer via Maskinporten med et selvgenerert RSA-nøkkelpar — ingen virksomhetssertifikat eller BankID-innlogging nødvendig.
1315

docs/bruk.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Bruk
22

3-
Wenche kan brukes enten via **kommandolinjen** eller via **webgrensesnittet** (`wenche ui`). Begge gir tilgang til de samme funksjonene.
3+
Wenche brukes primært via **webgrensesnittet** (`wenche ui`) — et grafisk grensesnitt i nettleseren der du fyller ut og sender inn alt. Kommandolinjen er tilgjengelig som alternativ for de som foretrekker det.
44

55
---
66

@@ -196,6 +196,7 @@ Kommandoer:
196196
generer-skattemelding Generer ferdig utfylt RF-1167 og RF-1028
197197
send-aarsregnskap Send inn arsregnskap til Bronnoysundregistrene
198198
send-aksjonaerregister Send inn aksjonaerregisteroppgave (RF-1086)
199+
importer-saft Importer SAF-T Financial XML og generer config.yaml
199200
ui Start webgrensesnittet i nettleseren
200201
201202
Alternativer (send-aarsregnskap og send-aksjonaerregister):
@@ -205,6 +206,10 @@ Alternativer (send-aarsregnskap og send-aksjonaerregister):
205206
Alternativer (generer-skattemelding):
206207
--config TEXT Sti til konfigurasjonsfil [standard: config.yaml]
207208
--ut TEXT Lagre sammendrag til fil
209+
210+
Alternativer (importer-saft):
211+
SAF-T-FIL Sti til SAF-T Financial XML-fil (pakrevd argument)
212+
--ut TEXT Sti til config.yaml som skal skrives [standard: config.yaml]
208213
```
209214

210215
!!! note

docs/index.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Wenche
22

3-
Wenche er et verktøy for holdingselskaper og småaksjeselskaper som må levere regnskap og skattedokumenter til norske myndigheter. Det kan brukes både fra kommandolinjen og via et grafisk webgrensesnitt — uten behov for et fullverdig regnskapsprogram.
3+
Wenche er et verktøy for holdingselskaper og småaksjeselskaper som må levere regnskap og skattedokumenter til norske myndigheter — uten behov for et fullverdig regnskapsprogram.
4+
5+
Du fyller ut selskapsinformasjon, regnskapstall og aksjonærdata i et grafisk webgrensesnitt, og Wenche håndterer innsendingen til riktig myndighet. Kommandolinjen er tilgjengelig for de som foretrekker det.
46

57
Autentisering skjer via Maskinporten med et selvgenerert RSA-nøkkelpar. Ingen virksomhetssertifikat eller BankID-innlogging nødvendig.
68

docs/installasjon.md

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -55,31 +55,19 @@ Viser kommandoen 3.10 eller lavere (eller du får feilmeldingen `command not fou
5555

5656
Det anbefales å installere Wenche i et virtuelt miljø for å unngå konflikter med andre Python-pakker.
5757

58-
=== "macOS / Linux — kommandolinje"
58+
!!! tip "Anbefalt: installer med webgrensesnitt"
59+
De fleste brukere ønsker webgrensesnittet (`wenche ui`). Installer da `wenche[ui]` som vist under.
60+
Vil du kun bruke kommandolinjen, kan du installere `wenche` uten ekstra avhengigheter.
5961

60-
```bash
61-
python3.11 -m venv .venv
62-
source .venv/bin/activate
63-
pip install wenche
64-
```
65-
66-
=== "macOS / Linux — webgrensesnitt"
62+
=== "macOS / Linux"
6763

6864
```bash
6965
python3.11 -m venv .venv
7066
source .venv/bin/activate
7167
pip install "wenche[ui]"
7268
```
7369

74-
=== "Windows — kommandolinje"
75-
76-
```powershell
77-
py -3.11 -m venv .venv
78-
.venv\Scripts\Activate.ps1
79-
pip install wenche
80-
```
81-
82-
=== "Windows — webgrensesnitt"
70+
=== "Windows"
8371

8472
```powershell
8573
py -3.11 -m venv .venv
@@ -124,7 +112,7 @@ Har du installert `wenche[ui]`, starter du grensesnittet slik:
124112
wenche ui
125113
```
126114

127-
Streamlit starter og åpner `http://localhost:8501` i nettleseren. Åpnes ikke nettleseren automatisk, kan du lime inn adressen manuelt.
115+
Wenche åpner `http://localhost:8080` i nettleseren. Åpnes ikke nettleseren automatisk, kan du lime inn adressen manuelt.
128116

129117
## For utviklere
130118

@@ -135,7 +123,7 @@ git clone https://github.com/olefredrik/wenche.git
135123
cd wenche
136124
python3.11 -m venv .venv
137125
source .venv/bin/activate
138-
pip install -e ".[dev]"
126+
pip install -e ".[dev,ui]"
139127
```
140128

141129
Kjør testsuiten:

docs/referanse.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,32 @@ wenche opprett-systembruker
233233

234234
---
235235

236+
### `wenche importer-saft`
237+
238+
Importerer en SAF-T Financial XML-fil og genererer `config.yaml` automatisk.
239+
240+
```bash
241+
wenche importer-saft SAF-T-FIL [--ut FILSTI]
242+
```
243+
244+
| Argument/alternativ | Beskrivelse |
245+
|---|---|
246+
| `SAF-T-FIL` | Sti til SAF-T Financial XML-filen eksportert fra regnskapssystemet (påkrevd) |
247+
| `--ut` | Sti til `config.yaml` som skal skrives. Standard: `config.yaml` |
248+
249+
Etter import må følgende felt fylles inn manuelt i `config.yaml`:
250+
251+
- `selskap.daglig_leder`
252+
- `selskap.styreleder`
253+
- `selskap.stiftelsesaar`
254+
- `aksjonaerer` (navn, fødselsnummer, antall aksjer, utbytte)
255+
- `foregaaende_aar.resultatregnskap` (er ikke tilgjengelig i SAF-T)
256+
257+
!!! tip "Tilgjengelig i webgrensesnittet"
258+
SAF-T-import er også tilgjengelig under fanen **Selskap** i `wenche ui`.
259+
260+
---
261+
236262
### `wenche ui`
237263

238264
Starter webgrensesnittet i nettleseren.
@@ -241,4 +267,4 @@ Starter webgrensesnittet i nettleseren.
241267
wenche ui
242268
```
243269

244-
Åpner Streamlit`http://localhost:8501`.
270+
Åpner webgrensesnittet`http://localhost:8080`.

docs/tutorial.md

Lines changed: 130 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -21,40 +21,118 @@ Denne veiledningen tar deg gjennom en komplett innsending fra start til slutt. V
2121

2222
---
2323

24-
## Steg 1 — Fyll ut config.yaml
24+
## Steg 1 — Start webgrensesnittet
2525

26-
`config.example.yaml` i prosjektmappen er allerede fylt ut med tallene for Eksempel Holding AS. Kopier den for å følge denne veiledningen uten å endre noe:
26+
=== "Webgrensesnitt"
2727

28-
```bash
29-
cp config.example.yaml config.yaml
30-
```
28+
```bash
29+
wenche ui
30+
```
3131

32-
Når du er klar til å levere ditt eget regnskap, åpner du `config.yaml` i en teksteditor og erstatter verdiene med dine egne tall. Se [Referanse](referanse.md) for beskrivelse av alle felt.
32+
Wenche åpner `http://localhost:8080` i nettleseren. Du ser fem faner øverst: **Selskap**, **Regnskap**, **Aksjonærer**, **Dokumenter** og **Send til Altinn**.
3333

34-
!!! tip "Balansen må gå opp"
35-
Sum eiendeler skal være lik sum egenkapital og gjeld. Stemmer ikke tallene, gir Wenche deg en advarsel og viser differansen.
34+
=== "Kommandolinje"
35+
36+
Ingen oppstart nødvendig — alle kommandoer kjøres direkte i terminalen. Se neste steg.
3637

3738
---
3839

39-
## Steg 2 — Generer skattemeldingen
40+
## Steg 2 — Fyll ut selskapsinformasjon
41+
42+
=== "Webgrensesnitt"
43+
44+
Gå til fanen **Selskap** og fyll inn:
45+
46+
- **Selskapsnavn:** Eksempel Holding AS
47+
- **Organisasjonsnummer:** 123456789
48+
- **Daglig leder:** Kari Nordmann
49+
- **Styreleder:** Kari Nordmann
50+
- **Forretningsadresse:** Eksempelveien 1, 0001 Oslo
51+
- **Stiftelsesår:** 2020
52+
- **Aksjekapital:** 30 000
53+
- **Regnskapsår:** 2024
54+
55+
Klikk **Lagre konfigurasjon**.
56+
57+
!!! tip "Har du SAF-T fra regnskapssystemet ditt?"
58+
Klikk **Importer fra SAF-T Financial** øverst i fanen. Last opp XML-filen og Wenche fyller inn alle regnskapstall automatisk. Du må fortsatt fylle inn daglig leder, styreleder og aksjonærdata manuelt.
59+
60+
=== "Kommandolinje"
61+
62+
Kopier eksempelfilen og rediger den:
63+
64+
```bash
65+
cp config.example.yaml config.yaml
66+
```
67+
68+
Åpne `config.yaml` i en teksteditor og erstatt verdiene under `selskap` med dine egne tall. Se [Referanse](referanse.md) for beskrivelse av alle felt.
69+
70+
---
71+
72+
## Steg 3 — Fyll ut regnskapstall
73+
74+
=== "Webgrensesnitt"
75+
76+
Gå til fanen **Regnskap** og fyll inn tallene for Eksempel Holding AS:
77+
78+
**Resultatregnskap:**
79+
80+
- Utbytte fra datterselskap: 250 000
81+
- Andre driftskostnader: 5 500
82+
83+
**Balanse — eiendeler:**
84+
85+
- Aksjer i datterselskap: (kostpris)
86+
- Bankinnskudd: 1 200
87+
88+
**Balanse — egenkapital og gjeld:**
89+
90+
- Aksjekapital: 30 000
91+
- Annen egenkapital: (akkumulert resultat)
92+
93+
Klikk **Lagre konfigurasjon**. Wenche viser en advarsel hvis balansen ikke går opp — sum eiendeler skal være lik sum egenkapital og gjeld.
94+
95+
=== "Kommandolinje"
96+
97+
Fyll inn tallene direkte i `config.yaml` under `resultatregnskap` og `balanse`. Balansen må stemme — sum eiendeler = sum egenkapital og gjeld.
98+
99+
---
100+
101+
## Steg 4 — Fyll ut aksjonærdata
102+
103+
=== "Webgrensesnitt"
104+
105+
Gå til fanen **Aksjonærer** og registrer aksjonærene per 31.12:
106+
107+
- **Navn:** Kari Nordmann
108+
- **Fødselsnummer:** (11 siffer)
109+
- **Antall aksjer:** 1 000
110+
- **Aksjeklasse:** ordinære
111+
- **Utbytte utbetalt:** (beløp, eller 0)
112+
113+
Klikk **Lagre konfigurasjon**.
114+
115+
=== "Kommandolinje"
116+
117+
Fyll inn aksjonærene under `aksjonaerer` i `config.yaml`. Se [Referanse](referanse.md) for feltoversikt.
118+
119+
---
120+
121+
## Steg 5 — Generer skattemeldingen
40122

41123
Skattemeldingen (RF-1167 + RF-1028) genereres lokalt og sendes inn manuelt på skatteetaten.no.
42124

43-
```bash
44-
wenche generer-skattemelding
45-
```
125+
=== "Webgrensesnitt"
46126

47-
Du skal se en utskrift som inneholder:
127+
Gå til fanen **Dokumenter** og klikk **Last ned skattemelding**.
48128

49-
- Næringsoppgave (RF-1167) med driftsinntekter, driftskostnader og finansposter
50-
- Skatteberegning — for Eksempel Holding AS med 100 % eierandel er utbyttet fritatt under fritaksmetoden, og skatten blir **0 kr**
51-
- Egenkapitalnote (rskl. § 7-2b) — vises automatisk når `foregaaende_aar` er utfylt
129+
Sammendraget inneholder næringsoppgaven (RF-1167) og skatteberegningen. For Eksempel Holding AS med 100 % eierandel er utbyttet fritatt under fritaksmetoden — skatten blir **0 kr**.
52130

53-
Lagre til fil for enklere kopiering:
131+
=== "Kommandolinje"
54132

55-
```bash
56-
wenche generer-skattemelding --ut skattemelding_2024.txt
57-
```
133+
```bash
134+
wenche generer-skattemelding --ut skattemelding_2024.txt
135+
```
58136

59137
**Send inn manuelt:**
60138

@@ -65,49 +143,54 @@ wenche generer-skattemelding --ut skattemelding_2024.txt
65143

66144
---
67145

68-
## Steg 3Test årsregnskapet (dry-run)
146+
## Steg 6Send årsregnskapet
69147

70-
Før du sender inn, kan du se hva Wenche vil sende til Brønnøysundregistrene:
148+
=== "Webgrensesnitt"
71149

72-
```bash
73-
wenche send-aarsregnskap --dry-run
74-
```
150+
Gå til fanen **Send til Altinn** og klikk **Send årsregnskap**.
75151

76-
Dette genererer XML-dokumentene lokalt (`aarsregnskap_hovedskjema.xml` og `aarsregnskap_underskjema.xml`) uten å sende dem til Altinn. Nyttig for å verifisere at tallene er riktige.
152+
Når opplastingen er ferdig vises knappen **Signer i Altinn**. Klikk den og signer med BankID som daglig leder eller styreleder.
77153

78-
---
154+
=== "Kommandolinje"
79155

80-
## Steg 4 — Send årsregnskapet
156+
Test uten å sende (anbefalt første gang):
81157

82-
```bash
83-
wenche login
84-
wenche send-aarsregnskap
85-
wenche logout
86-
```
158+
```bash
159+
wenche send-aarsregnskap --dry-run
160+
```
87161

88-
Wenche laster opp årsregnskapet og skriver ut en lenke til Altinn når opplastingen er ferdig:
162+
Send inn:
89163

90-
```
91-
Årsregnskap lastet opp.
92-
Signer her: https://tt02.altinn.no/ui/...
93-
```
164+
```bash
165+
wenche login
166+
wenche send-aarsregnskap
167+
wenche logout
168+
```
94169

95-
Åpne lenken i nettleseren og signer med BankID som daglig leder eller styreleder. Signeringen fullfører innsendingen.
170+
Wenche skriver ut en lenke til Altinn-innboksen. Åpne lenken og signer med BankID.
96171

97172
!!! note "Signering skjer i Altinn, ikke i Wenche"
98173
Dette er et juridisk krav og kan ikke gjøres maskinelt.
99174

100175
---
101176

102-
## Steg 5 — Send aksjonærregisteroppgaven
177+
## Steg 7 — Send aksjonærregisteroppgaven
178+
179+
=== "Webgrensesnitt"
180+
181+
Gå til fanen **Send til Altinn** og klikk **Send aksjonærregister til Skatteetaten**.
182+
183+
Forsendelse-ID vises i grensesnittet når innsendingen er fullført. Ingen manuell signering nødvendig.
184+
185+
=== "Kommandolinje"
103186

104-
```bash
105-
wenche login
106-
wenche send-aksjonaerregister
107-
wenche logout
108-
```
187+
```bash
188+
wenche login
189+
wenche send-aksjonaerregister
190+
wenche logout
191+
```
109192

110-
Aksjonærregisteroppgaven (RF-1086) sendes automatisk til Skatteetaten via Altinn. Ingen manuell signering nødvendig.
193+
Wenche skriver ut forsendelse-ID når innsendingen er fullført.
111194

112195
---
113196

@@ -119,4 +202,4 @@ Du har nå:
119202
- [x] Sendt inn årsregnskapet til Brønnøysundregistrene
120203
- [x] Sendt inn aksjonærregisteroppgaven (RF-1086) til Skatteetaten
121204

122-
Neste år gjentar du fra steg 1 med oppdaterte tall — og husk å fylle ut `foregaaende_aar` med årets tall for å få med sammenligningstall (rskl. § 6-6).
205+
Neste år gjentar du fra steg 2 med oppdaterte tall — og husk å fylle ut `foregaaende_aar` med årets tall for å få med sammenligningstall (rskl. § 6-6).

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "wenche"
7-
version = "0.8.0"
7+
version = "0.9.0"
88
description = "Enkel innsending av årsregnskap, skattemelding og aksjonærregisteroppgave til Altinn for holdingselskaper"
99
readme = "README.md"
1010
license = { file = "LICENSE" }
@@ -31,7 +31,7 @@ dependencies = [
3131
]
3232

3333
[project.optional-dependencies]
34-
ui = ["streamlit>=1.30"]
34+
ui = ["nicegui>=2.0"]
3535
dev = ["pytest>=8.0", "mkdocs-material>=9.5"]
3636

3737
[project.urls]

0 commit comments

Comments
 (0)