How to Create Professional Invoices for Crypto Payments
Getting paid in cryptocurrency is fast, borderless, and increasingly common for freelancers. But when tax season arrives, "it's on the blockchain" isn't going to satisfy your accountant. Here's what you actually need to know.
Whether you're a developer paid in USDC, a designer receiving USDT, or a consultant earning DAI β you need proper invoices. This guide covers what goes on them, how to handle exchange rates, and the country-specific quirks that trip people up.
What Your Invoice Needs
Regardless of jurisdiction, every crypto payment invoice should include:
- Your business details β Name, address, tax ID (VAT number, Steuernummer, EIN, etc.)
- Client details β Name, address, their tax ID if applicable
- Invoice number β Sequential, no gaps (INV-2026-001, INV-2026-002, etc.)
- Date β The date of the transaction, not when you created the invoice
- Description of services β What work was performed
- Amount in fiat β Even if paid in crypto, your tax authority wants EUR/USD/GBP
- Exchange rate β The crypto-to-fiat rate on the transaction date
- Payment reference β Transaction hash for your records
The Exchange Rate Problem
This is where most freelancers get it wrong. You need the exchange rate on the date you received the payment, not:
- When you converted to fiat
- The current rate
- An approximate average
For stablecoins (USDC, USDT, DAI), this is usually close to 1:1 USD, but you still need the USDβEUR (or your local currency) rate for that specific date.
Country-Specific Requirements
Germany (Kleinunternehmer / Β§19 UStG)
- Fortlaufende Rechnungsnummer (sequential invoice number)
- Steuernummer or USt-IdNr.
- Note: "GemÀà §19 UStG wird keine Umsatzsteuer berechnet" if using Kleinunternehmerregelung
- Amount in EUR using ECB reference rate on transaction date
EU (with VAT)
- VAT number
- Reverse charge mechanism for B2B cross-border ("Steuerschuldnerschaft des LeistungsempfΓ€ngers")
- Amount in EUR
United States
- EIN or SSN
- 1099-MISC/1099-NEC compatible
- Amount in USD
United Kingdom
- VAT number (if registered)
- Amount in GBP
- HMRC-compliant format
The Manual Way
- Go to Etherscan/Polygonscan, find your transaction
- Note the amount, date, and sender
- Look up the exchange rate on xe.com or ECB for that date
- Open your invoice template
- Fill in all the details
- Calculate the fiat amount
- Export as PDF
- Repeat for every single transaction
Time per invoice: roughly 20β30 minutes.
Monthly time for 10 transactions: about 4 hours.
That's fine if you get one or two payments a month. It gets old fast with more than that.
Free Invoice Template
If you prefer the manual route, here's a template that covers the basics:
[YOUR COMPANY NAME]
[Your Address]
[Tax ID: DE123456789]
INVOICE #INV-2026-001
Date: 2026-02-15
Bill to:
[Client Name]
[Client Address]
Description Amount
βββββββββββββββββββββββββββββββββββββ
Web development services $5,000.00
January 2026
Payment received: 5,000 USDC
Chain: Polygon
TX: 0xabc...def
Exchange rate: 1 USD = 0.92 EUR (ECB, 2026-02-15)
Total: β¬4,600.00
Note: GemÀà §19 UStG wird keine Umsatzsteuer berechnet.
Automating It
Tools like CryptoSlip can pull transactions directly from the blockchain, look up exchange rates for each transaction date, and generate compliant invoices automatically. You paste your wallet address, map senders to clients once, and download PDFs. What takes 20 minutes manually takes about 2 minutes.
Skip the spreadsheets
CryptoSlip turns on-chain transactions into tax-compliant invoices. From $7/mo.
Try CryptoSlip βKey Takeaways
- Always create invoices for crypto payments, even stablecoin transfers
- Use the exchange rate from the transaction date
- Keep transaction hashes as payment proof
- Use sequential invoice numbering with no gaps
- Pick a method β manual or automated β and stick with it consistently