ATTENTION: Since 2024-06-16 I decided to archive this project, due to compability and dependency problems or so ... also due to bad coding etc. While I archive this repo I start a new project, though. Feel free to check out plainvoice here on github!
A programm for managing clients, projects and connected offers and invoices.
The programm is meant to help self-employed freelancers with their project management. You can have a list of clients with metadata, connected projects to the clients with metadata and also offers and invoices connected to the projects. The offer module can have entries, which will calculate prices automatically - the invoice module is similar. In the end you can even export offers and invoices to open office format.
The frontend is made with my tweaked version of npyscreen.
To be honest: a bit helpless here. I have installed my tweaked version of npyscreen
in the system. I did it with this command in the terminal:
pip3 install -U git+https://github.com/Tagirijus/npyscreen@NotifyInput
My freelance script is in any folder, which I start with python3 run.py
.
This is probably totally noob-alike. Maybe somebody is going to improve it some day?
Start the programm and open the menu with Ctrl+X
. Then you have a help option for nearly every form of the progamm, which should help you.
general/convert_clients.py
is a simple command line programm to convert your old client database to the Freelance format and vice versa. Start the programm with -h
or --help
to see how it works.
- Since commit
4b0b9d2bf4df4859ff7d9fd39dab600625bda3ae
from2017-06-02
the database has changed. I changed the variable amount to quantity due to proper captioning in an invoice. To update the database I wrote a simple script:amount_to_quantity.sh
. Run it in your database directory (only there to not destroy other data of your system!) to let the script replace every amount with quantity automatically. You only have to run it, if you had a database made with the program before the mentioned commit on the mentioned date. Otherwise you'Re fine to use the programm like it is!
Apparently the ODT export with the module secretary uses another Python module called Jinja2. Since version 3 of the latter module the ODT export does not work anymore. The ugly workaround is to downgrade to an older version of Jinja2: pip3 install Jinja2==2.10
. This did the trick for me.
Also the programm only works with python3.6 as it seems ...
- Make Freelance work faster. Especially the
replacer()
function slows the programm down very much.