Bitcoin invoicing
Invoicing in bitcoin is the oldest way to be paid on a chain and the least well served by invoicing tools, which mostly treat BTC as a stablecoin with a worse exchange rate. It is not, and the differences all land on the document.
Price in bitcoin, or price in money
An invoice can ask for 0.1 BTC — eight decimal places, down to the satoshi — or it can ask for €4,000 and name bitcoin as how you would like it settled. The first is an obligation in bitcoin; the second is an obligation in euro with a rate attached. Say which, on the document, because a month between issue and payment is a long time in this particular currency.
The address, and a QR code
Add a Bitcoin wallet and the invoice prints the address in a monospaced face with a QR code beside it. Legacy and segwit addresses both, upper or lower case, because a QR printed in caps is still a valid address. Nothing about it is custodial: it is your address, and the transaction goes from your client's wallet to it.
Watched, but only when confirmed
Turn Watch the chain on and a job asks an open index for that address's own transactions and sums the outputs paying it. Only confirmed transactions count — an unconfirmed one can still be replaced, and marking an invoice paid on a transaction that later vanishes is worse than not watching at all.
This works because the document can be priced in BTC. A dollar invoice against a bitcoin address has an exchange rate in the middle of it, and no fixed number of satoshis to watch for — so price it in BTC if you want the chain to settle it for you.
And what happens to it afterwards
Bitcoin you were paid is a position from the moment it confirms. Perly Invoice does not track that; the Perly app does — cost basis, PnL, and what today did to the invoice you sent last month. Same account. There is also Perly Charts, which is free and asks for nothing.
Common questions
- Can I invoice for a fraction of a bitcoin?
- Yes — down to eight decimal places. The arithmetic is done in integers, never in floating point, so a satoshi is never lost to rounding.
- Will it notice the payment by itself?
- If the invoice is priced in BTC and the watcher is on, yes, once the transaction confirms. A dollar-priced invoice has no fixed amount of bitcoin to look for, so you mark that one paid yourself.
- Do you support Lightning?
- Not yet. The address on the invoice is an on-chain address, and we would rather print one thing that works than two things that might.
- Who holds the bitcoin?
- You do, from the first confirmation. There is no Perly wallet in the path and no percentage taken.
- What about the volatility between issuing and being paid?
- That is why the choice of unit matters. Price in BTC and the risk is your client's until they pay; price in your own currency and it is yours. Short terms help either way — see [payment terms](/guide/payment-terms).
Make one now
The generator is the front page. No account, no sign-up, no watermark — fill the document in and the PDF is yours.
Open the invoice generator