Everything you need to know about Sovereign Tax AUS — from first launch to lodging your taxes.
Sovereign Tax is a self-sovereign Bitcoin tax calculator that runs entirely on your machine. There are no accounts, no cloud servers, and no third-party access to your data. Every transaction you import, every calculation the app makes, and every report it generates stays local and encrypted. This guide walks you through every feature so you can confidently manage your Bitcoin taxes on your own terms.
When you open Sovereign Tax for the first time, you'll go through a quick three-step setup:
Review and accept the Terms of Service. This is a one-time step.
Choose a PIN (4 or more digits) that will protect your data. Your PIN is used to derive an encryption key — it is never stored anywhere. All of your data is encrypted with AES-256-GCM using a key derived from your PIN via PBKDF2 with 600,000 iterations.
You're in. Import your exchange CSVs, review your data, and generate tax reports.
Your PIN is the only way to unlock your data. If you lose it, your data cannot be recovered. This is by design — there are no backdoors, no cloud recovery, and no way to reset it.
Sovereign Tax is signed and notarized by Apple. Double-click the SovereignTax-macOS.dmg file, drag the app icon into your Applications folder, then open it from Applications. No extra approval steps are needed.
Run SovereignTax-Windows.exe to install. You may see a SmartScreen warning on first launch — click "More info" and then "Run anyway". This is a one-time approval and is standard for independently distributed Windows software.
Install the .deb package with: sudo dpkg -i SovereignTax-Linux.deb. Then launch Sovereign Tax from your application menu.
When you reopen the app, you'll see a lock screen. Enter your PIN to decrypt your data and pick up where you left off. Everything is stored locally on your machine.
Sovereign Tax follows a four-step workflow:
Drop CSV files from each exchange — Amber, CoinSpot, HardBlock, Swyftx, Coinbase, Kraken, and more. Columns are auto-detected. Enter the exchange name when prompted — this tags every transaction to the correct wallet for cost basis tracking. You can also add transactions manually.
Open the Review view to see a guided checklist of everything that needs attention before lodging. Assign source wallets on Transfer In rows so lots move to the correct wallet. Fix any wallet mismatches. Optionally optimise your lot selections with Specific ID to minimise taxes. See Review View and Wallets & Transfers for details.
View your holdings, compare accounting methods, simulate sales, and explore multi-year trends. Everything recalculates automatically when you change methods or add data.
Generate your CGT Report in PDF or CSV format. Ready to lodge or hand to your accountant.
The app sidebar is organized into four groups:
Settings and Audit Log are at the bottom of the sidebar.
The Import Data view is your starting point for getting transaction data into Sovereign Tax. It accepts CSV files exported from any Bitcoin exchange and uses an intelligent auto-detection engine to match your file's column headers to the correct data fields. This means you don't need to manually format your CSVs or worry about different exchange formats — the app handles it.
Instead of manually entering dozens or hundreds of transactions, you can import your entire exchange history in seconds. The auto-detection supports 60+ column name variations, so whether you use Amber, CoinSpot, HardBlock, Coinbase, Kraken, or another exchange, your data is mapped correctly. The app also remembers your column mappings per exchange, making future imports even faster.
The import engine recognizes 60+ column name variations across major exchanges, including:
Click Import Data in the sidebar. Drag and drop your CSV file onto the drop zone, or click "Browse Files..." to select it. Enter the exchange name (required) so the app tags your transactions to the correct wallet for cost basis tracking.
After selecting a file, the app reads the headers and auto-maps them. Green checkmarks appear next to matched fields. If everything looks right, click "Import Transactions".
The exchange name field is required before you can import. It serves two purposes: (1) it tags all imported transactions to that wallet for cost basis tracking, and (2) it saves your column mapping so future imports from the same exchange are pre-filled automatically. Use consistent naming — always "Coinbase", not sometimes "coinbase" or "COINBASE".
If your CSV uses non-standard column names, some fields may show "— Not mapped —". Click the dropdown next to each unmapped field and select the matching column from your CSV. At minimum, you need Date, Amount, and either Price or Total mapped — without a price or total, the app can't calculate your cost basis.
Before importing, the app shows a preview of the first 3 rows with your current mapping so you can verify the data looks correct — amounts, dates, and prices should make sense.
| Field | Required | Description |
|---|---|---|
| Date | Yes | When the transaction occurred. Supports most formats (MM/DD/YYYY, YYYY-MM-DD, ISO 8601, etc.) |
| Type | No* | Buy, Sell, Send, Receive, etc. If not mapped, you set a default type for all rows. |
| Amount | Yes | The BTC quantity — how much Bitcoin was transacted (not the dollar value). |
| Price | Yes* | The AUD price of one Bitcoin at the time of the transaction. Required unless Total is mapped. |
| Total | Yes* | The total AUD value (Amount × Price). Required unless Price is mapped. You need at least one of Price or Total. |
| Fee | No | Trading fees. Added to cost basis on buys, subtracted from proceeds on sells. Defaults to zero. |
| Wallet | No | Which wallet or sub-account this transaction belongs to. Used for cost basis tracking. |
| Exchange | No | The exchange or platform where the transaction happened. |
| Notes | No | Any extra notes or description. |
Sovereign Tax is a Bitcoin-only tool. If your CSV contains other cryptocurrencies (ETH, SOL, etc.), those rows are automatically filtered out. Only BTC and XBT transactions are imported. You'll see a count of skipped rows in the import summary.
The app has two layers of duplicate protection:
If your CSV includes donation transactions, the import engine automatically detects them. Keywords like "donation", "gift", "charitable", and "charity" in the type column are recognized and classified as Donation transactions. FMV is carried from the price column.
Some exchange exports don't include a "Type" column. When no Type column is mapped, the app shows an orange info box asking you to select a default type (Buy, Sell, Transfer In, or Transfer Out) that applies to every row in the file.
Some exchanges (like Amber, HardBlock, and Kraken) use a dual-column format with Received Quantity / Received Currency and Sent Quantity / Sent Currency (or Input/Output) instead of a simple Amount column. Sovereign Tax auto-detects this format and handles it correctly — classifying transactions as Buy, Sell, Transfer In, or Transfer Out based on which currency is BTC. Fiat-only rows (e.g., PayID Deposits) are automatically skipped.
The Transactions view is your command center. It displays all your buys, sells, transfers, and donations in a sortable, filterable table. Each row has Edit and Delete buttons, and every sell/donation row has a Lots button for assigning Specific ID lot elections.
The toolbar includes a year selector and two powerful batch actions:
How it benefits you: Full visibility into your transaction history, plus the ability to optimise your entire financial year in one click. No more manually picking lots for every sale — Optimise All does it automatically, and you can fine-tune individual transactions with the Lots button.
The Add Transaction view lets you manually enter individual transactions. This is useful for recording trades from exchanges that don't offer CSV exports, correcting missing data, or adding one-off purchases. You can set the date, type, BTC amount, price, fee, exchange, wallet, and notes.
How it benefits you: Sometimes a CSV doesn't capture every transaction, or you need to add a purchase made in person or through a peer-to-peer trade. Manual entry ensures your records are complete without needing a CSV file for every single transaction.
Every transaction in Sovereign Tax is one of five types:
Purchasing BTC with AUD. Creates a tax lot — a record of how much BTC you acquired, when, and at what price. This becomes your cost basis.
Disposing of BTC for AUD. Triggers a capital gain or loss calculated as: sale proceeds minus cost basis of the lots consumed.
Receiving BTC from another wallet or exchange you own. This is just a movement — it does not create a new lot or trigger any tax event.
Sending BTC to another wallet or exchange you own. Also just a movement — no tax consequences. The cost basis travels with the BTC.
Donating BTC to a deductible gift recipient (DGR). Consumes lots but is not a taxable sale — no capital gain or loss is recognised. Requires the Fair Market Value (FMV) at the time of donation for your charitable deduction records. Reported separately from the CGT Report.
Buy transactions can optionally be tagged with an income type to classify them for ordinary income reporting:
Crypto received as mining income, rewards, or interest is taxed as ordinary income at the fair market value (FMV) on the date received. The FMV also becomes the cost basis of those tokens. Report this income in your individual tax return.
A lot is a discrete purchase of BTC at a specific date and price. When you buy 0.5 BTC on January 15th at A$145,000, that creates one lot. Every lot tracks:
When you sell BTC, the app consumes lots based on your chosen accounting method (FIFO or Specific Identification). The difference between your sale price and the lot's cost basis determines your capital gain or loss.
The exchange field records where a transaction happened (e.g., "Coinbase"). The wallet field records which specific wallet or sub-account holds the BTC. If no wallet is specified, the exchange name is used as the wallet.
Sovereign Tax tracks cost basis per wallet to help you organise your records. Australia does not require per-wallet cost basis tracking — the ATO uses a global lot pool — but wallet-level tracking gives you better visibility into your portfolio.
Understanding accounting methods is the most important concept to help reduce your tax bill. The method you choose determines which Bitcoin lots are sold first, which directly affects whether your gains are non-discount (taxed at up to 47%) or discount-eligible (taxed at a reduced rate with the 50% CGT discount), and how much gain or loss is realised per sale. Sovereign Tax supports two methods — FIFO and Specific Identification — so you can find the optimal strategy for your situation.
Cost basis is the original value of an asset for tax purposes. For Bitcoin, it's the purchase price plus any fees paid. When you sell, your taxable gain or loss is calculated as:
Gain/Loss = Sale Proceeds − Cost Basis
The accounting method determines which lots are sold first when you have multiple purchases at different prices.
The Holdings view shows your current BTC inventory — every lot you own, its purchase date, cost basis, remaining amount, and which exchange/wallet it belongs to. Use the wallet filter to view lots from a specific wallet or exchange.
How it benefits you: This is your real-time portfolio dashboard. You can see exactly how much BTC you hold, what you paid for each lot, and your total unrealized gain or loss at the current market price. It's the fastest way to understand your tax position at a glance.
Sells your oldest lots first. This is the default method. In a rising market, this tends to produce larger gains (because your oldest BTC was cheapest) but they're more likely to be discount-eligible gains (held over 12 months), which qualify for the 50% CGT discount.
You manually choose which specific lots to sell or donate for each transaction using an interactive lot picker. Select individual lots, specify exact amounts from each, and see real-time cost basis and holding period details. Your lot elections are permanently recorded for ATO compliance. This method gives you full control to optimize for the lowest tax outcome.
The ATO expects you to use a consistent and defensible accounting method for all dispositions within a financial year. If you use FIFO for one sale, use it for all sales that year. You can switch methods between financial years. Specific Identification requires adequate identification of the lots being sold.
If you used FIFO for previous financial years — either because you lodged that way or because you never made Specific ID elections at the time of sale — those years should remain FIFO in the app. Do not retroactively assign Specific ID lots to past-year sells. The default is FIFO, and retroactive changes to prior-year lot selections are generally not supported.
What to do: Use the year selector to switch to each prior year and make sure no Specific ID elections have been applied. If any prior-year sells show as "Specific ID" when they should be FIFO, click "Revert to FIFO" in the Transactions view. Only use Specific ID for current and future year sells where you make the election at or before the time of sale.
Use the Compare Methods view to see a side-by-side comparison of FIFO vs. Optimal Specific ID. The app runs both methods on your data and shows you the difference — a bar chart with total gain/loss for each, a detailed table with non-discount and discount breakdowns, and a green savings callout showing how much you could save by using Specific ID.
If Compare Methods shows savings, go to Transactions and click Optimize All to automatically assign Specific ID lots to all your sells for the year. You can also assign lots individually using the Lots button on each sell.
Specific Identification (Specific ID) is an accounting method that lets you choose exactly which Bitcoin lots to sell or donate, instead of following a fixed order like FIFO. This gives you direct control over your tax outcome for every disposition.
Why it matters: Different lots have different cost bases and holding periods. By picking the right lots, you can realise losses instead of gains, convert non-discount gains into discount-eligible gains (qualifying for the 50% CGT discount instead of being taxed at up to 47%), or pick high-basis lots to minimise your taxable gain. On a single sale, this can save hundreds or thousands of dollars.
Specific Identification is a permitted method for tracking the cost base of CGT assets. The ATO requires that you maintain adequate records identifying which parcels (lots) were disposed of. Australia uses a global lot pool — you are not required to track lots on a per-wallet basis. Sovereign Tax helps you maintain the required records automatically.
The ATO requires that you maintain adequate records to identify which parcels (lots) were disposed of. While Australia does not have the same strict pre-disposition timing rules as some jurisdictions, you should maintain clear records of your lot identification method.
What this means for imported transactions: If you import historical sells from an exchange CSV and then use Optimize All or Edit Lots to assign Specific ID lots, ensure your records are consistent and defensible. The ATO may review your lot selection method during an audit.
Going forward: The recommended workflow is to use Sovereign Tax's Simulate → Record workflow or Manual Lot Picking to make your Specific ID election at or before the time of each sale. This creates a clear audit trail.
Sovereign Tax gives you multiple ways to use Specific ID depending on your situation. Here's a quick overview — choose the approach that fits your workflow.
| Method | When to Use | Where in the App |
|---|---|---|
| 1. Optimize All | You have imported sells and want to batch-assign the best lots to all of them at once | Transactions → Optimize All button (top bar) |
| 2. Edit Lots | You want to assign or change lot selections on a specific sell or donation after the fact | Transactions → click Lots button on any sell/donation row |
| 3. Simulate → Record | You're planning a sale and want to pick lots in advance, then record the actual sale later | Simulate Sale → save selections → Add Transaction → Sell |
| 4. Manual Lot Picking | You're recording a sale or donation and want to pick lots on the spot | Add Transaction → Sell or Donation → select Specific ID |
| 5. Compare Methods | You want to see how much you'd save with Specific ID vs. FIFO before committing | Compare Methods view (Tax section in sidebar) |
The fastest way to switch from FIFO to Specific ID. In the Transactions view, click Optimize All in the top toolbar. The app analyzes every sell transaction for the selected year and automatically assigns the tax-optimal lots to each one.
The algorithm scores each available lot by its estimated tax impact: (sale price − cost basis) × tax rate, using 47% for non-discount and 23.5% for discount-eligible gains. Lots with losses are picked first (they generate tax savings), followed by lots with the smallest gains. Sales are processed chronologically so lot availability is accurate.
After optimization, each sell shows a blue "Lots ✓" indicator. You can review individual assignments by clicking the Lots button, and revert any or all of them.
Before running Optimize All, open Compare Methods to see the estimated savings. If FIFO and Optimal Specific ID produce similar results, there may be no benefit to switching. If there's a meaningful difference, Optimize All applies it in one click.
Every sell and donation row in the Transactions view has a Lots button. Click it to open the Edit Lots modal, where you can assign or change Specific ID lot selections for that individual transaction.
The modal reconstructs the lot pool as it existed on the date of that transaction — accounting for all prior purchases and sales — so you see exactly which lots were available. It includes the full lot picker with sortable columns, colour-coded rows (green for discount-eligible, orange for non-discount), the Optimise button, and a preview of the tax impact before you save.
This is especially useful for CSV imports. When you import sell transactions from an exchange, they default to FIFO. You can go through each sell and assign Specific ID lots to optimize your tax outcome. See the Sales section for full details.
If you are assigning Specific ID lots to a sell that already happened (e.g., imported from a CSV), ensure your records are consistent and defensible. The ATO may review your lot selection method during an audit. Maintaining clear, contemporaneous records of your lot identification approach is recommended.
This is the recommended workflow when you're planning a sale that hasn't happened yet:
Saved selections persist for your current session and are cleared when you lock the app, close it, or record a sale. See the Sales section for step-by-step details with screenshots.
When recording a sale or donation in Add Transaction, select Specific ID as the accounting method. A Select Lots button appears. Click it to open the lot picker and manually choose which lots to use for this disposition. You can pick lots individually, enter custom amounts for partial lot sales, or click Optimize to auto-select the best ones.
The Compare Methods view runs both FIFO and Optimal Specific ID on your data for the selected financial year and shows them side-by-side. You'll see a bar chart comparing total gain/loss, a breakdown table with non-discount and discount amounts, and a green savings callout showing the difference. If Specific ID produces a better outcome, you can apply it using Optimize All.
All Specific ID workflows use the same interactive lot picker. It shows your available lots with:
Start with Compare Methods to see if Specific ID saves you money. If it does, use Optimize All for the fastest path. Use Edit Lots if you want fine-grained control over individual sales. Use the Simulate → Record workflow for future sales you're still planning.
The ATO expects you to use a consistent and defensible accounting method within a financial year. If you use Specific ID for one sale, use it for all sales that year. You can switch between FIFO and Specific ID across different financial years. Your lot elections are permanently recorded and used in all future calculations.
When you sell Bitcoin from a wallet that has no lots (because you transferred BTC there but haven't assigned the source wallet yet), Sovereign Tax falls back to using lots from all wallets and flags the sale with a yellow warning. While Australia uses a global lot pool (so this is not a compliance issue), assigning source wallets ensures accurate record-keeping and cleaner reports.
Recommended: Assign source wallets on your Transfer In transactions (Transactions → Assign button) so lots are tracked to the correct wallet. Once all transfers are assigned, the wallet mismatch warnings will resolve and your records will be well-organised.
All exported documents (CGT Report CSV, PDF) include a note when wallet mismatches are present.
The rules implemented in Sovereign Tax AUS are based on the following ATO guidance:
The Review view is a guided tax preparation checklist that sits between your data import and your final tax report. It scans your transactions for the selected financial year and flags everything that needs attention — unassigned transfers, wallet mismatches, lot optimisation opportunities — and tells you when you're ready to lodge.
How it benefits you: Instead of checking Transactions, Holdings, and Tax Report separately for issues, the Review view puts everything in one place. Work through the sections top to bottom and you'll know your tax report is clean and ATO-compliant before you export.
Shows Transfer In transactions for the selected year that have not been assigned a source wallet. Each row has an "Assign" button to open the Source Wallet Modal. The section count tells you how many transfers need attention. When all transfers are assigned, the section shows a green checkmark.
Shows sales and donations where the cost basis engine had to fall back to the global lot pool because no lots were found in the sale's wallet. This typically means a Transfer In hasn't been assigned its source wallet. The fix instructions point you to the specific Transfer In that needs attention. When all mismatches are resolved, the section shows a green checkmark.
Shows how many sells for the selected year are using FIFO vs. Specific ID, and estimates the potential tax savings from switching to Specific ID. If savings are available, you can click through to Transactions to run Optimize All. If all sells already have optimal lot selections (or no savings are possible), the section shows a green checkmark.
A summary section that checks whether all previous sections are resolved. When everything is green, it confirms you're ready to export your tax report. It provides a direct link to the Tax Report view.
The Review view is scoped to the selected financial year (same year selector as Transactions and Tax Report). Make sure you have the correct year selected when working through the checklist.
Before exporting any tax report, open Review and make sure all four sections show green checkmarks. This ensures your data is clean, your wallet assignments are complete, and your lot selections are optimal.
The Tax Report view is where everything comes together. It takes your imported transactions, applies your chosen accounting method, and generates a complete summary of your capital gains and losses for any financial year. You'll see total proceeds, total cost basis, net gain or loss, and a breakdown by non-discount and discount-eligible. From here, you export in the format you need for lodging.
How it benefits you: Instead of hiring a specialist or manually computing gains from dozens of trades, the Tax Report does it all automatically. You get an ATO-ready CGT Report in seconds — as a PDF you can print or a CSV for spreadsheets. Hand it to your accountant or lodge it yourself.
The CGT Report is used to report capital gains and losses from the disposal of CGT assets, including cryptocurrency. It has two parts:
Sovereign Tax generates CGT Report data automatically from your transaction history and accounting method. Select a financial year and export in your preferred format. The report automatically detects whether your sales use FIFO or Specific ID (or a mix) and labels the exports accordingly.
The Tax Report also includes an Optimize All button that batch-assigns tax-optimal Specific ID lots to all unassigned sells for the selected year — the same functionality available in the Transactions view. See the Specific ID Guide for details.
The holding period determines how your gain is classified:
The app calculates this per ATO guidelines, including proper handling of leap years and boundary dates.
Sometimes a single sale uses lots from both non-discount and discount-eligible holding periods. Sovereign Tax automatically splits mixed-term sales into separate line items on the CGT Report — the non-discount portion is reported at full gain and the discount-eligible portion receives the 50% CGT discount.
The Tax Report view offers export options:
| Format | Best For |
|---|---|
| CGT Report CSV | Standard format with non-discount / discount separation. For manual lodging or accountants. |
| Raw Data CSV | All sale data in a flat format with lot-level details. For record keeping. |
| PDF Report | Formatted CGT Report PDF. Ready to print or provide to your accountant. |
| Donation Report CSV | Charitable donation reference data with per-lot details and FMV. Only appears when you have donations. |
Charitable donations are excluded from CGT Report exports since they are not taxable dispositions. They appear in their own section on the Tax Report with a dedicated donation report CSV export button.
In Australia, capital losses can only be offset against capital gains — they cannot be deducted against ordinary income. If your capital losses exceed your capital gains for the year, the unused losses are carried forward indefinitely to offset capital gains in future financial years. The app calculates this automatically and shows the carryforward amount.
In Australia, net capital gains are added to your assessable income and taxed at your marginal tax rate (up to 47% including the Medicare levy). The 50% CGT discount applies to assets held for more than 12 months by individual taxpayers. The app calculates the discount-eligible and non-discount portions automatically.
Sovereign Tax provides detailed calculations, but every tax situation is unique. Consider consulting a registered tax agent or tax adviser for complex situations, especially if you have significant gains, losses across multiple years, or income from multiple sources.
These two views are your action center for Bitcoin dispositions. Whether you're planning a future sale or recording one that already happened, Sovereign Tax shows you exactly how it affects your taxes before you commit.
The Simulate Sale view is a tax calculator that lets you preview the exact consequences of a potential sale without recording anything. Think of it as a "what-if" sandbox for your Bitcoin taxes.
Enter the BTC amount and price (or use live price from CoinGecko), select an accounting method, and see:
Simulations are clearly marked as "NOT A REAL TRANSACTION" and nothing is saved.
How it benefits you: Before you sell any Bitcoin, you can see the exact tax impact — down to which lots will be consumed, the holding period of each, and whether your gain qualifies for the CGT discount. This lets you time your sales strategically, potentially saving thousands in taxes by waiting for lots to reach the 12-month discount threshold.
To record a sale, go to Add Transaction in the sidebar and select the Sell type. Enter the sale date, BTC amount, price per BTC (or use the live price toggle), wallet, and accounting method (FIFO or Specific ID). Click "Preview" to see the full tax breakdown before committing, then "Record Sale" to save. This:
If you used the Simulate → Record workflow, a blue banner will appear offering to pre-fill your lot selections.
Click "Preview" before "Record Sale" to verify the gain/loss calculation. Once recorded, you would need to delete the transaction and re-record to make changes.
If you recorded a sale by mistake, go to Transactions, find the sell transaction, and click Del > Delete. The lots consumed by that sale are automatically restored — the cost basis engine recalculates from scratch, so it's as if the sale never happened. The deletion is logged in the Audit Log.
When you select Specific ID as the accounting method for a sale or donation, you get an interactive lot picker where you choose exactly which lots to use. The picker shows color-coded rows (green for discount-eligible, orange for non-discount), sortable columns, an Optimise button that auto-selects the tax-optimal lots, and real-time amount tracking.
For the complete guide on Specific ID — including all 5 ways to use it, the lot picker, the Simulate → Record workflow, batch optimization, and retroactive lot editing — see the Specific ID Guide.
Check the "Use live price" box to automatically fetch the current BTC price from CoinGecko. This requires an internet connection. The price is used for the simulation or sale — no personal data is sent.
If you try to record a sale that matches an existing sell transaction on the same day for a similar amount, the app warns you to prevent accidental duplicates. You can still proceed if the sale is intentional.
Sovereign Tax supports charitable Bitcoin donations as a first-class transaction type. When you donate BTC to a deductible gift recipient (DGR), it is not a taxable sale — no capital gain or loss is recognised. Instead, you may be eligible for a tax deduction on your tax return based on the Fair Market Value (FMV) of the donated Bitcoin.
How it benefits you: Donating appreciated Bitcoin directly to a DGR can be more tax-efficient than selling first and donating cash. You avoid triggering capital gains tax on the appreciation, and you may deduct the FMV. Sovereign Tax tracks all the details you need for donation reporting.
A donation consumes lots just like a sale, but with zero proceeds and zero gain/loss. The cost basis is still tracked because it affects your deduction:
Gifts of property (including cryptocurrency) to deductible gift recipients (DGRs) may be tax-deductible under Division 30 of the ITAA 1997. Sovereign Tax exports a donation report CSV with all the per-lot details you need for your tax return. Consult your tax advisor for specific eligibility requirements.
Click Add Transaction in the sidebar and select the Donation type button.
Fill in the date, BTC amount, and FMV per BTC on the date of donation. FMV is required — it determines your charitable deduction amount. You can fetch the historical price from CoinGecko if live pricing is enabled.
Select which lot consumption method to use: FIFO or Specific ID. For Specific ID, you'll manually select which lots to donate from using the lot picker.
Click Preview Lot Consumption (or Select Lots for Specific ID) to see which lots will be consumed, including the holding period and cost basis for each. Then click Save Transaction.
If your CSV file includes donation transactions, Sovereign Tax auto-detects them. The import engine recognizes keywords like "donation", "gift", "charitable", and "charity" in the type column and automatically classifies those rows as donations.
Donations appear in a dedicated Charitable Donations section on the Tax Report, separate from taxable sales. This section shows:
Donations are excluded from the CGT Report since they are not taxable dispositions. Instead, use the Donation Report CSV export button to generate a reference file for your charitable contribution reporting.
If you donate Bitcoin you've held for more than 12 months, you may be able to deduct the full Fair Market Value. If you've held it for 12 months or less, the deduction may be limited to your cost basis. Timing your donations around the discount-eligible threshold can significantly increase your charitable deduction.
Donations are visually distinct throughout the app with a purple theme. You'll see a purple heart indicator in the Transactions view, purple badges on donation dispositions in the Tax Report, and a purple-bordered card for the donation report section. This makes it easy to distinguish charitable donations from taxable sales at a glance.
These views go beyond basic tax reporting to give you strategic insights into your Bitcoin portfolio. Each tool is designed to help you make smarter decisions about when to sell, which method to use, and how to minimize your tax burden legally.
The Compare Methods view runs both FIFO and Optimal Specific ID on your data for the selected financial year and shows them side-by-side. A bar chart compares total gain/loss, a detailed table breaks down non-discount vs. discount-eligible, and a green savings callout highlights the difference.
Select a financial year and the view automatically computes both methods. If Specific ID shows savings, click Optimize All in the Transactions view to apply it. See the Specific ID Guide for the full workflow.
Choosing the right accounting method can save you significant money. This view quantifies exactly how much you'd save by switching from FIFO to Specific ID — no guesswork required.
The Tax-Loss Harvesting dashboard scans your portfolio for BTC lots that are currently trading below their cost basis. These represent unrealized losses that you could "harvest" by selling and immediately rebuying, locking in the loss for tax purposes to offset capital gains.
The view requires a live BTC price (fetched from CoinGecko) to calculate which lots are currently at a loss. Select a financial year and optionally a specific wallet to filter by. It shows:
You can simulate harvesting all losing lots at the current price to see the full impact. The simulation respects your wallet selection — only lots from the selected wallet are included.
How it benefits you: Tax-loss harvesting is one of the most powerful legal tools for reducing your tax bill. By strategically selling lots at a loss, you can offset gains from other sales — potentially saving thousands of dollars. The wash sale rule does not currently apply to cryptocurrency under most interpretations, you can sell and immediately repurchase without the 30-day waiting period that applies to stocks.
When using Tax-Loss Harvesting, you can select a specific wallet to see per-wallet harvest opportunities. The "All Wallets" view gives a portfolio-wide overview. Australia uses a global lot pool, so you can harvest losses from any wallet.
Australia does not have a formal "wash sale" rule for cryptocurrency. However, the ATO's anti-avoidance provisions (Part IVA ITAA 1936) may apply if a scheme is entered into with the dominant purpose of obtaining a tax benefit. Selling and immediately repurchasing to crystallise a loss may attract ATO scrutiny. Consult your tax advisor for guidance.
The Multi-Year Dashboard gives you a panoramic view of your Bitcoin tax history across every financial year you've been trading. It displays a bar chart with green bars (gains) and red bars (losses) for each year, plus a detailed table with non-discount, discount-eligible, and total columns.
Open the view and it automatically computes gains and losses for every financial year in your data. Year-over-year deltas help you spot trends — whether your gains are increasing, decreasing, or whether you have carryforward losses from prior years.
How it benefits you: Understanding your multi-year tax picture helps with planning. If you had large gains last year, you might prioritize harvesting losses this year. If you have capital loss carryforward from previous years, you can see how it offsets current-year gains. This view turns years of scattered trading activity into a clear financial picture.
The Lot Maturity view is a countdown timer for each of your BTC lots, showing exactly when they cross the 12-month CGT discount threshold. It displays every lot with its purchase date, maturity date, days remaining, and a colour-coded status badge.
Open the view to see all your lots sorted by maturity date. Lots approaching the discount threshold are highlighted so you can decide whether to wait before selling.
How it benefits you: The difference between non-discount and discount-eligible tax treatment can be enormous. Non-discount gains are taxed at your full marginal rate (up to 47%), while discount-eligible gains receive the 50% CGT discount. If you have a lot that matures in 10 days, waiting those 10 days could save you thousands in taxes. This view makes that information impossible to miss.
Lots are colour-coded:
The Income view aggregates all BTC received as mining income, staking rewards, hard forks, or interest for a given financial year. It shows the total BTC received, total fair market value in AUD at the time of receipt, and a breakdown by income type.
Select a financial year to see all income-type transactions for that period. You can export an Income CSV for your records.
How it benefits you: Mining income, staking rewards, and interest are taxed as ordinary income, which is reported differently from capital gains. This view separates that income automatically so you have the exact numbers you need for your tax return, without manually sifting through transactions.
The Audit Log is a tamper-evident, timestamped record of every action you take in the app — imports, edits, deletions, recorded sales, PIN changes, and backups. Think of it as a digital paper trail that proves exactly what you did and when.
Open the Audit Log from the sidebar. You can filter entries by action type (import, edit, delete, sale, etc.) and export the entire log as a CSV for your records.
How it benefits you: If the ATO ever questions your tax lodgements, the audit log provides documentation showing how your data was entered and when. This level of record-keeping demonstrates due diligence and may support your position during an audit. The ATO requires you to keep records for at least 5 years after lodging your return.
The ATO requires you to keep records for at least 5 years after lodging your return. The audit log provides a complete history of all changes to your data.
This section addresses one of the most common questions Bitcoin holders have: "I bought BTC on an exchange and transferred it to my own wallet — how does that affect my taxes?" The short answer is that transfers between your own wallets are not taxable. Below is a detailed explanation of how wallet tracking, transfers, and reconciliation work.
Australia uses a global lot pool for cost basis tracking. Unlike the US, there is no per-wallet requirement — you can use lots from any wallet when calculating your cost basis on a disposal.
Sovereign Tax still tracks lots by wallet for organisational purposes. This gives you better visibility into your portfolio and makes it easy to see where your BTC is held and what each lot cost you.
The ATO treats each parcel (lot) of cryptocurrency as a separate CGT asset. When you dispose of BTC, you can choose which parcels are being sold using either FIFO or Specific Identification. There is no requirement to match parcels to specific wallets — all your BTC parcels form a single global pool for CGT purposes.
Moving BTC between your own wallets or exchanges is not a taxable event. No gain or loss is realised. The cost basis of the BTC stays the same regardless of where it's stored.
For example, if you buy 1 BTC on CoinSpot at A$150,000 and transfer it to your cold storage wallet, the cost basis is still A$150,000 — it doesn't change because you moved it. The holding period also carries over, so time spent on the exchange counts toward the 12-month CGT discount threshold.
When you transfer BTC between wallets, the lots need to move too for accurate record-keeping. If you buy on Coinbase and transfer to cold storage, then later sell from cold storage, the app needs to know those lots originated from Coinbase so it can track them properly.
This is what Source Wallet Assignment does. You tell the app where each Transfer In came from, and the engine automatically re-tags the lots from the source wallet to the destination wallet — preserving cost basis and holding period.
Go to Transactions. Transfer In rows that need a source wallet assignment are highlighted in red. A red banner at the top tells you how many need attention.
Each unassigned Transfer In row has a red "Assign" button. Click it to open the Source Wallet Modal.
A dropdown shows all your wallets and exchanges (excluding the destination). Select the one the Bitcoin came from — for example, if this is a deposit into "Cold Storage" that came from "Coinbase", select "Coinbase".
Click Save. The cost basis engine re-tags lots from the source wallet to the destination wallet in FIFO order. If the transfer amount is less than the source wallet's total, only enough lots are consumed to cover the transfer. Partial lots are split proportionally with cost basis carried over.
After assigning source wallets, open Holdings to verify your lots are now tagged to the correct wallets. If you transferred all BTC from Coinbase to cold storage, Coinbase should show 0 lots and cold storage should show all of them with the original cost basis intact.
The ATO confirms that transferring cryptocurrency between your own wallets or accounts is not a CGT event. When you assign a source wallet on a Transfer In, Sovereign Tax carries over the original cost basis and holding period from the source lots. No gain or loss is recognised.
A common question is: "Why can't the app just figure out which wallet the BTC came from?" There are several fundamental reasons why this must be done manually:
This is why Sovereign Tax takes the explicit, user-driven approach: you tell the app where each Transfer In came from, and the engine handles the lot re-tagging automatically. This is more reliable than any automated guessing and gives you full control over your ATO records.
While the assignment itself is manual, the app helps you make the right choice. When you click "Assign" on a Transfer In, the Source Wallet Modal shows smart suggestions based on the reconciliation engine's transfer matching:
The suggestions save time by putting the most likely source wallet at the top of the list, but the final decision is always yours.
This is the most common transfer scenario. Here's the complete workflow, including the source wallet assignment:
Download your transaction history CSV from the exchange (e.g., Amber, CoinSpot, Coinbase). Import it into Sovereign Tax with the exchange name filled in. The app will classify your purchases as "Buy" and your withdrawals as "Transfer Out".
Go to Add Transaction and record a Transfer In for the same BTC amount, using your cold storage wallet name (e.g., "Trezor", "Cold Storage"). Use the same date as the withdrawal. If your cold storage wallet exports CSVs (some do), you can import that instead.
In Transactions, find the Transfer In row (highlighted in red) and click "Assign". Select the exchange it came from (e.g., "Amber"). Click Save. The lots are now re-tagged from Amber to your cold storage wallet.
Open Holdings to confirm lots are now under your cold storage wallet with the original cost basis. Open Reconciliation to see the matched transfer pair. When you later sell from cold storage, the engine will find the correct lots.
Already assigned a source wallet but picked the wrong one? Click the green "← Coinbase" label on the Transfer In row to reopen the modal. You can change the source wallet or click "Clear Assignment" to remove it entirely.
The Reconciliation view is your data integrity tool. It cross-references all your transfers to match outgoing withdrawals with incoming deposits, calculates per-exchange BTC balances, and flags potential issues in your data.
Open the Reconciliation view after importing from all your exchanges. Review the summary cards at the top, then check the details:
How it benefits you: Incomplete data leads to incorrect tax reports. Reconciliation catches problems early — like a missing CSV import from an exchange you forgot about, or a negative balance that indicates missing purchases. Fixing these issues before lodging ensures your tax report is accurate and defensible.
Sovereign Tax shows warnings when your transfer data is incomplete. Here's what each warning means and how to resolve it:
Appears at the top of Transactions and Tax Report when one or more Transfer In transactions have not been assigned a source wallet.
Appears at the top of Transactions and Tax Report when one or more sales used lots from a different wallet than the one the sale occurred in.
Individual sale rows in Transactions and Tax Report show a yellow «⚠» icon when that specific sale used the global lot pool fallback.
When editing lot selections for a sale whose wallet has no lots, the lot picker shows a yellow warning explaining that it's displaying lots from all wallets as a fallback. It includes the specific fix instructions.
When using Optimize All (in Transactions or Tax Report), if any sales triggered the wallet mismatch fallback, a yellow warning appears in the results modal showing how many were affected. You can still apply the optimizations, but the warning recommends fixing transfers first.
Before the export buttons in Tax Report, a yellow message appears when wallet mismatches are present. All exported documents (PDF, CSV) include a note about the affected sales.
While the app allows you to generate tax reports with wallet mismatches present (warn-and-allow approach), assigning source wallets ensures accurate record-keeping. Assign source wallets on all Transfer In transactions before exporting your final tax report for the cleanest records.
For the most accurate and ATO-compliant tax report, follow this workflow in order:
Import a CSV from every exchange and wallet where you bought, sold, or received BTC during the financial year. Use consistent exchange names across imports (e.g., always "Coinbase", not sometimes "coinbase" or "CB"). For cold storage or self-custody wallets that don't have CSVs, manually add the Transfer In transactions.
Go to Transactions (or the Review view) and find all Transfer In rows highlighted in red. Click "Assign" on each one and select which wallet the BTC came from. The engine re-tags the lots to the correct destination wallet. This step ensures accurate record-keeping.
Open the Review view. It shows a guided checklist: unassigned transfers, wallet mismatches, lot optimisation status, and whether you're ready to lodge. Work through each section until all items are green.
If you want to minimize taxes, go to Compare Methods to see how much Specific ID could save you. Then click Optimize All in Transactions or Tax Report to batch-assign tax-optimal lots to all sells. See the Specific ID Guide.
Open Tax Report, select the financial year, and export in your preferred format (PDF, CSV). All wallet mismatch warnings should be resolved before exporting. Hand the report to your accountant or lodge directly.
The Review view tracks your progress through all these steps. When every section shows a green checkmark, you know your data is clean and your tax report is ready to lodge.
Sovereign Tax is designed with a zero-trust security model. Your financial data never leaves your device, there are no user accounts to breach, and all sensitive data is encrypted with AES-256-GCM cryptography. The Settings view gives you full control over your security, privacy, backups, and display preferences.
All sensitive data is encrypted with AES-256-GCM. Your PIN is used to derive an encryption key via PBKDF2 with 600,000 iterations — a widely-used standard in security applications.
The PIN itself is never stored. Only the encrypted salt is kept, which is useless without your PIN.
| Data | Encrypted? |
|---|---|
| Transactions | Yes — AES-256-GCM |
| Recorded Sales | Yes — AES-256-GCM |
| Column Mappings | Yes — AES-256-GCM |
| Import History | Yes — AES-256-GCM |
| Audit Log | Yes — AES-256-GCM |
| Preferences (theme, method) | No — plaintext |
| Price Cache | No — plaintext |
You can change your PIN at any time from Settings. When you change your PIN, the app:
This is a seamless process — no data is lost.
Toggle "Hide Amounts" in Settings to blur all BTC and AUD values on screen. Useful when screen sharing, presenting, or using the app in public.
Create encrypted backups of all your data from Settings > Backup & Restore:
.sovereigntax file containing all your transactions, sales, mappings, import history, audit log, and preferences..sovereigntax file to restore. A confirmation dialog prevents accidental overwrites.Backup files contain your complete transaction history. Store them in a secure location — an encrypted drive, a password manager's secure notes, or similar. Do not share them.
Choose between System (follows your OS preference), Light, and Dark themes in Settings.
The live price toggle fetches the current BTC price from CoinGecko. When disabled, the app operates fully offline. When enabled, only a simple price request is made — no personal data is sent.
Log in to Amber, go to Account > Transaction History > Export. Download the CSV file. Sovereign Tax auto-detects Amber's dual-column format (Input/Output Amount and Currency). Fiat-only rows like PayID Deposits are automatically skipped. Referral rewards are imported as Buy transactions.
Log in to CoinSpot, go to Orders > Buy/Sell History and click Download CSV. CoinSpot CSVs use DD/MM/YYYY dates with AM/PM — Sovereign Tax handles this automatically. Only rows where the Market column contains "BTC/AUD" are imported (other coins are filtered out).
Log in to HardBlock, go to your transaction history and export as CSV. Sovereign Tax auto-detects HardBlock's dual-column format (Sent/Received Amount and Currency). The "Label" column is used for transaction type detection. Fiat-only deposit rows are automatically skipped.
Coinbase: Go to Account > Statements (or Reports > Transaction history), select your date range, and download the CSV. Kraken: Go to History > Export, select "Ledgers" or "Trades". Both formats are auto-detected by Sovereign Tax.
This means one or more required columns haven't been mapped. You need Date, Amount, and either Price or Total at minimum. Use the dropdown menus next to each field to select the matching column from your CSV. Once all required fields are mapped, the warning will clear and you can import.
A negative balance means you have more BTC going out (sells + transfers out) than coming in (buys + transfers in) for that exchange. This usually indicates missing import data — check if there are older purchase CSVs you haven't imported yet.
All tax calculations are recalculated instantly based on the new method. This does not affect previously recorded sales (which store the method that was used at the time of recording). You can freely switch between methods while exploring, but the ATO expects consistency within a financial year when lodging.
Yes. Import each exchange's CSV separately. The app merges all transactions and handles cost basis tracking across exchanges automatically. Duplicates are detected and skipped.
Transfers between your own wallets are non-taxable movements. The cost basis and holding period stay exactly the same. For accurate record-keeping, the lots are re-tagged to the destination wallet when you assign a source wallet on a Transfer In — see Wallets & Transfers for the step-by-step guide.
When a single sale uses lots from both non-discount and discount-eligible holding periods. For example, selling 1 BTC where 0.6 BTC was held for 8 months (non-discount) and 0.4 BTC was held for 2 years (discount-eligible). Sovereign Tax automatically splits these into separate line items on the CGT Report.
All data is stored locally in your browser's localStorage, encrypted with AES-256-GCM. Nothing is ever sent to any server. There is no cloud, no account, and no telemetry. Your data lives on your machine and nowhere else.
Go to Settings > About > Check for Updates. If a new version is available, you'll see the release notes and a link to download the latest version from au.sovereigntax.io.
Your data cannot be recovered without the PIN. This is by design — there are no backdoors, no cloud recovery, and no "forgot PIN" option. We recommend writing your PIN down and storing it securely. If you created a backup file before losing your PIN, you can restore from that backup after clearing the app data.
Go to Add Transaction, select the Donation type, enter the date, BTC amount, and Fair Market Value per BTC on the date of donation. Choose an accounting method (or use Specific ID to pick exact lots), preview which lots will be consumed, and save. The donation appears in the Tax Report's Charitable Donations section with a donation report CSV export.
No. Donating BTC to a deductible gift recipient (DGR) is not a taxable event — no capital gain or loss is recognised. Instead, you may claim a tax deduction. Sovereign Tax tracks these details automatically and exports them in a donation report.
FMV is the price the Bitcoin would sell for on the open market on the date of donation. It's required because the ATO uses FMV to determine your charitable deduction amount. When adding a donation, enter the FMV per BTC on that specific date. You can fetch the historical price from CoinGecko if live pricing is enabled.
No. Sovereign Tax is Bitcoin-only by design. If you import a CSV with other cryptos (ETH, SOL, etc.), those rows are automatically filtered out. Only BTC and XBT transactions are processed.
Yes. Go to Transactions, find the sell transaction, and click Del > Delete. The lots consumed by that sale are automatically restored — the cost basis engine rebuilds from all remaining transactions, so deleting a sale puts your lots back exactly as they were before. The deletion is recorded in the Audit Log.
There are 5 ways to use Specific ID in Sovereign Tax: Optimize All (batch-assign optimal lots in Transactions), Edit Lots (per-transaction in Transactions), the Simulate → Record workflow, manual lot picking in Add Transaction, and Compare Methods to see savings. The fastest path is to open Compare Methods, see the savings, then click Optimize All. See the Specific ID Guide for the complete walkthrough.
Yes. Go to Transactions, find any sell or donation, and click the "Lots" button. This opens the Edit Lots Modal, which shows you the exact lots that were available at the time of that transaction. Select your lots, preview the tax impact, and save. The sale will use your Specific ID election in all future tax calculations. You can also click "Revert to FIFO" to remove an existing election.
Important note: The ATO requires that you maintain adequate records to identify which parcels were disposed of. Ensure your lot selection method is consistent and defensible. If you did not document Specific ID elections at the time of the original transaction, FIFO may be a safer default for those sales.
When you record a Transfer In (BTC arriving at a wallet), the app needs to know where it came from so it can re-tag the lots to the correct wallet for accurate record-keeping. The "Assign" button opens a modal where you select the source exchange or wallet. For example, if you withdrew from Amber to your Trezor, you'd click Assign on the Trezor Transfer In and select "Amber". The engine then moves Amber's lots to Trezor, preserving cost basis and holding period.
Wallet mismatch warnings (yellow banners and icons) appear when a sale used lots from a different wallet because no lots were found in the selling wallet. The fix is:
Once lots are re-tagged to the correct wallet, the mismatch warnings disappear and your records are accurate.
Lot re-tagging is what happens when you assign a source wallet on a Transfer In. The cost basis engine finds the lots in the source wallet (in FIFO order), and re-tags them to the destination wallet. If the transfer is a partial amount, lots are split proportionally. The cost basis per BTC and the original purchase date carry over — nothing changes except which wallet the lot belongs to. This ensures accurate record-keeping for ATO purposes.
The exchange name you enter during import becomes the wallet tag for all transactions in that CSV, helping you organise your records. It also saves your column mapping for faster future imports. Use consistent naming across all CSVs from the same exchange (e.g., always "Coinbase", not sometimes "coinbase").
If you withdrew BTC from an exchange to cold storage but only imported the exchange CSV (which shows a Transfer Out), you need to also record the Transfer In at the destination. Go to Add Transaction, select Transfer In, enter the same BTC amount and date, and specify your cold storage wallet name. Then assign the source wallet on that Transfer In row. Without the Transfer In, the app cannot re-tag lots and may show wallet mismatch warnings when you sell from cold storage.
Go to Settings > Data > Clear All Data. This permanently deletes all transactions, sales, mappings, and history. You'll be prompted to confirm. Consider creating a backup first.
Exchange CSVs do not include destination wallet information — a Coinbase withdrawal just shows "Transfer Out" with an on-chain address. Cold storage wallets often have no CSV at all. And only you know your own wallet topology (which wallets connect to which). The app cannot reliably guess, so you assign the source wallet manually. The app does provide smart suggestions based on amount and timing matching to speed up the process. See Wallets & Transfers for the full explanation.
Keep prior years as FIFO. If you lodged using FIFO (or never made Specific ID elections at the time of sale), those years should remain FIFO in the app. Retroactively assigning Specific ID lots to past-year sells is generally not recommended. You can start using Specific ID for current and future year sells by making the election at or before the time of sale. Use the year selector to verify each prior year is clean.
The Review view is a guided tax preparation checklist. It scans your data for the selected financial year and flags four categories of issues: unassigned transfers, wallet mismatches, lot optimisation opportunities, and overall readiness to lodge. Work through each section from top to bottom. When all four sections show green checkmarks, your tax report is clean and ready to export. See Review View for details.
When you click "Assign" on a Transfer In, the Source Wallet Modal shows smart suggestions from the reconciliation engine. A green "Suggested" badge means a confident match was found — another wallet had a Transfer Out with a near-exact BTC amount within a 7-day window. A yellow "Possible match" badge means a match was found but flagged (usually due to an unusually high implied fee). Wallets without a badge are listed alphabetically for manual selection.
When you edit a Buy transaction in a way that affects lot eligibility (amount decreased, wallet changed, type changed) or delete it entirely, the app automatically invalidates all Specific ID elections that reference that Buy as a lot source. You'll see a warning directing you to re-assign lots via the Edit Lots button on the affected sells. This prevents stale lot references from producing incorrect tax calculations.
The wallet filter on the Tax-Loss Harvesting view lets you see per-wallet harvest opportunities for better organisation. The "All Wallets" view gives a portfolio-wide overview. In Australia, you can use lots from any wallet when harvesting losses since the ATO uses a global lot pool.
Send a description of your issue along with your Invoice ID (from your BTCPay receipt) and we'll get back to you within 24 hours.
support@sovereigntax.io