You may find the Budget FAQ and the General FAQ useful.

What kind of entries are needed?

There are two general kinds of entries that should be in the ledger:

  1. A budget entry for any planned to spend money. Every time something gets approved it should get entered. This lets everyone see what is planned and how much money is left. You can also enter things that you think might get approved to "block" money for them. It is suggested that you the word "proposed" in their name or something similar to flag them. If they get approved, remove the word. If they don’t get approved, delete the entry (or comment it out).

  2. A transaction entry for every actual spend of money. Ideally these are done as soon as possible after the money is spent. This will cause the budget created in step 1 to get reduced.

It is suggested that the work be divided to make it easier and not overload one person. For example, it is probably best for the budget entries (#1) to be made by the treasurer and the transaction entries (#2) to be made by the card holder (or the treasurer if a non-card transaction). It is also a reasonable and good idea to encourage any contributor to submit a PR with the entries for ticket approvals if you have that capacity.

The goal is to have accurate timely records that are easily maintained by a large group of people.

Swag is budgeted for (#1) and then purchased (#2). If your region buys swag in large quantities and then distributes it across multiple events, it is not necessary for the ledger files to show how much swag went to each event (unless that is useful for you). From a Fedora Project perspective we just need to know how much we budgeted for Swag and how much we spent.

It is also not necessary to break out bank fees like Paypal, however it is strongly encouraged that you do it. This will allow us to edit these fees and see if we can get some lower cost options where it is possible or alternatives from accounting. If you don’t want to break out those fees though, you are not required to do so.

What does an transaction entry look like?

Ledger has very few formatting requirements. For consistency we have adopted the following formatting:

2016-01-28   What we spent the money on                         (1)
    ; Ticket: https://pagure.io/fedora-budget/issue/18          (2)
    ; Desc: Summary description of the transaction              (3)
    ; Payment: CC-EMEA                                          (4)
    ; Comments are awesome                                      (5)
    Expense:Transportation      $200.32                         (6)
    Expense:Lodging             $340.23                         (6)
    EMEA:Q3:Linux Days Prague  -$540.55                         (7)
1 The date is always YYYY-MM-DD followed by 3 spaces and a meaningful payee description. All of the following lines should be indented by 4 spaces. This line begins in column 1. There is no leading whitespace allowed.
2 This is the url to the ticket that approved the expense. This is mostly found on regional expenses. This is a ledger metadata tag.
3 This is the one-line summary of why we spent the money. This is mostly used for credit card reconciliation purposes. This is also a ledger metadata tag.
4 This is a note about how we paid the expense. Typically you will see CC-<region> or an internal Red Hat payment number.
5 Comments are awesome. Make some where explanations are useful. Comments begin with a semicolon, ;. Comments can also be made at the end of any line. See the FAQ below for Ambassador region specific comment requirements.
6 These are expense categories. There is a restricted list of accounts. You can list as many as are needed. See the next question.
7 This is the event or budget the transaction is related to. In this example, this is a transaction from the EMEA region in the 3rd Quarter related to the Linux Days Prague event. This transaction is completely made up.

Note: Amounts are not required to be aligned vertically. Amounts are required to be in US Dollars and must be of the form $###. If there are fractions of a dollar that must be separated with a . (period/dot) as the decimal separator and not a , (comma).

This looks suspiciously like double entry accounting. Is it?

This is what is often term "double entry accounting lite." It uses most of the concepts of double entry accounting but doesn’t explicity state debits and credits. Instead, think of the negative sign and implied positive signs as replacing the debit and credit concept.

However, you don’t have to understand double entry account or debits and credits to use this system. The only things you need to know are:

  1. All transactions must balance. In other words if you add up all of the amounts they must sum to exactly $0 (zero).

  2. Use a negative amount to move money out of an account or budget and a positive amount to move money into an account or expense. For example, if you spend $30 on shoes from you checking account. You would write shoes $30 because you moved the $30 into shoes and checking -$30 because you moved the money out of your checking account.

What are all of the expense categories?

The Fedora project is mostly funded by Red Hat. As part of our support, Red Hat provides us with some credit cards to use. We have to report all of our expenses to Red Hat as one of a very small set of categories. Therefore we have restricted all expenses to these categories. If we find that we need to track other things, we will begin to do so. Start a conversation via an Issue in this repository or on our mailing list, budget-devel@fedoraproject.org.

The categories are:

  • Expense:Transportation

  • Expense:Mileage

  • Expense:Fuel

  • Expense:Car Rental

  • Expense:Parking/Tolls

  • Expense:Taxi/Limo

  • Expense:Lodging

  • Expense:Meals

  • Expense:Business Meeting

  • Expense:Courier/Shipping

  • Expense:Office Supplies

  • Expense:Dues/Subscriptions/Books

  • Expense:Mobile Phone

  • Expense:Internet

  • Expense:Late Fees

  • Expense:Finance Charges

  • Expense:Trade Show

  • Expense:Outside Services/Training

  • Expense:Employee Relations (flowers)

  • Expense:Contributions/Donations

  • Expense:Other Marketing Costs

  • Expense:On-line Advertising

  • Expense:Printing/Reproduction

We are allowed to have further levels of expense categories if we would like. As an example, it would be nice to track our costs of paying reimbursements. Therefore, we can add a :Paypal Fees to each of the above categories to track this. For example:

2016-01-28   What we spent the money on
    ; Ticket: https://pagure.io/fedora-budget/issue/18
    ; Desc: Summary description of the transaction
    ; Payment: CC-EMEA
    Expense:Lodging               $330.00
    Expense:Lodging:Paypal Fees   $3.44
    EMEA:Q3:Linux Days Prague    -$333.44

This could be done to differentiate between types of transportation (Expense:Transportation:Air vs Expense:Transportation:Train) if a region saw value in analyzing that data.

Are there any special requirements? (LATAM Ambassadors)

In LATAM transactions will be coded with an extra tag to support regional level reporting. This tag is only required for LATAM but shows how regional level differentiation can be supported. For LATAM, please add a country tag such as:

2016-01-28   What we spent the money on
    ; Ticket: https://pagure.io/fedora-budget/issue/18
    ; Desc: Summary description of the transaction
    ; Payment: CC-EMEA
    ; Country: Brazil                                       (1)
    ; Comments are awesome
    Expense:Transportation      $200.32
    Expense:Lodging             $340.23
    EMEA:Q3:Linux Days Prague  -$540.55
1 The country tag is used internally by Ambassadors LATAM

What about income and non-expenses?

The Fedora Project doesn’t take in a lot of money as most of our activities are free. Therefore anything that doesn’t fall into the above categories should be entered and processed directly by the FCAIC.