Currency handling in TimeLog
Introduction
Whether you’re dealing with expenses, international projects, or complex legal entities, we’ve got you covered. Discover how TimeLog enables you to manage registrations in different currencies and view relevant financial data effortlessly. Dive in and explore the possibilities
Description
Exchange rate period:
As currency exchange rates are constantly changing, there is a need to use exchange rate periods. The exchange rate period is per default 1 calendar month and the exchange rate is taken from the last available day of the previous exchange rate period.
Closed exchange rate period:
A closed period is a historical period where the average exchange rate for the period is known.
Open period:
Is a period where the average exchange rate is unknown. For example: if today’s date is 15th of January 2022 and an exchange period is 1 calendar month, then the average for January 2022 is unknown. This is considered an open period.
Corporate currency:
TimeLog will handle a corporate currency and then all the other exchange rates will be calculated from that. The reason for this is that this will hinder discrepancies between different currencies.
Legal entity currency
Every legal entity has a local currency. This currency is usually used for the financial follow-ups for that legal entity and for transferring salary. In TimeLog you can connect a legal entity for an employee, project, and invoice/voucher.
Project currency
Every project has a main project currency. If the project is billable then the project currency is the currency the invoice will have. If the project is not invoiceable, then you can decide which currency it should be in, for follow-up reasons.
Currency loss/gain
An exchange gain or loss is caused by a change in the exchange rate between when an invoice was issued and when the revenue was taken. When an invoice is entered in at one rate and revenue at another, this will generate an exchange gain or loss.
Exchange rate service
We get all the exchange rates from https://exchangeratesapi.io/ . Their spot exchange rates are sourced from a very broad base of commercial sources and banks around the world, each of varying types and frequencies.
Exchange rate matrix
The currency matrix allows you to define how to calculate amounts from one currency to another currency within a specific date range.
All TimeLog sites will have this matrix.
The matrix can be fully automated or fully manual.
The exchange rate periods can be autogenerated by TimeLog or they can be created manually by the user.
The exchange rates for the periods can be automated, where TimeLog will use the exchange rate service to get the values, or it can be manually filled in by the user. The default corporate currency will be the system currency, but the user can change it to any other relevant currency.
The Matrix keeps a log, so all changes can be followed.
An exchange rate period can be closed so that you don't change values by accident, and you can also open a closed period. This is to make sure that faulty values can be fixed from your end, and also to keep logs of all the changes made.
Example of currency matrix:
Relevant currencies
TimeLog will offer reports in relevant currencies. The reason for not providing all currencies is performance reasons (and lack of value it brings the customer). Below are the currencies that is deemed relevant.
System currency (corporate currency)
This is the currency you choose when you get started with TimeLog (in special cases it can be changed) and is usually the corporate currency for you. All data will be available in this currency.
Legal entity currency
Every legal entity has a legal entity currency. Everything that belongs to the legal entity (employees, projects, invoices, mileage rates, allowance) will have the legal entity currency available for connected data.
Example: Legal entity A has USD as its currency and the system currency is DKK. If I want to see the revenue, cost, profit, etc for the projects belonging to that specific legal entity A, I can do it in USD and DKK. I cannot get it in NOK (or any other currency).
Project currency
To be able to follow up and control projects, you will have to convert everything within the project to the same project currency. Project currency = sales currency, meaning that cost needs to be converted into the sales currency as well.
Example: My project is in EUR. I use consultants from Sweden (so my hourly cost is SEK), and I will have expenses in NOK. The projects belong to a legal entity that has USD as the local currency, and the system currency is DKK. I can now follow up on all the data in the project in EUR (project currency), USD (legal entity currency), and DKK (system currency). I cannot follow up on everything in SEK, NOK, or any other currency.
Key numbers
In TimeLog, we have five key numbers
- Cost: The cost of the registration
- Actual amount: The amount a registration was expected to be invoiced at
- Estimated amount: The amount the system estimates (calculates) to be the most likely revenue taken for the registration
- BAR (Booked as revenue): The amount booked as revenue for the registration
- Invoiced: The amount invoiced to the customer
(Please note that only registrations that are on a Time & Material contract will have an invoiced amount.)
Cost is currently always registered in the system currency but will be extended to also be supplied in different currencies based on the currency of the legal entity of the employee or projects related to the registration.
All the other numbers than cost are registered in the sales currency. That is the currency set on the project or the invoice.
To calculate the profit, depreciation, etc. we need to have cost and sales price numbers in the same currency. To do so the system needs to recalculate the cost or the sales price (or both) into the relevant currencies.
Behaviors
Key numbers
Following is the model for finding the correct exchange rate to calculate the five key numbers in other currencies:
- Cost: Will use the date of registration (not to be confused with created/modified date)
- Actual amount: will use the date of registration
- Estimated amount: will use date of registration until overridden by the BAR value when the voucher is booked
- BAR: will use the booking date of the voucher/Credit voucher
- Invoiced: will use the invoice date of the invoice/Credit Note/Reminder
- Budgets: Will use the exchange rate of the day the project was created
Currency matrix
The following behaviour is for the matrix:
Creation of periods
TimeLog doesn't allow any gaps between exchange rate periods, so a new period can only be created on the first day that is not included in a period.
Deletions of periods
TimeLog doesn't allow any gaps between exchange rate periods so the only period that can be deleted is the “newest” period. Meaning if you have periods for January, February, and March, then you can only delete the March period (making that period open again). If you want to delete January, you need to delete March and February first.
Updating of periods
If you want to change the length of a period, you can only do so for the newest created period and you can only change the end date.
Closing/opening of periods
Periods can be closed so that no one by mistake can make changes in the period. A period can be reopened (to fix faulty values).
Automatic calculation of exchange rates
A corporate currency needs to be chosen, then the exchange rate service will get that exchange rate. The rest of the currencies will be calculated based on that data.
Manual input of exchange rates
A corporate currency needs to be chosen, then you will have to fill in the exchange rate for that currency. TimeLog will calculate the rest of the currencies based on that data.
Creation of new currencies
You will be able to create a new currency. If exchange rates are set to automatic, then TimeLog will fill in the exchange rates for all closed exchange rate periods. If the exchange rate is set to manual, TimeLog will offer to fill in the exchange rate period by using the exchange rate service or set a given value to all closed periods
Deletion of currencies (not available)
Deletion of currencies will not be available (as it will destroy historical data) but TimeLog will let a currency be inactive (hidden).
Logs
Everything that is done in the matrix (automatic or manual) will be logged.
Open periods
Open periods will use the exchange rate of the last day of the closest closed period.
Please give it a thumbs up or down.
Please write a comment.