While pursuing a career in freelance IT, I found it increasingly difficult to organize my invoices in a manner which was both meaningful AND conveniently queriable/searchable. I tried using Libreoffice Base (with SQL), but it seemed that to implement the features I wanted, I would need to put in more work than I was willing. So, then I turned to LibreOffice Calc. Calc was much easier to interface with, however it was unable to perform even some of the crucial queries that I had performed in Base.
Finally, after looking at the selection of I.T.-oriented Invoice software available for linux,
CLInvoice came into being.
CLInvoice (short for "CLI Invoice") is a command-line application that can
eventually read, write, display, query, and binary search information about support tickets, time sheets, and invoices. It will automatically calculate tedious things such as your billable hours, client billing amounts, and net income per year (for tax purposes). It will also support a variety of queries, but eventually there are plans to implement a query syntax for custom queries that have not been programmed in directly.
dart bin/main.dart help for usage.
dart2native bin/main.dart -o clinvoice and then
mv ./clinvoice /usr/bin.
* Make sure to
CLINVOICE_PATH in your shell
- Re-upload of 0.9.4 with recommended styles
- Fix a ton of issues noticed by
- Rename library
- Fix error with accidentally removed
- Switch instead to the
- Switch instead to the
- Command-based execution.
- JSON files are now per-job rather than being one JSON file for every job.
- This reduces the amount of memory needed to run the program.
- User specifies the job in the command rather than during execution.
- Fix the many bugs regarding serialization
- Fix JSON export issue
- Fix bug introduced by
Use this package as a library
1. Depend on it
Add this to your package's pubspec.yaml file:
dependencies: clinvoice: ^0.9.5
2. Install it
You can install packages from the command line:
$ pub get
$ flutter pub get
Alternatively, your editor might support
pub get or
flutter pub get.
Check the docs for your editor to learn more.
3. Import it
Now in your Dart code, you can use:
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
We analyzed this package on Jun 5, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:
- Dart: 2.8.2
- pana: 0.13.8-dev
Maintain an example. (-10 points)
Create a short demo in the
example/ directory to show how to use this package.
Common filename patterns include
clinvoice.dart. Packages with multiple examples should provide
For more information see the pub package layout conventions.