Difference between revisions of "HyperMoney"

From HypertWiki
Jump to navigation Jump to search
(moved Project Goals to htyp)
(Replaced content with "{{to htyp|FinanceFerret}} HyperMoney")
 
Line 1: Line 1:
[[Category:Software Projects]]
{{to htyp|FinanceFerret}}
[[User:Woozle|Woozle]]: Projects: '''HyperMoney'''


[[HyperMoney]] is my attempt to write a money-management program (as in Quicken or Microsoft Money) that is actually usable and has no Stupid Features. It will be [[FOSS|Open Source]], as soon as I have source worth publishing (as of 2005-08-06, it's all written in Microsoft Access 97). The next step may be to convert it to web-based application, as HTML could possibly overcome many of the interface design issues I'm encountering.
[[Category:Software Projects|HyperMoney]]
 
'''2008-08-17''' Update: I'm renaming the project [[htyp:FinanceFerret|FinanceFerret]], and moving the documentation over to [[htyp:FinanceFerret|HTYP]].
 
==Data Design==
There are two main areas of concern: Accounts and Transactions. All other tables are supporting either or both of those, sometimes mainly for user-friendliness and not part of the core data design. User-friendliness functions include Grouping and Pre-entry (deferred data massaging).
===Acccounts===
{| style="background: #eeeeff;"
|+'''Accounts''' table
|-
!Field||Type||Description
|-
|'''ID'''||int(4) autonumber
|-
|'''Name'''||text||short name for account
|-
|'''Descr'''||text||description and notes
|}
 
Accounts are in a hierarchical tree, but this is mainly user-friendliness (though it can also be used for reports). The tree is in a separate table, Topics (see [[#Grouping]]), and the mapping from Accounts to Topics is in [Accounts x Topics].
 
{| style="background: #eeeeff;"
|+'''Accounts x Topics''' table
|-
!Field||Type||Description
|-
|'''ID_Acct'''||int(4)||Accounts.ID
|-
|'''ID_Topic'''||int(4)||Topics.ID
|}
 
===Transactions===
 
Every transaction consists of one or more [[TransPart]]s associated with a master Transaction record. Inforamation about balances will be stored separately.
 
{| style="background: #eeeeff;"
|+'''Trxacts''' table (Transactions)
|-
!Field||Type||Description
|-
|'''ID'''||int(4) autonumber
|-
|'''Descr'''||text||description of transaction
|-
|'''When'''||date||date when the transaction occurred, as recorded by user
|}
 
{| style="background: #eeeeff;"
|+'''TrxParts''' table ([[TransPart]]s)
|-
!Field||Type||Description
|-
||'''ID'''||int(4) key autonumber
|-
|'''ID_Trx'''||int(4)||Trxacts.ID of master transaction
|- valign=top
|'''ID_Mode'''||int(4)||TrxModes.ID of transaction mode (source, target, equity, topic)
|- valign=top
|'''ID_Acct'''||int(4)||Accts.ID of account for this part of the transaction
May be NULL to indicate that this is a "loose" piece of information
|-
|'''Seq'''||int(4)||Order in which this transaction part appears, among others of the same mode
|-
|'''ID_Type'''||int(4)||TrxTypes.ID of transaction type for this part
|-
|'''When'''||date||date when the transaction occurred, according to the institution hosting the account
|- valign=top
|'''Amount'''||currency||amount of transaction; positive = deposit, negative = withdrawal.
*Sum of all source parts plus all target parts must equal zero.
*Sum of all equity parts must equal sum of all target parts.
|}
 
===Grouping===
{| style="background: #eeeeff;"
|+'''Topics''' table
|-
!Field||Type||Description
|-
|'''ID'''||int(4) autonumber
|-
|'''Name'''||text||short name for topic, as shown in tree
|-
|'''NameFull'''||text||(optional) longer form of name for display outside of tree context
|-
|'''Descr'''||text||(optional) description of topic
|-
|'''ID_Parent'''||int(4)||Topics.ID of parent topic; NULL = this is a root topic
|}
 
==Interface Design==
 
==Links==
*http://braincore.blogspot.com/2005/05/koding-what-am-i-koding-then.html - A Dutch developer discusses accounting software, briefly. Apparently they don't use checkbooks in Holland.

Latest revision as of 20:45, 8 July 2017

VYPLGO2.64pxh.png This page has been moved to HTYP, the HyperTwin Yellow Pages.