Please enable users to define their own fields/attributes for transactions, transaction splits, accounts, customers, employees, invoices, jobs, orders, prices...
With a custom fields I could solve (or at least workaround) the following issues described in separate threads:
- transaction classification
- add the ability to attached scanned images to invoices
- point of sale
- link any transaction to "the other party"
- I could fill-in bank account number of the other party at bank account transactions - and can later search according the bank account
- make notes to the transactions (it's a good idea to make more extensive notes to complex transactions so as you could remember later what was going on)
- and more
Adding user-defined fields to a customer is essential for me. In Italy it is compulsory to write on each invoice the customer's VAT ID or customer's TAX-ID.
Moreover, you can have different kind of customers if you assign them a special value in a field. For a non-profit organization, or for a club, it is important to distinguish beetween associates and not associates.
Another useful way we could use custom fields is to create TAGS for transactions or accounts.
The tags could then allow for reports to be created based on the tag name rather that the account.
For example, if I might have a holiday to Japan with the transactions in various expense accounts like Expenses:Travel:Hotel and Expenses:Travel:Flight. I could tag those individual transactions as #Japan2017 and create a report which filters solely on those transactions. The alternative is sub-accounts and manually creating a report to select the various sub-accounts manually.
Another example would be account-based tags. If I savings across various banks or brokerage accounts but allocate to sub-accounts for different purposes (i.e. saving for child college or retirement) then it would be convenient to create tags for the sub-account such as #CollegeFund or #RetirementFund to then design reports that are based on tags rather than account names (because the report would automatically filter for all accounts with the relevant tag).
David Lark commented
Yes, all db tables need the ability to add and display custom fields. I would use this to assign expenses to projects so I could get readily reimbursed, and add phone numbers, url's, interest rates, etc. to account overviews, just to name a few.
This seems easy to implement, either in gnucash core, or in a sister program that opens the GC db's read-only & keeps the additional fields in a separate db which shares primary keys. A third approach would have the sister program use the GC db, calling GC functions/methods, which would hopefully insure db integrity.
It would be nice to be able to customize the availability of fields, like have the above set of fields available on credit card accounts, and another set available on checking accounts. I don't know how easy it would be to implement this.
And while we're at it, we might as well add calculated fields too. I can think of some applications.
In Agriculture, you can tag transactions for Ex. Fields, Crop type,Year, No. of Labors.
Also if there is are pages to manage custom field and their values like List of fields, Crops, etc...
Custom fields would be of great help for home finances as well. I like keeping track where I made each expense (which shop). then get reports on where I spend most and avoid that place - they must trick me somehow I can't explain it yet :))
Kael Shipman commented
I just wanted to add my agreement with David that this feature would potentially eliminate the need for other features like classification. I can think of a million uses for this, and have upvoted as much as possible :).
Greg Fordyce commented
Being able to add user-defined fields to Job Information would allow me to use jobs to represent vehicles for my auto repair business. I need to add fields like Make, Model and Mileage. I would like to be able to update mileage each time I create a new invoice for that job and have them print on the invoice. This is the only thing holding me back from replacing QuickBooks 2004 with GnuCash.
Stefan Liebl commented
Perhaps I could manage the following situation with this:
I have an account 'holidays' and want to get a report for a specific holiday. So I can mark each holiday with it’s own label and I do not have to create a new account for each holiday. Now I could create a report for holidays with label 'Iceland'. I can also build a report with all holliday cost for a year without label.