이 글이 답하는 질문
- 왜 어떤 WBS에는 비용을 붙일 수 있고 어떤 것은 거부되나?
- 계정지정 요소라는 표시가 정확히 무엇을 여는가?
- 상위 WBS에 붙이면 안 되는 이유가 있나?
- 이미 비용이 붙은 WBS의 설정을 나중에 바꿀 수 있나?
- 계층을 어떤 기준으로 나눠야 나중에 안 꼬이나?
이 글을 보기 전에
프로젝트에 구매오더나 전표를 붙여 본 경험이면 충분합니다. PS 설정을 깊이 몰라도 됩니다. 다만 "WBS가 계층 구조"라는 것만 알고 계시면 뒤쪽 설계 이야기가 잘 읽힙니다.
모든 WBS가 비용을 받지는 않는다
프로젝트 구조를 만들고 구매오더에 WBS를 지정했는데 거부되는 경우가 있습니다. 원인은 대개 하나입니다. 그 WBS가 비용을 받도록 표시되지 않은 것입니다.
WBS 요소에 붙는 표시(indicator)
계획 요소 (Planning Element)
→ 계획 값을 넣을 수 있다
계정지정 요소 (Account Assignment Element)
→ 실제 비용·구매오더를 붙일 수 있다
청구 요소 (Billing Element)
→ 고객 청구를 걸 수 있다
세 개는 독립이다. 하나만 켤 수도 있고
전부 켤 수도 있다
구매오더나 전표를 붙이려면 계정지정 요소가 켜져 있어야 합니다. 이게 안 켜져 있으면 시스템이 "이 WBS는 비용을 받는 자리가 아니다"라고 판단해 막습니다.
왜 이런 구분을 두는지가 중요합니다. 프로젝트 계층은 보통 위로 갈수록 요약, 아래로 갈수록 실행 단위입니다. 비용은 실행 단위에만 붙여야 집계가 깔끔합니다.
세 표시가 각각 무엇을 여는지 정리하면 이렇습니다.
계획 요소만 켜짐
CJ40에서 계획 금액 입력 ○
구매오더 계정지정 ✕
→ 상위 요약 WBS의 전형적인 설정
계정지정 요소만 켜짐
계획 입력 ✕
실제 비용 전기 ○
→ 계획은 위에서 잡고 실적만 받는 구조
둘 다 켜짐
같은 WBS에서 계획과 실적을 비교
→ 말단에서 계획 대 실적을 보고 싶을 때
청구 요소
고객 프로젝트에서 매출을 거는 자리
사내 프로젝트에는 보통 안 쓴다
계획과 실적을 같은 레벨에서 비교하고 싶다면 말단에 둘 다 켜야 합니다. 반대로 계획은 단계 단위로만 잡고 실적은 세부 작업에서 받는 구조라면, 레벨을 나눠 각각 하나씩만 켜는 편이 깔끔합니다.
어느 쪽이든 프로젝트 시작 전에 정해야 합니다. 보고 양식이 확정되고 나서 구조를 바꾸려 하면 이미 전기된 것들 때문에 막힙니다.
위에 붙이면 왜 곤란해지나
상위 WBS에도 계정지정을 켜면 붙기는 붙습니다. 문제는 그다음입니다.
프로젝트 P-2026-014 (신규 라인 증설)
P-2026-014.1 설계
P-2026-014.2 구매 ← 계정지정 ☑
P-2026-014.2.1 기계 ← 계정지정 ☑
P-2026-014.2.2 전장 ← 계정지정 ☑
P-2026-014.3 시공
상위 .2 에도 비용이 붙으면
기계 4,000만
전장 3,000만
.2 직접 2,000만 ← 어디에 쓴 돈인지 모른다
────────────────
.2 합계 9,000만
"구매 9,000만 중 2,000만은 뭔가요"에
답할 수 없다
집계는 맞지만 내역이 사라집니다. 상위는 하위를 더해서 보여주는 자리인데, 거기에 직접 비용이 섞이면 그 금액만 출처가 불분명해집니다.
그래서 실무 원칙은 단순합니다. 말단 WBS에만 계정지정을 켭니다. 상위는 계획 요소로만 두고 집계를 받습니다.
테스트 환경
- S/4HANA 2023 온프레미스, PS 모듈 기준
- 확인에 쓰는 표준 트랜잭션 — CJ20N, CJ03, CJ30, CN41
- 조회 예제는 ADT(Eclipse)에서 작성
이 글의 예제는 제조 설비 증설 프로젝트를 가정해 구성했습니다. 프로젝트 P-2026-014 기준으로 설명합니다.
직접 해보기
1. 어떤 WBS가 비용을 받는지 조회한다
표시 필드를 직접 봅니다. 추측할 필요가 없습니다.
* WBS 요소별 표시 확인
SELECT pspnr, " WBS 내부번호
posid, " WBS 코드
post1, " 명칭
stufe, " 계층 레벨
plakz, " 계획 요소
belkz, " 계정지정 요소
fakkz " 청구 요소
FROM prps
WHERE psphi = @lv_proj_internal
ORDER BY posid
INTO TABLE @DATA(lt_wbs).
" belkz = 'X' 여야 비용을 받는다
belkz가 비어 있는데 그 WBS에 구매오더를 붙이려 하면 거부됩니다. CJ20N에서 해당 WBS를 열어 화면으로도 같은 값을 볼 수 있습니다.
stufe(레벨)와 함께 보면 설계가 제대로 됐는지 바로 드러납니다. 레벨이 낮은(상위) WBS에 belkz가 켜져 있으면 위에서 말한 문제가 생길 수 있는 구조입니다.
2. 실제로 어디에 비용이 붙었는지 본다
설정과 실제가 다를 수 있으므로 전기 결과를 확인합니다.
* WBS별 실제 발생 비용
SELECT p~posid,
p~stufe,
c~wtgbtr, " 금액
c~gjahr
FROM prps AS p
INNER JOIN cosp AS c
ON c~objnr = p~objnr
WHERE p~psphi = @lv_proj_internal
INTO TABLE @DATA(lt_cost).
" 상위 레벨에 직접 금액이 있으면
" 내역 추적이 안 되는 구간이다
레벨이 낮은 WBS에 직접 금액이 잡혀 있다면 그만큼이 "어디에 쓴 건지 모르는 돈"입니다. 프로젝트 정산이나 감사 때 설명이 필요한 부분이므로 미리 파악해 두는 편이 좋습니다.
참고로 cosp는 1차 원가(외부에서 들어온 비용), coss는 2차 원가(내부 배부분)로 나뉩니다. 프로젝트 총액을 볼 때는 둘 다 봐야 합니다.
COSP 1차 원가 — 구매·자재·외주
COSS 2차 원가 — 내부 인건비 배부 등
둘 중 하나만 보면 금액이 안 맞는다
CN41(구조 보고서)은 합쳐서 보여준다
개발할 때 cosp만 조인해 놓고 "보고서 금액과 다르다"는 문의를 받는 경우가 흔합니다. 내부 배부가 도는 프로젝트라면 coss가 빠져 있는지부터 확인하세요.
3. 나중에 바꿀 수 있는지 확인한다
설계를 잘못했을 때 되돌릴 수 있는지가 실무의 관심사입니다.
계정지정 요소 표시 변경
비용이 아직 안 붙음
→ 켜고 끄기 자유롭다
이미 비용이 전기됨
→ 끄는 것이 막힌다
(전기된 금액이 갈 곳을 잃기 때문)
해결
비용을 다른 WBS로 재전기(KB11N 등) 후
표시를 끈다
즉 켜는 건 쉽고 끄는 건 어렵습니다. 그래서 프로젝트 초기에 계층과 표시를 정해 두는 것이 중요합니다. 일단 다 켜놓고 나중에 정리하자는 접근은 대개 정리 시점에 막힙니다.
4. 거부 메시지로 원인을 가른다
WBS에 뭔가 붙이려다 막혔을 때, 원인이 계정지정 하나만은 아닙니다. 메시지를 보면 갈립니다.
"계정지정 요소가 아닙니다"
→ belkz 미설정. 이 글의 주제
"시스템 상태가 허용하지 않습니다"
→ WBS가 아직 릴리스 안 됨(CRTD)
또는 이미 완료(TECO/CLSD)
"예산 초과"
→ 계정지정은 정상. 예산 가용성 관리가 막은 것
"잠금 표시가 설정됨"
→ 전기 잠금(Lock) 표시가 켜져 있다
네 가지가 증상이 비슷해서 "WBS에 안 붙는다"로 뭉뚱그려 보고되는 경우가 많습니다. 메시지 원문을 받아 두면 확인 시간이 크게 줄어듭니다.
* WBS 시스템 상태 확인
SELECT p~posid, t~txt04
FROM prps AS p
INNER JOIN jest AS j ON j~objnr = p~objnr
INNER JOIN tj02t AS t ON t~istat = j~stat
WHERE p~psphi = @lv_proj_internal
AND j~inact = @abap_false
AND t~spras = @sy-langu
INTO TABLE @DATA(lt_status).
" CRTD 생성됨 · REL 릴리스 · TECO 기술완료
릴리스(REL)가 안 된 WBS에는 실제 비용을 붙일 수 없습니다. 계정지정 표시가 켜져 있어도 상태가 막으면 소용없습니다. 두 조건이 모두 충족돼야 전기가 통과합니다.
계층을 어떻게 나눌 것인가
설계 기준은 몇 가지로 정리됩니다.
- 보고 단위로 나눈다 — "이 금액을 따로 보고 싶은가"가 기준입니다. 따로 보고 싶으면 별도 WBS로 내립니다.
- 책임자가 갈리면 나눈다 — 담당이 다르면 집계도 달라야 합니다.
- 너무 잘게 쪼개지 않는다 — WBS가 수백 개가 되면 전기할 때 고르기 어렵고 오지정이 늘어납니다.
- 말단에만 계정지정 — 앞서 설명한 이유입니다.
실무에서는 3~4단계 정도가 흔합니다. 프로젝트 → 단계 → 작업 → (필요시) 세부작업 구조에서 말단에만 비용을 받게 하면 대부분의 보고 요건이 해결됩니다.
설비 증설 프로젝트를 예로 들면 이런 모양이 됩니다.
P-2026-014 신규 라인 증설
계획 ☑ 계정지정 ✕ ← 전체 예산만 잡는다
.1 설계
계획 ☑ 계정지정 ✕
.1.1 기본설계 계정지정 ☑
.1.2 상세설계 계정지정 ☑
.2 구매
계획 ☑ 계정지정 ✕
.2.1 기계 계정지정 ☑
.2.2 전장 계정지정 ☑
.3 시공
.3.1 설치 계정지정 ☑
.3.2 시운전 계정지정 ☑
이렇게 두면 "구매 단계 총액"은 하위 합으로 자동 집계되고, 그 안에서 기계와 전장이 각각 얼마인지도 그대로 보입니다. 상위에 직접 붙은 금액이 없으므로 어느 숫자든 출처를 되짚을 수 있습니다.
반대로 .2에 계정지정을 켜두면 당장은 편합니다. 어느 하위에 넣을지 애매한 비용을 그냥 상위에 붙이면 되니까요. 그런데 그 "애매한 비용"이 쌓이는 순간 구매 단계 금액의 일부는 영원히 설명되지 않습니다.
자주 만나는 함정
- 전부 켜두고 시작 — 편해 보이지만 비용이 상위에 섞이기 시작하면 되돌리기 어렵습니다.
- 계획 요소와 혼동 — 계획은 넣을 수 있는데 실제 비용이 안 붙는다면 계획 요소만 켜진 것입니다. 둘은 별개 표시입니다.
- 이미 전기된 뒤 끄려고 시도 — 막힙니다. 재전기가 먼저입니다.
- 계층만 만들고 표시를 안 봄 — 구조는 예쁜데 정작 비용을 못 붙이는 상태로 프로젝트가 시작됩니다.
- 예산 가용성 관리와 헷갈림 — 계정지정은 "붙일 수 있나"이고, 예산 초과 거부는 별도 기능입니다. 오류 메시지가 다르니 구분해서 봐야 합니다.
핵심 한 줄
WBS에 비용이 안 붙으면 계정지정 요소 표시부터 보세요. 그리고 이 표시는 말단에만 켜는 것이 원칙입니다. 상위에 켜면 집계는 맞아도 내역이 사라지고, 한 번 비용이 붙으면 끄기 어렵습니다.
더 파볼 주제
- 예산 가용성 관리와 초과 시 동작 설정
- WBS와 네트워크 활동을 함께 쓸 때의 비용 흐름
- 프로젝트 정산(Settlement) 규칙과 수취처 지정
- 표준 WBS 템플릿으로 구조를 재사용하는 방법
댓글 0
아직 댓글이 없습니다.