Differences between revisions 1 and 5 (spanning 4 versions)
Revision 1 as of 2019-10-17 12:15:00
Size: 7821
Editor: ?Chiamaka Osumgba
Comment: migrated accounting
Revision 5 as of 2019-10-24 16:51:43
Size: 7179
Editor: ?Chiamaka Osumgba
Comment: word restructuring and update
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:

{{{#!wiki caution
'''Content in need of updating'''

The content below has been moved from the old !DebConf wiki (`wiki.debconf.org`) 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.'' }}}
Line 3: Line 13:
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 bugget 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. 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.
Line 6: Line 16:
 * DC11: http://anonscm.debian.org/viewvc/debconf-data/dc11/ledger-dc11?view=markup
 * DC12: http://anonscm.debian.org/viewvc/debconf-data/dc12/ledger-dc12?view=markup
 * DC19: https://salsa.debian.org/debconf-team/public/data/dc19/blob/master/budget/budget.ledger
 * DC18: https://salsa.debian.org/debconf-team/public/data/dc18/blob/master/budget/budget.ledger
Line 9: Line 19:
Current balances are at http://debconf-data.alioth.debian.org/stats/accounting-balances.txt . Current balances can also be found on corresponding previous budget ledger on salsa.
Line 11: Line 21:
Reimbursement forms: [http://www.ffis.de/Verein/Reimbursement.ps FFIS (international)], [http://www.ffis.de/Verein/Erstattungen.ps FFIS (german account)], [http://www.ffis.de/Verein/erstattung.php FFIS (interactive)], [http://www.spi-inc.org/treasurer/SPI_reimbursement_request.pdf SPI] Reimbursement: For reimbursement purposes open a ticket at debconf-invoices@rt.spi-inc.org (SPI), or send an email to tresorier@france.debian.net (Debian France) with relevant details, if you are using the Debian CH you can also send an email to treasurer@debian.ch
Line 13: Line 23:
When any money moves, it needs to be updated in our ledger! For things directly from bank accounts, we can follow up with the bank's records, but for other things (most on-site things), we need '''you''' to mail us at mailto:accounting@debconf.org. For anything relating to budget, send an email to beancounters@debconf.org
Line 32: Line 42:
All accounting for DebConf is found in the corresponding salsa repo https://salsa.debian.org/debconf-team/public/data/dcxx/tree/master/budget. It uses ledger, a command-line double-entry accounting program.
Line 33: Line 44:
 Since DebConf is so chaotic, we use a pragmatic approach: make the best budget possible (usually some spreadsheet in debconf-data), but realize this will be out of date and inaccurate in the end.
  * ''budget.ods'' in debconf-data lists predictions of expenses, before the conference.
  * budget.ods has only '''estimated total expenses''' in it.
  * ''ledger-dcNN` and ''ledger-dcNN-onsite'' (if we have a separate onside ledger) are the ledgers. This records actual money movement by transaction (links above).
  * These are in `apt-cache show ledger` format.
  * After the conference, ledger-dc11 should be our actual conference budget. Practically speaking, by this time budget.ods will probably be out of date.
  * ''ledger-dc11'' is *public*, in debconf-data. As such, the transaction descriptions there should not include sponsor or attendee names. This may make tracking a little bit harder, but richard considers the transparency worth the extra effort. The sponsor and attendee details are in two spreadsheets listed below.
=== Meta files ===
Line 41: Line 46:
 Are we using cash or accrual accounting? Basically, cash. For example, attendee payments are not considered income until they hit our banks - since many professional registrants just register accidentally and never intend to pay. Similarly, other expenses are considered when money actually moves, not when it is authorized, since this is DebConf and we can't plan that far in advance. 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 is what realistically works for DebConf. accounts.inc: a list of all the accounts used

commodities.inc: 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

=== Scripts ===

wrapper: a more sensible way to call ledger
Line 44: Line 67:
You can find current balances at http://debconf-data.alioth.debian.org/stats/accounting-balances.txt .
`incomes` is (negative) incomes so far. `expenses` is expenses so far. Current account balances should be in `assets`
ledger-fx-rates: fetches exchange rates from the European Central Bank
Line 47: Line 69:
=== Invoices ===
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:
 invoices
 .
 ├── childcare
 .
 │   └── 20170812_childcare.pdf
 .
 │   └── 20170817_music_show.pdf
 .
 ├── roomboard
 .
 │   └── accommodation
 .
 │   ├── 20170810_hotel_universel_first_deposit.jpg
 .
 │   ├── 20170816_hotel_balance.pdf
 .
 │      └── 20170821_red_cross_rental.pdf
 .
 └── videoteam
 .
    ├── 20170614_kyles_ticket.pdf
 .
    └── 20170901_DigitalOcean_invoice_152897007.pdf


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
Line 48: Line 108:
so basically
Line 51: Line 111:
The ledger is a double-entry general ledger. It can be examined with the `ledger` program (in Debian) or `hledger` program (not in Debian yet). 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: 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:
Line 54: Line 114:
  2011/03/19 Name tags
      expenses:misc $+150
      assets:spi $-150
  2019/03/19 Name tags
      expenses:infra 99,80 BRL
      assets:spi 150 USD
Line 60: Line 120:
      assets:spi -$1000
      assets:ffis    790 EUR
      expenses:exchangefee   $10
      assets:spi 1000 USD
      assets:ffis 790 EUR
      expenses:exchangefee 10 USD
Line 69: Line 129:
The `assets:` accounts list current assets. SPI, FFIS, and ISIC 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. 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.
Line 71: Line 131:
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.
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.
Line 80: Line 138:
Ledger can take comments starting with ";". Liberally use them in any weird cases (again, no private info) so that someone else reading can figure out what is going on. Ledger can take comments starting with ";". Make all information as clear as possible, so anyone will understand at a glance.
Line 84: Line 142:


== List of accounts ==

Historical accounts ledgers have used. Try to use these when possible, ore ones in analogy to them depending on the specific conference.

 1. income:sponsor - sponsors, should always match sponsors.ods
 2. income:attendee:prof - attendee payments, this and below should always match attendees.ods
 3. income:attendee:corp
 4. income:donation - donations from attendees or other non-"sponsors"
 5. expenses:videoteam
 6. expenses:videoteam:shipping
 7. expenses:travel - attendee travel, should always match travel.ods
 8. expenses:food
 9. expenses:accommodation
 10. expenses:conf - general conference expenses (e.g. name tags)
 11. expenses:venue - venue and venue furnishings, etc.
 12. assets:spi - our actual current bank account balances.
 13. assets:ffis
 14. assets:debian-uk
 15. assets:receivable:{<nickname>|sponsor} - money due us, *if* it is firm.
 16. equity:debconf* - surpluses rolled over from debconf to debconf
 17. equity:debian:{spi|ffis} - amounts taken from / returned to Debian (in which organization).
 18. liabilities:<nickname> - money due someone.

== References ==

message-id: 20120709202746.GW2857@finlandia.home.infodrom.org talks about FFIS reimbursement process
Always check the [[DebConf/Fundraising/InvoicingSponsors | process to invoice sponsors]] as it involves the [[Teams/Treasurer/Organizations | Debian Trusted Organizations]] to create invoices and receive payments.

Content in need of updating

The content below has been moved from the old DebConf wiki (wiki.debconf.org) 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

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 debconf-invoices@rt.spi-inc.org (SPI), or send an email to tresorier@france.debian.net (Debian France) with relevant details, if you are using the Debian CH you can also send an email to treasurer@debian.ch

For anything relating to budget, send an email to beancounters@debconf.org

For each transaction, what we need to know is:

  • Date
  • Description / what it's for
  • Amount and currency
  • Who it is from and who it is to. (example: to: the ISP. from: my bank account)

Examples of things to send us:

  • You bought something and need to be reimbursed.
  • An invoice is paid.
  • Someone is paying debconf in cash on-site.
  • Any other cash transactions.
  • Money is transferred overseas.
  • We are using your bank account to transfer money, and you got a deposit, you spent something, and so on.
  • Anything involving money!
  • Anything in the past involving money that we don't know about.

Summary

All accounting for DebConf is found in the corresponding salsa repo https://salsa.debian.org/debconf-team/public/data/dcxx/tree/master/budget. It uses ledger, a command-line double-entry accounting program.

Meta files

accounts.inc: a list of all the accounts used

commodities.inc: 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

Scripts

wrapper: a more sensible way to call ledger

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

Invoices

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:

  • invoices
  • ├── childcare
  • │   └── 20170812_childcare.pdf
  • │   └── 20170817_music_show.pdf
  • ├── roomboard
  • │   └── accommodation
  • │   ├── 20170810_hotel_universel_first_deposit.jpg
  • │   ├── 20170816_hotel_balance.pdf
  • │      └── 20170821_red_cross_rental.pdf
  • └── videoteam
    • ├── 20170614_kyles_ticket.pdf
    • └── 20170901_?DigitalOcean_invoice_152897007.pdf

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.

?Category:DebConf_Manual