> ## Documentation Index
> Fetch the complete documentation index at: https://uncoded.ch/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Tax Export — From Trade History to Filed Return

> How to use the Dashboard's tax export. What's in the report, how to use it for tax filing, what unCoded does NOT do for your taxes.

<Info>
  **unCoded's Tax Export gives you a clean dataset of your closed trades formatted for tax reporting.** It does NOT file your taxes. You (or your accountant) take the dataset and use it to prepare your return. This page is the operator's tax-export playbook.
</Info>

## What unCoded does for your taxes

<CardGroup cols={2}>
  <Card title="✅ Exports closed-trade history" icon="list-check">
    Every closed round-trip with timestamps, prices, quantities, P\&L. Comprehensive.
  </Card>

  <Card title="✅ USD→EUR currency conversion" icon="circle-euro">
    Each trade's USD-quoted prices are converted to EUR using ECB-published exchange rates (via the Frankfurter API) on the relevant date. Useful for EU operators reporting in EUR.
  </Card>

  <Card title="✅ Multiple output formats" icon="file-csv">
    CSV (spreadsheet-friendly) and JSON (programmatic). Your accountant or tax software can ingest either.
  </Card>

  <Card title="✅ Symbol and mode tags" icon="tag">
    Each trade includes the symbol and the mode that ran it. Useful for categorization in your tax filing.
  </Card>
</CardGroup>

## What unCoded does NOT do for your taxes

<Warning>
  * ❌ **Does not file your taxes.** Reports are exported for you; filing is your responsibility.
  * ❌ **Does not interpret your jurisdiction's tax rules.** Crypto tax treatment varies by jurisdiction.
  * ❌ **Does not track wash sales or holding-period categorization.** Long-term vs short-term capital gains rules vary; the export doesn't pre-categorize.
  * ❌ **Does not handle deposit/withdrawal events.** The export covers your closed trades, not balance changes from deposits or withdrawals.
  * ❌ **Does not consolidate across multiple venues automatically.** If you trade on Binance and Bybit, you export from each separately and consolidate yourself or hand to accountant.
  * ❌ **Does not include pre-unCoded trades.** Trades made before you started using unCoded aren't in the unCoded database; pull those from your venue's transaction history.
</Warning>

## What's in the export

For each closed trade in the selected period:

<AccordionGroup>
  <Accordion title="Identifiers" icon="hashtag">
    * **Trade ID** — auto-incrementing identifier.
    * **Symbol** — `BTCUSDT`, `ETHUSD`, etc.
    * **Mode** — which mode ran the trade.
  </Accordion>

  <Accordion title="Timestamps" icon="clock">
    * **Buy time** — when the entry filled.
    * **Sell time** — when the position closed.

    Both in your operator's configured timezone.
  </Accordion>

  <Accordion title="Prices and quantities" icon="dollar-sign">
    * **Buy price** (USD, 8-decimal precision).
    * **Sell price** (USD, 8-decimal precision).
    * **Quantity** (base asset units).
    * **Total USD value** (price × quantity).
  </Accordion>

  <Accordion title="Realized P&L" icon="chart-line">
    * **Profit (USD)** — realized gain/loss in USD.
    * **Profit percentage** — return as a percent of position size.
  </Accordion>

  <Accordion title="EUR equivalents" icon="circle-euro">
    * **Buy price (EUR)** at the ECB rate on the buy date.
    * **Sell price (EUR)** at the ECB rate on the sell date.
    * **Profit (EUR)** computed from the EUR-quoted prices.

    Useful for EU operators required to report in EUR.
  </Accordion>
</AccordionGroup>

## The tax-export workflow

<Steps>
  <Step title="Open the Dashboard's Tax Report panel">
    Navigate to "Tax Report" or equivalent in your Dashboard.
  </Step>

  <Step title="Select the period">
    Common selections:

    * Calendar year (Jan 1 – Dec 31).
    * Specific quarter.
    * Specific month (for ongoing tracking).
  </Step>

  <Step title="Choose format — CSV for spreadsheet, JSON for programmatic">
    CSV is most operator-friendly. JSON if you have custom tax software that ingests structured data.
  </Step>

  <Step title="Generate and download">
    The export takes a few seconds for a year of trades. Download to your local archive.
  </Step>

  <Step title="Verify against Telegram running totals">
    Cross-check the report's net P\&L against your Telegram running total at year-end. They should match.

    If they don't: investigate. Usually a database-restore boundary or manual close not reflected.
  </Step>

  <Step title="Archive in your records">
    Save to your tax-records folder. Cloud drive (Dropbox, Google Drive, etc.) with versioning is ideal — you can verify which export was used to file in case of audit.
  </Step>

  <Step title="Hand to accountant or import to tax software">
    Most accountants accept CSV. Most tax software can import CSV or JSON.
  </Step>
</Steps>

## Multi-venue tax handling

If you trade on multiple venues (Binance + Bybit, etc.), each venue produces its own export:

<AccordionGroup>
  <Accordion title="Per-venue exports" icon="building-columns">
    Generate one Tax Report per venue. Each represents trades on that specific venue.

    Don't try to merge into one composite report — your accountant typically wants per-venue records for cleanest filing.
  </Accordion>

  <Accordion title="Per-sub-account exports" icon="layer-group">
    If you use sub-accounts on a venue, each sub-account has its own trade history. Most venues let you scope the export to a specific sub-account.

    Keep per-sub-account records for the most granular tax reporting.
  </Accordion>

  <Accordion title="Consolidated annual summary" icon="folder-open">
    For your own records (separate from filing), maintain an annual spreadsheet that totals across all venues and sub-accounts. Useful for high-level review.
  </Accordion>
</AccordionGroup>

## Common tax considerations (jurisdiction-dependent)

<Warning>
  **Tax treatment of cryptocurrency varies dramatically by jurisdiction.** This page provides operational guidance, not tax advice. Consult an accountant familiar with your jurisdiction's crypto tax rules.

  That said, common considerations operators should know about:
</Warning>

<AccordionGroup>
  <Accordion title="Realized vs unrealized gains" icon="balance-scale">
    Most jurisdictions tax **realized** gains (when a position closes) rather than unrealized (paper gains on open positions). The unCoded Tax Export shows realized only.

    Open positions at year-end are not in the export — they're not yet taxable.
  </Accordion>

  <Accordion title="Holding period — short-term vs long-term" icon="clock">
    Some jurisdictions (US, Germany after 1-year holding period) distinguish short-term vs long-term capital gains. Different tax rates apply.

    The Tax Export shows entry and exit times — your accountant uses these to categorize. unCoded does not pre-categorize.

    For unCoded operators: most modes hold for hours to weeks. Short-term treatment is the dominant category.
  </Accordion>

  <Accordion title="FIFO, LIFO, average cost basis" icon="calculator">
    Different jurisdictions allow different cost-basis methods. The Tax Export provides per-trade buy and sell prices; how to assign costs across overlapping positions is a tax-software decision.

    For most operators with simple BasicMode-style trading on one symbol per pair, FIFO is the default. Check your jurisdiction.
  </Accordion>

  <Accordion title="Crypto-to-crypto swaps as taxable events" icon="arrows-rotate">
    In many jurisdictions, swapping one crypto for another (e.g., BTC for ETH) is a taxable event. The Tax Export shows these as paired trades.

    For unCoded operators with USDT-quoted strategies, this isn't typically a concern — your trades are USDT in/out.
  </Accordion>

  <Accordion title="Transfer between exchanges" icon="exchange-alt">
    Moving crypto between exchanges (e.g., BTC from Binance to Bybit) is typically NOT a taxable event — same asset, different custodian.

    The Tax Export does NOT include transfer events. If your accountant needs them, pull from the venue's deposit/withdrawal history separately.
  </Accordion>

  <Accordion title="Fees as cost basis" icon="coins">
    Trading fees are typically deducted from the realized P\&L (treated as cost). The unCoded Tax Export's realized P\&L is **net of fees** — fees are already subtracted.

    Check with your accountant if your jurisdiction wants fees broken out separately.
  </Accordion>
</AccordionGroup>

## Working with an accountant

<Tip>
  * ✅ **Hire a crypto-aware accountant** — generalist accountants may not understand the specifics.
  * ✅ **Provide annual exports proactively** — don't wait for tax season.
  * ✅ **Provide context** — "I run an automated trading bot called unCoded; here are 12 monthly Tax Reports."
  * ✅ **Provide venue documentation** — your venue's account statements complement unCoded's exports.
  * ✅ **Document your strategy/setup briefly** — accountants benefit from understanding what you're doing.
  * ✅ **Maintain a year-round dialogue** — quarterly check-ins are easier than year-end scrambles.
  * ✅ **Save the accountant's filed returns** — for your records and audit defense.
  * ✅ **Plan tax obligations into your reserves** — set aside reserve capital to cover quarterly tax payments.
</Tip>

## Best practices

<Tip>
  * ✅ **Monthly export** to your tax archive (not just annually).
  * ✅ **Cross-check against Telegram running totals** monthly.
  * ✅ **Per-venue, per-sub-account exports** for cleanest record keeping.
  * ✅ **Cloud-backup your tax archive** — versioned cloud drives ideal.
  * ✅ **Year-end cross-check across all sources** — Telegram, Dashboard, monthly archives, full-year report.
  * ✅ **Send to accountant well before deadline** — 1+ month of buffer is comfortable.
  * ✅ **Consult crypto-aware accountant in your jurisdiction** for filing.
  * ✅ **Keep accountant-filed returns for `7+ years`** — most jurisdictions' audit window.
  * ✅ **Reserve capital for tax payments** — quarterly liquidity planning.
  * ✅ **Don't try to interpret jurisdiction rules yourself** — that's what professionals are for.
</Tip>

## What's next

<CardGroup cols={2}>
  <Card title="Daily operations" icon="calendar-day" href="/operations/daily-operations">
    The monthly tax-export rhythm fits into the broader operator routine.
  </Card>

  <Card title="Dashboard module" icon="gauge" href="/modules/dashboard">
    Where the Tax Report panel lives.
  </Card>

  <Card title="Reserves" icon="vault" href="/risk-management/reserves">
    Plan tax-payment liquidity into reserve sizing.
  </Card>

  <Card title="Pricing" icon="dollar-sign" href="/pricing">
    The license fee structure and your year-end accounting.
  </Card>

  <Card title="Support" icon="life-ring" href="/operations/support">
    For tax-export issues that need help.
  </Card>

  <Card title="FAQ" icon="circle-question" href="/faq">
    Common operator questions including tax topics.
  </Card>
</CardGroup>
