Financial reporting for a Horizon 2020 project

manual-section

#1

This topic is a linked part of a larger work: “Horizon2020 Project Coordination Manual

 

Status: the process documented here is ready to use. Only the “Financial reporting utility” is still under development by @matthias but will be ready when the first financial report is due.

Content

1. Why we are doing this

2. Preparing the reporting tools

3. Worktime

4. Invoices and expenses

5. Filling the Financial Reporting Template

6. Design rationale


1. Why we are doing this

EU research projects are accountable to the funding agency, the European Commission, in a highly structured way. Each project’s documentation should be ready for a full audit. An audit is a process in which project partners are required to produce every single invoice, timesheet, receipt etc. for the whole project. An audit can happen at any time within five years of the date at which a project ended.

We want to be producing project documentation in such a way that an auditor would immediately understand the work done. The main rationale is to explicitly connect effort (work time, expenses etc.) to results (WPs, deliverables etc.). For example, the following are examples of clear, accountable reporting:

  • reporting 3 hours on 2019-04-18 for writing and revising deliverable 5.3
  • claiming a refund for travel expenses for the trip to Berlin of 2019-06-03, to raise awareness of the project with the hacker community, as per task 2.4 on engagement

To achieve this, please use the free text fields to explain what you have been doing.

In this way, the auditor can trace what we have been doing (effort) to what has been done (result).

2. Preparing the reporting tools

This is a task for an administrator / project manager, to be done once at the start of a Horizon 2020 project:

  1. Sign up on SignRequest. Create one single account of type “Professional”. Everyone else who needs to sign our sign requests can do so without any account or optionally the free account.

  2. Install the “Financial reporting utility”. This is our custom tool. Once it’s finished it will be published on github.com/edgeryders together with installation instructions.

  3. Create “unbillable” tasks in FreeAgent. These will be used for time tracking there by people who want to do that in FreeAgent (which is not mandatory).

    1. Log in to FreeAgent.

    2. Go to “Work → Projects → (select your project)”

    3. Click “Add New → Task” in the top right.

    4. Enter a work package name as the task name.

    5. Untick “Is this task billable?” (See “Design rationale” below for reasons.)

    6. Leave “Rate” at “0.00”. (See “Design rationale” below for reasons.)

    7. Click “Create and Add Another”, and repeat for all work packages of the project.

3. Worktime

3.1. Tracking your worktime

You have to track your worktime for Horizon 2020 projects split by project and work package. Tracking in finer granularity (by the “task” inside a work package, and your own sub-tasks inside that) is entirely up to you and does not have to be transmitted. Likewise, tracking time that is not eligible for reimbursement (because it’s outside the scope of your contract) is entirely up to you, but can give you a better idea of your earnings of course.

You only have to report eligible hours worked per project, per work package, per month.

The choice of time tracking tool is entirely up to you. We show the process using our FreeAgent account below, which is free to use for you (as you have an account already to enter your expenses and invoices).

Minimum requirements for a time tracker

  • Able to summarize your worktime entries in a three-level hierarchy: (1) month, (2) project, (3) work package. Because these are the numbers you’ll need to fill in the signed time reports.

  • Tracking your activity in one more level of detail below the “work package” level. This can be for example by using another level in a project-subproject hierarchy, or by adding notes to time slips (as done in FreeAgent). While you don’t need this data to fill signed time records, we will ask you for it and store it for the case of an audit, where it’s good to be able to explain who did what when.

  • Recording at least the daily aggregate worktime for that level of detail below “work package”. There is no need to track all start and end times; for example FreeAgent does not.

Time tracking with FreeAgent

If you use FreeAgent as your time tracker, there are two small advantages: we already have set up the projects and work packages you can use for tracking time; and you will not have to upload original and exported data of your time tracker once a year, as we already have access to it via FreeAgent. Disadvantage: the interface is not that comfortable or efficient.

To use it:

  1. Log in to FreeAgent.

  2. Go to “Work → Time Tracking”. You have now three options to proceed. In all cases, select the work package as the FreeAgent “Task” to which your worktime belongs. This is mandatory according to the reporting requirements we have.

    • Option 1: Select project and task and click “Start Timer”. This will use FreeAgent as a time tracker. To stop tracking, click on the “pause” button that appears next to your newly created timeslip.

    • Option 2: Select project and task; fill in the worktime field and if necessary the date. Click “Add Timeslip” (the “Start Timer” button changes its function when you add a worktime figure). This allows to record the worktime for a single day.

    • Option 3: Click “Add Weekly Timesheet”. This allows to efficiently take over your worktime tracking from another tracking application, and may be your preferred choice if you are already using one.

  3. Add a comment. Add a few words as to what you used the time for, referring to Tasks and deliverables as much as possible (see section 1. for examples and an explanation of why this is necessary). For this, use the comment field at the bottom of the timeslip form:

  4. Create a report. When it’s time to fill and sign your time record once a month (or to use the same for invoicing Edgeryders), make FreeAgent summarize your worktime: go to “Work → Time Tracking → Create Report” and create a timesheet report. Remember to create one report per project per billing period. Add your report to your bill, and upload the bill onto FreeAgent as usual.

Time tracking with other tools

Here are a couple of recommendations. Feel free to add to the list:

  • tom with tom-ui. An open source time tracker tool with both a graphical and a command-line interface. It runs under Mac OS X, Linux (with Ubuntu packages) and should also run under Windows (but no installer is available so far). It is compact and works nicely but is still in the early stages of development, so be sure to make regular backups.

  • Timewarrior. For nerds and other friends of command-line tools, this is a mature open source CLI time tracker.

  • … and a myriad of other tools

3.2. Signing time records

This process must be done once per month, to sign the time record for that past calendar month. To simplify the task for you as a collaborator, you only have to follow the second part of this process.

 

The first part is for an Edgeryders admin person. For each Horizon 2020-related bill you receive, do the following:

  1. Open the bill and check that the number of hours worked corresponds to the number of EUR billed.

  2. Export the timesheet in PDF format using FreeAgent. Alternatively, you can save on your hard drive the bill + the timesheet, again in PDF format.

  3. Log in to the Edgeryders SignRequest account.

  4. Send sign requests via signrequest.com. All timesheets for each (collaborator, project) combination must be signed; however, SignRequest allows sending multiple documents to the same signatories in a single request, so you can prepare only one request per each collaborator, provided that that collaborator reports to the same team leader across all projects. Please select the “only others” option (not “me and others”) when telling SignRequest who needs to sign. This way we need not bother with giving SignRequest login credentials to all team leaders. In the “contacts” field, enter the emails of the recipients of the sign request. These are both the collaborator and her / his team leader. If the collaborator is herself the team leader, the “supervisor” is the research director. If the collaborator is herself the research director, then “supervisor” can be any other company director.

  5. Make sure people signed after a few days, and if necessary, follow up with them.

 

The second part is for the collaborator and team leader:

  1. Wait for the sign request. It will come once per billing period by e-mail.

  2. Collaborator: fill and sign sign the document. To get help with Sign Request, go here.

  3. Team leader: check, fill an sign the document next. Check the document first – especially make sure that the reported values are in conformance with the collaborator’s documented leave times, if any.

 

At this point, the signed time records are stored together with their audit logs in the Edgeryders SignRequest account. Leave them there and don’t delete them from there until 5 years after the project, as required – this is the best way to preserve a fully auditable document trail. When the time comes to create the next report, we will only export the data from these documents.

4. Invoices and expenses

These are the steps required by every project collaborator. Like worktime, costs can only be included in the reporting period (here: 6 or 12 months) where they occurred, so it’s important to enter an invoice quickly into FreeAgent after creating it. The project manager will however inform collaborators in time when a reporting deadline is approaching.

4.1. Entering your invoice

Use the following process:

  1. Write one invoice per project. FreeAgent does not allow us to split a bill between two separate projects. For this reason, collaborators need to send to Edgeryders one invoice per each project they have contributed to in that period. Each invoice should come with its own timesheet (see above).

  2. Write your invoice as usual. It is ok to invoice for multiple work packages in one invoice. But only invoice for your work in past full calendar months, to allow the project manager to quickly check that your invoice is correct, by comparing with signed time records.

  3. Fill in the sum of worktime as shown on your signed time record. There is no need to split it by work package.

  4. Optional: Attach your signed time record to the invoice PDF, as proof that your invoice is correct. This may make the work of the project manager a bit easier. But it’s not mandatory. (You’ll need to know how to combine PDFs.)

  5. Register your invoice as a bill in FreeAgent for payment by Edgeryders, by following our usual process.

  6. Special case: if your invoice is not for worktime. In the exceptional case that your invoice is not for time-tracked worktime on the basis of a contract with Edgeryders, write the correct h2020_costtype=… value into the comment field of the bill. Potential values are documented under 3.2.. This is only needed for cases where the value is different from h2020_costtype=personnel, which is assumed as the default for invoices.

4.2. Entering your expense claims

  1. Register your expense claim by following our usual process for expense reimbursements.

  2. Fill in the work package number into the “Description” field of the expense record, using the format from this example: work_package=wp1.

  3. Fill in the Entry date into the “Description”** field of the expense record. FreeAgent does not record at what date an expense record was created in FreeAgent, but that is important to determine in which reporting period the record has to be included. So enter it manually in the format from this example: entry_date=2018-11-02.

  4. If not travel: fill in the expense type. If your expense record is for travel expenses, no need to do anything here as h2020_costtype=travel will be assumed as the default.

    If your expense type is different, add the right h2020_costtype=… value from the European Commission Reporting Template’s official categories (p. 24):

    main categories

    These are the only categories that you’ll have to care about:

    • travel. Assumed by default if no h2020_costtype value is given. Travel costs, such as flights, accommodation, per diem allowances.

    • equipment. Officially “Other direct costs: Equipment”. Equipment purchases that are direct costs for the project.

    • indirect. Indirect costs, which are costs not directly incurred as a result of the project. For example, accounting fees. They will not be included 1:1 for reimbursement by the European Commission, but as 25% of direct costs. So it is not necessary (and not possible) to mark all indirect costs across projects, but if there is an occasional indirect cost item accounted for in the Horizon 2020 project, mark it that way so we know what it is.

    • non-eligible. Cost that we cannot get reimbursed by the European Commission, for example because it was not included in the original budget or reported too late. It may still be a business expense for Edgeryders OÜ, which is why we cannot determine the cost type simply from the FreeAgent expense category and need this whole mechanism in the first place.

    auxiliary categories

    You will typically never encounter these categories in an Edgeryders H2020 project, but for completeness of the system, here they are:

    • other-goods-services. Officially “Other direct costs: Other goods and services”. Other costs that are eligible for reimbursement under Horizon 2020 rules.

    • subcontract. Officially, “Direct costs of subcontracting”. These are invoices for services except where the work hours are being tracked inside FreeAgent. This cost type will be usually absent for us; consult with the project manager in Edgeryders OÜ if you think you need it.

    • personnel. Officially “Direct personnel costs”. Invoices for work hours that have already been tracked inside FreeAgent. As a result, these invoices will not be included in the financial reporting since the associated work hours are already included there at the time they are accrued.

    • large-infrastructure. Officially “Other direct costs: Costs of large research infrastructure.” Will not be needed for our projects, but adding it here for completeness.

    • financial-support. Officially, “Direct costs of financial support”. Whatever that is, it will not be needed for our projects.

If you make a mistake, no problem. Expense records can be edited at any time, even after the expense has been reimbursed already. The same applies to the “Comment” field of bills, even after the bill was paid (which locks most other fields).

5. Filling the Financial Reporting Template

The instructions below document our custom, open source tool that helps to fill in the Horizon 2020 “Regular Reporting Template”. This is a standard template required by the European Commission. The reporting periods vary, either 6 months or 12 months. (For POPREBEL, it is 12 months. An internal report is required at 6 months, but we argued to use blog posts for that.)

The reporting template is implemented in various ways by the project lead partners. Usually they implement it with a spreadsheet. This implementation can vary slightly, but the spreadsheet or our tool can be adapted easily.

  1. Get the FreeAgent data export file. This can be found in our FreeAgent account “Edgeryders → Settings → My Company → Export All Data”. Save it to your computer.

  2. Get the SignRequest signer export file. This can be created in SignRequest in the “My Documents” section, by clicking Export Signers.

  3. Run the financial reporting utility. When the first reporting is due, we will have a small custom tool that can convert the above FreeAgent and SignRequest files to the format that is useful for filling the Financial Reporting Template.

  4. Copy & paste the “Personnel Costs” spreadsheet. Copy all values and paste them in the Financial Reporting Template into sheet “Personnel Costs”, table “Personnel”.

  5. Copy & paste the “Travel & Subsistence” spreadsheet. Copy all values and paste them in the Financial Reporting Template into sheet “Travel & Subsistence”, starting in column “B” (“Attendee(s)”). Then fill in column A manually and sort the table at the end.

  6. Copy & paste the remaining spreadsheets. They go into spreadsheet “Other costs & Subcontracts” into the like-named tables “Other costs”, “Subcontracts” and “Direct costs of Financial Support”.

  7. Fill in the remaining fields in spreadsheets “Summary” and “Claim history”. We might be able to automate some of that by improving the reporting template we received.

:bulb: If you came here to know the process, you can stop reading. Everything below is just the discussion that made this process.

6. Design rationale

  • FreeAgent as data source, as much as possible. FreeAgent is our authoritative data source for financial data, so they need to make it from there into the official reporting spreadsheets somehow. Because of that it makes sense to store all data that needs to go into the reporting spreadsheets in FreeAgent, if possible.

    Data for various single-value fields in the reporting template cannot be stored in FreeAgent of course, but automating form-filling for this makes no sense anyway.

  • A template based signature service for time records. We cannot store the signed time records inside FreeAgent (even though FreeAgent can store timetracking data) because it does not have the required “auditable log” and “use of electronic signatures”. Any admin can edit any time record there without leaving a trace.

    However, as only monthly work hours per work package need to be reported, there is no need for a time tracker with auditable log, either – and such a thing does not even exist as open source software yet (see below). This makes a web-based signature service that offers templates the most convenient solution. After looking through a lot of options, SignRequest is a great one, both very affordable and good quality. We only need one account at 7 EUR/month.

  • A custom reporting utility. In the proposal above, we use one custom-developed tool that helps us fill the financial reporting template. It takes invoice, expense and time slip data from our FreeAgent accounting software and converts it to tables that can then be copy & pasted to the Financial Reporting Template. A custom tool makes sense here, as there are many records, so automating their conversion saves worktime and avoids mistakes.

  • Reporting utility architecture. We will have a small custom tool that can convert FreeAgent data and signed time records to the format that is useful for filling the Financial Reporting Template. Not sure yet how this will be implemented, but the following seems a flexible and fast to implement proposal (avoiding having to work with the FreeAgent and SignRequest APIs):

    The tool will be a Python command line tool on your local computer. With respect to privacy and potential security holes, this is best. You call it with the FreeAgent export file and the SignRequest form data export file as parameters.

    For better usability (“no install”), we may also create a small web utility on our server, based on Python Flask. It would simply present a simple form to upload the files and, call the command line utility in the background, and offer the converted file for download as a LibreOffice spreadsheet.

  • No custom tools for other forms. There are also other reporting forms, but we do not collect the data to enter there in any structured form. Also, these other forms nearly exclusively look for individual values, not lists of records, and thus there is no way to make this part of the reporting more efficient. We could only provide a form that looks different and does the same, filling in the other form, which is a waste of programming capacity.

  • Only use unbillable tasks in FreeAgent. For users who use FreeAgent for their H2020 time tracking needs, all FreeAgent tasks should be set to “unbillable” to not show show up as “not billed yet” in FreeAgent project statistics (see). Showing up as “not billed yet” would be inadequate because it implies we should invoice European Commission for these hours – while we only have to report them to European Commission, but not invoice for them.

  • Only use zero rated time in FreeAgent. For all H2020 related tasks in FreeAgent that we use for time tracking, we set a rate of 0.00 EUR/hour. This way, the “Include unbillable time” option, enabled by default on the a project’s overview page in FreeAgent, will not alter our project profit statistics. If we’d want to use that option as intended (so that it offers useful results on the project overview page), we’d have to set up different tasks per work package because people get paid different rates per hour. That creates more overhead, which seems unjustified. There would be no other use for these hourly rates: they are not used to invoice the client (since it’s a grant, not paid by the hour) and there is no FreeAgent feature that would use them to sum up how much a collaborator can invoice Edgeryders for – no monetary values are included in the “Work → Time Tracking → Create Report” reports.

  • Tracking time by project and work package. While the official timesheet template does not require splitting tracked time by work package, the European Commission’s reporting template requires this:

    When direct personnel costs are reported in the financial statement, a pop-up window will appear in the IT tool requesting to give information of the amount on person months per WP.

    Likewise, the reporting templates received by the consortium leaders require this information as well.


H2020 Teams: What we need = What you need + What I need = What they need
Invoice payment process
#2

So how does this sound as a process @anique.yael?

And as for the remaining questions:

  • How often do the reporting templates have to be filled and sent, i.e. what is the “Period” mentioned in the NESTA Financial Reporting Template?

  • The UCL reporting templates do not include a “Periodic Financial Report”. I guess that only means we did not get all the templates yet, since that Periodic Financial Report seem obligatory (according to the EC template document, p.27).


#3

Any news / feedback for this proposal, @anique.yael? (Remember that the proposed solution needs some programming, so we need some time before 2018-12-06 to get this done …)


#4

Yes thanks for the follow up!! Got a bit too much on my plate but this is on my to-do list for tomorrow :palm_tree:


#5

So thank you again for this @matthias, amazing proposal.

I have a few questions:

On time tracking

So are these three different options for time worked to be entered? For example, most of the time I work many more hours than I’m paid for and using a time tracker would not be a good idea. But in this case I could use the third option of a weekly timesheet correct?

On work packages

So I’m just not quite clear on the the manual calculation of the subtotals per work package - can you share more on how this is done?

On expense types

So this is where things get a little tricky and I appreciate how you’ve approached it. For example, yes what is a direct cost haha.

I propose the following changes:

  • subcontract is changed to Direct costs - services because subcontracting is a whole other kettle of fish in H2020 and if/ when we are audited it will be very confusing

  • support is changed to Direct costs - goods because this is the other part of what Direct costs covers. For example, the food used to feed people at an onboarding workshop

  • non-eligible is changed to Indirect costs because there is 25% of each project’s budget that is actually allocated for company overheads and this will be useful for internal and potential external auditing also I believe.

On calculations

What I’m not seeing here is how people’s hours are then translated into their PMs? PM = person month = a stupidly complex calculation of personnel time. Ours is set at 6000 and this is how all our personnel costs are budgeted for in the projects. The following is an excerpt from the OPENCARE budget tracker for calculating the annual productive hours and hourly rate that is the best synthesis I’ve found so far. There’s this weird back working mechanism where we are budgetd PMs and then need to create hourly rates and hours and then return them back to PMs. You may like to check out the Annotated Model Grant Agreement here on pp54 - 58 where it is referring to Article 6.2.A.1 (which begins on p42) if you want more explanation. I do apologise for the horrible language - I’m still wrapping my head around it myself but once we have the formulae in place it’s rather simple.

This is one of the stickier sides of reporting where University of Bordeaux had a formula in built into their timesheet tracker to work out the PM. I see Nesta just has the PM number, which means that according to the GA, we have to have the calculation “within our own cost accounting practices.”

IE. Hourly rate = PM multiplied by 12 months divided by 1720 productive hours per year.

EG. My hourly rate = 6000 * 12 / 1720 = 41.86

The thing is that at times we will have people on different hourly rates (a project coordinator or junior comms person may be paid less for example). So we need to build that into the system.

Thanks for your understanding if this isn’t so clear. Please let me know what else I can do to make it clearer.

In response to your questions

Periodic reporting depends on the project but I believe ranges 6 month (min) - 12 month (max) increments. For example, for POPREBEL we have to do 6 monthly internal reports and yearly reports to the Commission. (We’ve advocated for the internal reports to be blog posts here FYI).

That’s right - I’ve followed up their project management team for the financial reporting templates and hope to get them ASAP.

Finally, @alberto seeing as you are best across how the reporting actually happens, and I’m still working hypothetically, might you be willing to take a moment to review this proposed tool to gauge that we’re covering everything?


#6

Technically yes. Or you could use the timetracker and edit its records afterwards if it’s “too much”. Even better is to track / enter all your worktime, but only report as much as you can get paid in the project. Will help us to determine how profitable our projects are overall. (I edited this in to the wiki above.)

No longer needed. We (as Edgeryders OÜ) don’t need that information in invoices we receive, so I removed that part from the wiki.

I used the expense type categories found in the Financial Reporting Template provided by NESTA. And I assume that UCL (once they provide their version of the template) will have the same or very similar ones, because they also appear in the European Commission Reporting Template on p. 24. So these are “official” categories and we can’t use others, right?

Good point about indirect costs, I’m adding that category to the wiki (it will be used rarely of course since most indirect costs will appear in the core project, not related to a single project). Non-eligible direct costs are possible, though, so I prefer to keep that category in. For example in OpenCare we had the case of funding the development of the consent funnel (non-eligible since it was reported too late or something) and for Noemi’s work to clean up the consent data (non-eligible as it was not budgeted for, so we paid it from our profits … but it was still a direct cost).

That will be a task of our custom software. Since there seem to be multiple ways and we can decide (within limits) which one to choose, I’ll ask you in time which one is the right one. Applying a standard of 1720 productive hours per year for everyone would already enough to derive the calculations.

The hourly rates, on the other hand, are not relevant for the reporting templates – these all use person months, and monetary values assigned to these. Hourly rates will be needed for people invoicing Edgeryders OÜ for a certain amount of hours, so it would avoid confusion to calculate these values and put them right into people’s contracts. Not relevant for the software under discussion here, though.

I expected something like “monthly”. If it’s every 6 months, then custom software development for this as in my proposal is borderline uneconomical compared with manual data extraction. Since we have two projects at the same time and manual data extraction is just plain horrible (wanting to spare you … ;)) I think we’ll still go ahead and create this piece of software …

So far, so good. I think I know what I need to know to get this piece of equipment done (with @anu …). Of course, shout if I’m missing anything or you’re not agreeing with what I wrote above.


#7

One more question for @anique.yael: What would be the deadline for the actual development of the custom “Financial Reporting Utility” proposed above?

The deadline for the whole process is 2018-12-06. Now while the process is already ready to use and will produce data as needed by our soon-to-be Financial Reporting Utility … the custom programming needs some days. I’m planning who does what right now, which is a bit of a tight fit until end of the year.

Means, when do you need that utility the first time for real-world usage? That would be the deadline for software development that I need now. So probably around the time when the first report to consortium leaders is due, or (if you intend to use the same reporting form to track the progress of the project) when you want to create the first such “internal” report.


#8

Thanks for the clarifications @matthias.

In response:

  • Expense categories

Ok good point but that would involve being super clear with anyone filling out Free Agent that they are not a subcontractor in the Horizon2020 usage, and explicating what support is. Do you agree that we could have these two categories as what I propose above in Free Agent but then when they are imported to the spreadsheet for copy into the coordinator’s report, they are updated to the reporting language? Or perhaps even automate it if easy.

Also noted re the importance for keeping non-eligible direct costs.

  • With translation of hours to PMs yes that makes sense. Contracts will not mention hourly rates but rather a flat rate with number of hours, days, months, and percentage of time. So if I’ve understood correctly - and perhaps you may like to pipe in here @alberto - the key is to get team members to log hours - as we need timesheets - and make sure these can translate to PMs - as this is how the work is reported.

  • Speaking of, UCL got their financial reporting template to me. It’s not particularly useful in that it’s not a spreadsheet nor requests anything other than costs in a table with a bunch of other qualitative info, but may be worthwhile taking a look to briefly check in case it updates your understanding on any different outputs.

  • In terms of timing, we’ll be having team members log their work on these projects from 1 January 2019 so ideally the tool is set up before then. First payments will be made either end January or end March (we’ll be going with quarterly payments but pending on receipt of the funds, I may propose to the Board an initial payment for team leaders as they begin). Is 1 January 2019 do-able for you and @anu? If not, we can come up with an interim solution.


#9

Thanks for the amazing work! Here we go.

###Vocabulary (trivial)

@matthias should be not use standard (FreeAgent) terminology? If I understood correctly:

  • “Invoice” in section 2.2 refers to what FreeAgent calls “bill”.
  • “Bill” in section 2.3 also refers to what FreeAgent calls “bill”.

Right?

Second this. This stuff should be in the Commission’s language.

A philosophical point: time vs. deliverables

In order not to create too much overhead, we have so far negotiated with people that they complete tasks, which normally result in deliverables. We are not really buying their time: we telling them: “we want you to do X. We are prepared to pay you Y, which corresponds to Z% of your FTE”. We do not care if the person really uses all the hours/days allocated, as long as she completes the task to our standards of quality.

The EC thinks in time. So, we still request people to provide timesheets. The timesheets for each person must run up to the Z% of FTE she sold us. But that is NOT “billable time”, the reason for which the FA reporting system was created. Time is not billable. As long as this is understood, I’m happy with the system proposed.

###Miscellaneous

This is correct. By definition you do not report to the EC indirect costs, and they belong in the Core project. You also do not report direct non-eligible, but they belong in the project under our own accounting.

This will be computed by NESTA spreadsheet. But basically one PM equals one twelveth of 1,720 hours, so 1/(1,720/12), so ~.007 hours. There are ~ 143 hours in a PM.


#10

Hi @matthias just wanted to double check when we might be ready with 2.3 Entering bills and expense claims or is it all ready to go? We’ve got some kick off meeting expenses being made.

Thanks!


#11

Yes, that part is ready to go :slight_smile: Cf. also at the very top:

As usual, some need for changes might become apparent during early usage. If so, anyone should of course just tell so here. That may result in slight changes to the process but that’s no problem as it just means updating some FreeAgent records in this case to conform to whatever the new process will be.

Also I have given the proposed expense type classification in section “2.3. Entering bills and expense claims” some second thoughts and I think it’s good as it is. Let’s make the software not specifically for our two H2020 projects with these two project leaders, but a general tool for whatever H2020 project we may get in the future. So indeed, as Alberto says and as so far done in the proposed expense type classification:


#12

As requested by you @matthias, here is an update on the presentation and then conversation had with our UCL coordinators (Silvia and Richard) on our financial reporting at the POPREBEL kick off this week.

Relevant points from Silvia’s presentation on financial reporting include:

Accounting - most important categories

  • Direct personnel costs

    • Staff must be employed - employment contract or payroll (nb. we have cross checked that our consulting formula is legit)
    • Time spent must be recorded
  • Other direct costs

    • Equipment
    • Travel and subsistence
    • Goods & Services
  • Important to remember - Coordinator does not ask but we need to have them on record

  • Timesheets - normally monthly

    • H2020 timesheet template to be downloaded

    • OR Alternative reliable recording system with

      1. The title and number of the action as per the GA
      2. The beneficiary full name
      3. Full name, data signature of the person
      4. Number of hours worked in a monthly time period
      5. Supervisor full name and signature
      6. Reference to the action tasks and WP of annex 1
  • Costs to be eligible

    • Incurred directly
    • Reasonable and justified
    • Keep all the documents up to 5 years after the end

In our discussion specifically on the tool Edgeryders is building, Silvia mentioned that as long as all necessary details (1-6 above and pasted again below) are included, it should be fine for reporting just the % of time worked (that is equal to hours worked) rather than logging each hour. To reiterate:

  1. The title and number of the action as per the GA
  2. The beneficiary full name
  3. Full name, data signature of the person
  4. Number of hours worked in a monthly time period
  5. Supervisor full name and signature
  6. Reference to the action tasks and WP of annex 1

I have asked for confirmation that is correct. What this means is that if technically it’s posstible, we won’t need to get everyone to record every hour spent but can rather just submit the % of time they are contracted to work and then we can calculate/ automate that as a number of hours. This is what UCL’s staff do in fact - where Richard just writes that he worked on a Task and then the staff calculate how many hours that should have been. So I’ve asked for absolute confirmation that if we create an automation such that the % of time allocated to the person calculates the hours worked in a monthly time period and that is what is logged rather than actual hours will that suffice. Keeping all this in mind that we still need to make sure that the Free Agent data can be exported into a spreadsheet for the Coordinators should they require it.

In any case I’d like us to do a test export of the data in a spreadsheet with you before we finalise the tool. Let’s wait to hear from Silvia on this before doing so.

You can take a look at the European timesheet template and an example of Richard’s here

Make sense?


#13

Thanks, Anique. Will wait for the final confirmation which way to go for time tracking for the POPREBEL project. Please find out the same for NGI Forward as well – to avoid process confusion on our side, we’d only use the “calculate the reported hours” method if both projects are fine with that. (I doubt it though, as even UCL’s guidance notes on their timesheet template say: “5. Enter ACTUAL hours carried out for work on a daily basis”).

How the time tracking process would look like in each case:

If we can report calculated hours

  1. We’ll not track any time inside FreeAgent in that case but adapt the timesheet template spreadsheet to be a Google Docs document per collaborator that will calculate the to-be-reported hours with formulas in the spreadsheet.

  2. To record the signature, we let the consultant upload a signature image right into the spreadsheet file. Then the supervisor (who must be the document owner) will also sign that month’s spreadsheet tab and then protect it against further changes. This makes sure nobody can come in later and change the signed data after the signature was done; and anyway, such changes would be recorded by Google Sheets.

  3. Then we have a master spreadsheet that uses IMPORTRANGE() to collect to-be-reported hours from user spreadsheets, right into the UCL / NESTA financial reporting template spreadsheet.

If we have to report actual hours

  1. We keep tracking time in FreeAgent as proposed in the first post above. But we use tasks, not just work packages, as the units to track time for, because that seems to be required (“Reference to the action tasks and WP of annex 1”). Also, we include the EU project number into the project name as that is required to appear on timesheet reports (“The title and number of the action as per the GA”).

  2. We let users create PDF exports of their timesheet reports from FreeAgent. If “normally monthly” means that we can also do it less often (before the next financial reports are due, every 6 or 12 months), that’s much better because it saves admin overhead.

  3. Users upload the to-be-signed PDF file to a signature web service like digisigner.com that we still have to select (there are several). The user signs, then invites the “supervisor” to sign, who also signs (technically, only after checking that the data conforms to the user’s FreeAgent timesheet report). After this, the signed timesheet PDF contains all the required information.

  4. Contrary to the current proposal at the top of the topic, users no longer have to attach the timesheets to their invoices, as that would make signing and countersigning a mess. Instead, we use the signature web service to store our signed and countersigned timeslip documents, and occasionally create backups of them to Google Drive. If we can create timeslips every 6 or 12 months, we’ll directly save them to Google Drive as well as it’s not too much overhead then.

    (Unfortunately, we cannot store the signed FreeAgent timesheets in the FreeAgent Files section. Because that is a section for private files uploaded by each user, not even accessible by the admins of a FreeAgent account. I just tested that.)

  5. As proposed at the top of the topic, we then use our custom-made financial reporting utility to pull the timesheet data from FreeAgent and calculate the person months, sums of expenses etc. for copy&pasting to the financial reporting template.

    Since FreeAgent time tracking data can be edited / amended at any time, technically the project administrator would have to cross-check this with the signed timesheet reports to exclude tampering with the data. But that would be a rough plausibility check only. Our tool would still make the process more efficient.

The only thing we can do right now (i.e. before there is a tool that exports spreadsheets) is to test if with my process FreeAgent will contains the necessary data to export the spreadsheets. You can already do that (just assume we’ll do time tracking inside FreeAgent). You’d create some test expenses and time tracking entries, create and check the data on FreeAgent time tracking reports, and manually make sure that all the data for filling the financial reporting template is present as well.

On my side I’m confident all the necessary data is there as I created the process. So I’m not keen on working through a test case in detail, again. But of course let me know when you get stuck.


#14

“Actual” is a legal term. It means: you are responsible for the truthfulness of what you declare (as in “I worked 3 hours on Task 2.1 on 23 April 2020”). The evidence of that is… the timesheet. And, of course, that an adequate output exists for the activity that those 3 hours feed into.

So, I would not worry too much. Let’s make the tools that make sense for us, and respect the minimal guidelines. How we get to the data is our choice.


#15

I would like to propose a tweak to this process. I think we are close to a solution based not on hearsay, but on documented knowledge.

First of all, it turns out that the theme is treated in the 800 pages Horizon 2020 guidelines, precisely here. Following the link, you eventually hit on a timesheet template with the minimum information required. The accompanying text is the following:

For persons who do NOT work exclusively for the action, the beneficiaries must:

  • show the actual hours worked, with reliable time records (i.e. time-sheets) either on paper or in a computer-based time recording system.
  • Time records must be dated and signed at least monthly by the person working for the
    action and his/her supervisor.
  • If the time recording system is computer-based, the signatures may be electronic (i.e. linking the electronic identity data (e.g. a password and user name) to the electronic validation data, with a documented and secure process for managing user rights and an auditable log of all electronic transactions)

Time records should include, as a minimum:

  • the title and number of the action, as specified in the GA
  • the beneficiary’s full name, as specified in the GA
  • the full name, date and signature of the person working for the action
  • the number of hours worked for the action in the period covered by the time record
  • the supervisor’s full name and signature
  • a reference to the action tasks or work packages of Annex 1, to which the person
    has contributed by the reported working hours.

Information included in time-sheets must match records of annual leave, sick leave, other leaves and work-related travel.

So, here’s my proposal.

Alternative 1: fully electronic

  1. Time-tracking happens with FreeAgent. People log in with their own FreeAgent user, which should replace the electronic signature of the collaborator.

  2. We write some tools to save the timesheet in CSV form or something (this is for providing excel sheets to the consortium coordinators).

  3. The timesheet is downloaded in PDF format by the team leader that the collaborator is reporting to, or an Edgeryders director if the team leader is not herself an Edgeryders director. The timesheet as exported from FreeAgent already contains all information we need: the grant number can be added to the project title, for example "NGI Forward 852652".

  4. The director signs the document electronically using DigiDoc and her Estonian e-ID. This generates a .bdoc file, which is essentially a zip containing the timesheet’s PDF and the metadata: this file was signed by Ms. So-and-so, Estonian ID number 12345, date.

  5. Even more solid: the PDF (however generated) is digitally signed by both the collaborator and supervisor with the Estonian ID and DigiDoc. This can only happen when the collaborator is also an Estonian e-resident. But in fairness, Belgian cards should also be supported by the Estonian system, and anyway Belgium has its own system. Maybe other countries too.

The weak point of this is the first step. It is unclear if FreeAgent has “a documented and secure process for managing user rights and an auditable log of all electronic transactions”. The Estonian bit is, I think, bulletproof.

Alternative 2: paper

1- 3 as above. Then, the collaborator prints and signs the timesheet, and sends it physically to Brussels, where an Edgeryders director countersigns it and archives it.

What do you think, @matthias?


#16

Nice work, so we’re closing in on possible solutions now :slight_smile:

Unfortunately not. Because FreeAgent allows admins to edit anyone’s timesheet without that action being logged, it does not conform to the requirements you cite from the Commission’s timesheet template:

So that leaves us with the following options:

  1. As you propose, “the PDF (however generated) is digitally signed by both the collaborator and supervisor with the Estonian ID and DigiDoc.”

  2. We don’t use FreeAgent but a different SaaS platform for time tracking so that the Commission’s requirements for “digital signing” are fulfilled. There are a few to choose from (Toggl etc.) but they are not cheap. We’d have to take a close look.

  3. We find a way to use Discourse to record the timesheet information. I’m pretty sure it fulfills the requirements of digital signing, since all post edits and staff actions are properly logged (including the “Impersonate” action).

    If we want to choose this way, I could talk to my other brother who is developing this open source time tracking utility right now. He’d add a feature that makes the tool automatically post to a user’s timesheet topic in Discourse, using the user’s own Discourse API key. The user could also edit that topic manually, of course. Information would be put in using CSV format so we can process it further with the proposed script (that would otherwise connect to FreeAgent).

    Still, this would be a pretty strange way to collect timetracking information.

  4. Alternative 2: paper. Not really. People don’t necessarily have printers anymore, or might be in Nepal from where postal shipment is difficult, and so on. So much overhead.

With the Commission’s understanding of “digital signing”, the director could also sign a post by editing it and adding "approved by ". In the post’s history, any further edits of time information after that approval would be visible and, hence, invalid.


#17

@matthias look what I have found:

https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/Country+Overview+-+eID

It seems:

  • EU countries (and presumably countries everywhere else) are implementing electronic identities
  • EU regulation mandates that electronic identities are interoperable across member states (yay Europe!)

If you scroll down to the very end of the page you find two lists of EU countries already supporting eID. The first list includes the systems already interoperable, or on their way to being so. The second list includes the systems not interoperable. I think all of these are acceptable in terms of digital signature of documents for the purposes we have here. There are already quite a few countries, including Italy, Germany, Croatia, Belgium, Sweden, the Netherlands, and of course Estonia.

So, here’s my idea: we just ask every collaborator to get onto a digital identity management scheme; generate timesheets through FreeAgent; and sign them digitally from both the collaborator and a company director as supervisor. Works?


#18

I think this would fulfill the requirements, yes. But given that it’s all government software and not as advanced as the Estonian stuff, it would be an extremely uncomfortable process:

  • When the company director signs a digitally signed document, what happens? In the Estonian case, a .bdoc file inside a .bdoc file. In other cases, probably different ways of packaging packages, each needing a different software to extract and view?

  • Last time I looked, the German digital signature scheme (as an example) was a disaster. First, for online use they would provide the browser extensions only for certain “long term support” versions of Firefox. Then, in addition to having the ID card with the chip, one had to “rent” and then install ones own signature on the card, for a certain yearly fee. And then buy the software that allows to sign documents, from one of several providers.

  • Even with the Estonian eID scheme, we had numerous difficulties of installing the extensions etc… It will be worse in other countries, esp. regarding Mac and Linux support …

Since the European Commission does not enforce using the national schemes for legally valid digital signatures, various other ways are possible. Probably even a PGP signed e-mail with the FreeAgent timesheet.


#19

No extensions needed. We are talking about desktop apps that allow the digital signatures to happen. Anyway, point taken. We could even offer collaborators to take up Estonian e-residency, and pay for it, it’s not a lot of money. Of course there is the issue of people having to pick up their cards in person, and there are few places to do that outside of Estonia! But we would also accept any other form of digital signature.

Another solution is to buy a service of digital ID management.

Yet another one is to do as you suggest, with PGP signed email (but is there an auditable log anywhere?) or using API keys on our own Discourse. In the latter case, it is important to note that records have to be kept for five years after the end of the project. In our case, this means getting to the end of 2026… will Discourse still be in place then?


#20

Something like digisigner.com and applying that to the FreeAgent timesheets? Last time I used it, there was a log of all the actions that happened to a document. To be confirmed, but I thing it would suffice for the European Commission’s requirements.

The remaining problem for that case is that our tool to fill the reporting templates would still work with data from FreeAgent, not with the signed documents. Which is technically not correct :frowning:

Proposal: If we can find an online time tracking service with API access and that fulfills the European Commission’s requirements regarding digital signatures, audits and record keeping, I’d propose we use that.

Signatures can be verified / audited. There is no log, but since it’s a cryptographic system it would not need one … unlike an account-and-password based system like Discourse, where admins could go in and change timesheets in a user’s name. At least that’s my understanding what that “log” is meant for.

At least as a database backup, which could still be installed again and audited. But to use Discourse is a wacky idea anyway …