How To: Transfer Foreign Currency Between NetSuite Subsidiaries

This article is relevant if you are seeking to move foreign currency in NetSuite between two different subsidiaries. It is especially important for the case where the foreign currency being moved is foreign to both NetSuite subsidiaries.

Background

One of our US based clients utilizes NetSuite OneWorld and has a German operating subsidiary. The US subsidiary is denominated in USD. The German subsidiary is denominated in Euros. Our client asked our help to transfer British Pounds purchased in the USD subsidiary to a bank account denominated in GBP in the European subsidiary.

Use of NetSuite Bank Foreign Currency Transactions

NetSuite general ledger bank accounts must be denominated in a specific currency; whereas all other general ledger accounts can enjoy transacting in any currency. ¬†A bank account denominated in a foreign currency (e.g., GBP) relative to the subsidiary base currency (e.g., USD or EUR) can only participate in transactions in the bank currency specified. Consequently, this constraint limits our freedom to simply book foreign currency transactions when working with bank accounts. Fortunately, a NetSuite bank account that is denominated in the subsidiary’s local currency can participate in a foreign currency ledger entry.

Because we have some degrees of freedom, we get around the foreign currency bank limitation by creating a NetSuite Foreign Currency Exchange (FRX) Bank Clearing account denominated in the subsidiary’s local currency. We use these clearing accounts to book transactions that are otherwise not possible. The key to using a FRX Bank Clearing account is that the account balance should always be zero because the account is used as an intermediary¬†to pass through to other general ledger accounts.

I have written about practices that use clearing accounts before. See How To: Multiple Foreign Currency Cash Receipt Settlement,¬†Best Practice: How to Pay a NetSuite Vendor Bill with Foreign Currency and Solve NetSuite’s Multiple Mixed Currency Payments Challenge.

Subsidiary Intercompany Currency Denomination Limits

Our client’s challenge demands more consideration because NetSuite’s intercompany journal entry tool forces us to make entries in one or the other subsidiary’s base currency (perfectly reasonable). In our client’s use case, the intercompany journal entry must be in either US Dollars or Euros. British Pounds, a foreign currency from the perspective of each subsidiary, can not be referenced.

With these system constraints, we must shape our transaction into discrete components so we can work with what NetSuite capacities are available to us.

Three Step Process: Booking NetSuite Bank Based Foreign Currency Transactions

With the setup of a FRX Bank Clearing record denominated in the subsidiary’s base currency, we have what we need to conduct a three step booking (click on related images to see NetSuite references):

Step 1: Record Foreign Currency Acquisition: we record that we used our USD bank account to purchase British Pounds via the FRX Clearing Account in the first subsidiary (here, the US Sub). Many times the bank charges fees for the purchase of these foreign funds. ¬†I recommend letting these fees be part of the exchange rate for simplicity. However, I am not steadfast on this rule — it’s a matter of how you see the treatment of foreign currency acquisition fees.

Step 2: Record Transfer of Foreign Currency in Target Subsidiary: we record the receipt of British Pounds in a GBP denominated bank account owned by the German Subsidiary using an offset FRX Clearing Account. The assumption is that there is indeed a bank account held by that subsidiary for purposes of holding British Pounds.

Step 3: Book Intercompany:¬†we book an intercompany journal entry in one or the other Subsidiary’s currency to record the due / to loan payable / receivable and we clear the related FRX Clearing accounts. The trick here is to understand that in Steps #1 and Step #2, there was an equivalent amount of local currency (USD and EUR) that resulted (see GL Impact page of each entry). These amounts are used in our intercompany entry to ensure that the exchange rate between the subsidiaries is correct. In general, it should be easy to do if you trust NetSuite’s daily exchange rates and you booked all three entries all using the same transaction date (NetSuite will source the exchange rate for the transaction from the daily rate table).

Finally, you can confirm all your work was done correctly if the two FRX Clearing accounts each have zero balance.

NetSuite Intercompany Foreign Currency Bank Transfer Tool

While my client needed to just “get this booked”, the interesting question becomes the frequency for which these transactions occur. Admittedly, if you do not produce these transactions every day, this article represents a good guide for a step-by-step instruction — probably sufficient. ¬†However, if this is going to be a regular daily affair, I would automate this operation using two key NetSuite platform constructs:

  1. Custom Transaction for FRX Clearing: a custom transaction can be used versus a journal entry to record these FRX Clearing entries to the general ledger. We then get better reporting and a subledger structure which is helpful for the accounting department to maintain the books. We also can limit access controls to address segregation of duties concerns.
  2. SuiteLet Foreign Currency Bank Transfer Tool: a custom SuiteLet could be produced that asks simple questions: the originating bank account, the target bank account, the date, and the number of foreign currency units received. With these few inputs, we have all we need assuming we hold constant the intercompany due to / from accounts as script deployment parameters. This would make the process go faster, be less error prone, and require less bookkeeper skills to record the transaction.

Get More Out of Your NetSuite Investment

What I love about accounting is that there is a set of industry guidelines that are commonly adhered to. Thus, we accountants think about concepts, such as accruals and reporting, in a similar manner. We can let these guidelines shape our practices to get the results that fit our way of seeing the world. Yet, the NetSuite business system may not have considered every use case for which a business operates. ¬†No worries; we can get there by shaping the accounting through the use of intermediary accounts and a practice. For those that are more ambitious, we don’t have to wait for NetSuite to make a software function standard. We can avoid being stuck when we use the NetSuite platform to produce the tools we need to solve our accounting and operational challenges.

If you seek working with a team of professionals that can innovate through accounting and operational challenges on the NetSuite platform, let’s have a conversation.

Be Sociable, Share!

Marty Zigman

Holding all three official certifications, Marty is Southern California's NetSuite expert and leads a team of senior professionals at Prolecto Resources, Inc. He is a former Deloitte & Touche CPA and has held CTO roles. For over 25 years, Marty has produced leadership in ERP, CRM and eCommerce business systems. Contact Marty to setup a conversation.

More Posts - Website - Twitter - Facebook - LinkedIn - Google Plus - YouTube

| Category: Accounting, NetSuite | 2 Comments

2 Comments

  1. Feena
    Posted April 18, 2017 at 2:28 am | Permalink

    Hi Marty,
    Thank you for your valuable article about How To: Transfer Foreign Currency Between NetSuite Subsidiaries. I am grateful if you mention can whether it is possible inter company transactions without creating sales orders and purchase orders in Netsuite one world?

  2. Posted April 20, 2017 at 5:35 am | Permalink

    Feena,

    Thank you. Your question is off topic. Please contact me at http://www.prolecto.com/services/netsuite-care/

    Marty

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>