In this article I will share my knowledge and experience with many different aspects of payments, money and banks handling from the perspective of one digital nomad. Let me first give you some facts:
- I am Serbian (country in Europe)
- I live in Colombia
- I have company in USA
- I travel around the world
- I offer IT consulting services to other companies around the world
- I make (Internet) services and have to charge customers (over the Internet)
So, as you can see, things are complicated and there are many different aspects to be solved, let’s start:
In the nutshell, offshore company is a company incorporated for the purpose of operating outside the country of its registration. The arrangement is often done for the purpose of financial, legal and taxation benefits. You can find more information on Internet and for me this practically means:
- Very fast and easy process of opening the company without moving from your country (or even chair)
- Very low fixed yearly fees for keeping the company running
- No taxes
- No book keeping
- Can work with anybody in the world
- Remote by nature and location independent
- All legal
My LLC company is based in Delaware, USA and I used services of offshore specialized company to open it for me. You can find these companies in your country and over the Internet.
Offshore/Main/Global Bank Account(s)
An offshore bank is a bank located outside the country of residence of its depositors, with most of its account holders being non-residents of the jurisdiction. An account held in a foreign account, especially in a tax haven country, is often described as an offshore account. Typically, an individual or company will maintain an offshore account in a low-tax jurisdiction (or tax haven) that provides financial and legal advantages, such as: greater privacy, little or no taxation (i.e. tax havens), etc.
Usually, companies that offer offshore company incorporation can help you with this bank account(s) as well.
You can use this account(s) to send/receive international wire transfers, charge your customers, have debit cards to pull cash from ATMs and pay with them around the world, globally.
I use this account as my main one and opened it in the Bank of Cyprus.
Local Bank Account
Since I live in Colombia, I need local bank account and debit card, so I can function, pull money, pay with card and pay local stuff over Internet. Cheaper and convenient. Every month I send some amount of money from my offshore account to my local account to cover living costs.
Global Payment Processor
Since I am creating services that have to charge customers over the Internet, I need payment processor to handle card processing. My weapon of choice is Stripe. They provide tools and APIs, so you can integrate card payment processing into your application.
Stripe doesn’t support all countries and, unfortunately, it doesn’t support Cyprus, Colombia and Serbia and since my company is US-based, that was the last option I had to use. To be able to open Stripe account in US zone, you need the following:
- US Company, name, address, etc.
- EIN (Employer Identification Number) – company that helped you with offshore company, can help you with this as well. Read more about it here.
- SSN (Social Security Number) – since I am not US citizen, I don’t have it and Stripe asks for the last 4 digits of it. Fortunately, it’s enough to just enter “0000”. It works!
- US Bank Account – will be explained soon.
So, once you have Stripe account opened and verified you can start using it, workflow is something like this: your app charges your customer, money goes to your Stripe account, initially they have 7 days time lag before payout to your connected US account (after some time, when you have more activities and ask for it, they will cut this time to 2 business days) and that’s it, money is on your account.
US Bank Account
Let’s see now how to open US account, keeping in mind that you are not US citizen. There are various options.
Since you have EIN number, you can do it yourself, by going to US, providing documents or probably can be done over the Internet, but it can’t be a hassle. Fortunately, there are other options:
Payoneer is a financial services business that provides online money transfer and e-commerce payment services. There are many options and usages, but in my case it works like this: I have Payoneer account and they offer creating virtual (but real) banking accounts in US, Europe, England, etc, so you can provide that information to your customer and/or other systems (like Stripe) and they can pay you like they are paying to local account in their country (being US, Europe, etc). You receive money in your Payoneer account. They also send you a debit card to your address, which you can use for ATM, paying and Internet.
They also have “Withdraw” option, so you can pull money to your bank account. There is a trick – not all countries are supported, such as Colombia, and since I registered my account with them using Colombian address as billing address, that option is not available to me. I called them to change my billing address to Serbian one, but they asked my either Serbian national ID with address on it or utility bills with address. Serbian national IDs don’t have address written and and don’t have utility bills from Serbia, because I live in Colombia. So they were not able to change billing address and “Withdraw” option is not available for me. That’s not a big deal since with Payoneer debit MasterCard you can pay, use ATM and pay over internet. But it can become a problem if you have sufficient funds that you want to pull from Payoneer to other bank account. One solution is send money to other Payoneer member you can trust, who can withdraw money for you.
Anyway, I connected my Stripe to this US account provided by Payoneer and successfully charged my debit card over internet using Stripe. I am now waiting one week for payoff to Payoneer and then will test how their debit card works once I have it and test payoff from Payoneer to my Cyprus account.
Also, there are some limits with US account provided by them: wire transfers are not supported, only ACH (US local bank) transfers in USD can be accepted, transfers must be made from a company account, etc.
As you can see, it works, but it’s one more player in the game, meaning: more time delay, more fees, more complications and no withdrawals to other bank accounts. Fortunately, there are more options:
This is the best thing I came so far in my experience, it’s part of Stripe and it’s called Stripe Atlas. It’s all-in-one solution, especially great if you start from scratch. They offer offshore company incorporation, EIN number, US bank account (Silicon Valley Bank) and integration with Stripe. WOW! Since I already have almost all pieces of that puzzle, I wrote to them to see if they can handle only US Bank part for me and they responded that at this point it’s only the whole package. That’s why I contacted Silicon Valley Bank and asked if I can open an account with them and they told me it’s not possible, since I am not on the US ground and that the way to go is to go with full Stripe Atlas package. You can find more information about Atlas-SVB cooperation here.
Stripe charges a one-time $500 fee for Atlas. On the last page of the application, they ask users to submit their card details. However, they won’t charge the card until company has been incorporated and a US tax ID (EIN) received. Once an Atlas application is successful and then the legal documents are signed, it generally takes between a few days and a week to become incorporated in Delaware.
For general ongoing financial obligations, at a minimum, you would need to:
- Pay a registered agent located in Delaware to act as a liaison between your company and the state. Stripe will set you up with a registered agent at a rate of $125 per year (the first year’s fee is covered by Stripe)
- File an annual report with Delaware, which costs $50.
- Pay an annual Franchise Tax to the state of Delaware – a minimum of $350 per year.
- Pay federal income tax on income generated in the U.S. (variable; based on sales)
Since there are some, mentioned, limitations with Payoneer, I idea is to proceed with full Stripe Atlas package and open another company, but with Atlas it’s not LLC anymore, it’s C type Corporation (Inc) and to have real US bank account with SVB (Silicon Valley Bank), but only at point when/if Payoneer is not serving anymore.
All players (Cyprus bank, US bank / SVB, Stripe, Payoneer) have their own fees and you have to inform yourself about them.
If you have US bank account (with Atlas, or alone), you have to pay federal income tax on income generated in the U.S. (variable; based on sales).
It is probably the same with Payoneer and virtual US account, I am investigating..
Also, receiving money to your local bank account (in my case in Colombia) is something to be investigated.
If you are starting from scratch, definitely try Stripe Atlas, otherwise, you have all pieces of the puzzle now, so you can do it yourself as well 🙂
Personally, I will use my LLC company + Stripe + Payoneer and there is always another option if/when needed to open: Stripe Atlas package (INC corporation + Stripe + Sillicon Valley Bank)
So, my approach is to use Payoneer option until there are some bigger incomes through internet payments when it will pay off to use Atlas/SVB option for the sake of moving/pulling out money to different bank account(s) and have full blown US bank account.