I’ve been running an NDT business since 2017. After a couple of years getting annoyed at writing my reports in Libreoffice Writer, I decided to write my own software to generate the reports for me. This has saved me an enormous amount of time. A couple of years ago, I started thinking about how I should handle my invoices. I don’t generate a lot of invoices, but sometimes I’d lose track of who’d paid, who hadn’t and realised I needed something to keep track of them.
One option was just to simply add it to my existing system. But, I couldn’t really be bothered. So I decided to have a simple spreadsheet. This worked ok, I simply added a new row to my “invoice_log_2022.xlsx” and then email myself the new version so I had some redundancy. But it bugged me a little as it seemed there should be an easier way to handle a few records. For example, I had to use some spreadsheet program just to add / view my invoices.
So, I thought I’d see what other options I could find. Eventually, I came across GNU Recutils. Here is the description from their site:
GNU Recutils is a set of tools and libraries to access human-editable, plain text databases called recfiles. The data is stored as a sequence of records, each record containing an arbitrary number of named fields. The picture below shows a sample database containing information about GNU packages, along with the main features provided by Recutils.
This seemed to be worth a look! I converted my spreadsheet to csv, then imported it into the recfile format.
Invoice_No: N123456 Due_Date: 2022-07-31 Amount: £180.00 Customer: Some Customer Description: MPI of fillet welds on fabricated assemblies Amount_Paid: £180.00 Date_Paid: 2022-08-05 Invoice_No: N123457 Due_Date: 2022-07-31 Amount: £150.00 Customer: Another Customer Description: DPI of condenser pipework Amount_Paid: Date_Paid:
The above shows two records. The first one has been paid, the second one has not. If I want to add a new invoice to the log, I simply copy the last record, edit the fields and save the file. It really doesn’t get much easier than that. No need for anything more than a text editor.
I’ve only been using recutils for a week and have just started scratching the surface of the tools that come with it,
recdel etc. One thing I want to do is have a cron job that will email me any invoices that are overdue.
I really like Sqlite. I use it for loads of things, but sometimes even Sqlite is overkill. The next time you think about creating a new spreadsheet to save a few records, perhaps you’ll try Recutils instead…