What functional currency is
The functional currency is your organization's main currency. Reports default to it. Tax filings use it. When transactions in other currencies happen, BitBooks converts to it.
Most US businesses pick USD. Most Canadian businesses pick CAD. Most UK businesses pick GBP. Pure Bitcoin treasuries sometimes pick BTC. Whichever currency you primarily think and operate in.
Each organization has exactly one functional currency. You set it at organization creation (with a sensible default), and you can change it later if needed (with extra steps).
For the broader picture, see The Three-Currency Model Explained.
Picking the right one
A few questions to ask:
What currency do you bill customers in?
If most of your invoices are in USD, your functional currency is USD. If you're a Canadian business billing Canadian customers in CAD, that's CAD.
What currency do you pay your costs in?
If your rent, salaries, and software bills are in CAD, that's CAD-functional even if you also have some Bitcoin operations.
What currency does your tax authority require?
Most countries require tax filings in their national currency. If you're in the US, USD is the safe pick. Canada, CAD. The functional currency aligns nicely with tax reporting if it's your home currency.
Can I pick BTC?
Yes. Some Bitcoin treasuries pick BTC as functional. Their books are denominated in BTC, with USD as a secondary reporting currency for stakeholder views. This is a valid choice if your operations are largely Bitcoin-denominated. For most small businesses operating in fiat, USD/CAD/EUR is more practical.
How to set it at creation
When you create a new organization (Admin → Organizations → Add Organization), the wizard asks for:
- Functional currency type: FIAT or BITCOIN
- If FIAT: the specific code (USD, EUR, CAD, etc.)
Pick and save. The organization is now operating in that currency.

You can change later if needed, but get it right initially when possible.
Where the functional currency shows up
After setup, the functional currency drives:
- The default currency for new transactions when you don't specify one
- The functional value calculated for every transaction (BitBooks converts the transactional currency to functional using the rate at the transaction date)
- The default currency for reports (P&L, Balance Sheet, etc.)
- The threshold currency for approval limits (in some configurations)
- Tax-friendly export formats
You'll see your functional currency labeled explicitly in many places: report headers, settings, the organization summary.
Changing the functional currency later
Possible but more involved than just picking a new value. See Changing Your Functional Currency After Going Live for the full flow.
The short version:
- Go to Admin → Settings
- Change the Primary accounting currency dropdown to the new value
- BitBooks asks for an effective date (when the change takes effect)
- BitBooks asks for an audit reason (a free-text explanation of why)
- Save
After save:
- Transactions before the effective date keep their old functional value
- Transactions on or after the effective date use the new functional currency
- Reports are clearly labeled showing the change
This is required by accounting standards. A functional currency change is a material event; the audit trail makes it visible to anyone reading historical reports later.
Functional vs Transactional currency
Don't confuse the two:
- Transactional currency = the currency a specific transaction happened in
- Functional currency = your books' main currency
A USD-functional business can have transactional entries in EUR, BTC, GBP, CAD, etc. Each transaction stays in its native (transactional) currency, AND BitBooks computes the equivalent functional value (USD).
So if you run a USD-functional business and receive €1,000:
- Transactional: €1,000 EUR
- Functional: $1,080 USD (using the EUR/USD rate)
Both are stored. Reports default to USD. Detailed views show both.
Functional currency for Bitcoin businesses
Most Bitcoin businesses are functional in their local fiat (USD, CAD, etc.) and just have BTC as one of many transactional currencies. The Bitcoin operations show up as BTC-denominated transactions converted to USD on reports.
Functional-in-BTC is a niche choice. It makes sense if:
- Your reserves are denominated in BTC and you think of value in BTC
- Your cost structure is in BTC (rare; most labor and rent are fiat)
- You're explicitly a "Bitcoin treasury" company
Functional-in-BTC has a few quirks:
- Tax filings will need to be translated to your local fiat (BitBooks does this through the reporting currency)
- Day-to-day fiat costs (paying staff, paying rent) appear as foreign-currency transactions converted to BTC
- The BTC display modes (Sats, BTC, etc.) become more central
If you're not sure, start with your local fiat. You can always change later.
Common questions
"Can I run two organizations with different functional currencies?"
Yes. Each organization is independent. One can be USD-functional, another CAD-functional, a third BTC-functional. Switch between them in the sidebar dropdown.
"What happens if I have transactions before the change date in the new currency?"
After a functional currency change, BitBooks shows historical transactions in their original functional currency context. New reports cover both ranges with appropriate labels. Talk to your accountant about how to present mid-year changes; they may want to provide both pre-change and post-change views.
"Why does this need an audit reason?"
A functional currency change affects how readers interpret historical numbers. The audit reason makes it explicit: why was this changed, by whom, and when. Required by IFRS and GAAP for material accounting changes.
Where to go next
- The Three-Currency Model Explained for the broader currency framework
- Setting Your Reporting Currency for the optional secondary view
- Changing Your Functional Currency After Going Live for the change flow
- How Exchange Rates Work in BitBooks for rate fetching