TheDocumentation Index
Fetch the complete documentation index at: https://docs.taxmaxi.com/llms.txt
Use this file to discover all available pages before exploring further.
tax coinbase command runs the complete Coinbase tax workflow in a single step: it connects your Coinbase account via OAuth, syncs your transaction records into TaxMaxi, and computes a German tax summary for the selected year. You can also run each step independently if you want finer control — for example, to re-run only the calculation after changing a tax year, or to replay normalization without fetching data from Coinbase again.
You need to complete the OAuth flow at least once before you can sync or calculate. Run
tax coinbase connect or tax coinbase to authenticate. Your session is cached locally at ~/.config/tax/session.json and reused on subsequent runs.Full workflow
Run the entire connect → sync → calculate sequence with one command:--year is omitted.
Subcommands
Connect
tax coinbase connect authenticates your Coinbase account using OAuth. It opens your browser at the Coinbase authorization URL, polls for completion every 2 seconds, and saves the session to ~/.config/tax/session.json when the flow succeeds. The timeout for the browser authorization step is 5 minutes.
--force to re-authenticate regardless:
--no-browser to print the authorization URL instead of opening it:
Sync
tax coinbase sync fetches your Coinbase transaction records and imports them into TaxMaxi. It polls for job completion every 2 seconds with a 10-minute timeout.
Replay
tax coinbase replay resets derived data and reruns normalization from the cached raw Coinbase records that were imported during the last sync. It does not re-fetch data from Coinbase. Use this command when TaxMaxi’s normalization logic has been updated and you want to recompute without waiting for a full sync.
Calculate
tax coinbase calculate computes a German tax summary for the specified year from your synced records. Pass --year to target a specific tax year:
Step-by-step: first-time setup
Connect your Coinbase account
~/.config/tax/session.json.Sync your records
JSON output
Pass--json to any command to receive machine-readable output. Each stage emits a separate JSON object. This is useful for scripting, logging, or feeding results into other tools.
JSON stage reference
| Stage | Emitted by | Key fields |
|---|---|---|
connect_skipped | connect | reason, userId |
connect_started | connect | sessionId, connectUrl |
connect_completed | connect | userId, expiresAt |
sync_completed | sync | importedRecords, normalizedRecords, failedRecords |
replay_completed | replay | importedRecords, normalizedRecords, failedRecords |
calculate_completed | calculate | year, currency, taxableGains, taxableLosses, taxFreeGains, incomeTotal |
workflow_completed | coinbase (full) | All fields combined |