It has been suggested that this article is merged with Merchant Howto.

This guide is intended for small business owners who wish to help promote Bitcoin by accepting it as payment for goods and services. It's written with the assumption that you operate a regular business that sells goods or services for regular national currency such as dollars, and that you wish to accept Bitcoin as another legal way to pay, and that you intend to pay taxes on your Bitcoin income just like any other income.

With Bitcoin being touted as a way to conduct anonymous transactions and as way to compete with government currency, many small business owners wonder what's the right way to accept and account Bitcoin, or if it's legal or ethical, or whether and how they should pay taxes on income received through Bitcoin.

Bitcoin has been formally recognized by some governments and authorities as a "currency", but in practice, Bitcoin is no different than accepting payment in other forms such as cash or gold or scrip or gift cards or foreign currency. We think that it is pretty much the same as the local businesses of Great Barrington, Massachusetts choosing to accept their locally-printed "Berkshire Bucks" to support their local economy.

Starting to accept Bitcoin for transactions

Accepting Bitcoin at a small business is best started in whichever manner keeps the accounting simple for you. This will vary by the type of business you are operating.

Start with a sign

If you expect that the number of people interested in using Bitcoin is small, you might simply start by posting a sign or a note: "We Accept Bitcoin", and ask people to contact you directly in order to make a payment. Even if hardly anybody uses Bitcoin as a payment method, you're helping Bitcoin in two ways: one, by increasing awareness, and two, by making your customers more willing to accept Bitcoin as payment from others in the future, because now they know somewhere they can spend it.

Accepting Payment

If you sell things in a brick and mortar shop, customers can pay using hardware terminals, touch screen apps or simple wallet addresses through QR Codes.

For an online website, accepting Bitcoin should be implemented by a competent programmer and you should run a full node, especially if you sell larger-ticket items.

Smart Phone or Tablet

You can use a dedicated app or webapp that generates a QR code on the fly including the amount. Many wallets directly support QR code scanning for payment.

Accounting

When a customer makes a payment, you might simply issue a credit to their account. Ideally, you want to enter it in a way that suggests you received a payment. If on the other hand, you're giving "discounts" for Bitcoins, but then you are selling the Bitcoins for currency and then counting that as income, then chances are good that your calculation of income is making up for it. Ask your accountant.

Businesses that offer gift cards

If your business sells gift cards or gift certificates, you may find that the easiest way to accept Bitcoin is to accept it only for the purchase of gift cards, and then require the gift cards to be used for actual purchases of goods or services. This way, the accounting practices you already have in place for processing gift cards can be put to use. The accounting for Bitcoins would then be minimized to tracking sales of a single SKU.

This method is also ideal for retail food establishments and convenience stores, where the payment of Bitcoins through a mobile phone for a small daily food purchase might be cumbersome or disruptive, especially in front of a line of other customers. Bitcoins in this case would be best used to reload prepaid cards that can then be swiped at point-of-sale.

If you don't accept gift cards, but you already accept credit cards through a swipe terminal, consider the possibility that you could add a retail gift card system through the swipe terminal you already own. Many point-of-sale terminals, including ones from VeriFone®, are designed around the ability to support multiple applications on the same terminal. Gift cards are also highly profitable because of "breakage", or in other words, the fact that a significant percentage of them never get redeemed.

You could consider adding a private label gift card program from a provider who specializes in this, not just as a jumpstart to accepting Bitcoins, but as an extra boost to income. A private label gift card service provider necessarily have to handle your funds - they can simply provide a solution that keeps track of the balance on the cards on your behalf, including features that allow users to check their balances by phone or by web. Such a solution, of course, is also what makes the cards swipeable through the card reader.

Businesses that mail invoices

Does your business send out invoices to customers? Adding one line may make a huge impact for the Bitcoin economy. Perhaps you list it as a payment option just after Visa, MasterCard, and American Express, even if that means your customer must call or e-mail to make a payment.

If you have access to the programming expertise such that you can generate Bitcoin addresses programmatically, consider generating a brand new Bitcoin address for each invoice, and print it on the invoice. When a Bitcoin payment arrives, you'll automatically know where it should arrive.

Customers might wonder how much BTC they should pay in order to satisfy an invoice in full. Your invoice should suggest an amount.

You might be able to anticipate the possibility that even though a Bitcoin address can be printed on an invoice or payment stub, that they are very cumbersome for most people to type, especially being a mix of uppercase and lowercase letters. However, you should probably still do it anyway. The customer is probably going to want some paper trail for his payment. Giving him a pre-printed payment stub with a pre-printed address will satisfy that, because the customer can independently and publicly prove through Block Explorer that the payment took place.

Does your business have a website? On your invoice, consider allowing them to go to a special URL to get the address to make a Bitcoin payment just by typing in their invoice number. This way, they can see the Bitcoin address, copy and paste it directly into their Bitcoin client.

Use a brand new address for each invoice whenever possible, and use it only once. This benefits the customer as it removes any ambiguity as to which customer is making which payment and for which invoice.

Avoiding fraud

You should also consider the possible risk that fraudsters could send counterfeit invoices to your customers, and entice them to make a payment to a Bitcoin address they control, instead of you. While that isn't likely in general - it depends on how well a fraudster could find out who your customers are in the first place - it would certainly be an unpleasant situation if it ever happened. One way you could control that is, whenever possible, never let people try to type Bitcoin addresses off payment stubs - instead, force people to get the full Bitcoin address from your website via secure SSL. But, still print most of the address on the payment stub (perhaps with four or five characters starred out), so that the customer's need for a paper trail can be satisfied, so they can prove they paid if there is ever a dispute. Merchants can also use the IP address geolocation to understand the close proximity of users. There is automated solution such as FraudLabs Pro that automates the screening of Bitcoin transactions to determine risk level.

Setting Prices

When a business accepts bitcoins for payment, there generally is the need to convert them to the currencies used for paying suppliers, employees and shareholders. Some merchants set prices based on the current market rate at the time the price quote is presented to the customer

Bitcoin Prices lists the exchange rate for many currencies on multiple exchanges.

When prices are determined using an automated process, the current market rate can be based on either a current price or on a weighted average basis.

When bitcoin funds for purchases are received, some merchants instantly exchange those proceeds into the preferred currency used. Hedging for each transaction can nearly entirely eliminate exchange rate risk that the business is exposed to when accepting bitcoins for payment.

Contract

A sales contract might be used to ensure that specific terms are met to lessen the chances of a misunderstanding. For instance, the party sending payment is responsible for paying any transaction fee that might be necessary. A contract might specify that a transaction fee must be paid and what amount, so as to prevent the situation where the transaction is considered a low priority transaction and thus isn't confirmed quickly.

Other items that might be addressed in a contract:

Requirement and handling of escrow through an escrow service.

Jurisdiction for disputes.

Refund policy (particularly with the exchange rate being volatile)

Paying taxes on Bitcoin income

Tax compliance is a topic of concern for small businesses. We aren't accountants or lawyers, and can't give legal or accounting advice.

But in many respects, Bitcoin transactions work very much like cash. Just like Bitcoin, cash is anonymous and doesn't leave a paper trail, yet is widely used in commerce every day.

Ask yourself how you would handle a cash transaction. Do you accept cash transactions? Do you normally pay taxes on cash transactions? The answer for Bitcoin should probably be the same.

As for how to decide what a Bitcoin transaction is worth: the IRS, as far as we know, has never issued a guide mentioning how to value Bitcoin transactions. But they have rules and guidelines on how to value transactions made in foreign currency or "cash equivalents". We imagine the accounting would be similar.

With Bitcoins, there's likely to be some difference between the value of BTC when you received them as payment, versus when you go to exchange them for another currency like USD, should you decide to do so. This scenario, likewise, would be no different if you accepted foreign currency or gold as payment. Under some scenarios, it might make sense to book the dollar value of BTC income as it is received, and then to book any difference incurred when it is exchanged for fiat currency. Under others, it might make sense to book the whole thing at the time of exchange.

Perhaps you might talk to your accountant. You don't need to get into a discussion with your accountant about block chains and private keys or the philosophy behind a decentralized currency. By comparing the fundamentals of Bitcoins to accounting concepts already well understood by the public, you can probably get all the answers you need. What would you ask your accountant if you decided that you wanted to accept Berkshire Bucks or 1-ounce gold coins as payment?