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

# Transaction Warnings & Errors

> Understand and resolve KoinX transaction warnings—missing cost basis, unmatched transfers and price errors—before they inflate gains or distort your crypto tax reports.

That orange warning badge on a transaction isn't just a cosmetic flag. It's KoinX telling you: "I don't have enough information to calculate this correctly. And if you generate your report now, the numbers will be wrong."

Some warnings are minor. Others can inflate your tax bill by hundreds of thousands of rupees. The difference comes down to which type of warning you're dealing with and how much is riding on that specific transaction.

This article explains every warning type you might see, what each one does to your tax calculation, and the step-by-step fix for each one.

<Card icon="sparkles" title="AI Summary">
  * Warnings in KoinX flag transactions with missing or incorrect data that will make your tax report inaccurate
  * The most critical warning is "Can't find purchase transaction". It causes KoinX to treat your entire sale proceeds as taxable gain
  * Always fix all warnings before generating your tax report, generating with unresolved warnings produces wrong numbers, not an error message
  * Use the Warnings filter on the Transactions page to find every flagged entry in one view
</Card>

***

## Do Warnings Actually Affect Your Tax Calculation?

Yes. And some of them significantly.

Here's the key thing most users don't realise: **KoinX will still generate a tax report even if you have unresolved warnings.** It doesn't stop or throw an error. It just produces a report with whatever data it has, which may include ₹0 cost bases, missing income entries, or incorrectly matched transfers.

The warnings are telling you where the gaps are. Fixing them before you generate is what makes the report accurate.

***

## How to Find All Your Warnings

<Steps>
  <Step title="Go to Transactions in the left sidebar" />

  <Step title="Click the Warnings filter in the filter bar" />

  <Step title="Select the warning type(s) you want to view">
    You can select multiple warning types simultaneously to see all flagged transactions at once. This gives you a focused list of everything that needs attention, without scrolling through your entire transaction history.

    <img title="Screenshot 2026 03 06 184424 1" className="hidden dark:block" src="https://mintcdn.com/koinx-e9affad9/8VNxWvcMnfxDLDDx/images/Screenshot_2026-03-06_184447-1.png?fit=max&auto=format&n=8VNxWvcMnfxDLDDx&q=85&s=dd77a66afca2eff3f21638bea0d7973e" alt="Screenshot 2026 03 06 184424 1" width="1550" height="767" data-path="images/Screenshot_2026-03-06_184447-1.png" />

    <img title="Screenshot 2026 03 06 184424 1" className="dark:hidden" src="https://mintcdn.com/koinx-e9affad9/8VNxWvcMnfxDLDDx/images/Screenshot_2026-03-06_184424-1.png?fit=max&auto=format&n=8VNxWvcMnfxDLDDx&q=85&s=3e5a9584fa61bdfcac39250cef57e449" alt="Screenshot 2026 03 06 184424 1" width="1501" height="786" data-path="images/Screenshot_2026-03-06_184424-1.png" />
  </Step>
</Steps>

<Tip>
  Do this at the start of every tax season review. Clearing warnings early means no surprises when you generate your report.
</Tip>

***

## Warning Type 1: Can't Find Purchase Transaction

### What it means

KoinX found a disposal event. You sold, traded, or transferred out an asset, but couldn't find the original purchase record for it within the data you've connected or uploaded.

You'll see this as **"Can't find purchase transaction"** in the warnings filter, and **"Portfolio: Acquisition history not found for \[asset]"** on the transaction card itself.

<img title="Screenshot 2026 03 06 180628 2" className="hidden dark:block" src="https://mintcdn.com/koinx-e9affad9/8VNxWvcMnfxDLDDx/images/Screenshot_2026-03-06_180558-1.png?fit=max&auto=format&n=8VNxWvcMnfxDLDDx&q=85&s=72d0c469b22ba9e23b5de0d64133ba4c" alt="Screenshot 2026 03 06 180628 2" width="1547" height="736" data-path="images/Screenshot_2026-03-06_180558-1.png" />

<img title="Screenshot 2026 03 06 180628 2" className="dark:hidden" src="https://mintcdn.com/koinx-e9affad9/8VNxWvcMnfxDLDDx/images/Screenshot_2026-03-06_180628-2.png?fit=max&auto=format&n=8VNxWvcMnfxDLDDx&q=85&s=e599cb7662b320fd528d159f316620ac" alt="Screenshot 2026 03 06 180628 2" width="1557" height="736" data-path="images/Screenshot_2026-03-06_180628-2.png" />

### Why it matters

This is the most financially damaging warning. Without an acquisition record, KoinX assumes your cost basis is ₹0. That means when the cost basis or value shows ₹0, the **entire sale amount is treated as a Capital Gain**: inflating your taxable gains.

**Example:**

* You sold ETH worth ₹5,00,000
* KoinX can't find the original purchase history
* Calculated gain = ₹5,00,000 (instead of your actual gain, say ₹1,50,000)
* Result: you're taxed on ₹3,50,000 more than you should be

[How to fix a missing cost basis](/guides/transactions/fixing-transaction-issues)

[Understanding how cost basis is calculated](/guides/tax-settings/cost-basis-accounting-methods)

### Why this happens

* The asset was acquired in a financial year for which you have not integrated or uploaded transaction data
* The exchange API only provides the last 90–180 days and the purchase is older. The acquisition history is incomplete on that same exchange

### How to fix it

**Option A: Import historical data:**

Download your full transaction history from the exchange (going back as far as possible) and import it via **Integrations → \[Your Exchange] → Import CSV**. This backfills missing acquisition records in bulk.

**Option B: Add manually:**

If no import is available, go to **Actions → Add Transaction** and manually enter the acquisition with the correct date, asset, amount, and price paid.

***

## Warning Type 2: Could Not Fetch Price

### What it means

KoinX found the transaction and knows what happened, but couldn't retrieve a market price for that asset on that date.

### Why it matters

Without a price, the transaction shows ₹0 value. If it's a purchase, the cost basis is ₹0. If it's a sale, the proceeds are ₹0.

<img title="Screenshot 2026 03 06 180743 2" className="hidden dark:block" src="https://mintcdn.com/koinx-e9affad9/8VNxWvcMnfxDLDDx/images/Screenshot_2026-03-06_180807-1.png?fit=max&auto=format&n=8VNxWvcMnfxDLDDx&q=85&s=9ad0dce604677c1fe222905dc8d0dfc6" alt="Screenshot 2026 03 06 180743 2" width="1572" height="797" data-path="images/Screenshot_2026-03-06_180807-1.png" />

<img title="Screenshot 2026 03 06 180743 2" className="dark:hidden" src="https://mintcdn.com/koinx-e9affad9/8VNxWvcMnfxDLDDx/images/Screenshot_2026-03-06_180743-2.png?fit=max&auto=format&n=8VNxWvcMnfxDLDDx&q=85&s=b46478e5dd4efce25688243da6414718" alt="Screenshot 2026 03 06 180743 2" width="1543" height="792" data-path="images/Screenshot_2026-03-06_180743-2.png" />

### Why this happens

* Obscure or newly listed token with limited price history
* Token only trades on DEXes with no major aggregator listing
* Very old transactions where price data is sparse
* Token has since been deprecated or delisted

### How to fix it

<Steps>
  <Step title="Find the transaction with the 'Could not fetch price' warning" />

  <Step title="Click the Add Price link that appears directly inline on the transaction card" />

  <Step title="Enter the per unit market price in the Market Price In field">
    KoinX automatically calculates the total transaction value based on the quantity. Enter the value in INR (or your local fiat currency based on your country setting).

    **Where to find historical prices:**

    * [CoinGecko](https://www.coingecko.com/) → search the coin → Historical Data tab → find the date
    * [CoinMarketCap](https://www.coinmarketcap.com/) → same process
    * Block explorer → for DEX swaps, the token equivalent value in ETH or USDC can help you estimate
  </Step>

  <Step title="Save. The transaction value updates immediately" />
</Steps>

<Tip>
  The **Learn More** link next to Add Price opens a detailed step-by-step guide: How to Fix the "Missing Price" Error on KoinX.
</Tip>

***

## Step-by-Step: How to Clear All Warnings Before Generating Your Report

Follow this order for the most efficient cleanup:

<Steps>
  <Step title="Filter to warnings">
    Go to Transactions → open the Warnings filter → select all types to view every flagged transaction.
  </Step>

  <Step title="Fix 'Can't find purchase transaction' warnings first">
    These have the biggest impact on your tax bill. Import historical CSVs or add transactions manually to fill the acquisition gaps.
  </Step>

  <Step title="Fix price-missing transactions">
    Use the Add Price link on each flagged transaction. Enter the per unit market price. Koinx handles the math. Check CoinGecko or CoinMarketCap for historical prices by date.
  </Step>

  <Step title="Verify your integrations">
    Go to **Integrations** and confirm every connected exchange and wallet shows a recent successful sync. Re-sync anything showing an error.
  </Step>

  <Step title="Check your Insights summary">
    Go to **Insights** and review the Crypto Tax Summary panel. If Capital Gains or Total Taxable Gains look significantly off compared to your expectations, there may still be unresolved issues. Go back to Transactions before generating.
  </Step>

  <Step title="Generate your Tax Report">
    Once warnings are cleared and your Insights numbers look reasonable, go to **Tax Reports** and generate.
  </Step>
</Steps>

***

## Common Issues / Edge Cases

<Accordion title="Warning cleared but gain/loss still looks wrong">
  Clearing a warning updates the transaction data. But the full tax calculation only runs when you regenerate the Tax Report. Go to Tax Reports and generate a fresh report to see the corrected numbers.
</Accordion>

<Accordion title="The same warning keeps coming back after I fix it">
  This can happen if your exchange API re-syncs and overwrites the manual changes. If KoinX keeps re-importing a transaction with ₹0 price after you've added it manually, the API may be pulling stale data. Try disconnecting and reconnecting the integration.
</Accordion>

<Accordion title="I have hundreds of warnings, where do I start?">
  Start with "Can't find purchase transaction" warnings first, these have the biggest financial impact. Then work through price-missing entries.
</Accordion>

<Accordion title="Warnings are showing on old transactions from years ago">
  Old transactions often have price-missing warnings because historical price data can be harder to retrieve for obscure tokens. Work through them with CoinGecko's historical data or block explorer records. Any warning involving a significant amount should be resolved before generating.
</Accordion>

***

## Frequently Asked Questions

<AccordionGroup>
  <Accordion title="What does 'Could not fetch price' mean and will it affect my taxes?">
    It means KoinX found the transaction but couldn't determine its value in your base currency at the time it happened. Yes, it affects your taxes, a missing price means ₹0 value, which causes the entire sale amount to be treated as Capital Gain. Fix it using the Add Price link directly on the transaction card, enter the per unit price and KoinX calculates the total.
  </Accordion>

  <Accordion title="How do I check that all my transactions are actually captured before fixing warnings?">
    Start by comparing the transaction count in KoinX against your exchange's own history page. Look at the date range too: if your exchange shows transactions going back further than what KoinX has, there's a gap to fill. Import a CSV covering the missing period to bring in the older data. Then use the Warnings filter in KoinX to catch any data quality issues within what's already been imported.
  </Accordion>

  <Accordion title="If I generate a report and then fix warnings, do I need to generate again?">
    Yes. Generating a report captures your data at that point in time. Changes made after generation, including fixing warnings, are not automatically reflected. Generate a new report after resolving all warnings.
  </Accordion>

  <Accordion title="Are there warning types not listed in this article?" />
</AccordionGroup>
