Error fixSAP ERP (ECC 6.0 / S/4HANA)Controlling / Cost Center Accounting

SAP KI 235: G/L Account Requires an Assignment to a CO Object

Error
SAP error KI 235 no cost element defined

Also searched as

  • SAP KI235 G/L account requires an assignment to a CO object
  • how to fix KI 235 in SAP
  • SAP cost element missing for G/L account error

Short answer

KI 235 means a primary cost or revenue element exists (or should exist) on a P&L account, but the posting you are entering has no valid Controlling object - cost center, order, WBS element or profitability segment - to receive it. Add the account assignment on the posting, or set a default cost center via OKB9 so future postings resolve automatically.

Applies to: SAP ECC 6.0 and S/4HANA, CO-CCA (Cost Center Accounting) and CO-PA

Resolve KI 235

  1. 1Note the G/L account number in the error - it is a P&L account (expense or revenue) that Controlling requires a cost object for.
  2. 2Check whether the account already has a cost element master record in transaction KA03 (display); if none exists, create one with KA01 using the correct cost element category (typically 1 for primary costs).
  3. 3If a cost element exists, the real issue is usually that your posting (FI document, MM invoice, goods movement) did not carry a CO account assignment - re-enter the transaction and populate the Cost Center, Order, or WBS Element field.
  4. 4For recurring postings on that account that should always default to one cost center (e.g. bank charges, rounding differences), set a default account assignment via transaction OKB9, scoped by company code and optionally business area/valuation area.
  5. 5If the account should never require CO assignment because it is a pure balance-sheet-adjacent or statistical account, review whether it was incorrectly extended with a cost element at all - in S/4HANA, cost elements are G/L accounts with a CO-relevant account type, so this is a master data classification issue, not a separate object.
  6. 6Retest the original posting; if it was a batch interface, correct the source mapping so it supplies the account assignment going forward, not just the one failed document.

Why CO objects are mandatory for these accounts

Controlling exists to track where costs and revenues land inside the organization, not just which G/L account they hit. Any account flagged as CO-relevant (a primary cost or revenue element) cannot post without telling the system which cost center, internal order, WBS element, or profitability segment absorbs it - otherwise CO reporting would have gaps that never reconcile to FI.

This is why the same document type and G/L account can post fine from one entry screen (which prompts for a cost center) and fail from another (a batch interface or a different transaction) that never collected the assignment.

KA01/KA02 versus OKB9

KA01 creates the cost element master record itself - the CO-side definition that says this G/L account participates in Controlling. KA02 edits an existing one, most often to correct the cost element category or validity dates.

OKB9 is a different concern entirely: it is a default account assignment table so that when a posting to a CO-relevant account arrives without an explicit cost object, SAP substitutes a default cost center (or order) automatically instead of throwing KI 235. It is the practical fix for accounts like bank fees or exchange rate differences that always belong to the same overhead cost center.

KA03 -> display cost element, check category and validity
KA01 -> create primary cost element (category 1) if missing
OKB9 -> Company Code + Account (or account interval) -> default Cost Ctr / Order

Common triggers beyond manual FI entry

Invoice Verification (MIRO) and goods movements can post to P&L accounts without asking for a cost center if the movement type derives the account via automatic account determination (OBYC) and that account is now CO-relevant - the fix there is usually an OKB9 default rather than training users to manually enter cost centers on every MIRO line.

Interfaces and IDocs that create FI documents (e.g. from a third-party billing or expense system) are the most common repeat offenders - the mapping was built before the target G/L account was extended with a cost element, and every load fails the same way until the mapping or an OKB9 default is added.

Interaction with S/4HANA's unified journal

In S/4HANA, cost elements and G/L accounts share one master record (the old separate CO cost element table is now a view), so the concept behind KI 235 is unchanged but the fix location moved - cost-element-relevant fields are maintained directly on the G/L account master in FS00 / the account's Controlling tab rather than a fully separate KA01 transaction, though KA01/KA02 remain available as compatibility transactions.

The same account assignment logic (cost center, order, WBS, or CO-PA segment) still applies, so the resolution steps above are unchanged whether you are on ECC or S/4HANA.

Common pitfalls

  • !Do not blanket-create cost elements for every P&L account just to silence KI 235 - only accounts that should genuinely be tracked in Controlling should carry a cost element.
  • !An OKB9 default hides missing account assignments rather than fixing the source; use it for legitimately account-driven defaults, not as a workaround for a broken interface mapping.
  • !Changing a cost element's category (KA02) on an account already used historically can affect existing CO reports and reconciliation - check with Controlling before editing categories on live accounts.
  • !OKB9 defaults are scoped by company code (and optionally more granular criteria) - a default set for one company code will not resolve KI 235 for another company code posting to the same account.
  • !In S/4HANA, remember cost element maintenance now lives on the G/L account master (FS00) - looking only at the classic KA03 view can miss recent changes made through the account master.

How an ERP-grounded AI assistant handles this

ERPray grounded on your SAP CO configuration can trace a KI 235 error straight to the missing cost element or absent OKB9 default for that account and company code, and can point an admin at the exact FS00/KA02 field to check instead of them cross-referencing account determination, cost element master data and default assignment tables by hand.

Frequently asked questions

Do all P&L accounts need a cost element?

No. Only accounts you want tracked and reported in Controlling should be CO-relevant. Purely statistical or reconciliation accounts that do not need cost object reporting should not be extended with a cost element, which avoids triggering KI 235 in the first place.

What is the fastest fix for a recurring batch interface hitting KI 235?

Set a default account assignment in OKB9 for that G/L account and company code so postings without an explicit cost object route automatically to a default cost center, rather than reworking the interface mapping for every account that trips this.

Is KI 235 different in S/4HANA versus ECC?

The underlying rule is the same, but in S/4HANA the cost element definition lives on the G/L account master itself rather than a fully separate CO table, so check the account's Controlling-relevant fields in FS00 in addition to KA02.

Related

Error fix

SAP F5 060: Posting Only Possible in Periods X and Y

Message F5 060 fires when a document date falls in a fiscal period that the posting period variant has not opened for that account type. Either change the document/posting date into an open period, or have Finance open the required period and account type in OB52 for the relevant variant.

Error fix

SAP M7 021: Deficit of SL Stock Quantity

M7 021 fires during a goods issue, delivery, or confirmation when SAP checks the unrestricted-use (SL) stock for the exact plant, storage location and batch combination and finds less than what you are trying to post out. Fix the entry (batch, storage location, quantity) first; only enable negative stock or downgrade the message to a warning if the business genuinely needs to post ahead of a receipt.

Error fix

SAP CO11N Confirmation Errors and How to Fix Them

CO11N (time ticket confirmation for production/process orders) throws several distinct errors: deviation from the standard value is too large, goods movement not possible for a component, or the order/operation status does not allow confirmation. Each has a specific cause in order status, routing tolerance settings, or component availability, not a single generic fix.

How-to

SAP SE16N vs SQVI: Table Browser vs Ad Hoc Query

SE16N is a single-table browser: fast filtering, formatted display, and export from one table at a time, with an optional edit function for authorized users. SQVI (Quick Viewer) builds ad hoc queries that join multiple tables without writing ABAP, and can be saved as a reusable report. Use SE16N for a quick look at one table; use SQVI when you need data joined across two or more tables.

Error fix

SAP IDoc Status 51: Application Document Not Posted

Status 51 tells you the IDoc reached the application layer and failed to post, but the status text itself is not the error - the real cause sits in the status record's long text or the linked application log. Fix the underlying data or configuration, then reprocess the IDoc through BD87 rather than editing the status.

Error fix

SAP Short Dump TIME_OUT: Maximum Runtime Exceeded

A TIME_OUT runtime error means a dialog (or RFC) work process ran longer than the maximum allowed runtime, controlled by profile parameter rdisp/max_wprun_time (600 seconds by default). The fix is almost always to move the long-running work to background processing or tune the underlying program, not to raise the timeout.

AI for ERP

AI Agents for SAP Production Planning, MRP, and Exception Triage

AI agents that triage SAP MD04 exceptions, explain predictive MRP shortages, and draft planned-order actions, grounded on your own SAP data, deployed on-prem.

AI for ERP

AI for SAP S/4HANA, Running On-Prem or in Your Private Cloud

Run AI on SAP S/4HANA without sending ERP data to a public API. On-prem and private-cloud architecture, CDS views, OData, and honest deployment trade-offs.

Stuck on SAP ERP (ECC 6.0 / S/4HANA)?

Talk to engineers who work inside SAP ERP (ECC 6.0 / S/4HANA) every week, and who build private AI that answers these questions from your own ERP data.