---
name: "books_dispose_asset"
area: "books"
title: "Sell or write off an asset"
price: "$0.01"
method: "POST"
url: "https://api.conecto.chat/v1/tools/books_dispose_asset"
mcp_server: "https://api.conecto.chat/mcp/books"
auth: "Authorization: Bearer <conecto_sk_ key>"
docs_url: "https://conecto.chat/tools/books/books_dispose_asset"
---

# Sell or write off an asset (`books_dispose_asset`)

Sells or writes off a fixed asset, like Xero's dispose: depreciation to the day it goes, then its cost, the price and the gain or loss.

Take an asset out of the books, sold or written off, like Xero's dispose. Its depreciation is booked through the month it goes first (to the day with actual_days; what was booked for later months is undone), then one entry takes its cost and accumulated depreciation out, books price to paid_to and the difference as a gain or a loss on gain_account (made as 4950 Gains and losses on assets sold when missing). paid_to is the bank account the money went to, or the income account the invoice to the buyer booked it to, which this then clears. A write-off has no price. undo: true brings it back.

Price: $0.01 a call. A call that fails costs nothing.

## Use it when

An asset is sold, scrapped, stolen or given away; or a disposal was booked by mistake (undo).

- For invoicing the buyer, with VAT, use [invoices_create](https://conecto.chat/tools/invoices/invoices_create.md).

## Say this to your agent

> We sold the service van for 33,000 euros on October 12; the money is in the bank.

## Inputs

| Name | Type | Required | Description | Allowed values | Default |
|---|---|---|---|---|---|
| `asset` | string | yes | The asset's number, like "FA-0001" (books_list_assets). 1 to 20 characters. |  |  |
| `date` | string | no | YYYY-MM-DD (matches ^\\d{4}-\\d{2}-\\d{2}$) |  |  |
| `price` | number or string | no | What it sold for before tax. Default 0, a write-off. Up to 24 characters. |  |  |
| `paid_to` | string | no | Where the price went, e.g. "1010". 1 to 20 characters. |  |  |
| `gain_account` | string | no | An account code from the chart, e.g. "6600". 1 to 20 characters. |  |  |
| `catch_up` | boolean | no |  |  | `false` |
| `undo` | boolean | no | Bring a sold or written off asset back. |  |  |

## Example

Written for Hansen & Voss, a restaurant-equipment wholesaler in Hamburg with 60 staff.

MCP: call `books_dispose_asset` on the MCP server `https://api.conecto.chat/mcp/books` with these arguments:

```json
{
  "asset": "FA-0001",
  "date": "2026-10-12",
  "price": "33000",
  "paid_to": "1010"
}
```

REST:

```bash
curl https://api.conecto.chat/v1/tools/books_dispose_asset \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"asset": "FA-0001", "date": "2026-10-12", "price": "33000", "paid_to": "1010"}'
```

## Response

```json
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "tool": "books_dispose_asset",
  "status": "succeeded",
  "replayed": false,
  "cost_usd": "$0.01",
  "balance_usd": "$19.75",
  "result": {
    "asset": {
      "number": "FA-0001",
      "name": "Service van",
      "status": "disposed",
      "purchase_date": "2026-03-14",
      "cost": "36000.00",
      "account": "1500",
      "method": "straight_line",
      "averaging": "full_month",
      "life_months": 60,
      "life_years": "5",
      "rate_percent": null,
      "residual": "6000.00",
      "depreciation_start": "2026-03-14",
      "expense_account": "6950",
      "accumulated_account": "1590",
      "opening_accumulated": null,
      "accumulated": "4000.00",
      "book_value": "32000.00",
      "depreciated_through": "2026-10-31",
      "depreciation_per_month": null,
      "fully_depreciated": false,
      "tracking": null,
      "description": null,
      "serial_number": null,
      "warranty_until": null,
      "disposed_on": "2026-10-12",
      "price": "33000.00",
      "gain_or_loss": "1000.00",
      "disposal_entry": 12
    }
  }
}
```

`result`: asset: as books_list_assets shows it, now with disposed_on, price, gain_or_loss and the disposal entry; with undo, the reversal too.

## Errors

| Code | Status | When | Fix |
|---|---|---|---|
| `no_books` | 409 | The business keeps no books yet. | Set them up with books_setup (base currency, start date). |
| `archived` | 409 | The account or tax is archived. | Use another one, or un-archive it with books_save_accounts. |
| `invalid_input` | 400 | No date; the date is before it was bought or after today; a price has no paid_to, or paid_to is the asset's own account; gain_account is not an income or expense account; or undo for an asset that is not sold. | Fix what the message names. |
| `not_found` | 404 | No asset has that number, or no account that code. | Check books_list_assets and books_list_accounts. |
| `period_locked` | 409 | The date, or a month of depreciation before it, falls in a locked period. | Pass catch_up for the months, or unlock with books_lock. |
| `asset_disposed` | 409 | It was sold or written off already. | Undo that first with undo: true. |

The refusals every tool can give (401 key, 402 balance, 429 limits) are on the errors page: https://conecto.chat/docs/errors.md

## Related

- [books_setup](https://conecto.chat/tools/books/books_setup.md): Starts the business's double-entry books (currency, start date, chart of accounts) or changes their settings. $0.001 a call.
- [books_get](https://conecto.chat/tools/books/books_get.md): The books' settings: currency, start date, fiscal year, locked period, roles, payment accounts, taxes, and what is waiting. Free up to 1,000,000 reads a month.
- [books_list_accounts](https://conecto.chat/tools/books/books_list_accounts.md): Every account with its code, type, role and balance on a day. Free up to 1,000,000 reads a month.
- [books_save_accounts](https://conecto.chat/tools/books/books_save_accounts.md): Adds accounts or changes them, matched by code: name, type, description, code, role or archived. $0.001 a call.
- [books_save_tax](https://conecto.chat/tools/books/books_save_tax.md): Adds or changes a tax rate the books use (VAT, GST, sales tax), matched by name. $0.001 a call.
- [books_record_expense](https://conecto.chat/tools/books/books_record_expense.md): Books a cost the business paid, with its tax split off and the receipt attached. $0.01 a call.
- [books_record_entry](https://conecto.chat/tools/books/books_record_entry.md): Books a journal entry of two or more balancing lines, for whatever the other tools do not cover. $0.01 a call.
- [books_attach_receipt](https://conecto.chat/tools/books/books_attach_receipt.md): Attaches a receipt from the file store to an entry that has none. $0.01 a call.
- [books_reverse_entry](https://conecto.chat/tools/books/books_reverse_entry.md): Undoes an entry by booking its mirror image; entries are never edited or deleted. $0.01 a call.
- [books_list_entries](https://conecto.chat/tools/books/books_list_entries.md): Entries, newest first, with their lines, by dates, account, source or text. Free up to 1,000,000 reads a month.
- [books_import_bank](https://conecto.chat/tools/books/books_import_bank.md): Reads a bank statement from the file store (CSV, CAMT.053 or OFX) onto a bank account, skipping lines imported before. Free.
- [books_bank_lines](https://conecto.chat/tools/books/books_bank_lines.md): Imported bank lines (by default the ones still to match), each with up to three suggestions of what it was. Free up to 1,000,000 reads a month.
- [books_match_bank_lines](https://conecto.chat/tools/books/books_match_bank_lines.md): Says what bank lines were: entries already booked, invoices or bills they pay, an account to book them to, or nothing to book. $0.02 per bank line matched.
- [books_save_bank_rule](https://conecto.chat/tools/books/books_save_bank_rule.md): Saves a bank rule, like Xero's: which new bank lines it matches and how they are booked, to one account or split by percent, each part with its own tax. $0.001 a call.
- [books_list_bank_rules](https://conecto.chat/tools/books/books_list_bank_rules.md): Lists the bank rules in the order they are tried, with where they book and how often they were used. Free up to 1,000,000 reads a month.
- [books_apply_bank_rules](https://conecto.chat/tools/books/books_apply_bank_rules.md): Books every new bank line a rule matches, each by the first rule that matches. $0.02 per bank line booked.
- [books_delete_bank_rule](https://conecto.chat/tools/books/books_delete_bank_rule.md): Deletes a bank rule; what it booked stays booked. Free.
- [books_report](https://conecto.chat/tools/books/books_report.md): A report: profit and loss, balance sheet, trial balance, ledger, tax, the VAT or OSS return, the cash flow ahead or a snapshot of the business. Free up to 1,000,000 reads a month.
- [books_save_tracking](https://conecto.chat/tools/books/books_save_tracking.md): Saves a tracking category with its options, like Xero's: a department, a region or a project line that any line of the books can carry. $0.001 a call.
- [books_list_tracking](https://conecto.chat/tools/books/books_list_tracking.md): Lists the tracking categories and their options. Free up to 1,000,000 reads a month.
- [books_save_budget](https://conecto.chat/tools/books/books_save_budget.md): Saves a budget per income and expense account and month, like Xero's budget manager: amounts, monthly or yearly. $0.001 a call.
- [books_list_budgets](https://conecto.chat/tools/books/books_list_budgets.md): Lists the budgets with every line's monthly amounts and total. Free up to 1,000,000 reads a month.
- [books_delete_budget](https://conecto.chat/tools/books/books_delete_budget.md): Deletes a budget; the books don't change. Free.
- [books_repay_claims](https://conecto.chat/tools/books/books_repay_claims.md): Pays someone back for costs they paid with their own money (expense claims), like Xero's, with a SEPA file when asked. $0.01 a call.
- [books_list_claims](https://conecto.chat/tools/books/books_list_claims.md): Lists expense claims: what people paid for the business privately, and what each is owed. Free up to 1,000,000 reads a month.
- [books_save_asset](https://conecto.chat/tools/books/books_save_asset.md): Registers a fixed asset (a van, a machine) and how it depreciates, like Xero's: straight line, declining balance, at once or not at all. $0.001 a call.
- [books_list_assets](https://conecto.chat/tools/books/books_list_assets.md): The fixed asset register: each asset's cost, accumulated depreciation and book value, what a run would book now, and the register held against the books. Free up to 1,000,000 reads a month.
- [books_depreciate](https://conecto.chat/tools/books/books_depreciate.md): Books the depreciation of every registered asset through a month's end, one entry a month, like Xero's run depreciation; or undoes it after a date. $0.01 a call.
- [books_delete_asset](https://conecto.chat/tools/books/books_delete_asset.md): Takes an asset registered by mistake out of the register; the books don't change. Free.
- [books_lock](https://conecto.chat/tools/books/books_lock.md): Locks the books through a date, so nothing new is booked on or before it; null unlocks. $0.001 a call.
- [books_close_year](https://conecto.chat/tools/books/books_close_year.md): Closes a fiscal year for good: nothing is booked on or before its last day again, and it can't be undone. $0.001 a call.
- [books_export](https://conecto.chat/tools/books/books_export.md): A CSV of the journal or the accounts, a DATEV Buchungsstapel for a German tax adviser or a French FEC, with a download link. $0.001 a call.
