[TW5] Expense tracking plugin

241 views
Skip to first unread message

Jed Carty

unread,
Oct 8, 2017, 5:01:24 PM10/8/17
to TiddlyWiki
It is still in pretty early stages, but I made an expense tracker plugin to complement the invoice creator I made. Right now it lets you enter expenses and filter and sort them by things like expense category, project and date range. Then you can save a static report based on the expenses. Currently the only template for saving a report is very simple but I am hoping to expand it in the future.

It doesn't have as much documentation as it should but you should be able to figure out what is going on after looking at what is in the different tabs on the demo site.



let me know if you have any suggestions. 

It is not yet in the OokTech plugin library because I am in the middle of rewriting all of my build and helper scripts in javascript and I haven't gotten to the one that handles the plugin libraries yet.

TonyM

unread,
Oct 8, 2017, 8:20:32 PM10/8/17
to TiddlyWiki
Jed,

It looks good. Could be just what I need to track expenses within a project tiddler. I was comparing it to my SharePoint Transaction register and thought it would be easy to generalize a little more to allow receipts as well. Expenses could be Negative, and Receipts positive (or debit and credit fields). This could represent payments, refunds etc...

  • I forgot to name one of the expenses and Do not know how to fix that
  • Rather than person perhaps it should be "To" so its a payment to business as well, I would use the Payment method as from account

Here some extra things I use

  • I have a toggle to indicate the transaction is finalized, eg Goods Received, Re-billed to client,
  • A note about receipts eg electronic or paper,
  • Having From and To / Debit and Credit I can record transfers between accounts 
Great work
Tony

@TiddlyTweeter

unread,
Oct 9, 2017, 7:02:50 AM10/9/17
to TiddlyWiki
Ciao Jed

That is fabulous & fabulously flexible. I'm definitely going to use it.

Here is my quick take on possible improvements. If anything is unclear please ask me to clarify or create a visual mock-up--which I am more than willing to do. I hope I'm not over-burdening you with ideas. Its just I can see what it might do because I think you got the basic functionality spot-on already.

FUNCTIONS & FILTERS

  - Add an Auto-Incrementing Refference No. Every new entry gets a reference number (like #1001, #1002 .. etc). Why? Because physical handling of paperwork if you don't do that gets unwieldy. By generating a new number you can then write that number on paperwork as you go along so if you (or your accountant) need to find paperwork later you can easily. The start number of the counter should be User Definable. The user should be able to reset it. This reference number could (1) appear in the first column of the report and also (2) form a link to the relevant Tiddler

   - Add a filter for Monetary Ranges to the report mode. For instance: $400 - $1700. Why? So you can see at a glance costly expenditures.

  - Add a Flag Field. The idea here is you have some items that are either very important to track (like recurrent payments, or items that are not yet fully settled so you need be able to find them). Flagged items to be highlighted in some way. Either with something like a yellow highlight for the row, or, maybe a simple extra column that displays "F" when the item is flagged. Being able to filter on "Flag Status" would be a plus.

  - Really helpful would be that click of "Update Total" produces additional state tiddlers, not just the monetary total, but for ...

1 - Count of Number of Items Filtered

2 - Count of the Number Of Days that the date range filter covers


Why? Because with access to these (i.e. total $, no. of items, number of days) you could more easily calculate budgets, variance from time-based budgets, or pricing profiles.


N.B.: the gizmo itself would not have to handle what could be done with the state tiddler data generated. It could be left to other macros to do that using them any varying method a user needed.


But, for users like me having access to such basic data would open the way towards practical accounting & budgeting and mean its gone a step beyond being just a really smart column adder.


DATA ENTRY


Jed, not sure how easy it would be but IMO its would make more sense to have the data entry component integrated into what you call "report". For instance with a line below the table (e.g.
under Com Pani Expense Report) that has entry cells aligned with the layout of the table above it. At the end of the line a "+" to create the tiddler holding that record.


FYI, in the way I'll probably use it I'll have the "report" as the thing that is more forefront. The thing that I'd think of as the "interface".



COSMETICS


  - The Amount column and Total box to be right aligned.


  - Enforce two decimal places. So that if you enter "4" what appears is "4.00".



USER SETTINGS


What users could do with it are varied. I think it would help expand its usage by users being able to define what the (in "report") column heading names are....


But maybe it would be enough already? As I see there is already a templating idea in place--guidance on how to edit/create templates, change displayed column titles etc, could be good too. In a way its already potentially way ahead of simple cash adding--and flex on column headings could make that clearer.


SIDE COMMENT ON HOW IT WORKS ALREADY

I think its a real plus that the data entry does NOT force you to enter any specific data. That you can create records with no monetary value without it breaking the calculation of the total, for instance, is very practically helpful. I'm not sure if that was a design intent. But, in any case, it gives a flexibility that most normal cash accounting software doesn't easily allow.

Overall I find it an already very good pragmatic tool.

Tx & best wishes
Josiah

Jed Carty

unread,
Oct 9, 2017, 10:04:54 AM10/9/17
to TiddlyWiki
Thanks for the feedback!

Tony,

I need to put in an interface for editing existing expenses, or at least deleting them. I want to avoid having a very simple way to modify them so that I don't accidentally delete something later but after using it a bit I agree that it needs some way to do it.

For having different fields and things (like 'To' in place of 'Person') I am hopefully going to finish implementing a way to create other templates that can work with the same system. That would allow you to have any fields you like for an expense and have different types in the same wiki if you wish. That covers some of your points about extras too. I am working on a system to let me have pictures or electronic receipts connected as well. I have most of it worked out so hopefully that will be coming soon. This would probably be the way that the system would be generalised to support other things. Once I get the expenses part of this worked out I am hoping to combine it with the invoice creator I made so it can be a more complete system.

TiddlyTweeter,

That is a good list of features, and most of it should be pretty straight forward. I may just take that and use it as my shorter term road map. I have an old widget I made for auto-incrementing that I am hoping to include with this, but it may be a bit more complex than just incrementing a number each time you make a new report because I want to be able to go back and make custom reports from the past and that would disrupt a sequential naming scheme. I may be able to get around this by using prefixes based off of the filters used to create the reports and an incrementing number for each unique set of prefixes. I have run into the problem of formatting numbers often enough that I think a pull request for the view widget that lets you define numeric formats is a good idea.
I like your suggestion for data entry, it would almost require that individual items be editable but I think that my concerns about that are small compared to the usability improvements from this.

And for settings, I am trying to make it easy to change templates used and hopefully the templates will make it easy to add or hide fields as desired. I need to make some more templates and see how it goes.

As a node, I am dyslexic and changes in text or background colours and styles makes text a bit hard for me to read.

TonyM

unread,
Oct 9, 2017, 7:01:32 PM10/9/17
to TiddlyWiki
Jed,

I should have guessed you had a strategy, thanks for your work and I am happy to review later versions.

Regards
Tony

@TiddlyTweeter

unread,
Oct 10, 2017, 4:54:55 AM10/10/17
to TiddlyWiki
Ciao Jed

... I am dyslexic and changes in text or background colours and styles makes text a bit hard for me to read.

Okay. Noted.  Next time I'll try remember that. As it was Google made a "Frog's Bottom" of my post on Google. It looked nothing like the draft, or what I intended.


I like your suggestion for data entry, it would almost require that individual items be editable but I think that my concerns about that are small compared to the usability improvements from this.

I think being able to add  new items via what is currently the "report" page would be good. But I'm not keen that records, once created, can be edited directly in that interface. Why? Because for accounting one needs disciple to get ones figures right. Too much openness is, I think, an invitation to sloppiness. However, having a link for each line of the table to the underlying Tiddler would be a good idea so one can correct errors--I suggested that if you can create unique references for each item then maybe that could wrapped in the link? But it just shouldn't be ultra-easy IMO to edit anything once its record is created--so I'm against any idea of in-line editing for the whole table.

Best wishes
Josiah
Reply all
Reply to author
Forward
0 new messages