It depends on which capital allowances pool the equipment is in, and on the disposal proceeds compared with the pool balance. Most general café equipment claimed through the main pool is not dealt with item by item. When you sell an item, its disposal proceeds are deducted from the main pool in the period of disposal. If the proceeds are less than the pool balance, there is usually no separate balancing charge: the pool simply reduces, and future writing-down allowances are calculated on the lower balance. If the proceeds exceed the pool balance, the excess is a balancing charge, taxable as trading income in that period.
The position is different for assets held in a single-asset pool, such as a short-life asset pool, or where the trade itself ceases. In a single-asset pool, the disposal is worked out directly: compare the proceeds with the tax written-down value, which is the original cost less allowances already claimed. If proceeds exceed that written-down value, the excess up to the allowances claimed is a balancing charge; if proceeds are lower, the shortfall can give a balancing allowance. When a trade ceases, a final balancing adjustment is made on the remaining pool. A balancing charge cannot normally exceed the allowances previously claimed on that asset, because it is clawing back relief already given, not taxing a capital gain.
For planning, work out the pool position before you sell, not after. Selling an item in the same period as buying replacement equipment can affect the pool balance, because the replacement cost is added to the pool while the disposal proceeds are deducted, but the two do not automatically cancel out. The timing of the disposal, rather than the date cash is received, generally determines the period of the adjustment. Keep the original purchase invoice, the capital allowances computation, the sale invoice or agreement, and proof of receipt for each item. If you are VAT-registered, also check whether VAT is due on the sale. Do not scrap or give away an item without recording a disposal value, because a nil value may still need to be shown in the pool.