---
updatedAt: 2026-10-13T18:31:47.000Z
agentTools:
  projectIndex: https://apidocs.taxbit.com/llms.txt
---

# Supported methods

The cost-basis method values Taxbit accepts, which objects accept each one, and the fields a SPECID sale needs.

Part of [Choose a disposition method](https://apidocs.taxbit.com/docs/setting-dispo-methods), which explains how the cost-basis method (`disposition_method`) changes reported gains and how to change it.

## Accepted values by object

| Value     | Filer (`POST /v1/filers`) | Account (`POST /v1/accounts`) | Method history (`POST /v1/accounts/{id}/disposition-methods/history`) | Transaction (`POST /v1/transactions/external-id`) |
| --------- | ------------------------- | ----------------------------- | --------------------------------------------------------------------- | ------------------------------------------------- |
| `HIFO`    | Yes                       | Yes                           | Yes                                                                   | Yes                                               |
| `FIFO`    | Yes                       | Yes                           | Yes                                                                   | Yes                                               |
| `LIFO`    | Yes                       | Yes                           | Yes                                                                   | Yes                                               |
| `LOFO`    | Yes                       | Yes                           | Yes                                                                   | Yes                                               |
| `AUSTRIA` | Yes                       | Yes                           | No                                                                    | No                                                |
| `SPECID`  | No                        | No                            | No                                                                    | Yes                                               |

`PATCH /v1/accounts/{id}` does not accept `disposition_method`, and `PATCH /v1/filers/{id}` accepts neither `disposition_method` nor `is_default`. Change an account's method through its method history.

## Methods

| Value     | Name                        | Lots a sale draws from                                                                                                              |
| --------- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `HIFO`    | Highest in, first out       | The highest-cost lots first.                                                                                                        |
| `FIFO`    | First in, first out         | The oldest lots first.                                                                                                              |
| `LIFO`    | Last in, first out          | The newest lots first.                                                                                                              |
| `LOFO`    | Lowest in, first out        | The lowest-cost lots first.                                                                                                         |
| `SPECID`  | Specific lot identification | The lots the transaction names in `inventory_lots`.                                                                                 |
| `AUSTRIA` | Austrian withholding        | Austria's inventory, gains, and withholding rules. See [Austria Tax Withholding](https://apidocs.taxbit.com/docs/austria-overview). |

## SPECID transactions

A transaction with `disposition_method` set to `SPECID` names the lots it disposes of in `inventory_lots`.

* `inventory_lots` is an object keyed by Taxbit lot ID, each mapped to a quantity. Lot IDs come from `GET /v1/inventory`; see [Retrieve inventory](https://apidocs.taxbit.com/docs/consuming-inventory).
* Required on every crypto line item when `disposition_method` is `SPECID`.
* Allowed only on items in `sent` and `fees`, never `received`. Not permitted on `deposit` transactions.
* From 1 to 25 lots per line item.
* The lot quantities must add up to the line item's `asset_amount`.

If a named lot can't be found, or holds less than the quantity named for it, Taxbit still accepts the transaction with 201. The calculation then records an `INVENTORY_ERROR` event for the account with the message `Specific lots are missing or contain insufficient quantity`, and disposes of the whole amount by the account's default cost-basis method instead of the named lots. A lot ID that isn't a valid UUID is rejected at POST with 400.

```json
{
  "id": "trade_88215",
  "account_id": "acct_5f2e7d10",
  "type": "trade",
  "datetime": "2026-08-03T10:41:00Z",
  "disposition_method": "SPECID",
  "sent": [
    {
      "asset_amount": { "amount": "0.5", "asset": { "code": "ETH", "type": "Crypto" } },
      "rates": [{ "amount": "3100.00", "asset": { "code": "USD", "type": "Fiat" } }],
      "inventory_lots": {
        "b72696f9-0f10-5827-94c3-289b6366a599": { "quantity": "0.5" }
      }
    }
  ],
  "received": [
    {
      "asset_amount": { "amount": "1550.00", "asset": { "code": "USD", "type": "Fiat" } },
      "rates": [{ "amount": "1.00", "asset": { "code": "USD", "type": "Fiat" } }]
    }
  ]
}
```

## Method history entries

| Field                | Type   | Required | Description                                       |
| -------------------- | ------ | -------- | ------------------------------------------------- |
| `disposition_method` | string | Required | `HIFO`, `FIFO`, `LIFO`, or `LOFO`.                |
| `effective_datetime` | string | Required | ISO 8601 timestamp from which the method applies. |

The request body is `{"data": [...]}` with one or more entries; no other fields are accepted. The response returns each entry with a numeric `id`, used by `PATCH` and `DELETE` on `/v1/accounts/{id}/disposition-methods/history/{history_id}`.

## Related

* [Choose a disposition method](https://apidocs.taxbit.com/docs/setting-dispo-methods)
* [Disposition methods in the API Reference](https://apidocs.taxbit.com/reference/disposition-methods)