Bookkeeping in Edgeryders

This topic is a linked part of a larger work: “Edgeryders OÜ Company Manual


1. About this document
2. Always assign transactions to projects
3. Accounting for SAAS (Software As A Service)

4. Accounting for grant income
5. Recording multi-annual grants

1. About this document

Edgeryders keeps its books in accordance to International Financial Reporting Standards. At the time of writing, the company uses a cloud accounting service called FreeAgent.

This document covers neither the general principles of how to do bookkeeping (covered by IFRP), nor specifics of handling the FreeAgent software (it has its own documentation, and customer support is excellent). Rather, its purpose is to point to certain non-obvious practices that serve Edgeryders in particular well, and that we have decided to adopt.

2. Always assign transactions to projects

Projects are a functionality offered by most accounting softwares, including FreeAgent. They allow to keep separate accounting for different lines of activities within the same company. Projects have no legal status, so you are never required to keep track of them by tax laws; but doing so is informative about how the company is doing, and what it could be better.

Projects can be created from the FreeAgent main menu, choosing Work => Projects => Add new project. When creating a new project record in FreeAgent, adhere to the following hints:

Project currency. For the project’s currency, select EUR, even if the currency used in the project’s contract, budget or payments is a different one. Since EUR is necessarily our accounting currency and our only bank account currency, this yields the least confusion about and risk of currency conversion losses / gains.

Adjusting the budget. For projects where the contract and payments are in EUR, the budget is a fixed EUR figure and never changes. Enter it as it is into FreeAgent. For projects in a different currency, the budget in EUR is only known after the client paid the last invoice. Before that, it is only an estimate based on past and current exchange rates. Our Budget Template spreadsheet calculates these estimates, but is not yet perfect in getting the right sum in the end. For per-project profitability estimations (the only purpose of the “budget” figure in FreeAgent), these estimates are good enough though. So enter the estimate from the Budget Template spreadsheet when creating the project record in FreeAgent, and correct it at the end of the project, and that’s it.

Managing currency conversion gains / losses. Since we write our invoices in the contract’s currency (for example USD) and use them to explain associated incoming EUR transactions in FreeAgent, there is no need to account for any forex conversion gain or loss using the dedicated FreeAgent feature. That’s because FreeAgent is not aware of any difference in EUR between the invoiced amount at invoice date and payment date. So, nothing special here.

Contacts. In FreeAgent, each project must be assigned to one and only one contact (a client). When creating a new project, check that it corresponds to an existing contact. If that is not the case, create a new contact from the Contacts menu item. Creating a contact is straightforward, except for the treatment of VAT.

  • A contact is a client if it buys services from Edgeryders – for example, consulting. In that case, select Only if contact is also based in Estonia for the Charge VAT field.
  • A contact is a funder if it gives grants to Edgeryders – for example, the European Commission has awarded us research grants. In that case, select Never for the Charge VAT field. This is necessary because we issue “quasi-invoices” to funders, in order to keep our accounting by projects straight.

3. Accounting for SAAS (Software As A Service)

Edgeryders uses several services that provide access to cloud software that we can use. Some examples are Google Suite, Canva, MailChimp, FreeAgent and others. All these services work with ongoing payments, generally monthly: each month, each of them takes from our account the billed amount.

To account for these, the best practice would have us log into our respective accounts, download each bill, upload all of them onto FreeAgent, and then operate reconciliation. But that is a lot of overhead, so we do not do it.

3.1. When the software is NOT a direct cost of a EU project

Instead, we do this.

  1. After uploading our bank transaction statement into FreeAgent, locate the appropriate transaction(s). The Description always have the name of the company that bills us, for example this is for a service called Duxsoup:

    (..4947) 2021 08 07 04:54 Duxsoup* Dux Soup\Craenlaer\Ulvenhout Br\4851 Tk Nh Nld Sender/Receiver: Duxsoup* Dux Soup
  2. Click on More options. In the screen that opens, you can assign that transaction to a project by choosing an item in the LInk to project drop-down menu.

  3. In Select a type choose Payment. In Category choose Computer software.

  4. Finish by clicking on Create new explanation.

All this is part of the weekly admin work.

3.2. When the software IS a direct cost of a EU project

The above is a legally correct way of accounting for these expenses. However, it creates a problem for European research projects. The problem is this: in case of audit, the auditors want to see the bills, not just the payments. Additionally, the EU has its own cost categories for direct costs of projects.

So, we do this.

  1. We identify a person who is responsible for keeping a tab on these costs. This will be financed with project management person-months.
  2. This person keeps a list of which SAAS are being used for which projects. The list should be a wiki in the workspace of the Research Network. Ask @nadia if in doubt, she is the one who uses these services most.
  3. At regular intervals – at least monthly – the responsible person logs into the accounts of the service and downloads the latest bills.
  4. She then opens the Banking => Bank accounts tab of Freeagent and chooses the relevant bank account, normally LHV at the time of writing.
  5. Identify the payments by their amount. Sometimes they will be already reconciled, and show up in green, like this:

  1. Select it and click on More options.
  2. In the screen that opens, assign it to the correct project.
  3. Change Type to Payment and Category to Other goods and services.
  4. Click on Upload a file and upload the bill she downloaded in 3. Of course, the name of the service /company must coincide, and so must the amount. The amount requires a bit of attention, as the bills are sometimes expressed in USD or SEK whereas the payments are always expressed in EUR.

4. Accounting for grant income

Edgeryders has two main sources of income: payments from clients (generally from consulting projects) and grants from funding agencies (for example for research or arts/culture projects).

To get paid by clients, the company of course issues invoices. Grants, on the other hand, normally do not require invoices. This poses a problem with accounting. FreeAgent does have an “Other Money In → Grant Income” category, but when reconciliating incoming bank transfers in that way it is not possible to associate them to projects.

If you manage a project funded by a grant, proceed as follows.

  1. Create a Freeagent project: Work → Projects → Add new project. You might also need to create a new Contact for the funding agency, as all projects must be associated to a Contact.
  2. Create an invoice for the amount of the grant, and assign it to that project. When the payment comes through the bank, reconcile it as Invoice receipt.
  3. The invoice allows you to assign this income to a project in particular, but FreeAgent records it as Sales instead of Grant Income. To correct for this, create a Journal entry: Accounting → Journal Entries → Add new Journal Entry. The entry should have the same date as the invoice. Debit 001 Sales (to remove the grant payment from Sales); Credit 058 Grant Income (to assign it to Grant Income). Note: only users of FreeAgent with full access can manipulate Journal Entries. Ask @alberto or @noemi if you are unsure.

5. Recording multi-annual grants

Some grants are paid to us in advance (for example those for EU Horizon 2020 projects). It is possible that the project that the grant relates to extends over the financial year in which the payment is made.

If the payment is recorded as grant Income, it arbitrarily inflates profits for the first year covered by the grant and depresses them for the other years. In Estonia, this has no implications on corporation tax and liquidity (since tax is only paid on distributed profits, not on retained profits). But since it’s a distortion, we better account for it differently:

The principle is that, in each financial year, you should only record an amount of grant income equal to the money you spent on that project in the same year (plus the marginality, if any).

Example: Edgeryders receives in March 2016 full payment for a grant of 10,000 EUR. Half of it is to be spent in the same financial year; the other half is to be spend in the next financial year.

  1. When the incoming payment of 10,000 shows up in the “banking” section of FreeAgent, explain it (the full amount) as Other Money In → Receipt into Contra Account. The contra account is a sort of fund: you take the cash (only accounting wise, of course, the money actually stays in the account) and stash it into this fund.

  2. You now want to account for the part of the incoming payment that really pertains to the current year: 5,000 EUR. Create two manual banking transaction. The first one is Other Money Out → Payment from Contra Account, for 5,000. This takes 5,000 EUR out of the contra account and puts it back in the bank account (accounting wise!). Call it something like [project name] 2016 revenue.

  3. Next, create an invoice for 5,000 EUR, and assign it to the project associated to the grant. You need to do this because it is the only way for us to track profitability of grants, as explained in more detail above. Once you have created the invoice, mark it as sent, then click on the Add a manual payment button and confirm.

  4. The 5,000 EUR go through an invoice, so FreeAgent sees them as Sales instead of Grant Income. To correct for this, create a Journal entry: Accounting → Journal Entries → Add new Journal Entry. The entry should have the same date as the invoice. Debit 001 Sales (to remove this sum from the Sales turnover); Credit 058 Grant Income (to assign it to Grant Income). Note: only users of FreeAgent with full access can manipulate Journal Entries. Ask @alberto or @noemi if you are unsure.

  5. At this point, you have 5,000 in the contra account; 5,000 recorded as grant income for the current financial year (FYE 2016); 5,000 of costs related to the project for the same financial year (not mentioned in the example, assumed to happen between 1 and 2). The income of 5,000 is associated to the project counted into profits, but not the rest of the payment, that remains available for the following financial year.

  6. When the next financial year comes, repeat 2 through 4.

  7. At this point, you have emptied the contra account (its balance is zero). You also have 5,000 recorded as grant income for the second financial year; and 5,000 worth of costs for the second financial year.

1 Like