CJ88 — Actual Settlement of a Single WBS Element
CJ88 executes actual settlement for one WBS element or project, posting the costs collected on it to the receivers defined in its settlement rule - typically an asset under construction, cost center, order, or profitability segment. It creates real CO and, where relevant, FI documents. Run it in test mode first; the residual left after a run usually means the settlement rule is incomplete.
This page covers CJ88, the individual-processing transaction for settling actual costs off a WBS element to its defined receivers. It focuses on why a settlement run partially posts or fails outright, and how to trace the residual back to the settlement rule and the allocation structure.
Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,136 words
Purpose
CJ88 executes actual settlement for a single WBS element (or a whole project run at individual-object level), moving accumulated debit costs to the receivers named in the object's settlement rule - a fixed asset under construction, a cost center, a G/L account, another order or WBS, or a profitability segment. This is a real posting run: each execution creates a settlement document, and depending on the receiver type, a parallel FI document. The structural fact that explains most confusion is that settlement only moves what the settlement rule and the underlying settlement/allocation structure allow it to move. If the rule's distribution percentages do not sum to 100%, or the structure has no mapping for a given cost element, part of the balance stays on the WBS as an unsettled residual, and the run does not error out loudly - it just settles less than expected.
When it is used
CJ88 sits at period-end close for capital and internal-order-style projects, after costs have been collected on the WBS through purchasing, time confirmation, or internal activity allocation, and after a settlement rule has been maintained (via CJ02 or the project builder). It is the tool of choice when troubleshooting one problem WBS element - a rejected settlement, a wrong receiver, a residual balance - rather than rerunning the entire portfolio through CJ8G's collective processing. Consultants also use it to test a settlement rule change on a single object before releasing a batch job. It is not a reporting transaction; CJI3 or the line item reports are used to check balances before deciding whether CJ88 needs to run again.
How to use it in practice
- Enter the WBS element or project definition and the settlement period and fiscal year to be processed.
- Run first with the test-run flag set so nothing posts; review the simulated log line by line.
- Check the log for each receiver line: amount, receiver object, cost element, and any warning about an incomplete rule.
- If the simulation matches expectation, rerun with the test flag cleared to post the settlement document.
- Check the resulting job log and spool for error messages such as no distribution rule or receiver not valid, and resolve at the settlement rule before rerunning.
Key data objects
- COBRB - the settlement rule distribution lines: receiver, percentage or amount, and validity period for the WBS element.
- COBRA - the settlement rule header for the sender object, including settlement type and default settlement structure.
- COSP and COSS - the totals records for actual costs debited to the WBS element that CJ88 reads to determine what is settleable.
- COEP - the CO line items created by the settlement posting, carrying the settlement business transaction type.
- PRPS - the WBS element master record, including the system status that governs whether settlement is even permitted.
How to prove it in the data
Query COBRB filtered on the WBS element's object number to see the maintained receivers and whether the percentages sum to 100%. Query COEP for the same object number filtered on the settlement transaction type to see what has actually been posted, by period and fiscal year. Compare the total actual cost in COSP or COSS for the WBS against the total settled amount in COEP for that transaction type - the difference is the unsettled residual, and it should match whatever the settlement rule's completion gap explains.
ECC vs S/4HANA
The settlement logic and the transaction itself are unchanged on S/4HANA - CJ88 still runs individual settlement the same way, against the same rule and structure concepts. The underlying totals move into the universal journal, so postings that used to sit only in CO totals tables now also appear directly in the universal journal line items, which changes where a consultant looks to verify a posting but not how the transaction is operated. Any Fiori app claiming to replace individual WBS settlement should be treated as unconfirmed until checked in the specific system.
Common pitfalls and how to diagnose them
- Incomplete settlement rule - COBRB percentages do not add to 100%, or a receiver line is missing entirely; the run posts a partial amount and leaves a residual on the WBS with no hard error, only a warning in the log.
- Structure gap - the settlement or allocation structure assigned to the sender has no entry for a particular cost element group, producing an error that the cost element cannot be settled; fix the structure assignment, not the rule.
- Status lock - the WBS system status blocks settlement, commonly because the object needs technical completion first or a user status explicitly forbids settlement; check the status log on the WBS before touching the rule.
- Receiver not ready - the settlement rule points to an asset under construction that has not been created yet, or a cost center that is blocked or closed for the period; the run rejects the line and the residual stays.
- Period closed - the target period in CO or FI is not open for posting, which fails the whole run even though the rule and structure are correct; check period control before assuming a master data problem.
- Reflex fix that makes it worse: deleting and recreating the settlement rule from scratch to force a clean run. This loses the distribution history and, if percentages are re-entered wrong, silently changes where money has already gone in prior periods versus this one.
Whose problem this is
This is a PS/CO functional problem in nearly all cases - the settlement rule, the allocation structure assignment, and the WBS status are all configuration and master data, not code. Basis involvement is limited to period-lock and job-scheduling issues. A good handover states the WBS element, the period and fiscal year attempted, the exact log message, and whether test-run and live results differ.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-tcodes/cj88ERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.