Buddi

Personal budget software for the rest of us

Standard Formatting

In this document I list the suggested standard formatting for Buddi. I try to stick to this as closely as possible, both for reports and for core functions as well. If you, as a plugin developer, attempts to do the same, your plugins will look and feel more as users expect.

Accounts

Notes:

  • Account balances reflect net worth. If a credit account it negative, the net worth is positive.
  • Credit account / TypeTotal Names should show up Red; Debit should show as Black, regardless of totals
  • Account / TypeTotal Balance Amounts should display based on the following table:
     DebitCredit
    Value >= 0Black 
    Value < 0Red, Negative 
    Value > 0 Black, Negative
    Value <= 0 Red

Categories

Notes:

  • Categories are all shown as positive, regardless of income. We therefore have to use special logic for the expense ones.
  • Expense Category names should show up Red; Income as Black, regardless of totals
  • Category Budgeted Amounts should show up based on the table below:
     IncomeExpense
    Value >= 0BlackRed, Negative
    Value < 0Red, NegativeBlack

Transactions

Notes:

  • All transaction text (non-numerical) should be black
  • Balances should show according to the rules for accounts above, based on which account the given transaction window is open for
  • Transfer Amounts should display as follows:
    Amount+ <= This Account: Red, Positive, Left Column
    Amount- <= This Account: Black, Negative, Left Column
    Amount+ => This Account: Black, Positive, Right Column
    Amount- => This Account: Red, Negative, Right Column
  • If there is no associated account (i.e., for some reports), Transaction values should display as follows:
    FromTo+ / -Color
    AA+Black
    AA-Red
    AC+Red
    AC-Black
    CA+Black
    CA-Red

    Simplified, this is equivalent to "If (To == Category AND Value >= 0) OR (To == Account AND Value < 0), then color is Red; otherwise, color is Black."

Totals

Generic account totals should always be expressed as a Debit account. The only exception to this is TypeTotal when the type is credit; in this case, they should be shown as a Credit account

Standard Report / Graph Format

When creating reports, it is recommended to follow this approximate outline. Note that you can use the HtmlHelper method to assist with creating this format.

<h1>Report Title</h1>
<h2>Report Date</h2>
<hr>
<h1>Section</h1>
<h2>Subsection</h2>
Content
<h2>Subsection</h2>
Content
...
<hr>
<h1>Section</h1>
<h2>Subsection</h2>
Content
<h2>Subsection</h2>
Content
....