This article is relevant if you are using NetSuite to perform foreign currency accounting.
NetSuite Foreign Currency Accounting Basics
NetSuite does a good job incorporating foreign currency accounting into its financial platform. The good news is that you do not need NetSuite’s One World application and all organizations using NetSuite can activate foreign currency features without additional license fees (subject to NetSuite’s discretion) . Simply activate the feature under Setup, Company, Enable Features, Company, International, Multiple Currencies.
To setup NetSuite foreign currency, configure a few structures:
- Activate the currencies you will be using under Lists, Accounting, Currencies. All ISO supported currencies are candidate. Activate the “Update Time Zone” feature if you would like NetSuite to keep your daily exchange rates fresh (generally a good option — but may not be satisfactory if you have different sources for your exchange rates).
- NetSuite does not yet natively handle alternative virtual currencies, such as Bitcoin. Although that should be changing soon. Ask me if you are interested.
- Generally, if you are going to work with foreign currencies frequently, you should setup a bank account that is denominated in your target foreign currency. This will help you maintain balances to both receive and send currencies at low cost. Bank accounts are effectively depositories for cash as commodity. Each account is a repository for holding a particular type of government fiat currency.
With these structures setup, you are ready to go to work with foreign currency.
Multi-Currency Customers and Vendors
Transaction Management Considerations
A particular area to pay attention to is how you setup transactions when working in foreign currency. I recommend that you setup your transactions in the currency that you intend to settle in. For example, if you are a US based company but you are selling to a customer in Germany, determine the following:
- Talk with the German customer to determine what currency will you settle the transaction. USD or EUR?
- Use that currency to setup your Sales Order transaction for future payment remittance.
- You may agree to a different price (in foreign currency) for the good. If so, use the price you agreed to.
- You may not agree with the provided exchange rate. Change the transaction exchange rate to fit your interpretation of the real world.
- Now process the order as normal. The currency exchange rate on the Sales Order will stay in effect through the life of the transaction. This makes sense because this is the rate for which you and your customer have agreed.
- NetSuite will automatically handle foreign currency gains and losses as time moves into the future and you account for currency holdings. Foriegn currency gains and losses are the subject of a different article.
What if you accept foreign currency to settle a local currency obligation?
You may, however, have a different situation. You may sell a good in one currency, such as your base currency, but you are willing to accept a different currency to settle the obligation. This is possible to do but there is a NetSuite concern to be aware of. NetSuite will allow you to accept payments and create customer deposits in a foreign currency. However, it will not let you apply these payments of deposits (effectively credits) to open invoices denominated in the base currency. Even if you establish the exchange rate that effectively satisfies the obligation perfectly, the system does not allow you to settle the transaction in the normal fashion.
This means you will be carrying around open invoices and unapplied credits (payments or deposits). When looking at the customer open receivable balance (including deposits), you may see the customer has satisfied the obligation as it nets to zero. But the underlying transactions will remain open.
A number of NetSuite customers have voted for an enhancement (# 112956) as it can come up in a multi-company context or when working frequently with foreign currency.
Summary
The topic of foreign currency can be complex and confusing. NetSuite manages foreign currency accounting well; yet, as you work to keep your ledgers reconciled, it is important to understand some of the areas that may get you into an accounting / transaction puzzle.
If you have any questions about foreign currency, or you would like help optimizing your NetSuite system, contact-us or comment below.
But does it take Bitcoin?
Hello Jan,
Yes, I am working with a team that is delivering a Bitcoin solution. It will soon be announced.
Marty
Transaction gains and losses are a result of the effect of exchange rate changes on transactions denominated in currencies other than the functional currency (for example, a U.S. company may borrow Swiss francs or a French subsidiary may have a receivable denominated in kroner from a Danish customer). Gains and losses on those foreign currency transactions are generally included in determining net income for the period in which exchange rates change unless the transaction hedges a foreign currency commitment or a net investment in a foreign entity. Intercompany transactions of a long-term investment nature are considered part of a parent’s net investment and hence do not give rise to gains or losses.
To handle these complexities, Platinum’s multiple-currency module provides a screen to input the daily exchange rate for each relevant foreign currency. In that way, users can toggle between converting U.S. dollars to the foreign currency and converting the foreign currency back to dollars. Platinum for Windows by Best can even deal with budgeted exchange rates, producing reports that show the effects of favorable and unfavorable exchange rate fluctuations.
I am curious if Platinum can handle an invoice in one currency and a payment in another with the ability to map or link them and consider them closed?
Marty
This is now resolved with our new NetSuite Foreign Currency Deposit Application
https://blog.prolecto.com/2013/09/08/solve-netsuites-multiple-mixed-currency-payments-challenge/
We’ve been looking for a possible move from our ERP to NetSuite but we do a lot of mixed currency transactions where the invoice is in one currency and the payment is in another.
One of the reasons we’re considering a change is that our current ERP does allow mixed payment application (ie apply usd payment to cad invoice where cad is the base currency) but not currency triangulation where the invoice and payment are in two different currencies from the base currency.
If we have to – even behind the scenes – setup debit memos and credit memos like in your solution which is the best possible under these limitations, it creates a lot of noise in the system and makes voiding, reapplying, etc very problematic from a user/audit point of view.
I’m curious if this is now resolved in the native application.
NetSuite’s mixed currency application model has improved since we last wrote about this. For example, instead of applying a cutomer payment in the currency it was actually paid, you can apply the payment in the currency of the transaction and then handle the different currency application in the Bank Deposit feature. In our latest implementation of the Bitcoin Transaction Coordinator, we can accomodate a single transaction denominated in EUR, within a USD subsidiary, accepting Bitcoin for payment but being settled in British Pounds. There is no noise.
At the same time, the disbursement side of the transaction space does not have this flexibility and the application is noisy as you suggest. I am hoping to solve this challenge in due course.
Hi Marty…
We are a U.S. based company that reports in USD. We have a subsidiary that transacts in a foreign currency but then needs to report to us in USD. Is there a translation feature in NetSuite that creates a database table in USD within NS?
We use a separate tool to consolidate all of our subsidiaries and that tool seeks a table to pull the numbers from. While NS reports a TB, BS and PL in USD, we are not sure that it creates and stores a USD table so that our consolidation tool can grab the needed information from.
Andrew,
If you are subsidiary’s base currency is USD, then every foreign currency transaction is priced relative to the USD. In a saved search, and in the report writer, expose the foreign currency column(s) so you can see the data.
From a saved search, you could craft a table that gives you all the data. I have done it a number of times. In fact, we have figure out ways to produce true NetSuite Trial Balances from Saved Searches. It’s not easy but it can be done.
Marty
Hey Marty
In our business we utilize currency hedges through out the year. We are running into an issue combining those into one large sum with an average exchange rate. Do you have any experience in managing multiple hedges with different rates and keeping it in one Netsuite Cash account?
Thanks!
Hi Tim,
Yes, we do have experience. We have created a Tranche manager for another client who works heavily in Bitcoin transactions. The idea is that a tranche can be organized in a manner that doesn’t exceed certain volatility thresholds. Can you say more about your business case?
Marty
Invoice is created with a PRIMARY currency of CAD, settled in USD; this was an error, PRIMARY currency should have been USD to start with. The question, it appears that I can no longer change the PRIMARY currency, is there a way to get this done without deleting and rebuilding the financial path?
Hi Gary,
How many transactions are we talking about? I would probably write a Custom Mass Update to fix everything.
Marty
We are converting our current system to NetSuite and have opening balances (from 5 years ago) within our fixed asset accounts that were translated back then at multiple USD rates. In other words, GL fixed asset account #1 was translated at FX Rate #1, GL fixed asset account #2 was translated at FX Rate #2, etc. etc. There are 40 or so accounts, each translated at a different rate which was the blended rate of the original transactions recorded into those accounts.
Is NetSuite able to handle this scenario? Essentially, we want to have the opening balance sheet translated on an account by account basis using different rates for many of the accounts but it seems like we are restricted to using only one historical rate as of the opening balance sheet.
Hello Andy,
The key to understanding NetSuite is that all foreign transactions are priced. You have control over that. If you choose to consolidate balances into a single entry, then indeed, you are giving up control over the price detail. Also, don’t use NetSuite’s opening balance when constituting the account. Instead, use a journal entry to get the balance in. You may need to be creative as the journal entry is priced for foreign currency at the header versus the line.
Marty
we have released a free app for actually making your multicurrency payments
https://www.transfermate.com/en/netsuite-foreign-currency-payments-addon.html?usr_ctry=113
It creates a button in netsuite called
‘International payments’ and allows you to eliminate bank fees and get better exchange rates than using the bank
Barry
Record is established
Currency is set as USD
Invoice created 11 months ago
Payment processed 11 months ago
I need to change PRIMARY CURRENCY for this record but seem to find that is not an option.
Can you change the PRIMARY CURRENCY after an invoice and payment have been processed?
Thank you,
Gary Hill
Hi Gary,
Out of the box, you can not change the currency. It’s bound to the record and hence really needs to be deleted / recreated or you use a tool like ours that create compensating transactions.
Marty
I have problem with settling customer invoices and vendor bills adjustment, if payment received in different currency.
Do you have solution.
Above discussion provide solution…
Hello Rehan,
We have built some NetSuite tools for our clients that allow them to hop over currency related concerns. On the Accounts Payable side, it typically requires a bank clearing account to participate. On the Accounts Receivable side, you can often use the fact that you have a Customer Payment and a Bank Deposit to help you with the currency conversion requirements. Generally, to solve problems, our clients engage us to design the specific solution. We give them what ever we have produced in the past to get to the ultimate solution.
Marty
Hi Marty!
So we have both a CAD and a USD Bank Accounts. Our Netsuite’s base currency is in CAD, but I pay some European suppliers with my USD account (payment made in euros). How would I go about adding the option of paying a bill from our US account and not for our BASe Currency and therefore our CAD account? thank you!
Hello Alexandra,
The key to working with the disbursement side of foreign currencies is to create intermediate clearing accounts to help you cross the currency boundary. I am a little confused by what you are saying but the trick here is to first pay the bills using a cash clearing account that is denominated in the currency you are trying to work with. In your case, I think you are saying USD (a foreign currency). What I can’t tell is what denomination your bill is in. But the practice here is to pay the bills using the clearing account. Then, do a journal entry between your actual cash account and the cash clearing account. A bank transfer between them can work as well. The key to this is to know that you will be working with foreign currency prices and you will stay in control if the clearing account is always zero when valued in your local currency. Experiment a bit and you will figure it out.
Perhaps I need to write an article on this one to be clearer.
Marty
Hi Marty,
I am wondering how to deal with this issue.
If we have a company set up with its home currency as Canadian Dollars but we have bank accounts in multiple currencies (CAD,USD,GBP,EURO), NetSuite will not allow us to make a bank transfer between say our USD & GBP account as it does not contain the home currency in the transaction. Have you come across this before? Any suggestions?
Thanks,
Ben Dhillon
Hi Ben,
Yes, you discovered a challenge as there can only be one foreign currency designated per transaction. Here is what you need to do:
a. Create a cash clearing account. I like to call it “FRX Clearing”. The balance should always be zero.
b. You need two transfer transactions. One in CAD to USD and the other in CAD to GBP. The trick is to use exchange rates that net the result you are looking for.
c. Confirm the FRX Clearing account stays at Zero balance.
Let us know how it goes.
Marty
Hi Marty,
This is a related topic for us. We use trade finance that is denominated in the currency of our overseas supplier. Often we will use Forward Exchange Contracts (FEC) against that trade finance. This may result in more than one exchange rate being applied when we settle the finance. Only a single transaction for the settled amount in our local currency shows in our bank account.
1) Is there a recommended approach for using trade finance instruments?
2) Is there a recommended approach to handling multiple exchange rates in one transaction?
Hello Russell,
I haven’t specifically dealt with FEC contracts. They sound interesting. But the real way to get in front of this is to use clearing accounting, ensuring they net to zero and while doing so, use the right exchange rates. I plan to produce a number of articles because I now have built a couple related applications that have solved some cross transaction boundary problems.
Marty
Have you ever seen where a company has a parent entity that is UK set to GBP, but doesn’t want to consolidate in USD for any reporting after already setting it up this way?
Hi Brian,
Is the Reporting (Parent) entity set to GP and or USD?
Marty
GP, but likely should have been USD. Howvever, we’ve already gotten all of the records in and now realize 99% of our reporting needs to be usd.