Content in need of updating

The content below has been moved from the old DebConf wiki ( as part of the Outreachy internship application process Oct 2019.

The bulk of the content is five years old and needs more updating to current processes and DebConf accounting practices.

Remove this note when done.


Accounting is an important aspect of the DebConf, it deals with tracking expenses and income, past and future. Its knowledge could be used to produce budget reports (?Budgeting page), but that is usually done before accounting comes into play. The accounting team is not yet involved in authorization or actual money movement, though we can probably help you figure out how to do that.

Past/current ledgers can be found here:

Current balances can also be found on corresponding previous budget ledger on salsa.

Reimbursement: For reimbursement purposes open a ticket at (SPI), or send an email to (Debian France) with relevant details, if you are using the Debian CH you can also send an email to

For anything relating to budget, send an email to

For each transaction, what we need to know is:

Examples of things to send us:


All accounting for DebConf is found in the corresponding salsa repo It uses ledger, a command-line double-entry accounting program.

Meta files a list of all the accounts used a description of the commodities used

forex.db: exchange rates

Ledger files

budget.ledger: the conference budget

expenses.ledger: all expenses should be tracked there

incomes.ledger: all incomes should be tracked there

journal.ledger: meta ledger file that includes other relevant files


wrapper: a more sensible way to call ledger

ledger-fx-rates: fetches exchange rates from the European Central Bank


All expenses should be backed by invoices and be kept in the invoices directory. The invoices should:

be classified in directories by accounts start by yyyymmdd_

have a short but descriptive name

For example:

DebConf has two types of accounting - cash and accrual. It is true that cash is what counts as income and not all registered attendees might be present, so we record only attendee payments that enter our bank accounts as income as these will help keep our records clean. Similarly, other expenses are considered expenses when money actually moves, not when it is authorized. Some things, like sponsor income, in some years, is tracked in an accrual kind of way (assets:receivable:sponsor). Other fixed, non-adjustable things (mainly reimbursements) can be listed as such when they are known, instead of when money moves. Mixing systems may not be ideal, but this might work better for DebConf.

so basically

How it works

so basically This section isn't important except if you want to join the accounting team.

The ledger is a double-entry general ledger. It can be examined with the ledger program (in Debian) or hledger program (available since 2011). These programs can generate all types of useful reports, and are scripted to do so at the links above. The ledger manual, in particular, is a good introduction to double-entry accounting. ledger-dcNN is designed to be public. If you want to add something to it, here are sample entries:

  2019/03/19 Name tags
      expenses:infra       99,80 BRL
      assets:spi           150 USD

  2011/03/19 SPI->FFIS transfer
      assets:spi            1000 USD
      assets:ffis           790 EUR
      expenses:exchangefee  10 USD

hledger add provides a nice tab-completing interface to appending new transactions. Note that euros are "EUR", not "€", due to a unicode bug in some vty library.

The attendee payments and sponsor payments are kept as sub-accounts in spreadsheets. This allows the ledger itself to be public. Occasionally, the income:attendee and income:sponsors accounts are updated in the ledger from the spreadsheets.

The assets: accounts list current assets. SPI, Debian France and Debian CH balances (as seen online) should match the ledger balances at all times. Run a "ledger bal" command after any update involving these and make sure that it matches the amount in the bank view.

Anything dealing with attendee-payments, travel sponsorship, or sponsors should also be recorded in the spreadsheets in debconf-team. The spreadsheets should include names, dates that match with here, and total balances should always reconcile. Run "ledger bal" after updating these and make sure the ledger matches the total balances in the respective "actual amounts" (as opposed to future) columns of the respective spreadsheets.

If someone is due a reimbursement, record it in liabilities:<nickname>.

receivable: can be used to record money due us. Attendee payments are generally *not* worth putting under receivable, since they are too fluid. Half the expected paying attendees will happen not come/not pay, and we don't want to have to be keeping things that crazy up to date in the ledger.

Ledger can take comments starting with ";". Make all information as clear as possible, so anyone will understand at a glance.

This section will be updated with more information as procedures are developed.

Always check the process to invoice sponsors as it involves the Debian Trusted Organizations to create invoices and receive payments.