This skill handles all SAP CO (Controlling) topics: cost center accounting, profit center accounting, internal orders, product costing, profitability analysis (CO-PA), assessment and distribution cycles, actual vs plan postings, settlement, and CO period-end closing. Use when user mentions CO, cost center, profit center, internal order, KSU5, KSV5, KO88, CK11N, CO-PA, COPA, assessment, distribution, settlement, variance, controlling area, allocation cycle, activity type, KSB1, KSB5, cost element, plan vs actual, product cost collector.
Budget: KO22 (budget entry) → OKOB (availability control tolerance)
Commitment management: orders can carry purchase order commitments
Settlement (KO88)
KO88: individual order settlement
Always simulate first (test run)
Settlement rule: inspect the sender master from the settlement context; maintain
receivers and percentages only through the approved master-data process
Common Errors
Error
Fix
"Order is locked"
Inspect sender system/user status; request governed release only when business prerequisites are met
"No settlement rule defined"
Inspect sender settlement data; create the approved receiver rule through the master-data owner
"Receiver not valid"
Check settlement profile allows this receiver type
"Budget exceeded"
KO22 → increase budget or KO26 (supplement)
5. Product Costing (CO-PC)
Standard Cost Estimate Flow
CK11N (single material) → cost estimate per material / plant / lot size
CK40N (costing run) → mass processing across multiple materials
CK24 → Mark (set as future std cost) → Release (activate)
Configuration Elements
Cost component structure: OKTZ → groups cost elements into components (material / labor / overhead)
Overhead: KZS2 → costing sheet → overhead rates
Activity rates: KP26 → plan activity prices per cost center / activity type
Costing-based PA: uses value fields → configured SD condition/value-field transfer와
operating concern의 segment-level line items
Key Configuration
Characteristic derivation은 operating concern의 derivation strategy와 trace를 기준으로
검증하며, condition/value-field assignment와 혼동하지 않는다.
SD → costing-based CO-PA transfer는 billing condition과 value field assignment,
transfer status를 함께 확인한다.
Planning은 시스템 release와 활성 planning framework에 따라 classic planning 또는
KEPM planning framework를 사용한다.
Reporting
KE30: report painter → custom PA reports
KE24: line item display → drill down by characteristic
KE5T: profitability segment display
S/4HANA CO-PA Notes
Account-based PA is the primary approach (costing-based is optional add-on)
Universal Journal (ACDOCA) is the single source → no separate CO-PA tables needed for account-based
Real-time derivation: profitability characteristics derived at time of posting
7. S/4HANA CO Changes
Topic
ECC
S/4HANA
Primary cost tables
COSP / COSS
ACDOCA
Profit center accounting
GLPCT / GLPCA
ACDOCA
Profit center
classic PCA/ledger와 account assignment에 따라 저장
Universal Journal derivation 중심; 모든 posting에 무조건 수동 입력이라고 단정 금지
Segment reporting
FAGLFLEXT
ACDOCA
Material Ledger
Optional
Mandatory
Actual costing
Material Ledger 활성 범위에서 선택
Material Ledger foundation과 별개로 actual costing은 활성 범위에서 실행
CO-PA (account-based)
Optional
Default / primary
8. Diagnostic Response Contract
For a single fact question, use Quick Advisory. For settlement failure, allocation
variance, missing CO-PA value, or period-end imbalance, use the Evidence Loop.
8.1 Required intake
Collect these facts before proposing a configuration change:
SAP release and feature pack/year
deployment: ECC On-Premise, S/4HANA On-Premise/Private, or Public Cloud
industry and controlling design: controlling area, currencies, fiscal-year variant
affected period, ledger/version, actual or plan, and close calendar stage
sender object type and receiver object type
exact message class/number and the full run log
whether the issue is isolated to one object or reproducible for the same rule
last successful period/run and transports moved since that point
Never invent company codes, cost elements, cost centers, orders, WBS elements,
profitability segments, or cycle names. Use the values supplied in the evidence.
8.2 Safety boundary
Start with display/report/log evidence and a Test Run.
A configuration or master-data correction requires a transport strategy and QA proof.
A mass allocation or settlement rerun requires an impact list and duplicate-posting check.
Never change totals or line items directly in a table browser.
A Fix is incomplete without a matching Rollback Plan.
Public Cloud uses released apps and configuration activities for the selected scope.
8.3 Standard answer shape
Issue — object, period, scope, exact symptom
Primary Root Cause — strongest evidence first
Alternative Hypotheses — two to four, each with at least two falsifiers
Check — T-code plus menu path, selection values, fields, expected result
Fix — sandbox/QA first, owner and transport
Rollback — reversal or prior configuration restoration, stop condition
Prevention — close checklist, ownership, reconciliation control
9. Settlement Failure Playbook — KO88 and CJ88
Settlement diagnosis begins by separating the sender object. Internal orders and
projects can share settlement concepts, but status, source structures, results
analysis, and receiver rules are not interchangeable.
CJ88 — SAP Easy Access > Accounting > Project System > Financials > Period-End Closing > Single Functions > Settlement
Test Run log, WBS status, results-analysis dependency, rule
Always capture the Test Run selection screen and complete message log. A green
technical completion with zero settled value is not proof that the business result
is correct.
9.2 Evidence sequence
Confirm sender object, controlling area, fiscal year, period, settlement type,
processing type, and posting date from the run log.
From the KO88 sender context, open the linked sender master in display mode and
inspect system/user status, settlement rule, validity, distribution percentages/
equivalence numbers, receiver category, and full/periodic settlement type.
For a project sender, use CJ88 in Test Run and compare the WBS/project status,
results-analysis requirement, and settlement rule captured by the PS owner.
Reconcile sender actual balance by cost element and period. Distinguish a true
zero balance from excluded costs, already-settled values, commitments, and plan.
Verify posting periods in both FI and CO; do not open a period only to suppress
an error without close-owner approval.
Verify the settlement profile, allocation/source structure, PA transfer structure,
and receiver master validity for the sender's order/project type.
Execute the identical selection as Test Run in QA with representative data.
Only after expected debit/credit, profitability characteristics, and document date
are reconciled may the approved actual run be scheduled.
9.3 Hypothesis matrix
Hypothesis
Supporting evidence
Falsification evidence
Settlement rule missing or invalid for the period
log names rule/receiver; rule validity misses posting period
valid rule covers the period and the same sender settles in QA
Sender status blocks processing
sender is not released/technically complete as required; status-specific message
allowed status is active and another sender with the same status fails differently
Source/allocation structure misses a cost element
unsettled balance remains on a specific cost element; log reports unassigned source
every residual cost element is assigned and Test Run maps it to a receiver
Receiver is invalid or closed
receiver validity/status error; master end date precedes posting date
receiver accepts a controlled posting in the same period and rule points to that exact receiver
Period or posting-date mismatch
FI/CO period error or posting date outside allowed interval
both periods are open for the authorized interval and error persists unchanged
Prior settlement/reversal state explains zero value
no prior settlement document exists and unsettled actual balance is nonzero
Each hypothesis needs at least two concrete observations. Do not confirm a cause
from message text alone when the same message can be raised by status, validity,
or source-structure errors.
9.4 Fix and rollback pairs
Confirmed cause
Fix in development/QA
Rollback
Rule missing/invalid
maintain the approved receiver and validity in sender master, then Test Run
restore the prior rule snapshot; stop processing affected senders
Profile/structure mapping gap
change configuration through a transport and prove one representative sender
import the approved backout transport or restore prior assignment, then rerun Test Run
Closed/invalid receiver
correct business validity/status through its owning process
restore prior validity/status if downstream reconciliation fails
Period mismatch
close owner authorizes the minimum opening window and posting date
close the temporary window immediately after controlled run and reconcile documents
Duplicate/incorrect settlement
use the standard settlement reversal for the exact document and period
if reversal preconditions are not met, stop and obtain FI/CO change approval
Do not compensate an incorrect settlement with an unexplained manual FI posting.
Preserve the original document chain and audit trail.
9.5 Project-specific CJ88 checks
Determine whether the affected WBS is an account-assignment element and whether
its status permits settlement.
Establish whether results analysis must run before settlement for this project type.
Confirm settlement profile and allocation structure from the project profile and
object-specific rule; do not copy assumptions from internal orders.
For assets under construction or final-asset settlement, verify capitalization date,
receiver readiness, and full/periodic settlement semantics with FI-AA.
If a hierarchy has multiple account-assignment WBS elements, reconcile each sender;
a successful parent selection does not prove every lower object settled.
10. CO-PA Mapping and Planning — KEI1 and KEPM
First identify whether the question concerns Margin Analysis/account-based CO-PA,
costing-based CO-PA, or both. A value-field mapping answer is not automatically
applicable to account-based actuals in the Universal Journal.
10.1 PA transfer structure with KEI1
[T-code: KEI1 | menu: SPRO > Controlling > Profitability Analysis > Flows of Actual Values > Order and Project Settlement > Define PA Transfer Structure]
The PA transfer structure groups source cost elements or source assignments and
maps them to costing-based CO-PA value fields for relevant settlement flows.
Read-only diagnosis before change:
Identify the exact transfer structure used by the sender's settlement profile.
Compare the residual/source cost element with assignment-line coverage.
Verify that ranges/groups do not overlap in a way that creates ambiguous mapping.
Check the target value field and fixed/variable treatment against the operating
concern definition.
Trace one settlement document to CO-PA line-item evidence; do not infer mapping
solely from the customizing screen.
For Margin Analysis, reconcile the G/L account and profitability characteristics
in the Universal Journal rather than forcing a value-field interpretation.
Any KEI1 change is configuration: capture before/after evidence, use a transport,
run regression settlement in QA, and include every affected sender type in scope.
Mapping hypothesis example
Hypothesis: the source cost element is outside the assignment line used by the
active settlement profile.
Supports: residual value equals that source; Test Run says source assignment is
missing; active profile points to the inspected transfer structure.
Falsifies: the exact source is covered without overlap; Test Run maps it to the
expected value field; the same transport level succeeds for a comparable sender.
Fix: add the approved source-to-target assignment in development, transport to
QA, and repeat settlement plus CO-PA reconciliation.
Rollback: restore the previous transfer structure with a backout transport and
reverse only documents produced by the failed controlled test.
The planning framework organizes planning levels, packages, and parameter sets.
When plan data is missing or not editable, inspect in this order:
operating concern and planning type/framework selected by the release
plan version, fiscal year/period, currency and valuation view
planning level characteristics and package restriction
parameter-set method and layout assignment
user authorization and personalization/profile assignment
lock ownership and concurrent planning process
actual-versus-plan reporting selection and zero suppression
Do not treat KEPM as the universal planning route for every S/4HANA or Public
Cloud scope. Confirm whether classic CO-PA planning remains in use, or whether the
customer uses an approved planning product/app and integration flow.
Planning falsification pattern
Candidate
Supports
Falsifies
Package restriction excludes segment
excluded characteristic is outside package selection
segment is inside active package and visible to another authorized user
Wrong version/period
data exists in a different version/period
selected version/period contains the same records in a read-only report
Authorization gap
trace denies planning object/activity
user has required authorization and identical access works in the same client
Lock conflict
lock owner/time aligns with failure
no lock exists and failure reproduces in an isolated QA session
11. Cost Element Master — ECC vs S/4HANA
11.1 ECC
[T-code: KA01 | menu: SAP Easy Access > Accounting > Controlling > Cost Element Accounting > Master Data > Cost Elements > Individual Processing > Create Primary]
Primary cost elements correspond to relevant FI G/L accounts and have validity
and a cost-element category in the controlling area.
Secondary cost elements represent internal CO value flows and are not treated as
ordinary externally postable expense accounts.
Before creation, confirm chart-of-accounts account, controlling-area assignment,
validity start, category, quantity recording, and default assignment design.
Master-data creation is not a workaround for incorrect automatic account
determination; resolve ownership with FI and CO.
11.2 S/4HANA On-Premise/Private
[T-code: FS00 | menu: SAP Easy Access > Accounting > Financial Accounting > General Ledger > Master Records > G/L Accounts > Individual Processing > Centrally]
Cost elements are represented as a type of G/L account; separate classic cost
element maintenance is replaced by G/L account maintenance for this purpose.
The G/L account type and cost element category determine primary/secondary CO use.
Validate chart-of-accounts data, company-code data where applicable, controlling
attributes, and transport/master-data governance together.
A secondary-cost account requires the correct internal allocation/settlement
category; do not make it externally postable just to clear an error.
11.3 Public Cloud
Use the released Manage G/L Account/Chart of Accounts app and configuration
activity for the customer's scope. Do not prescribe classic GUI maintenance if it
is not released. Provide the app name plus the in-app navigation path.
11.4 Failure diagnosis
Symptom
Likely cause
Evidence
Safe correction
account requires CO object
primary-cost account/category and field-status rule
posting line, account master, validation log
supply the real business object or correct governed account design
account not valid as settlement cost element
wrong category or source-structure gap
settlement log and account category
correct category/design through owned change process; Test Run
allocation produces no secondary posting
assessment cost element/category missing or invalid
cycle segment and account master
correct segment/category in development and regression-test
Assessment (KSU5) credits senders and debits receivers with configured
secondary assessment cost elements; original primary cost-element detail is
summarized according to cycle design.
Distribution (KSV5) allocates eligible primary costs while preserving the
original primary cost element on receivers.
Choose based on reporting and allocation design, not because one transaction
completed faster in a prior period.
12.2 Execution paths
[T-code: KSU5 | menu: SAP Easy Access > Accounting > Controlling > Cost Center Accounting > Period-End Closing > Single Functions > Allocations > Assessment]
[T-code: KSV5 | menu: SAP Easy Access > Accounting > Controlling > Cost Center Accounting > Period-End Closing > Single Functions > Allocations > Distribution]
Required sequence for either run:
Record controlling area, cycle, start date, fiscal year, period, version, and
processing options from the selection screen.
Run Test Run with detail lists enabled and archive/export the sender/receiver log.
Reconcile sender input value to allocated, unallocated, and excluded values.
Validate tracing factor base at the same key date and period as the run.
Inspect segment order, sender rule, receiver rule, percentages/parts, and locks.
Confirm the run has not already posted or been reversed for that cycle/period.
In QA, compare expected and actual receiver totals before approving production.
Execute actual only in the close-owner window, then reconcile the generated CO
documents and close checklist control total.
12.3 Common hypotheses and falsifiers
Hypothesis
Supporting evidence
Falsification evidence
Sender has no eligible actual cost
sender detail is zero after cost-element filter
eligible line items exist in the exact period/version and cycle includes them
Tracing factor is zero/missing
receiver base report is zero or not posted by cutoff
valid base exists with the same key date and receiver selection
Receiver selection excludes intended object
receiver absent from detailed Test Run list
receiver is listed and receives a nonzero calculated share
Segment overlap/order changes result
same sender appears in earlier segment and residual changes
isolated QA run with reordered/non-overlap design yields same result
Prior run causes duplicate/zero residual
posted run/document exists for cycle-period
no run record exists and sender balance remains untouched
Assessment cost element invalid
KSU5 log points to category/master issue
category and validity are correct and controlled posting succeeds
12.4 Fix/rollback patterns
Missing statistical key figure or tracing basis: post/correct the governed basis
through its normal business process, rerun Test Run, and reverse that basis entry
if approval is withdrawn.
Cycle selection/design defect: change the cycle in development with transport,
compare before/after control totals in QA, and restore the prior cycle transport
if receiver variance exceeds the agreed tolerance.
Duplicate actual run: do not rerun. Use the standard cycle reversal for the exact
run identity after confirming no dependent close step has consumed it.
Period lock: obtain close-owner approval for the narrow interval; restore the lock
immediately after reconciliation.
13. CO Close Dependency Order
Use the customer's close design, but establish these dependencies before execution:
FI/MM/SD source postings and corrections reach the cutoff.
Activity quantities, prices, and statistical key figures are complete.
Repostings and direct/indirect activity allocations are reconciled.
Distribution and assessment cycles complete in the approved order.
Results analysis, variance, and settlement run for relevant cost objects/projects.
CO-PA/Universal Journal receiver values are reconciled.
Material Ledger actual costing runs only if activated and scheduled in scope.
CO period lock follows signed control totals and exception approval.
Do not copy this as a universal job chain: order dependencies can vary by product
costing, project accounting, intercompany, ledger, and industry design.
14. ECC / S/4HANA / Public Cloud Boundary Matrix
Topic
ECC 6.0
S/4HANA On-Premise/Private
Public Cloud
Actual line-item foundation
classic CO totals/line-item tables plus FI reconciliation
Universal Journal is central; compatibility views may exist
released analytical apps/APIs
Cost element master
separate cost element maintenance
G/L account includes cost-element category
released G/L apps/configuration
Profitability actuals
account-based and/or costing-based by design
Margin Analysis/account-based is primary; costing-based can coexist by scope
released Margin Analysis scope/apps
Planning
classic CO/CO-PA tools possible
classic tools depend on scope; modern planning integration may be used
released planning integration/apps
Profit center
classic PCA/new G/L design dependent
derived into Universal Journal based on account assignment
released derivation/configuration
Material Ledger
optional by valuation design
inventory valuation foundation required; actual costing activation separate
scope/configuration dependent
When behavior differs, state the selected column explicitly. Never present a
compatibility view as proof that the old persistence/update model is unchanged.
15. Anti-Patterns and Operator Checklist
Anti-patterns
❌ run KO88, CJ88, KSU5, or KSV5 actual without Test Run
❌ open FI/CO periods broadly to make an error disappear
❌ add a receiver or cost element without confirming the active profile/structure
❌ treat plan, commitment, actual, and settled value as the same balance
❌ change KEI1 directly in production without transport and regression scope
❌ assume KEPM is the planning architecture for every S/4/Public Cloud tenant
❌ create a classic ECC cost element separately in S/4 without checking G/L design
❌ use manual FI posting to hide a settlement/allocation imbalance
❌ update CO or Universal Journal tables directly
Operator checklist
Release, deployment, industry, controlling area, period, version confirmed
Exact object/cycle and full message log captured
Prior successful run and recent transport delta identified
At least two falsifiers written for each hypothesis
Read-only evidence and Test Run complete
Sender, receiver, rule/profile/structure, period, and status reconciled
ECC/S/4/Public Cloud path stated
Configuration change has owner, transport, QA proof, and regression set
Fix paired with rollback and stop condition
Actual run followed by document/control-total reconciliation
16. References
references/period-end.md — CO period-end checklist and sequence; apply the
release and actual-costing boundaries in this skill when the reference is terse.
SAP Help Portal, Cost Elements — S/4HANA G/L account and cost-element model.
SAP Help Portal, Setting Up Planning Content — planning level, package, and
parameter-set model for CO-PA planning framework.
SAP Help Portal, Settling Orders/Projects — CO-PA settlement and PA transfer
structure semantics.
1---2name: sap-co3description: This skill handles all SAP CO (Controlling) topics: cost center accounting, profit center accounting, internal orders, product costing, profitability analysis (CO-PA), assessment and distribution cycles, actual vs plan postings, settlement, and CO period-end closing. Use when user mentions CO, cost center, profit center, internal order, KSU5, KSV5, KO88, CK11N, CO-PA, COPA, assessment, distribution, settlement, variance, controlling area, allocation cycle, activity type, KSB1, KSB5, cost element, plan vs actual, product cost collector.4---56## 1. Environment Questions78Ask before answering:910- Controlling area (KOKRS) — single or cross-company code?11- Company code assignment to controlling area: OX1912- Controlling area currency vs company code currency13- Fiscal year variant (must match FI)14- CO-PA activated? If yes: costing-based, account-based, or both?15- Material Ledger foundation active? S/4HANA에서는 inventory valuation의 기반이며,16 actual costing run 활성화 여부는 별도로 확인한다.1718---1920## 2. Cost Center Accounting (CCA)2122### Period-End Sequence23241. Repost FI → CO if needed: KB11N (manual reposting) / KB15N (activity allocation)252. Enter statistical key figures: KB31N (required for assessment/distribution bases)263. Assessment cycles (actual): **KSU5** → cycle/segment → sender cost centers → receivers274. Distribution cycles (actual): **KSV5** → distribute primary costs (preserves cost element)285. Indirect activity allocation: KB65 (if applicable)296. Variance analysis: S_ALR_870136113031### Cycle Configuration3233- KSU1 / KSV1 → create/change cycle → segments → sender/receiver rules34- Sender: cost center + cost element range35- Receiver: cost center / order / WBS / cost objects36- Receiver rule: fixed amounts / fixed percentages / variable percentages / statistical key figures3738### Common Errors3940| Error | Root Cause | Fix |41|-------|-----------|-----|42| "No valid receiver found" | Receiver in cycle not active or no postings | Check cycle segment receiver list: KSU1 |43| "Period already closed for CO" | CO period locked | OKP1 → open period for controlling area |44| "CO document not generated" | account assignment, real/statistical object, integration setting 불일치 | 원천 FI 문서와 CO line item을 read-only로 대조하고 release별 reconciliation 절차 확인 |45| "Sender has no costs" | Nothing posted to sender cost center | KB11N or check primary cost posting |4647---4849## 3. Profit Center Accounting (PCA)5051### ECC vs S/4HANA5253| Aspect | ECC (EC-PCA) | S/4HANA |54|--------|-------------|---------|55| Table | GLPCT / GLPCA | ACDOCA |56| Period-end transfer | 1KEI (balance sheet items) | Automatic via Universal Journal |57| Transfer prices | 1KE8 | Integrated in Universal Journal |58| Reporting | KE5Z / S_ALR_87013326 | Fiori Profit Center app / KE5Z |5960### Profit Center Derivation6162- `OKB9`는 cost element별 default CO account assignment에 쓰이며 profit center의63 일반 default 도구로 단정하지 않는다.64- Material master → Costing 2 view → profit center65- Sales order item의 profit center는 material/plant 및 configured substitution 등66 실제 derivation trace로 확인한다.67- Manual entry 허용 여부는 field status, substitution, validation과 권한에 따라 다르다.6869---7071## 4. Internal Orders7273### Order Lifecycle7475```76Create (KO01) → governed release → Post costs → Settle (KO88) → TECO → Close status77```7879### Configuration8081- Order type: OKT2 → drives settlement profile, number range, status management82- Settlement profile: OKO7 → allowed receivers (cost center / G/L / asset / WBS)83- Budget: KO22 (budget entry) → OKOB (availability control tolerance)84- Commitment management: orders can carry purchase order commitments8586### Settlement (KO88)8788- KO88: individual order settlement89- Always simulate first (test run)90- Settlement rule: inspect the sender master from the settlement context; maintain91 receivers and percentages only through the approved master-data process9293### Common Errors9495| Error | Fix |96|-------|-----|97| "Order is locked" | Inspect sender system/user status; request governed release only when business prerequisites are met |98| "No settlement rule defined" | Inspect sender settlement data; create the approved receiver rule through the master-data owner |99| "Receiver not valid" | Check settlement profile allows this receiver type |100| "Budget exceeded" | KO22 → increase budget or KO26 (supplement) |101102---103104## 5. Product Costing (CO-PC)105106### Standard Cost Estimate Flow107108```109CK11N (single material) → cost estimate per material / plant / lot size110CK40N (costing run) → mass processing across multiple materials111CK24 → Mark (set as future std cost) → Release (activate)112```113114### Configuration Elements115116- Cost component structure: OKTZ → groups cost elements into components (material / labor / overhead)117- Overhead: KZS2 → costing sheet → overhead rates118- Activity rates: KP26 → plan activity prices per cost center / activity type119120### Common Errors121122| Error | Root Cause | Fix |123|-------|-----------|-----|124| "No valid price found" | Missing purchase info record or activity rate | ME11 (info record) or KP26 (activity price) |125| "BOM not found" | BOM not created or not assigned to plant | CS01 / CS03 → check usage = 1 (production) |126| "Routing not found" | No routing for material/plant | CA01 → create routing |127| "Costing variant not assigned" | Plant not assigned to costing variant | OKKN → costing variant → valuation |128129---130131## 6. CO-PA (Profitability Analysis)132133### Types134135- **Account-based PA**: uses G/L accounts directly → S/4HANA default → ACDOCA136- **Costing-based PA**: uses value fields → configured SD condition/value-field transfer와137 operating concern의 segment-level line items138139### Key Configuration140141- Characteristic derivation은 operating concern의 derivation strategy와 trace를 기준으로142 검증하며, condition/value-field assignment와 혼동하지 않는다.143- SD → costing-based CO-PA transfer는 billing condition과 value field assignment,144 transfer status를 함께 확인한다.145- Planning은 시스템 release와 활성 planning framework에 따라 classic planning 또는146 `KEPM` planning framework를 사용한다.147148### Reporting149150- KE30: report painter → custom PA reports151- KE24: line item display → drill down by characteristic152- KE5T: profitability segment display153154### S/4HANA CO-PA Notes155156- Account-based PA is the primary approach (costing-based is optional add-on)157- Universal Journal (ACDOCA) is the single source → no separate CO-PA tables needed for account-based158- Real-time derivation: profitability characteristics derived at time of posting159160---161162## 7. S/4HANA CO Changes163164| Topic | ECC | S/4HANA |165|-------|-----|---------|166| Primary cost tables | COSP / COSS | ACDOCA |167| Profit center accounting | GLPCT / GLPCA | ACDOCA |168| Profit center | classic PCA/ledger와 account assignment에 따라 저장 | Universal Journal derivation 중심; 모든 posting에 무조건 수동 입력이라고 단정 금지 |169| Segment reporting | FAGLFLEXT | ACDOCA |170| Material Ledger | Optional | Mandatory |171| Actual costing | Material Ledger 활성 범위에서 선택 | Material Ledger foundation과 별개로 actual costing은 활성 범위에서 실행 |172| CO-PA (account-based) | Optional | Default / primary |173174---175176## 8. Diagnostic Response Contract177178For a single fact question, use Quick Advisory. For settlement failure, allocation179variance, missing CO-PA value, or period-end imbalance, use the Evidence Loop.180181### 8.1 Required intake182183Collect these facts before proposing a configuration change:184185- SAP release and feature pack/year186- deployment: ECC On-Premise, S/4HANA On-Premise/Private, or Public Cloud187- industry and controlling design: controlling area, currencies, fiscal-year variant188- affected period, ledger/version, actual or plan, and close calendar stage189- sender object type and receiver object type190- exact message class/number and the full run log191- whether the issue is isolated to one object or reproducible for the same rule192- last successful period/run and transports moved since that point193194Never invent company codes, cost elements, cost centers, orders, WBS elements,195profitability segments, or cycle names. Use the values supplied in the evidence.196197### 8.2 Safety boundary198199- Start with display/report/log evidence and a Test Run.200- A configuration or master-data correction requires a transport strategy and QA proof.201- A mass allocation or settlement rerun requires an impact list and duplicate-posting check.202- Never change totals or line items directly in a table browser.203- A Fix is incomplete without a matching Rollback Plan.204- Public Cloud uses released apps and configuration activities for the selected scope.205206### 8.3 Standard answer shape2072081. **Issue** — object, period, scope, exact symptom2092. **Primary Root Cause** — strongest evidence first2103. **Alternative Hypotheses** — two to four, each with at least two falsifiers2114. **Check** — T-code plus menu path, selection values, fields, expected result2125. **Fix** — sandbox/QA first, owner and transport2136. **Rollback** — reversal or prior configuration restoration, stop condition2147. **Prevention** — close checklist, ownership, reconciliation control215216---217218## 9. Settlement Failure Playbook — `KO88` and `CJ88`219220Settlement diagnosis begins by separating the sender object. Internal orders and221projects can share settlement concepts, but status, source structures, results222analysis, and receiver rules are not interchangeable.223224### 9.1 Safe entry points225226| Sender | Action | T-code and menu path | First evidence |227|---|---|---|---|228| Internal order | individual settlement | `KO88` — SAP Easy Access > Accounting > Controlling > Internal Orders > Period-End Closing > Single Functions > Settlement > Individual Processing | Test Run log, sender balance, rule, period |229| Project/WBS | individual settlement | `CJ88` — SAP Easy Access > Accounting > Project System > Financials > Period-End Closing > Single Functions > Settlement | Test Run log, WBS status, results-analysis dependency, rule |230231Always capture the Test Run selection screen and complete message log. A green232technical completion with zero settled value is not proof that the business result233is correct.234235### 9.2 Evidence sequence2362371. Confirm sender object, controlling area, fiscal year, period, settlement type,238 processing type, and posting date from the run log.2392. From the `KO88` sender context, open the linked sender master in display mode and240 inspect system/user status, settlement rule, validity, distribution percentages/241 equivalence numbers, receiver category, and full/periodic settlement type.2423. For a project sender, use `CJ88` in Test Run and compare the WBS/project status,243 results-analysis requirement, and settlement rule captured by the PS owner.2444. Reconcile sender actual balance by cost element and period. Distinguish a true245 zero balance from excluded costs, already-settled values, commitments, and plan.2465. Verify posting periods in both FI and CO; do not open a period only to suppress247 an error without close-owner approval.2486. Verify the settlement profile, allocation/source structure, PA transfer structure,249 and receiver master validity for the sender's order/project type.2507. Execute the identical selection as Test Run in QA with representative data.2518. Only after expected debit/credit, profitability characteristics, and document date252 are reconciled may the approved actual run be scheduled.253254### 9.3 Hypothesis matrix255256| Hypothesis | Supporting evidence | Falsification evidence |257|---|---|---|258| Settlement rule missing or invalid for the period | log names rule/receiver; rule validity misses posting period | valid rule covers the period and the same sender settles in QA |259| Sender status blocks processing | sender is not released/technically complete as required; status-specific message | allowed status is active and another sender with the same status fails differently |260| Source/allocation structure misses a cost element | unsettled balance remains on a specific cost element; log reports unassigned source | every residual cost element is assigned and Test Run maps it to a receiver |261| Receiver is invalid or closed | receiver validity/status error; master end date precedes posting date | receiver accepts a controlled posting in the same period and rule points to that exact receiver |262| Period or posting-date mismatch | FI/CO period error or posting date outside allowed interval | both periods are open for the authorized interval and error persists unchanged |263| Prior settlement/reversal state explains zero value | prior document flow equals sender value; reversal log exists | no prior settlement document exists and unsettled actual balance is nonzero |264265Each hypothesis needs at least two concrete observations. Do not confirm a cause266from message text alone when the same message can be raised by status, validity,267or source-structure errors.268269### 9.4 Fix and rollback pairs270271| Confirmed cause | Fix in development/QA | Rollback |272|---|---|---|273| Rule missing/invalid | maintain the approved receiver and validity in sender master, then Test Run | restore the prior rule snapshot; stop processing affected senders |274| Profile/structure mapping gap | change configuration through a transport and prove one representative sender | import the approved backout transport or restore prior assignment, then rerun Test Run |275| Closed/invalid receiver | correct business validity/status through its owning process | restore prior validity/status if downstream reconciliation fails |276| Period mismatch | close owner authorizes the minimum opening window and posting date | close the temporary window immediately after controlled run and reconcile documents |277| Duplicate/incorrect settlement | use the standard settlement reversal for the exact document and period | if reversal preconditions are not met, stop and obtain FI/CO change approval |278279Do not compensate an incorrect settlement with an unexplained manual FI posting.280Preserve the original document chain and audit trail.281282### 9.5 Project-specific `CJ88` checks283284- Determine whether the affected WBS is an account-assignment element and whether285 its status permits settlement.286- Establish whether results analysis must run before settlement for this project type.287- Confirm settlement profile and allocation structure from the project profile and288 object-specific rule; do not copy assumptions from internal orders.289- For assets under construction or final-asset settlement, verify capitalization date,290 receiver readiness, and full/periodic settlement semantics with FI-AA.291- If a hierarchy has multiple account-assignment WBS elements, reconcile each sender;292 a successful parent selection does not prove every lower object settled.293294---295296## 10. CO-PA Mapping and Planning — `KEI1` and `KEPM`297298First identify whether the question concerns Margin Analysis/account-based CO-PA,299costing-based CO-PA, or both. A value-field mapping answer is not automatically300applicable to account-based actuals in the Universal Journal.301302### 10.1 PA transfer structure with `KEI1`303304`[T-code: KEI1 | menu: SPRO > Controlling > Profitability Analysis > Flows of305Actual Values > Order and Project Settlement > Define PA Transfer Structure]`306307The PA transfer structure groups source cost elements or source assignments and308maps them to costing-based CO-PA value fields for relevant settlement flows.309310Read-only diagnosis before change:3113121. Identify the exact transfer structure used by the sender's settlement profile.3132. Compare the residual/source cost element with assignment-line coverage.3143. Verify that ranges/groups do not overlap in a way that creates ambiguous mapping.3154. Check the target value field and fixed/variable treatment against the operating316 concern definition.3175. Trace one settlement document to CO-PA line-item evidence; do not infer mapping318 solely from the customizing screen.3196. For Margin Analysis, reconcile the G/L account and profitability characteristics320 in the Universal Journal rather than forcing a value-field interpretation.321322Any `KEI1` change is configuration: capture before/after evidence, use a transport,323run regression settlement in QA, and include every affected sender type in scope.324325#### Mapping hypothesis example326327- **Hypothesis**: the source cost element is outside the assignment line used by the328 active settlement profile.329- **Supports**: residual value equals that source; Test Run says source assignment is330 missing; active profile points to the inspected transfer structure.331- **Falsifies**: the exact source is covered without overlap; Test Run maps it to the332 expected value field; the same transport level succeeds for a comparable sender.333- **Fix**: add the approved source-to-target assignment in development, transport to334 QA, and repeat settlement plus CO-PA reconciliation.335- **Rollback**: restore the previous transfer structure with a backout transport and336 reverse only documents produced by the failed controlled test.337338### 10.2 Planning framework with `KEPM`339340`[T-code: KEPM | menu: SAP Easy Access > Accounting > Controlling > Profitability341Analysis > Planning > Planning Framework]`342343The planning framework organizes planning levels, packages, and parameter sets.344When plan data is missing or not editable, inspect in this order:3453461. operating concern and planning type/framework selected by the release3472. plan version, fiscal year/period, currency and valuation view3483. planning level characteristics and package restriction3494. parameter-set method and layout assignment3505. user authorization and personalization/profile assignment3516. lock ownership and concurrent planning process3527. actual-versus-plan reporting selection and zero suppression353354Do not treat `KEPM` as the universal planning route for every S/4HANA or Public355Cloud scope. Confirm whether classic CO-PA planning remains in use, or whether the356customer uses an approved planning product/app and integration flow.357358#### Planning falsification pattern359360| Candidate | Supports | Falsifies |361|---|---|---|362| Package restriction excludes segment | excluded characteristic is outside package selection | segment is inside active package and visible to another authorized user |363| Wrong version/period | data exists in a different version/period | selected version/period contains the same records in a read-only report |364| Authorization gap | trace denies planning object/activity | user has required authorization and identical access works in the same client |365| Lock conflict | lock owner/time aligns with failure | no lock exists and failure reproduces in an isolated QA session |366367---368369## 11. Cost Element Master — ECC vs S/4HANA370371### 11.1 ECC372373`[T-code: KA01 | menu: SAP Easy Access > Accounting > Controlling > Cost Element374Accounting > Master Data > Cost Elements > Individual Processing > Create Primary]`375376- Primary cost elements correspond to relevant FI G/L accounts and have validity377 and a cost-element category in the controlling area.378- Secondary cost elements represent internal CO value flows and are not treated as379 ordinary externally postable expense accounts.380- Before creation, confirm chart-of-accounts account, controlling-area assignment,381 validity start, category, quantity recording, and default assignment design.382- Master-data creation is not a workaround for incorrect automatic account383 determination; resolve ownership with FI and CO.384385### 11.2 S/4HANA On-Premise/Private386387`[T-code: FS00 | menu: SAP Easy Access > Accounting > Financial Accounting >388General Ledger > Master Records > G/L Accounts > Individual Processing > Centrally]`389390- Cost elements are represented as a type of G/L account; separate classic cost391 element maintenance is replaced by G/L account maintenance for this purpose.392- The G/L account type and cost element category determine primary/secondary CO use.393- Validate chart-of-accounts data, company-code data where applicable, controlling394 attributes, and transport/master-data governance together.395- A secondary-cost account requires the correct internal allocation/settlement396 category; do not make it externally postable just to clear an error.397398### 11.3 Public Cloud399400Use the released Manage G/L Account/Chart of Accounts app and configuration401activity for the customer's scope. Do not prescribe classic GUI maintenance if it402is not released. Provide the app name plus the in-app navigation path.403404### 11.4 Failure diagnosis405406| Symptom | Likely cause | Evidence | Safe correction |407|---|---|---|---|408| account requires CO object | primary-cost account/category and field-status rule | posting line, account master, validation log | supply the real business object or correct governed account design |409| account not valid as settlement cost element | wrong category or source-structure gap | settlement log and account category | correct category/design through owned change process; Test Run |410| allocation produces no secondary posting | assessment cost element/category missing or invalid | cycle segment and account master | correct segment/category in development and regression-test |411| ECC works, S/4 fails after conversion | separate cost element assumptions remain | simplification item, converted G/L master, posting trace | align G/L/cost-element attributes and custom code |412413---414415## 12. Assessment and Distribution — `KSU5` / `KSV5`416417### 12.1 Business distinction418419- **Assessment (`KSU5`)** credits senders and debits receivers with configured420 secondary assessment cost elements; original primary cost-element detail is421 summarized according to cycle design.422- **Distribution (`KSV5`)** allocates eligible primary costs while preserving the423 original primary cost element on receivers.424- Choose based on reporting and allocation design, not because one transaction425 completed faster in a prior period.426427### 12.2 Execution paths428429`[T-code: KSU5 | menu: SAP Easy Access > Accounting > Controlling > Cost Center430Accounting > Period-End Closing > Single Functions > Allocations > Assessment]`431432`[T-code: KSV5 | menu: SAP Easy Access > Accounting > Controlling > Cost Center433Accounting > Period-End Closing > Single Functions > Allocations > Distribution]`434435Required sequence for either run:4364371. Record controlling area, cycle, start date, fiscal year, period, version, and438 processing options from the selection screen.4392. Run Test Run with detail lists enabled and archive/export the sender/receiver log.4403. Reconcile sender input value to allocated, unallocated, and excluded values.4414. Validate tracing factor base at the same key date and period as the run.4425. Inspect segment order, sender rule, receiver rule, percentages/parts, and locks.4436. Confirm the run has not already posted or been reversed for that cycle/period.4447. In QA, compare expected and actual receiver totals before approving production.4458. Execute actual only in the close-owner window, then reconcile the generated CO446 documents and close checklist control total.447448### 12.3 Common hypotheses and falsifiers449450| Hypothesis | Supporting evidence | Falsification evidence |451|---|---|---|452| Sender has no eligible actual cost | sender detail is zero after cost-element filter | eligible line items exist in the exact period/version and cycle includes them |453| Tracing factor is zero/missing | receiver base report is zero or not posted by cutoff | valid base exists with the same key date and receiver selection |454| Receiver selection excludes intended object | receiver absent from detailed Test Run list | receiver is listed and receives a nonzero calculated share |455| Segment overlap/order changes result | same sender appears in earlier segment and residual changes | isolated QA run with reordered/non-overlap design yields same result |456| Prior run causes duplicate/zero residual | posted run/document exists for cycle-period | no run record exists and sender balance remains untouched |457| Assessment cost element invalid | `KSU5` log points to category/master issue | category and validity are correct and controlled posting succeeds |458459### 12.4 Fix/rollback patterns460461- Missing statistical key figure or tracing basis: post/correct the governed basis462 through its normal business process, rerun Test Run, and reverse that basis entry463 if approval is withdrawn.464- Cycle selection/design defect: change the cycle in development with transport,465 compare before/after control totals in QA, and restore the prior cycle transport466 if receiver variance exceeds the agreed tolerance.467- Duplicate actual run: do not rerun. Use the standard cycle reversal for the exact468 run identity after confirming no dependent close step has consumed it.469- Period lock: obtain close-owner approval for the narrow interval; restore the lock470 immediately after reconciliation.471472---473474## 13. CO Close Dependency Order475476Use the customer's close design, but establish these dependencies before execution:4774781. FI/MM/SD source postings and corrections reach the cutoff.4792. Activity quantities, prices, and statistical key figures are complete.4803. Repostings and direct/indirect activity allocations are reconciled.4814. Distribution and assessment cycles complete in the approved order.4825. Results analysis, variance, and settlement run for relevant cost objects/projects.4836. CO-PA/Universal Journal receiver values are reconciled.4847. Material Ledger actual costing runs only if activated and scheduled in scope.4858. CO period lock follows signed control totals and exception approval.486487Do not copy this as a universal job chain: order dependencies can vary by product488costing, project accounting, intercompany, ledger, and industry design.489490---491492## 14. ECC / S/4HANA / Public Cloud Boundary Matrix493494| Topic | ECC 6.0 | S/4HANA On-Premise/Private | Public Cloud |495|---|---|---|---|496| Actual line-item foundation | classic CO totals/line-item tables plus FI reconciliation | Universal Journal is central; compatibility views may exist | released analytical apps/APIs |497| Cost element master | separate cost element maintenance | G/L account includes cost-element category | released G/L apps/configuration |498| Profitability actuals | account-based and/or costing-based by design | Margin Analysis/account-based is primary; costing-based can coexist by scope | released Margin Analysis scope/apps |499| Planning | classic CO/CO-PA tools possible | classic tools depend on scope; modern planning integration may be used | released planning integration/apps |500| Profit center | classic PCA/new G/L design dependent | derived into Universal Journal based on account assignment | released derivation/configuration |501| Material Ledger | optional by valuation design | inventory valuation foundation required; actual costing activation separate | scope/configuration dependent |502503When behavior differs, state the selected column explicitly. Never present a504compatibility view as proof that the old persistence/update model is unchanged.505506---507508## 15. Anti-Patterns and Operator Checklist509510### Anti-patterns511512- ❌ run `KO88`, `CJ88`, `KSU5`, or `KSV5` actual without Test Run513- ❌ open FI/CO periods broadly to make an error disappear514- ❌ add a receiver or cost element without confirming the active profile/structure515- ❌ treat plan, commitment, actual, and settled value as the same balance516- ❌ change `KEI1` directly in production without transport and regression scope517- ❌ assume `KEPM` is the planning architecture for every S/4/Public Cloud tenant518- ❌ create a classic ECC cost element separately in S/4 without checking G/L design519- ❌ use manual FI posting to hide a settlement/allocation imbalance520- ❌ update CO or Universal Journal tables directly521522### Operator checklist523524- [ ] Release, deployment, industry, controlling area, period, version confirmed525- [ ] Exact object/cycle and full message log captured526- [ ] Prior successful run and recent transport delta identified527- [ ] At least two falsifiers written for each hypothesis528- [ ] Read-only evidence and Test Run complete529- [ ] Sender, receiver, rule/profile/structure, period, and status reconciled530- [ ] ECC/S/4/Public Cloud path stated531- [ ] Configuration change has owner, transport, QA proof, and regression set532- [ ] Fix paired with rollback and stop condition533- [ ] Actual run followed by document/control-total reconciliation534535---536537## 16. References538539- `references/period-end.md` — CO period-end checklist and sequence; apply the540 release and actual-costing boundaries in this skill when the reference is terse.541- SAP Help Portal, **Cost Elements** — S/4HANA G/L account and cost-element model.542- SAP Help Portal, **Setting Up Planning Content** — planning level, package, and543 parameter-set model for CO-PA planning framework.544- SAP Help Portal, **Settling Orders/Projects** — CO-PA settlement and PA transfer545 structure semantics.
Run npx skillmds@latest add boxlogodev/sap-co in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
This skill handles all SAP CO (Controlling) topics: cost center accounting, profit center accounting, internal orders, product costing, profitability analysis (CO-PA), assessment and distribution cycles, actual vs plan postings, settlement, and CO period-end closing. Use when user mentions CO, cost center, profit center, internal order, KSU5, KSV5, KO88, CK11N, CO-PA, COPA, assessment, distribution, settlement, variance, controlling area, allocation cycle, activity type, KSB1, KSB5, cost element, plan vs actual, product cost collector. It is listed under Finance & Business on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Capability flags: docs only. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
BoxLogoDev (@boxlogodev) published this skill. Their other Agent Skills are listed on their SkillMD profile.