21

I'm a freelancer who bills per hour and invoices my clients at the end of the month. The total amount is represented in my local currency.

I also give the option for my clients to pay in Bitcoin at a 10% discount. The way I currently do it is by adding my Bitcoin address to the invoice and then add the discounted, equivalent Bitcoin price at the time of sending the invoice.

This isn't all too fair. Or rather it is unfair to both parties since, for them, the client may not have anticipated the exchange rate at the point of invoicing; and, for me, I need to wait until the client pays me (within the constraints of the payment due date, naturally) which may lead to an unfavourable exchange rate.

How can I structure the agreement so that it's fair for both parties while still charging in two possible currencies like this?

Kevin
  • 2,592
  • 17
  • 21
NeRoboto
  • 337
  • 1
  • 2
  • 5
  • 111
    Why would you accept a 10% discount to be paid in BTC? Wouldn't it be better for you to just accept USD and then buy the BTC yourself, paying regular crypto transaction costs instead? – Grade 'Eh' Bacon Aug 23 '21 at 12:49
  • 12
    @Grade'Eh'Bacon I've seen a number of crypto enthusiasts offer discounts as a way of "doing their part" to encourage crypto use. – glibdud Aug 23 '21 at 16:37
  • 13
    @glibdud Right; I'm aware of the practice, just trying to point out that this isn't how business is typically done [even 'cash payment discount' is either 2% / less to avoid cc fees or 10% implying some form of tax avoidance attempt]. – Grade 'Eh' Bacon Aug 23 '21 at 17:10
  • 1
    Comments are not for extended discussion; this conversation has been moved to chat. – GS - Apologise to Monica Aug 24 '21 at 17:00
  • 4
    Does the client get to choose how to pay after receiving the invoice? If so, I don't understand how you see this as being unfair to the client. – TonyK Aug 24 '21 at 18:33
  • @TonyK It would be "unfair" if the 10% discount shrunk to only a 5% discount in $ because of volatility and the client would have liked to get the full 10% discount. – YetiCGN Aug 26 '21 at 11:25

7 Answers7

99

When you decide to accept multiple currencies as payment, you need to decide what the price will be for each currency. That price really needs to stay fixed between the invoice date and the due date.

You have decided that you will set the Bitcoin price by using the exchange rate at the time of invoice creation and then knocking 10% off, and that is fine. However, as you noted, the value of Bitcoin is very volatile, and that amount of Bitcoin probably won’t be the same value as the other currency by the time the payment happens.

That is the risk you take when you offer to accept Bitcoin. If the volatility bothers you, then you should stick with a more stable currency.

Ben Miller
  • 115,533
  • 30
  • 329
  • 423
  • 32
    ^^ This. If you decide the work you've done is worth $5,000 USD or 0.1 bitcoin, that is the price you set for your work. If the price of a bitcoin drops from $45,000 USD to $20,000 USD before the due date, they have the right to send you what is $2,000 worth of bitcoin at the time when it was worth $4,500 when you invoiced. If the price rises to $80,000 USD they would probably pay you in currency instead. This might actually lead to companies waiting to pay you until later so they can see if the price will fall. – Jason Goemaat Aug 24 '21 at 04:06
  • 52
    Companies may end up using you as leverage to "gamble" on bitcoins. Instead of paying you on time, they buy the bitcoin and wait. If the bitcoins go up, they sell, pocket the difference, and pay in in USD. If bitcoin falls, they pay you with bitcoin and settle the bill. BTC is so volatile that this may actually be done even with small bills. – Nelson Aug 24 '21 at 09:03
  • 4
    @Nelson This can be solved by asking the buyer to choose a currency before you send the invoice, or before you do the work. – user253751 Aug 24 '21 at 09:04
  • You often get situations in shops and restaurants in airports, ferries, tourist destinations, etc, where they will accept payment in multiple currencies (e.g., Euros or UK Pounds) and products are priced in both on the price ticket/price list, often rounded off to give prices that are a round number in each currency. In such case, the purchaser is free to choose the most advantageous situation. – Stuart F Aug 24 '21 at 10:16
  • 3
    @user253751 There have been a good set of valid answers but what you said about letting the client decide beforehand solves my personal problem. If you (or someone else) posts that as an answer I will accept it. – NeRoboto Aug 24 '21 at 11:34
  • 10
    @LordRatte Well, it doesn't solve the problem since you still have to deal with the exchange rate risk. It only solves the other problem where the customer can take the upside of the exchange rate risk without taking the downside. The risk is still there. – user253751 Aug 24 '21 at 12:19
  • 2
    @StuartF that typically only happens with currencies that are relatively stable relative to each other, and where the purchaser has little choice in when they pay (so the payment choice doesn't constitute a "free option"), and all options but the local currency are unfavourably priced, so the seller is taking relatively little risk compared to the poster of this question. The one thing the poster can potentially learn from this is to price the currencies that are most disadvantageous or risky to them higher, rather than lower as they appear to be doing. – James_pic Aug 24 '21 at 12:39
  • Even if you force them to pick a currency, some people are going to play your system. They pick bitcoin, and gamble that it will drop at some point in the next month before they have to pay. If it does, they make a profit off you. If it doesn't they delay payment until it does. You can try suing them, but then they will just procrastinate the lawsuit until bitcoin drops and then say "Here's the bitcoin you wanted. Full payment." – DJClayworth Aug 24 '21 at 15:12
  • @DJClayworth Late fees. Or partial payment up front, to reduce the amount that they can play with until it's not worth it. – user3067860 Aug 24 '21 at 17:24
  • 2
    Given the volatility of BTC, and the extra hassle of having to choose between currencies before work has started, what exactly are you gaining from this? – Nelson Aug 25 '21 at 02:58
  • This is spot on - it's no different than any other currency. I'm Canadian but a lot of people here have a US credit card. If the value of the Canadian dollar drops, they could probably pay with their US card and let the bank handle the exchanging and save some money, especially if they think the value will go back up and they can pay the bill with fewer Canadian dollars than they would have spent at my store. It's just the US vs Canadian exchange rate doesn't change by 20% in a day. – corsiKa Aug 25 '21 at 05:10
  • Having them decide in advance can pretty much guarantee they won't choose crypto, thereby ruining your attempts to encourage crypto use. No reasonable company who has budgeted $X for a project will want to agree to a wildly fluctuating payment system that may cost them $X.90 or may actually cost them $10X depending on how long they wait to pay. Reasonable businesses do not want to gamble on their invoice payments unless it's a guaranteed gamble where they can take advantage of your setup. – D Stellar Aug 25 '21 at 06:48
  • The comparison to airport shops and such is irrelevant, because the receipt and total is printed at the moment you are expected to pay, which is not the case with invoiced projects. – D Stellar Aug 25 '21 at 06:50
  • In other words, the business won't accept using your currency if it's a gamble to them. The other option is to make it a gamble to you - though in most cases then the company can use that to their advantage to have a non-gambling position in BTC. So I don't really see how you can pull off what you want unless you give them a very small window to pay within (for BTC). – D Stellar Aug 25 '21 at 06:52
32

I would not hand out a BTC address and hope the exchange rate stays relatively stable until the client can pay so that everything stays fair.

Rather, you could include a link to a bitcoin payment page on the invoice that directs them to a page online where they can pay using bitcoin at the current exchange rate at the time of payment for an amount equal to 90% of the full invoice amount. This can be done with one of the crypto payment services, or by setting up a self-hosted one such as BTCPay Server.

GrandmasterB
  • 571
  • 3
  • 6
  • 4
    Exactly, do not explicitly mention the bitcoin amount on your invoice. Just refer to a link and mention payments using bitcoin are 10% off – Thomas Wagenaar Aug 24 '21 at 10:24
  • 2
    This seems like the answer to me and is pretty standard practice across merchants accepting bitcoin. Not sure why it's currently the least-upvoted answer. – CharlieB Aug 24 '21 at 16:02
  • that makes the most sense – Thomas Aug 26 '21 at 09:54
  • I'm guessing the reason they're not involving a 3rd party (which seems like a rather obvious solution) is that their goal here might be to obtain Bitcoin that's hard to trace... – user541686 Aug 26 '21 at 11:16
  • The problem with this is taxes, because if the user paid with bitcoin, you have just given 10% discount which is not shown on the invoice. So you will be taxed on the full amount, not on the 90% you received. You can then fix this by giving the user a new invoice but thats a mess.

    I think a far better solution if you insist on the option of getting paid in bitcoin, is to ask the user if they want to pay in bitcoin or usd, and then give them a matching invoice which specify an amount in bitcoin if that is the selected currency. And a short payment time to avoid issue with bitcoin flux.

    – MTilsted Aug 26 '21 at 13:36
  • Self-hosted + asking the client if they would like a Bitcoin invoice. This seems like the most pragmatic option for me at this stage. – NeRoboto Aug 28 '21 at 06:09
  • 1
    @MTilsted You are not taxed based on what your invoices show; you are taxed based on what you declare as your income on your tax return, which is supported by your business’s financial books. There is no need to issue new invoices. – Ben Miller Aug 28 '21 at 12:42
  • @BenMiller-RememberMonica Yes but then your business’s financial books will not match reality. So after the customer have paid, you need to create a credit note on the 10% you did not get, and send that credit note to the customer. And having to create a 10% credit note to all customers which pays with bitcoin is what I called a mess, but it is possible. – MTilsted Aug 28 '21 at 13:35
  • @MTilsted I wouldn’t call it a “mess.” I would call it a bookkeeping entry. – Ben Miller Aug 28 '21 at 13:39
29

If you're a big company that accepts payment in one currency but has expenses in another (i.e. you're building widgets in Mexico where you pay for everything in pesos and selling widgets in America where your customers pay in dollars at some later date), you hedge against fluctuations in the exchange rate to ensure that you don't end up losing money if currencies move against you. You can do the same thing (though it's one more thing for you to manage and one more expense for your business).

For example, if 1 BTC = $50,000 on the day you generate an invoice for $5,000 (0.1 BTC - 10% discount = 0.09 BTC), you can buy an option to sell 0.09 BTC on the invoice due date for $4,500. If the client sends you 0.09 BTC immediately, you're satisfied. If they send you 0.09 BTC later when 1 BTC = $40,000, you exercise your option and get your $4,500. If the client sends you 0.09 BTC later when 1 BTC = $60,000 then, presumably, you're happy and don't exercise your option. Depending on the country in which you live and the trading platforms you have access to, you may be able to use a contract for difference (CFD) to produce the same sort of hedge.

Of course, buying this option (particularly for an asset like BTC which is very volatile) isn't free-- you'd be paying someone to take on the volatility risk. So it would be one more expense for your business to manage. Depending on your clients and your tolerance for risk, you can adjust how much you hedge. If you generate $50,000 in invoices for the month for all clients but you know that many of them aren't set up to pay in bitcoin, you probably don't need to hedge a full bitcoin. And if you're willing to take a discount for bitcoin, you can probably choose a strike price of the option that is less than the current value (i.e. you accept the risk of a 5% drop but use the option to hedge against a larger drop) which will make the option less costly. Of course, you'd need to adjust for the ability/ willingness of your clients to pay in bitcoin, the probability that they'll be watching the exchange rate to figure out which currency to use, and the expense of the different options along with your tolerance for exchange rate risk.

Justin Cave
  • 27,287
  • 5
  • 69
  • 86
12

There are two options that I am aware of for multi-currency invoicing, and you should always specify what the system will be in the initial contract that gives rise to the invoice(s).

Option 1: Specify the exchange rate up front so that you can calculate the Bitcoin amount at the time you create the invoice. In this example you might say "Invoices will be calculated in US$ and a Bitcoin amount will also be provided, this will be a 10% discount on the US$ price using the exchange rate from [site] on the invoice date. [Client] may choose to pay the US$ amount via bank transfer or the Bitcoin amount via transfer to [Bitcoin wallet]; in either case, the payment is due within X days of the invoice date and late payments will attract an additional charge [blah blah blah]"

Option 2: Allow the client to determine the Bitcoin amount at the time they make the payment. In this example you might say "Invoices will be calculated and provided in US$ which should be paid by bank transfer. Alternatively payment may be made in Bitcoin to [Bitcoin wallet] at a 10% discount rate from the US$ price calculated at the time of making the payment. In either case, the payment is due within X days of the invoice date and late payments will attract an additional charge [blah blah blah]"

The factors to consider are whether you need/want to know exactly the amount you will receive in advance, who you want to carry the exchange rate risk, how much you want to have to check the calculations made by the client at the time of making the transfer, etc.

Vicky
  • 23,982
  • 4
  • 60
  • 86
  • 11
    If you go with option 2, you need to also specify exactly how the exchange rate is determined. You cannot just put "at market rate" in a contract - you must indicate a specific source of information, and provide for what happens if that source becomes unavailable. Otherwise, the volatility of BTC virtually guarantees that you'll get into a messy legal fight at some point. – Kevin Aug 23 '21 at 22:37
9

Since (I assume) few or none of your expenses are fixed in BTC and you "think" in your local currency.

You may use the formula pretty much popular in economies where the local currency is unstable:

The customer owes XXX.xx (whatever your preferred currency is), or the BTC equivalent at the rate published in (reputable authoritative source) at the moment of the payment with additional 10% discount.

fraxinus
  • 943
  • 5
  • 8
1

You just can't accept multi-currency payments if the exchange rate is not stable.

Nowadays Bitcoin is too volatile even for the purpose of being used as a payment method.

Emphasizing/exaggerating it: you work your day at morning for Bitcoins, but you don't know if you can afford dinner at evening, or buy a new car.

That's not just Bitcoin, which is just the best fit as an example, it is a problem of multi-currency. Nowadays, fiat currencies are decently stable each other. Cryptos that are stable with fiat currencies (stablecoins!!) exist, so they are not such of a problem.

But think about inflational and better hyper inflational currencies, of which history has examples. If your purpose is to convert the alternate coin other than spending it for your living, you better not accept alternate currencies.

You do always have two option: one is to accept the payment in any other currency giving the payer the duty to check the exchange rate. Nothing different from cyber extortionist to ask you "send us any amount of Bitcoins worth 1000$ at the time you buy them". In this case the price is set to one currency (dollars?) and both parties suffer rate risk.

In the latter case, you compute your own due amounts at your desired exchange rate, but the value worth can change significantly over time.

What I am going to say with this answer is, even if the exchange rate between Indian Rupee and Czech Koruna is oscillating, you know very well how many Pilsens you'll be drinking after your job.

Indian Rupee vs Czech Koruna 1Y

With oscillating cryptos, we all need to establish an economy where one can buy daily asset with crypto (food, gasoline, probably not utilities bills). By that time, invoices in crypto will gain a lot more sense.

Another point of view of this answer is the market where the alt currency will be spent. In the world of fiat coins, you should also be aware of how and where you will be spending the money. The price of a single commodity (such as... beer) is dramatically and substantially different by country (compare Czechia with Denmark for example).

This assumes you are getting paid for your living, not to accumulate liquid assets. In the example right above, if you get paid in CZK you buy a certain amount of things in Czechia. But if you get paid the same worth amount in DKK, you'll find it harder to buy things in Denmark.

This ends with a new question then: how are you going to use your crypto assets? Are you going to buy your living?

0

Is there not a crypto payment system that will allow the client to specify an exact USD value (or whatever your local currency is) of BTC to send, and which will also allow you to see the exact USD value of what you receive at the moment it was transacted? If you can find something like that, then you wouldn't need to put the amount of BTC on the bill, you just tell them the amount in your currency that they owe (minus 10% or whatever) and then they use a payment system where they can send that exact currency's-worth of BTC. Of course, this will leave them to possibly strategically try to wait for a day when BTC is most cheap, but it will still be worth the correct value of $$$ at the moment it arrives, and at least it will eliminate your problem of having to state an approximate/incorrect BTC amount on the invoice, which seemed to be your main problem.

Edit: actually wait a minute, now that I think about it this actually does solve both "problems." Because they can't "strategically" wait for anything. Whether the coins go up or down, they are still giving you the same USD value. The issue only arose because you were giving them a BTC amount on the invoice which they could leverage. I suppose there could be a slight strategy still, but it would only involve what happened to the BTC price after the transaction happens. That is, if the price goes up after, you win (as long as you hold to that higher price); and if it goes down, then they do. But that is complicated enough of a "strategy" that it mostly can be disregarded.

Brimby
  • 267
  • 1
  • 7
  • There is a Crypto currency pegged to USD but not my local currengy. – NeRoboto Aug 25 '21 at 05:30
  • There is no such thing as an exact USD amount of BTC. By the time your payment goes through (1 hour?) the exchange rate has changed. – user253751 Aug 26 '21 at 09:56
  • @user253751 USD coin is backed by a promise to exchange it for real USD. So it does actually follow USD's value almost exactly at the cost of centralizing it somewhat. It supposedly works like a gold-backed currency. – NeRoboto Aug 26 '21 at 16:38
  • @LordRatte Sure, but the question asks about Bitcoin, not USD-coin. (Also there are rumours that the USD-coin is insolvent) – user253751 Aug 27 '21 at 08:06
  • @user253751 ah, you've exposed yourself now as someone who is simply here to bash Bitcoin. First you give a transaction time which is much closer to a worse-case-scenario than an average, and now you say "this question is about A not B" yet go on to add "rumours" that are even more irrelevant to the question than what you were responding to. – Brimby Aug 27 '21 at 19:51
  • @Brimby you have responded with equally meaningless arguments exposing yourself as someone who is simply here to defend Bitcoin and USD-coin... These are real problems with these coins. – user253751 Aug 28 '21 at 07:56
  • Plenty of crypto payment processors will let you invoice a client in USD or other traditional currency, then collect the fair amount of cryptocurrency using an exchange rate calculated at the time of payment. It's a very common feature for payment processors. – Maximillian Laumeister Sep 01 '21 at 21:23
  • @user253751 I have a feeling you don't know what "USD-coin" is. USDC (USD Coin) is a stablecoin product by Coinbase which is issued by regulated financial institutions and backed by fully reserved assets https://www.circle.com/en/usdc . Perhaps you are referring to USDT (Tether) which is another stablecoin based out of Hong Kong that gets a lot of scrutiny about whether it's fully backed. Tether may be the most used stablecoin, but that doesn't mean all of them are operating in legal gray areas. – Brimby Sep 02 '21 at 22:12