Financial Management

Overview

Overview

Financial work within the team splits into three main roles:

  1. Budgeting, taxes, and final responsibility on purchases and investments made
  2. Board / Management responsibilities (RvA, management meetings, etc.)
  3. Accounting and logging of finances

Of these, the last two points take up the most time. However, this documentation focuses mainly on points 1 and 3. Point 2 is covered separately during general management onboarding, as it is not finance-specific.

Preface

Tools

As financial manager, your primary tools are: a Binder, Google Drive, the printer, and GnuCash.

Tool

Purpose

Binder

Physical storage of every transaction (see Book Keeping)

Google Drive

Digital storage of every transaction (see Book Keeping)

Printer

Printing all transactions, scanning declarations and receipts

GnuCash

The team's main accounting software

This documentation does not cover GnuCash usage in depth, for that please go to section TODO

Budgeting, Taxes, and Financial Responsibilities

Budgeting, Taxes, and Financial Responsibilities

Starting with the easiest but most important part: budgeting, taxes, and financial responsibility.

Budgeting

Budgeting is done at the beginning of the year and forms the guidelines for where money will be spent over the following year. This is done through GnuCash's budgeting system and is guided during onboarding by last year's financial manager, since they have a much more accurate picture of the team's needs going into the year.

Budgeting is split into many subcategories, for example:

Taxes

Note: This section applies (mostly) to Dutch (NL) tax rules specifically.

This is a daunting part of the role. It's straightforward if your accounting is under control, but it's incredibly important to get right — mistakes here can result in fines. Taxes are also a place where the team mostly gets money back, since tax returns can be claimed on taxable purchases. It is also where income tax is paid on all sponsorship income.

Before you file any taxes

Before you can file anything, you need to authenticate yourself. Individuals have DigiD; companies have an equivalent system called eHerkenning. It's offered by several providers, and RoboTeam uses Digidentity. When setting up your account, you'll see multiple levels of eHerkenning on offer — make sure to pick level 3, tax edition.

Once the new management has taken over and is successfully registered at the KvK, request an account on the Digidentity website. Preferably do this after the old management has been de-registered from the KvK, since the request needs everyone's signature. Once registration is complete, you can sign in at the Belastingdienst and proceed with your tax declaration.

You can also claim back part of the cost of your Digidentity subscription — request this through the RVO.

Doing taxes

Taxes are straightforward: group sales and purchase tax into either the 9% or 21% pool. When filling in the form, always round in the team's favor:

In practice, RoboTeam Twente usually has to fill in values in categories 1a, 3b, 4a, 4b, and 5b on the Belastingdienst form:

There currently isn't a good way to track invoices sent or received from abroad — as far as we know, GnuCash doesn't support this. A spreadsheet or a simple log of invoice numbers works fine as a workaround.

Important: Tax rules change and get updated regularly. While the process is broadly similar year to year, always check the Belastingdienst website when filing, and update this documentation if anything has changed.

Financial Responsibilities

Your main responsibility is to green-light any and all purchases. Most budget pools don't need to be micromanaged, as they're managed by the relevant team — for example, the PR budget is mostly managed by the PR team, and the team-building budget is handled by the activity committee. That said, you remain heavily involved in the decision-making for these pools — you should never micromanage, but you should always catch anything wrong or problematic, such as mismanagement of funds.

Another key responsibility is paying team members back for declarations — contributions made by teammates using their own money on behalf of the team. Examples include:

These are money spent by teammates for the team, so paying them out is important. All declarations should be realistic, and each one needs formal approval from you (or the person managing the budget pool of the relevant expense stream). Logging and paying declarations is covered in the Accounting and Logging of Finances section.

Setting Up Declarations

Before your team can start getting reimbursed, there are three things you need to set up:

  1. The declaration form. Take the old declaration form, adjust it however you see fit, save it into your own year's folder, and generate a PDF of it.
  2. The "how to get reimbursed" document. Take the old version and adjust it to match your year's declaration form. Make sure to update the Google Form link in section 0.1.
  3. A bank details form. You need a way to collect everyone's banking information without making it public. Create a Google Form, link it in section 0.1 of the "how to get reimbursed" document, and have everyone who wants to declare expenses fill it in. It should ask for: Email, Full name on the bank account, and IBAN.

Once these are in place, print 20–30 declaration forms — this should last a few months, especially early in the year — along with the "how to get reimbursed" document. Keep both in the binder, and make sure the binder never runs out of declaration forms. Also make sure the Google Form and the "how to get reimbursed" document are easily accessible to all members.

Sending Invoices

Perform the following steps each time you send an invoice:

  1. Fill out the from the treasurer account in overleaf (fill free to change the template as well if you wish)
  2. Send the invoice digitally, preferably from the treasurer email.
  3. Put the invoice in GnuCash under Accounts Receivable.
  4. Fill in the correct due date, so GnuCash can remind you. It's also worth setting a reminder in your own calendar for the payment deadline.
  5. Print the invoice and place it under Out in the finance folder.

Sending Invoices Abroad

When sending an invoice to someone located outside the Netherlands, you usually don't charge tax on the invoice itself — the receiving party handles their own taxes. Make sure to add a remark on the invoice stating "btw verlegd". More information can be found on the Belastingdienst website.

You will also need the tax identification number of the company you're invoicing — this must be included on the invoice.

Accounting and Logging of Finances

This process is split into three parts:

  1. Aggregating — transactions and incoming pending invoices
  2. Logging, Paying, and Accounting
  3. Book Keeping

Aggregating

This is one of the easiest steps to get wrong, but when done right, it's effortless and speeds up your workflow tenfold.

The core idea: by the time you sit down to log and account for finances, you need to already have everything that needs to be logged, accounted for, and paid, readily available.

In practice, this means printing all invoices and receipts the moment they arrive and putting them into an "open" section of the binder. This way, you can see everything that still needs to happen just by opening the binder. This isn't perfect on its own though — a digital version is just as important to keep, since checking your email twice for the same thing is inefficient.

Logging, Paying, and Accounting

This is where you'll spend most of your financial man-hours.

A good cadence is once a week — feel free to go more often if needed, but avoid going longer than a week (with exceptions), as this lets work pile up and can delay things like declaration payments or invoices with tight deadlines (some have a two-week deadline). Going more frequent than necessary (e.g. 20–30 minutes every morning) also works but usually isn't needed.

There are three main things you'll be doing here:

Book Keeping

This is where all invoices, receipts, and declarations are filed in their correct place, both in the Binder and in Google Drive.

Binder - four main sections:

Google Drive - mirrors the Binder structure, with everything named by invoice number (the same number used in GnuCash):


{team_year}/Declarations/{invoice_number}
{team_year}/Outgoing/{invoice_number}
{team_year}/Tax/{invoice_number}
{team_year}/Incoming/{vendor}/{invoice_number}

Declarations, outgoing invoices, and tax documents are filed directly into their respective folder. Incoming invoices are additionally split by vendor, since there are too many to keep flat.

At the end of every logging/accounting session, always confirm two things:

  1. Every purchase is accounted for in both the Drive and the Binder
  2. The GnuCash balance of the bank account matches its actual real-world value.

GnuCash

RoboTeam Twente uses GnuCash — free, open-source accounting software — to keep track of the team's finances. This document walks through setting up the account structure, tax tables, and the day-to-day transactions you'll be entering.


Starting Up

When initializing a new GnuCash document, click Next until you reach the New Book Options section. Under Business, fill in the RTT company details. The Company ID field is a convenient place to store the team's VAT number, in case you ever need to look it up.

Any account with sub-accounts is a placeholder account — placeholder accounts can't be edited directly, only through their sub-accounts. This keeps the overall structure organized and prevents transactions from accidentally being logged at the wrong level.


Account Structure

GnuCash organizes everything into a small number of top-level accounts.

Assets

The Assets account contains everything RoboTeam Twente owns — equipment, the robots, the bank account balance, and any budget held at partner companies. This can also include store credit held at partners such as RS or Würth.

Store credit is worth tracking carefully even though it can be a hassle — these balances don't always clearly show what's been spent or how much remains, and partners aren't always responsive about it. It's still important to keep tabs on, since RS in particular sends an invoice for any spending that goes beyond the store credit budget.

Equity

Equity is defined as assets minus liabilities, and should always be zero or higher. In previous years, the Equity account has only been used to set the opening balances of other accounts, so it typically has a single sub-account: Opening Balances.

Expenses

The Expenses account covers all outgoing costs and is fairly self-explanatory — set up sub-accounts per spending category as needed.

Income

The Income account covers everything coming in: partner contributions, event income, crowdfunding, and similar sources.


Setting Up Tax Tables

In addition to the four accounts above, create three more top-level accounts:

Account

Type

Purpose

Liabilities

Liability

Tracks VAT on expenses and income

Receivable

A/Receivable

Tracks unpaid invoices sent out by RTT

Payable

A/Payable

Tracks unpaid bills owed by RTT

To set up tax tables, go to Business → Sales Tax Table. You'll want four tax tables in total:


Using GnuCash

Transaction Fields

Every transaction has the same set of fields to fill in:

0% VAT

Some transactions carry 0% VAT — bank account costs are a typical example. Rather than creating a dedicated 0% tax table, just leave the tax field blank / set to 0% directly on the transaction.


Receiving an Invoice

If the transaction involves a company you haven't logged before, you'll first need to create a new vendor:

  1. Go to Business → Vendor → New Vendor…
  2. Fill in the vendor's details.
  3. Under Payment Information, assign the appropriate tax table.

Once the vendor exists (or if you're using an existing one), create a new bill:

  1. Go to Business → Vendor → New Bill…
  2. The Bill ID field should contain the invoice number.
  3. Fill in the transaction table the same way you would for a 0% taxable purchase.
  4. Post the bill, making sure the transaction description is filled in.

Once the bill has been paid, mark it as paid in GnuCash as well. Make sure Num contains the invoice number and that the transfer account is correct. It's also good practice to update the transaction's description in the Payable account to something more descriptive than the vendor name, since GnuCash sets it to the vendor name by default.


Sending an Invoice

When RTT sends out an invoice, it also needs to be logged in GnuCash.

  1. Create a new customer: Business → Customer → New Customer… — this works the same as creating a vendor, but uses the sales tax tables instead of the purchase tax tables.
  2. Create the invoice: Business → Customer → New Invoice…
  3. Fill in the transaction table the same way you would for a bill (discount columns can be left empty).
  4. When posting the invoice, set the due date to 30 days out, and make sure the description is filled in.

Once payment is received, log it via Business → Customer → Process Payment, making sure to include the invoice number in the Num field. Once done, the Receivable account balance for that invoice should return to 0.


Making a Budget

To start a new budget: Actions → Budget → New Budget.

Budgets can be tracked by month, semester, or quarter — previous years have used a quarterly split. This is configured under Options: for a quarterly budget, set "Every 3 months" with "Number of periods: 4."

At the start of the year, most accounts will still be empty and won't show up in the budget view by default. To show them: View → Filter By… → Other, then enable "Show hidden accounts" and "Show unused accounts."

Once all accounts are visible, you can fill in the budgeted amount per account, per quarter.