Skip to content

A freelancer in Bulgaria invoicing a US client in dollars

By
Published

The situation

Maria is a product designer in Plovdiv. After two years of small European projects she lands a long contract with a startup in Austin: USD 4,000 a month, invoiced at the end of each month. The contract is signed, the first sprint goes well, and then an email arrives from the client's finance team. They pay contractors by ACH. Could she send her routing number and account number, and a completed Form W-8BEN?

Maria has a Bulgarian IBAN in euros and nothing else. Her bank can receive dollars by international wire, but the finance team says wires abroad need extra approval and cost them a fee. The first invoice is due in nine days. She wants to know three things: how to get paid on time, how much of the USD 4,000 actually reaches her, and whether there is a way to keep some of it in dollars.

Where the cost really comes from

The headline fee is rarely the whole cost of getting paid from abroad. For a dollar payment landing in a euro account at a bank, the money can shrink in several places:

  • The sender's wire fee. A US company sending an international wire usually pays its own bank for it, and some clients pass that on or simply prefer not to send wires abroad.
  • Intermediary banks. An international wire can pass through one or more correspondent banks, and each may deduct a fee from the amount before it reaches you.
  • The receiving bank's fee. Your bank may charge for incoming foreign payments under its tariff.
  • The exchange rate. If dollars are converted to euros on arrival, the bank applies its own rate. The difference between that rate and the ECB reference rate for the day is a cost, even though it does not appear as a fee line.
  • Time. A payment that takes days to arrive makes cash flow harder to plan.

There is also a practical cost: ACH, which most US companies use for routine payments, only reaches US accounts. Without US account details, Maria is asking the client to use a slower and more expensive route.

How to handle it

  1. Decide what currency you want to end up with. If all your costs are in euros, you will convert most of the money. If you have dollar costs, or want to hold part of your income in dollars, you can convert less. This choice shapes which option fits.
  2. Get US account details in your own name. There are several ways:
    • The xChange.bg USD account: US account and routing numbers in your name. The client pays by ACH or wire, and the money arrives as USDC in your own wallet for 1.5%.
    • A multi-currency account at an e-money institution or fintech that offers US receiving details. Compare their incoming fee and their conversion rate.
    • Your Bulgarian bank's USD account, receiving an international wire. Simple if the client agrees to wire, but check the fees at both ends.
    • A freelance marketplace's own payout system, if the work came through one. Compare its withdrawal and conversion fees.
  3. Send the details and the forms. Put the US account details on your invoice. If the client asks for Form W-8BEN, the IRS says it is submitted when the payer requests it. Fill it in carefully or ask an adviser.
  4. Receive the first payment and check it. With xChange.bg, the USDC arrives in your wallet with 1.5% deducted. Match the amount against your invoice.
  5. Convert only what you need. Pay out to your Bulgarian bank in euros at 1.25%, with the rate and fee shown before you confirm. Leave the rest as USDC if you want to keep dollars.
  6. Keep records for your accountant. Keep the invoice, the incoming payment record and every payout statement together. How your fee income is taxed depends on how you work, and selling USDC for euros is a crypto-asset transaction under Bulgarian tax law. See the crypto tax guide. This is not tax advice.

Setup checklist

  • xChange.bg account opened and identity verified
  • US account and routing numbers copied from the app and checked twice
  • Invoice template updated with the US details and your name as it appears on the account
  • Form W-8BEN completed if the client asked for it
  • Your own Bulgarian IBAN saved as a payout destination
  • A rule for yourself on how much to convert each month and how much to keep in USDC
  • A folder for invoices, incoming payment records and payout statements

Worked example

Maria's first invoice is USD 4,000. For the conversion to euros, this example uses an illustrative rate of USD 1.15 per euro. The real rate on the day will differ; compare it with the ECB reference rate.

Step Amount
Client pays by ACH USD 4,000.00
On-ramp fee, 1.5% USD 60.00
USDC in Maria's wallet 3,940.00 USDC
Kept in dollars 1,000.00 USDC
Paid out to her Bulgarian bank 2,940.00 USDC
Payout fee, 1.25% USD 36.75
Converted to euros USD 2,903.25
Arrives in her bank at 1.15 EUR 2,524.57

Total xChange.bg fees for the month: USD 96.75, which is about 2.4% of the invoice. The 1,000 USDC she kept carried only the 1.5% on-ramp fee. If she later converts them too, the payout fee of 1.25% applies then, at the rate of that day.

To compare with the bank route, ask your bank for three numbers before the first payment: its fee for an incoming foreign payment, whether intermediary deductions are expected, and the USD to EUR rate it would have applied on a given day next to the ECB reference rate. Add the client's wire fee if they pass it on. You can run your own amounts in the stablecoin fee calculator.

What this is based on

The fees in this example are the published xChange.bg fees on the pricing page: 1.5% on money in and 1.25% on payouts to a bank. The description of US account details comes from Bridge's documentation on virtual accounts, which says a USD virtual account gives the customer a US account and routing number for ACH or wire transfers. Nacha, the body that governs the ACH network, explains how ACH payments work. The note on Form W-8BEN follows the IRS page for that form. USDC facts come from Circle. The tax remarks rely on the Personal Income Tax Act, which names crypto-assets in Article 33, paragraph 3. The exchange rate in the example is illustrative, and the ECB publishes the reference rate each working day.

Frequently asked questions

Can a US client pay a Bulgarian freelancer by ACH?

Yes, if you give the client US account details. ACH only reaches US accounts, so a Bulgarian IBAN will not work for it. A USD account in your name, such as the xChange.bg USD account, gives you an account and routing number the client can pay by ACH or wire.

My US client asks for a W-8BEN form. What is it?

Form W-8BEN is the IRS certificate of foreign status that individuals give to a US payer or withholding agent. The IRS says to submit it when the payer requests it. Fill it in yourself or with an adviser; xChange.bg does not prepare it.

How much does it cost to receive USD 4,000 with xChange.bg?

The on-ramp fee is 1.5%, so USD 60, and 3,940 USDC arrive in your wallet. If you then pay out 2,940 USDC to your Bulgarian bank in euros, the payout fee is 1.25%, or USD 36.75. The rest stays in dollars.

Do I have to convert all the dollars to euros?

No. The payment stays as USDC until you decide. Many freelancers convert only what they need for monthly costs and keep the rest in dollars, but holding dollars means your euro value moves with the EUR/USD rate.

Does receiving USDC change how my freelance income is taxed?

The invoice is your income, and how it is taxed depends on how you work, as a company, a sole trader or an individual. That is a question for your accountant. Selling USDC for euros is a separate crypto-asset transaction under Bulgarian tax law.

What if the client prefers to pay in USDC directly?

Then give them your wallet address and agree the network in writing. Receiving USDC on-chain has no 1.5% on-ramp fee; the sender pays the network fee. Check the first payment with a small test amount before the full invoice.

Sources

  1. IRS: About Form W-8 BEN
  2. Nacha: What is ACH
  3. Bridge documentation: Virtual accounts
  4. Circle: USDC
  5. European Central Bank: Euro foreign exchange reference rates
  6. Personal Income Tax Act (ЗДДФЛ), consolidated text on lex.bg

Related

More situations