The quick answer
The error "Account <number> requires an assignment to a CO object" (message KI235) means you posted to a cost element — a P&L account that Controlling tracks — but didn't tell SAP where the cost belongs. Cost elements must carry a CO object (a cost center, internal order, WBS element, and so on). You fix it two ways: enter a CO object on the posting line, or set a default for that account in transaction OKB9 so it's assigned automatically.
Key takeaways
- The account is a cost element, so it needs a Controlling object on every posting.
- A CO object = cost center, internal order, WBS element, etc.
- Fix A: enter the CO object directly on the posting line.
- Fix B: set a default in OKB9 so postings to that account assign automatically.
What the error means
In SAP, some P&L accounts are also cost elements — meaning Controlling (CO) wants to track the cost, not just Financial Accounting (FI). Whenever you post to a cost element, SAP insists you say which part of the business carries that cost. That "which part" is the CO object.
So KI235 isn't a bug — it's SAP protecting your cost reporting. Without a CO object, the cost would land in FI with nowhere to sit in CO, and your cost center / order reports would be incomplete. SAP stops the posting until you tell it where the cost goes.
How SAP decides it needs a CO object
One quick decision explains the whole error:
If the account is a cost element and no CO object is supplied — on the line or via a default — you get KI235. Provide any valid CO object (cost center, order, WBS…) and the posting completes.
Why it happens
The direct cause — the account is a cost element and the posting line has no cost center, order, or WBS. Most common in manual FI postings (FB50, F-02) and in automatic postings where nothing defaults.
For automatic postings (like tax, price differences, small differences), there's no object to type — so you need a default in OKB9. If it's missing, KI235 appears with nothing you can enter manually.
Occasionally a balance-sheet-style account was created as a cost element by mistake, so it demands a CO object it never should. Then the fix is to correct the account, not to assign an object.
How to fix it, step by step
Read the error and note the account
Note the G/L account (cost element) and the company code in the message.
Decide: a specific object, or a default
Should this posting carry a specific CO object, or should every posting to this account default to one? Manual postings usually want a specific object; automatic postings usually need a default.
Fix A — enter a CO object on the posting
In the posting line, fill the account assignment field with a cost center, internal order, or WBS element. Re-post. Done.
Fix B — set a default in OKB9
Go to OKB9. Add a row for your company code + cost element, with the default cost center (or order). You can make the default depend on business area or valuation area if needed. Save.
If the account shouldn't be a cost element
If this account should never carry costs (it's really a balance-sheet account), the correct fix is to not create it as a cost element — review with FI/CO rather than forcing a CO object onto it.
Retry the posting
Repeat the transaction. With a CO object supplied or defaulted, KI235 is gone and the posting completes.
FAQ
Learn the FI-CO link behind the errors —
hands-on, on a real SAP system.
VoiSAP's live SAP FICO training covers cost elements, cost centers, OKB9 and the FI-CO integration on a real system, so errors like KI235 become routine — plus full career support for the Canadian and US market.
*Hands-on training on a live SAP system. Individual outcomes vary.