RailsConf 2008
accountomatic - simple home accounting system
At the house here we've been using a PHP version of my never-released accounting tool for a couple of years now. I recently took some spare time to learn the Rails framework (a very elegant Ruby-language framework) and, since my data model and concern separation for the accounting system were very similar was able to quickly convert the system over to Rails and even add a couple of features along the way.
You'll need to set up Rails (visit the Rails site linked above) to get this running. I'm also using Postgres for a database backend. The 'setup.sql' file contains a database definition to get you started. Yes, you could convert the SQL and run this on MySQL. My question would be "Why?" There's probably no accounting for taste, however.
See the live demo site -- login with username 'demo' and password 'demo'. Data will be periodically reloaded and reset.
This code is made available under my version of the BSD license. Big thanks to Shawn Garbett who has introduced professionalism to this hackish bit of code(!).
tarball
accountomatic-20050907.tar.gz [147.378 bytes] (for Rails 0.13.1)
full code listing
CHANGELOG
accountomatic-20050907/CHANGELOG
accountomatic-20050907/README
accountomatic-20050907/Rakefile
accountomatic-20050907/app/controllers/abstract_application.rb
accountomatic-20050907/app/controllers/accounts_controller.rb
accountomatic-20050907/app/controllers/application.rb
accountomatic-20050907/app/controllers/books_application.rb
accountomatic-20050907/app/controllers/budgets_controller.rb
accountomatic-20050907/app/controllers/categories_controller.rb
accountomatic-20050907/app/controllers/login_controller.rb
accountomatic-20050907/app/controllers/payments_controller.rb
accountomatic-20050907/app/controllers/people_controller.rb
accountomatic-20050907/app/controllers/periods_controller.rb
accountomatic-20050907/app/controllers/reports_controller.rb
accountomatic-20050907/app/helpers/accounts_helper.rb
accountomatic-20050907/app/helpers/application_helper.rb
accountomatic-20050907/app/helpers/books_helper.rb
accountomatic-20050907/app/helpers/budgets_helper.rb
accountomatic-20050907/app/helpers/categories_helper.rb
accountomatic-20050907/app/helpers/payments_helper.rb
accountomatic-20050907/app/helpers/people_helper.rb
accountomatic-20050907/app/helpers/periods_helper.rb
accountomatic-20050907/app/helpers/reports_helper.rb
accountomatic-20050907/app/models/account.rb
accountomatic-20050907/app/models/budget.rb
accountomatic-20050907/app/models/category.rb
accountomatic-20050907/app/models/period.rb
accountomatic-20050907/app/models/person.rb
accountomatic-20050907/app/models/report.rb
accountomatic-20050907/app/models/tran.rb
accountomatic-20050907/app/views/accounts/_edit.rhtml
accountomatic-20050907/app/views/accounts/_object.rhtml
accountomatic-20050907/app/views/books/areyousure.rhtml
accountomatic-20050907/app/views/books/display.rhtml
accountomatic-20050907/app/views/books/edit.rhtml
accountomatic-20050907/app/views/books/list.rhtml
accountomatic-20050907/app/views/budgets/_edit.rhtml
accountomatic-20050907/app/views/budgets/_object.rhtml
accountomatic-20050907/app/views/budgets/dup_query.rhtml
accountomatic-20050907/app/views/categories/_edit.rhtml
accountomatic-20050907/app/views/categories/_object.rhtml
accountomatic-20050907/app/views/layouts/books.rhtml
accountomatic-20050907/app/views/login/index.rhtml
accountomatic-20050907/app/views/payments/_edit.rhtml
accountomatic-20050907/app/views/payments/_object.rhtml
accountomatic-20050907/app/views/people/_edit.rhtml
accountomatic-20050907/app/views/people/_object.rhtml
accountomatic-20050907/app/views/periods/_edit.rhtml
accountomatic-20050907/app/views/periods/_object.rhtml
accountomatic-20050907/app/views/reports/_object.rhtml
accountomatic-20050907/app/views/reports/balance.rhtml
accountomatic-20050907/app/views/reports/budget.rhtml
accountomatic-20050907/config/database.yml.tmpl
accountomatic-20050907/config/environment.rb
accountomatic-20050907/config/environments/development.rb
accountomatic-20050907/config/environments/production.rb
accountomatic-20050907/config/environments/test.rb
accountomatic-20050907/config/routes.rb
accountomatic-20050907/db/production_structure.sql
accountomatic-20050907/doc/README_FOR_APP
accountomatic-20050907/doc/app/classes/AbstractApplicationController.html
accountomatic-20050907/doc/app/classes/Account.html
accountomatic-20050907/doc/app/classes/AccountsController.html
accountomatic-20050907/doc/app/classes/AccountsHelper.html
accountomatic-20050907/doc/app/classes/ApplicationHelper.html
accountomatic-20050907/doc/app/classes/BooksController.html
accountomatic-20050907/doc/app/classes/BooksHelper.html
accountomatic-20050907/doc/app/classes/Budget.html
accountomatic-20050907/doc/app/classes/BudgetsController.html
accountomatic-20050907/doc/app/classes/BudgetsHelper.html
accountomatic-20050907/doc/app/classes/CategoriesController.html
accountomatic-20050907/doc/app/classes/CategoriesHelper.html
accountomatic-20050907/doc/app/classes/Category.html
accountomatic-20050907/doc/app/classes/PaymentsController.html
accountomatic-20050907/doc/app/classes/PaymentsHelper.html
accountomatic-20050907/doc/app/classes/Period.html
accountomatic-20050907/doc/app/classes/PeriodsController.html
accountomatic-20050907/doc/app/classes/PeriodsHelper.html
accountomatic-20050907/doc/app/classes/Person.html
accountomatic-20050907/doc/app/classes/Tran.html
accountomatic-20050907/doc/app/created.rid
accountomatic-20050907/doc/app/files/app/controllers/abstract_application_rb.html
accountomatic-20050907/doc/app/files/app/controllers/accounts_controller_rb.html
accountomatic-20050907/doc/app/files/app/controllers/books_controller_rb.html
accountomatic-20050907/doc/app/files/app/controllers/budgets_controller_rb.html
accountomatic-20050907/doc/app/files/app/controllers/categories_controller_rb.html
accountomatic-20050907/doc/app/files/app/controllers/payments_controller_rb.html
accountomatic-20050907/doc/app/files/app/controllers/periods_controller_rb.html
accountomatic-20050907/doc/app/files/app/helpers/accounts_helper_rb.html
accountomatic-20050907/doc/app/files/app/helpers/application_helper_rb.html
accountomatic-20050907/doc/app/files/app/helpers/books_helper_rb.html
accountomatic-20050907/doc/app/files/app/helpers/budgets_helper_rb.html
accountomatic-20050907/doc/app/files/app/helpers/categories_helper_rb.html
accountomatic-20050907/doc/app/files/app/helpers/payments_helper_rb.html
accountomatic-20050907/doc/app/files/app/helpers/periods_helper_rb.html
accountomatic-20050907/doc/app/files/app/models/account_rb.html
accountomatic-20050907/doc/app/files/app/models/budget_rb.html
accountomatic-20050907/doc/app/files/app/models/category_rb.html
accountomatic-20050907/doc/app/files/app/models/period_rb.html
accountomatic-20050907/doc/app/files/app/models/person_rb.html
accountomatic-20050907/doc/app/files/app/models/tran_rb.html
accountomatic-20050907/doc/app/files/doc/README_FOR_APP.html
accountomatic-20050907/doc/app/fr_class_index.html
accountomatic-20050907/doc/app/fr_file_index.html
accountomatic-20050907/doc/app/fr_method_index.html
accountomatic-20050907/doc/app/index.html
accountomatic-20050907/doc/app/rdoc-style.css
accountomatic-20050907/lib/menu.rb
accountomatic-20050907/lib/misc_classes.rb
accountomatic-20050907/log/test.log
accountomatic-20050907/public/.htaccess
accountomatic-20050907/public/404.html
accountomatic-20050907/public/500.html
accountomatic-20050907/public/dispatch.cgi
accountomatic-20050907/public/dispatch.fcgi
accountomatic-20050907/public/dispatch.rb
accountomatic-20050907/public/favicon.ico
accountomatic-20050907/public/images/delete.gif
accountomatic-20050907/public/images/edit.gif
accountomatic-20050907/public/images/list.gif
accountomatic-20050907/public/images/new.gif
accountomatic-20050907/public/javascripts/controls.js
accountomatic-20050907/public/javascripts/dragdrop.js
accountomatic-20050907/public/javascripts/effects.js
accountomatic-20050907/public/javascripts/prototype.js
accountomatic-20050907/public/javascripts/sorttable.js
accountomatic-20050907/public/stylesheets/standard.css
accountomatic-20050907/script/benchmarker
accountomatic-20050907/script/breakpointer
accountomatic-20050907/script/console
accountomatic-20050907/script/destroy
accountomatic-20050907/script/do_stats
accountomatic-20050907/script/generate
accountomatic-20050907/script/profiler
accountomatic-20050907/script/runner
accountomatic-20050907/script/server
accountomatic-20050907/setup.sql
accountomatic-20050907/test/functional/accounts_controller_test.rb
accountomatic-20050907/test/functional/books_controller_test.rb
accountomatic-20050907/test/functional/budgets_controller_test.rb
accountomatic-20050907/test/functional/categories_controller_test.rb
accountomatic-20050907/test/functional/payments_controller_test.rb
accountomatic-20050907/test/functional/people_controller_test.rb
accountomatic-20050907/test/functional/periods_controller_test.rb
accountomatic-20050907/test/test_helper.rb
accountomatic-20050907/test/unit/account_test.rb
accountomatic-20050907/test/unit/budget_test.rb
accountomatic-20050907/test/unit/category_test.rb
accountomatic-20050907/test/unit/period_test.rb
accountomatic-20050907/test/unit/person_test.rb
accountomatic-20050907/test/unit/tran_test.rb

banned vocabulary
"+1" (and "-1")
"existential"
"onboarding"
"ferret"
"finesse"
"yeah."
<blank> <units> thin
<blank> warriors
<blank> years young
<blank>'s team
<x> of the moment
(it|)'s all good
(noo|new)b(|ie|y)
I.T.
ROI
P.D.I.
[web] portal
accountab(le|ility)
actuate
advocate (v. and n.)
anyhoo
assessment
belief system
best practice(s)
best practice(s)
blog(|ger|ging)
business rules
cautiously optimistic
celebrate
closure
construct (n.)
creative(s) (n.)
dialogue
divers(e|ity)
diversity
document (n.)
emerg(ing|ent)
emoticon(s)
enabler
eponymous
everyday heroes
extreme <blank>
facilitate
faith-based
foment
gestalt
git 'r done
gradation(|s) [sic]
guiding vision
hoi polloi
human drama
ill-fated
incentivise
jejune
kerfuffle
killer app
kudos
leverage
marginalize(d)
matriculate
merch
monetize
mouth-feel
multitask(|ing|er) (n.t.)
n(oo|ew)b(ie|)
network(|ing) (n.t.)
nexus
outsider art
podcast(ing)
proggy
protocol
quantum leap
reflect (v.)
repurpose
revamp
river system
schadenfreude
sea change
shopping (etc.) culture
shout-out
some <blank>-action
sophomore effort
strategic repositioning
synergy
team members / partners
the <blank> arena
the <x> Street
tix
under 30-set
value system
vertical
where('|i)s the outrage?
win-win
winders
Weltanschauung