Skip to main content

Error: The Cost Centre must belong to the Income or Both Category

Written by Charnjit Singh Dharival

Sales invoice transaction stuck in the temp table. The analysis code is correct.


This is a business-rule validation error, not a code bug. It is raised deliberately by the costing validation logic. The relevant check enforces business rules. If the transaction is an "Income Type" transaction, the Cost Centre's category must be Income ('I') or Both ('B'). If it is anything else (i.e. Expense-only), the error is thrown. The category itself is derived from the Cost Centre master data.

What triggers it

The check applies only when the transaction type is one of the "Income Type" processes, e.g. Sales Ledger invoices/receipts/credit notes, Sales Order Processing orders/estimates/pro-formas, credit journals, Costing sales transactions, and the project default invoice / WIP invoicing cost centres.

So the error means you're trying to record income (or set a default income/WIP-invoicing Cost Centre on a project) but the Cost Centre you selected has category Expense.

How to resolve it

You have two functional options:

  1. Select a different Cost Centre on the transaction/project; one whose category is Income or Both. Every Cost Centre is assigned a category (Income, Expense, or Both) that defines the type of transaction it can carry.

  2. Change the Cost Centre's category to Income or Both in Costing maintenance; but only if that Cost Centre is genuinely meant to receive income. Note the additional constraint for a Profit & Loss project style the category must be Income; for a Tabular style it may be Income or Both.

Note that when you're setting a project's default invoice Cost Centre or WIP invoicing Cost Centre, the system only lets you pick a Cost Centre with category Income or Both; the same rule enforced here.

Did this answer your question?