Compare commits

...

2 Commits

Author SHA1 Message Date
Saku Laesvuori 7ceafc6bc9
Lisää README 2024-01-24 19:44:29 +02:00
Saku Laesvuori 4c07ce11bc
Lisää tieto testatusta Guix-versiosta 2024-01-24 19:44:29 +02:00
3 changed files with 83 additions and 0 deletions

68
README.md Normal file
View File

@ -0,0 +1,68 @@
# Laskutin
Laskutin on yksinkertainen massalaskutusohjelma, jolla voidaan sähköpostittaa
ja hallinnoida CSV-tiedostoon kirjattuja laskuja. Laskutin osaa lähettää CSV:n
perusteella laskut ja maksumuistutukset, päivittää maksutilanteen
verkkopankista ladatusta tilitapahtumalistasta ja tulostaa tiivistelmän
maksujen tilanteesta.
Esimerkiksi databileiden osallistumismaksujen ja datatuotetilausten
laskuttamisessa on käytetty Laskutinta.
## Asentaminen
Lisää tämä git-tietovaranto [Guixin kanavalistaan][guix-channels]
seuraavankaltaisella pätkällä:
[guix-channels]: https://guix.gnu.org/manual/devel/en/guix.html#Specifying-Additional-Channels
```lisp
(channel
(name 'laskutin)
(url "https://git.datat.fi/ry/laskutin")
(branch "main")
(introduction
(make-channel-introduction
"e93c797eefb1538e7defe04786e0bb5adb039799"
(openpgp-fingerprint
"A0C9 1947 734F 076F 5F08 E9FF 257D 284A 2A1D 3A32"))))
```
Tämän jälkeen Laskutin on saatavilla `laskutin`-nimisenä pakettina kaikkialla
Guixissa. Voit esimerkiksi ottaa sen käyttöön komentotulkkisessioosi komennolla
`guix shell laskutin`.
## Ajaminen
Yleensä laskuttimen käyttö etenee seuraavasti:
1. Määritä laskut CSV-tiedostoon [mallin](./esimerkki.csv) mukaisesti
2. Aja `laskutin send`
3. Hae verkkopankista CSV-tiedosto tilitapahtumista
4. Aja `laskutin update`
5. Aja `laskutin status`
6. Jos kaikkia laskuja ei ole vielä maksettu, aja `laskutin send --reminders`
ja palaa kohtaan 3.
Jokaiselle komennolle tarvitsee määrittää oikeat asetukset komentorivillä
annettavilla valitsimilla. Mahdolliset valitsimet voi listata kirjoittamalla
komennon perään `--help`-valitsimen.
## Kehittäminen
Kehitysympäristön saat helposti Guixilla ajamalla komennon [`guix
shell`][guix-shell] tässä hakemistossa. Muutoksia, vikailmoituksia ja
kehitysideoita voi jättää Giteassa tai sähköpostilla osoitteeseen
<saku@laesvuori.fi>. Tarkista, että laskutin kääntyy vielä muutostesi jälkeen
ajamalla komento `guix time-machine -C channels.scm -- build -f guix.scm`.
[guix-shell]: https://guix.gnu.org/manual/devel/en/guix.html#Invoking-guix-shell
## Kopioiminen
Laskutin on [GNU AGPL lisenssin version kolme](COPYING.md), tai valintasi
mukaan minkä tahansa myöhemmän [Free Software Foundationin julkaiseman
version][fsf-agpl], alainen vapaa ohjelma, eli se kunniottaa käyttäjiensä
vapautta päättää itse omasta tietojenkäsittelystään ja auttaa toisiaan.
[fsf-agpl]: https://www.gnu.org/licenses/agpl-3.0.html

11
channels.scm Normal file
View File

@ -0,0 +1,11 @@
(list (channel
(name 'guix)
(url "https://git.savannah.gnu.org/git/guix.git")
(branch "master")
(commit
"ee0cf3b9ff4cd5a9d3637d09677195ea9ee1a8c0")
(introduction
(make-channel-introduction
"9edb3f66fd807b096b48283debdcddccfea34bad"
(openpgp-fingerprint
"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA")))))

4
esimerkki.csv Normal file
View File

@ -0,0 +1,4 @@
sposti,viite,maksettu,"Tuote:12,00€","Juttu:10,00€","Esine:2,00€"
erkki@esimerkki.fi,101,"0,00€",1,1,1
alice@example.com,102,"0,00€",2,2,
bob@example.com,103,"0,00€",,1,3
1 sposti viite maksettu Tuote:12,00€ Juttu:10,00€ Esine:2,00€
2 erkki@esimerkki.fi 101 0,00€ 1 1 1
3 alice@example.com 102 0,00€ 2 2
4 bob@example.com 103 0,00€ 1 3