f09e1aa89b5bf52174494bb60050ca21cdd09fa1
Bo hemma-avi med Swish-QR
En enkel Docker-app som:
- läser kostnadsposter från
config.json - visar underlaget på en webbsida
- låter användaren mata in månadens nettoinkomst
- räknar fram
min(kostnadsandel, nettoinkomst * income_ratio, eventuell max_amount) - genererar en Swish-QR-kod med förifyllt belopp och meddelande
Starta
docker compose up --build
Öppna sedan:
http://localhost:8000
Konfiguration
Exempel:
{
"title": "Bo hemma-avi",
"currency": "SEK",
"swish": {
"payee": "46701234567",
"message_prefix": "Bohemma",
"lock_mask": 0
},
"payment": {
"income_ratio": 0.30,
"max_amount": null,
"round_to": 1
},
"items": [
{
"post": "hushållsel",
"amount": 1000,
"period": "month",
"ratio": 0.2,
"comment": "20 % av uppskattad månadskostnad"
},
{
"post": "hemförsäkring",
"amount": 5000,
"period": "year",
"ratio": 0.2,
"comment": "20 % av årskostnad, omräknad till månad"
}
]
}
Fält
| Fält | Betydelse |
|---|---|
swish.payee |
Swishnummer, t.ex. 46701234567 |
swish.message_prefix |
Prefix i meddelandet, appen lägger till aktuell period, t.ex. Bohemma 2026-07 |
swish.lock_mask |
0 låser mottagare, belopp och meddelande |
payment.income_ratio |
Andel av nettoinkomst som är tak, t.ex. 0.30 |
payment.max_amount |
Extra absolut maxbelopp, eller null |
payment.round_to |
Avrundning uppåt, t.ex. 1, 10, 50 eller 100 |
items[].amount |
Kostnad, per månad eller år beroende på period |
items[].period |
month eller year |
items[].ratio |
Andel dottern ska bära, t.ex. 0.2 eller 1 |
Viktigt
Appen genomför ingen betalning. QR-koden förifyller betalningen i Swish, men betalaren måste själv granska och godkänna betalningen.
Languages
Python
46.2%
HTML
29.6%
CSS
20.9%
Dockerfile
3.3%