솔루션 홈
KO03 · KOB1 · 관리회계

SAP 내부오더 예산 대비 실적 — 쓴 돈과 약속한 돈까지

내부오더별 예산과 실적을 비교하고, 아직 나가지 않은 약정까지 더해 남은 여유를 보는 화면입니다.

예산을 얼마나 썼는지 물으면 대개 실적 금액을 답합니다. 그런데 발주는 냈지만 아직 청구가 안 온 돈이 있습니다.

이 약정액을 빼먹으면 예산이 남은 줄 알고 더 쓰다가 초과합니다. 표준 내부오더 구조를 그대로 이어받아 실적과 약정을 함께 차감해 남은 여유를 보도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 2종을 함께 공개합니다.

SAP 표준 기능을 그대로 이어받은 부분

  • 내부오더 — 오더 ID(orderId) · 명칭(orderText) · 유형(orderType)
  • 귀속 — 회사코드(bukrs)와 코스트센터(costCenter)
  • 책임자 — 오더 책임자(responsible)
  • 예산 — 승인된 예산 금액(budget)
  • 실적·약정 — 실제 발생액(actual)과 약정액(commitment)
항목내용
대응 T-codeKO03 (오더 조회) · KOB1 (실제 라인)
업무 영역관리회계(CO-OM) · 예산 관리
Namespacezui5.ioburget
셸 구조조회조건 영역(우측 조회·초기화) + 예산 대비 실적 테이블
화면 수조회 화면 1개 + 상세
데이터내부오더 10건
성격조회형(Read-Only) — 예산 배정은 표준이 담당
UI 테마sap_horizon 단일 적용

실제 화면 2종 둘러보기

회사코드·오더유형·책임자로 조회하면 오더별 예산 현황이 나옵니다 → 실적과 약정을 더해 보고 → 잔여 예산과 집행률로 여유를 확인합니다.

아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.

KO03 — Main.view.xml
초기 진입 화면 — 조회조건과 안내 메시지
초기 진입 화면 — 조회조건과 안내 메시지 — 회사코드·오더유형·코스트센터·책임자를 고르는 화면입니다. 조회·초기화 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
KO03 — 예산 현황
예산·실적·약정·잔여
예산·실적·약정·잔여 — 오더 ID·명칭·유형·코스트센터·책임자와 함께 예산·실적·약정·잔여 예산·집행률이 이어집니다. 집행률이 높은 오더는 상태 색으로 구분됩니다.

조작 방법

  1. 회사코드오더유형을 고릅니다. 투자성과 비용성 오더를 나눠 봅니다.
  2. 코스트센터책임자로 좁힐 수 있습니다.
  3. 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
  4. 실적만 보지 말고 약정을 함께 확인합니다.
  5. 잔여 예산이 실제로 쓸 수 있는 금액입니다.
  6. 집행률이 높은 오더는 추가 집행 전에 검토가 필요합니다.
  7. 결과는 CSV 다운로드로 내려받아 예산 검토 자료로 씁니다.

집행률과 잔여 예산

약정까지 더해야 실제 여유가 나옵니다.

집행액   = 실적(actual) + 약정(commitment)
잔여 예산 = 예산(budget) − 집행액
집행률   = 집행액 ÷ 예산 × 100

집행률 낮음     →  여유 있음
집행률 높음     →  주의 — 추가 집행 전 확인
집행률 100% 초과 →  예산 초과 — 증액 또는 중단

약정을 함께 차감하는 이유

발주를 내면 그 금액은 사실상 쓴 돈입니다. 아직 청구가 안 왔을 뿐 취소하지 않는 한 나갑니다. 실적만 보고 예산이 남았다고 판단하면 나중에 청구가 몰려 초과합니다. 약정을 함께 빼야 실제로 쓸 수 있는 금액이 나옵니다.

내부오더 예산 4단계

단계내용금액 변화
① 예산 배정오더에 예산 승인예산 확정
② 약정발주·계약 체결약정액 발생
③ 실적입고·청구로 비용 확정실적 증가 · 약정 감소
④ 정산오더 종결과 수신처 배분오더 잔액 0

조회조건

필드필수설명
회사코드 bukrs필수대상 법인
오더유형 orderType선택투자성 · 비용성 등
코스트센터 costCenter선택귀속 부서
책임자 responsible선택오더 담당
상태선택전체 / 집행률 초과

결과 컬럼

컬럼의미 · 표시
오더 ID orderId · 명칭 orderText내부오더
오더유형 orderType투자성 · 비용성
회사코드 bukrs · bukrsText귀속 법인
코스트센터 costCenter · costCenterText귀속 부서
책임자 responsible오더 담당자
예산 budget승인된 금액
실적 actual실제 발생액
약정 commitment발주했으나 미청구
집행액실적 + 약정
잔여 예산예산 − 집행액. 음수면 경고
집행률집행액 ÷ 예산. 구간별 상태 색

SAP 표준 기능 매핑

표준역할이 화면에서의 확장
KO03내부오더 조회예산·실적·약정을 한 줄에 배치
KOB1오더 실제 라인실적 원천
KOB2오더 약정 라인약정 원천
KO22오더 예산 배정예산 원천
AUFK오더 마스터오더 정보
BPGE · BPJA예산 테이블배정 금액

도입 시 확인이 필요한 부분

예산 관리 활성화 여부에 따라 동작이 다릅니다. 가용성 통제가 켜져 있으면 예산 초과 시 전기가 막히지만, 꺼져 있으면 초과해도 그냥 넘어갑니다. 통제가 없는 환경에서는 이 화면이 사실상 유일한 감시 수단이 됩니다.

참고 CDS 뷰

@AbapCatalog.sqlViewName: 'ZCIOBUDGET'
@EndUserText.label: '내부오더 예산 대비 실적 (Z)'
define view Z_C_IO_BUDGET_ACTUAL
  as select from aufk as Order
    left outer join bpge as Budget on Order.objnr = Budget.objnr
    left outer join coss as Actual on Order.objnr = Actual.objnr
{
  key Order.aufnr as OrderId,
      Order.ktext as OrderText,
      Order.auart as OrderType,
      Order.bukrs,
      Order.kostl as CostCenter,
      Order.user2 as Responsible,
      sum( Budget.wtjhr ) as BudgetAmount,
      sum( Actual.wtg001 ) as ActualAmount
      // 약정은 COOI 에서 집계
      // 집행액 = 실적 + 약정, 잔여 = 예산 − 집행액
}
group by Order.aufnr, Order.ktext, Order.auart, Order.bukrs,
         Order.kostl, Order.user2

매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 영역 · 예산 테이블
조회조건sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화
이벤트모든 버튼이 onPAI 단일 진입점, fcCode 로 분기
예산 테이블sap.m.Table — 예산→집행→잔여 순서
집행률sap.m.ObjectStatus — 구간별 색
잔여 예산sap.m.ObjectNumber — 음수 경고 색

실적과 약정을 나눠 보여 주는 이유

합쳐서 집행액만 보여 주면 얼마가 이미 나갔고 얼마가 나갈 예정인지 모릅니다. 약정이 대부분이면 아직 취소 여지가 있고, 실적이 대부분이면 되돌릴 수 없습니다. 두 금액을 나눠 두면 예산 조정의 여지가 보입니다.

파일 구성

경로역할
manifest.json앱 디스크립터 — 앱 ID(zui5.ioburget) · ko 로케일
view/Main.view.xml조회조건과 예산 테이블
controller/Main.controller.js조회 · 집행률 계산 · CSV
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js금액 · 비율 · 상태 색 포맷터
localdata/ioburget.json내부오더 10건

검증 결과

검증 항목결과
집행액 = 실적 + 약정 (전 오더)통과
잔여 예산 = 예산 − 집행액통과
집행률 = 집행액 ÷ 예산 × 100통과
잔여 예산 < 0 인 오더만 초과로 표시통과
코스트센터 코드가 있으면 명칭도 존재통과
XML · JSON 전체 파싱오류 0건
화면 렌더링 — 실브라우저 조회 후 캡처2/2
테마 런타임 확인sap_horizon

자주 묻는 질문

약정은 언제 사라지나요?

입고나 송장 처리로 실적이 확정되면 약정이 줄고 실적이 늘어납니다. 총 집행액은 그대로이므로 잔여 예산은 변하지 않습니다.

예산을 초과하면 전기가 막히나요?

가용성 통제 설정에 따라 다릅니다. 켜져 있으면 막히고 경고만 띄우도록 할 수도 있습니다. 통제가 없으면 이 화면으로 감시해야 합니다.

여러 해에 걸친 오더는 어떻게 보나요?

연도별 예산과 전체 예산이 따로 있습니다. 투자성 오더는 총 예산으로 관리하고 연도별 배정은 자금 계획 차원에서 봅니다.

SAP 표준 기능과 어떻게 이어지나요?

예산 배정과 실적·약정 집계는 표준 CO 가 담당합니다. 이 화면은 세 금액을 한 줄에 놓고 집행률과 잔여 예산을 계산해, 약정을 빠뜨리지 않게 하는 확장입니다.

내부오더 예산 관리, 지금 쓰는 SAP 위에서 확장해 보세요

약정까지 더한 잔여 예산이 보이면 초과 집행이 사라집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

내부오더예산 대비 실적KO03KOB1약정집행률잔여예산OpenUI5