8 comments

[ 2.7 ms ] story [ 30.5 ms ] thread
How does it know the items for the invoice? Presumably reads them from a file in the folder you've named for the customer?
Looks like it:

    ; create a folder with the following files:
    ; - payee.txt          - containing the company address;
    ; - payor.txt          - containing the client's address;
    ; - invoice-number.txt - containing the last current invoice number. Incremented automatically;
    ; - tax-rate.txt       - containing the tax rate (i.e. 13);
    ; - pay-interval.txt   - containing the pay interval (i.e. 30);
    ; - locale.txt         - containing the date locale (i.e. 'en');
    ; - branch-address.txt - containing the bank branch address;
    ; - account-info.txt   - containing the bank account information;
    ; - invoice-lines.txt  - containing the invoice lines.
    ; run the program and the invoice will be generated inside the folder, sent to PDF and the printer at once.
I get what you are doing, but this should be easier, and less destructive of the input "data" you use to generate the invoice, either through a switch like "invoicer --lines invoice_lines_20210325.txt". That way you can keep your input forever, and can "query" it if you need to.

I know quickbooks is overkill for most tiny businesses, but I feel this is overkill in the other direction (extreme underkill?). In QB, generating a new invoice is a button click, and it can even import everything I have "billed/assigned" to the client automatically if I didn't want to type it in (I do this with expenses and project hours).

I just have a libreoffice spreadsheet template. Where is that on the overkill underkill spectrum? Resurrection?
Agreed, and I'm currently looking for a more elegant solution for that very input data. I'm thinking of a very simple invoice line editor, and a way to keep the metadata for each generated invoice. Suggestions welcome! Cheers
I like this, but I'm a python guy. Any alternatives? PDFs aren't that complex with the libraries we have now, are they?