Skip to main content

Module invoice

Module invoice 

Source
Expand description

Invoices for work done for someone. One is made from a project’s billable time not billed yet: a line per task (or per note, for time noted without a task), its hours at the project’s rate. Numbers follow each other within a year (“2026-001”, “2026-002”), as French law asks, and are never reused. Each invoice is kept as a record ($XDG_DATA_HOME/sioul/invoices/<number>.toml); the time it bills carries its number, so it is never billed twice; the window prints it to PDF, with the date or period of the service (the billed sessions’ first and last days), which French law asks for (service-public.gouv.fr, sheet F31808).

Structs§

Invoice
InvoiceLine
One line: what was done, how long, at what rate.
Issuer
Who sends it, as it was when the invoice was made.

Functions§

all_in
Every invoice kept in dir, by number. A record that no longer reads (edited by hand, written by a newer Sioul) still holds its number, so the number is never given again, nor its file written over: it comes back with its number only.
escape 🔒
folder
Where invoices are kept.
html
The invoice as a page to print: who sends it and to whom, the date or period of the service, its lines, the total, the legal mentions and how to pay.
lines_html 🔒
make
An invoice for a project’s billable time not billed yet, among entries; None when there is none.
next_number
The number after the last one given with the same prefix: prefix (else the year, “2026-”) and three digits. With the usual prefix, the year, the count restarts each January (2026-001, then 2027-001); with your own prefix it never restarts, and goes on from the last one whatever the year (F-041, F-042…), as the guide says (Clients, “Invoices”).
save_in
Keeps an invoice in dir.