솔루션 홈
경영계획·시뮬레이션

SAP 사업계획 시뮬레이션 — 판매 수량 하나를 바꾸면 손익·재무상태·현금흐름이 함께 움직이는 9단계 연동 계획

매출 · 원가 · 재고 · 비용 · 손익 · 투자 · 자금 · 재무상태 · 현금흐름 9단계를 한 화면에서 연결하고 시나리오 버전으로 비교합니다

사업계획은 숫자 하나가 여러 표를 동시에 움직이는 작업입니다. 판매 수량을 10% 올리면 매출과 매출원가가 바뀌고, 안전재고 때문에 구매와 매입채무가 바뀌며, 외상 매출 비율에 따라 채권과 입금이 바뀌고, 결국 분기 말 현금과 재무상태표, 현금흐름표까지 달라집니다. 이 연결을 엑셀 시트 여러 장으로 관리하면 어느 한 곳의 참조가 어긋나도 알아차리기 어렵고, "보수안과 확장안 중 자금이 버티는 쪽은 어디인가"라는 질문에 답하려면 파일을 통째로 복사해야 합니다.

이 화면은 1 매출 → 2 원가 → 3 재고 → 4 비용 → 5 손익 → 6 투자 → 7 자금 → 8 재무상태 → 9 현금흐름의 9단계를 하나의 산식 흐름으로 묶었습니다. 분기별 판매 수량·단가, 단위 원가, 안전재고, 판관비, 이자·법인세, 투자 취득·지급, 차입금, 신주·배당과 현금 결제 비율·DSO·DPO·내용연수 같은 기준값만 넣으면 손익계산서·재무상태표·현금흐름표가 자동 산출되고, 대사식 12종이 자산 = 부채 + 자본, 기말 현금 = 자금계획 최종 현금 같은 정합성을 분기마다 확인합니다. 계획은 버전(시나리오) 단위로 복사·비교·확정합니다.

SAP 표준 기능을 그대로 이어받은 부분 — 판매 계획은 KEPM 이, 단위 원가는 CK40N 이, 판관비 계획은 KP06 이, 감가상각 시뮬레이션은 S_ALR_87012936 이, 유동성 예측은 FF7B 가, 계획 복사·버전은 KP97·OKEQ 가 담당합니다. 이 화면은 표준 계획 데이터 구조를 이어받아 9단계를 하나의 산식으로 연결하고, 단계 사이 대사와 시나리오 버전 비교를 더해 확장합니다.
항목내용
업무 영역관리회계(CO) — 연간 사업계획 · 손익·자금 시뮬레이션
SAP 표준 T-codeKEPM · CK40N · KP06 · KP97 · OKEQ · FF7B · S_ALR_87012936
Namespacezui5.bizplan
화면 성격입력·자동 산출·대사·버전 비교 (생성·수정·삭제 포함)
데이터 연동OData V2 — 엔티티셋 7종(원천 3 · 계산 4), 조회조건은 전부 $filter
테마sap_horizon · 한국어
가상 데이터가상 회사 1000 · 2025~2027년 계획 버전 5개(기본·보수·확장 등) · 입력 100행 · 변경 이력 59건
셸 구조단일 페이지 + 5개 탭(단계별 계획·계획표 전체·검증 점검·버전 관리·비교·변경 이력), 단계별 계획 안에 9단계 머리
화면 수메인 1 · 버전 복사·검증 상세 다이얼로그 2
요약내용
대상회사 × 회계연도 × 계획 버전 단위 분기 사업계획 — 입력 20개 항목 · 기준값 8개
핵심 산식매출 = 수량 × 단가 · 매출원가 = 수량 × 단위 원가 · 최종 현금 = 연초 + 누적 입출금 + 차입금 + 재무활동 · 자산 = 부채 + 자본
결과 표시정상 / 확인 필요(자금 부족·영업손실 등 계획상 살펴볼 분기) / 점검 필요(대사 차이)

실제 화면 12종 둘러보기

① 단계별 계획 — 1. 매출계획
① 단계별 계획 — 1. 매출계획 — 맨 위 연간 요약 표 한 줄에 매출액·영업이익·당기순이익·투자·연말 현금·부채비율·검증 결과를 모으고, 그 아래 9단계 머리에 단계별 대표 값과 상태 색을 붙였습니다. 매출계획은 판매 수량·단가 입력과 현금 결제 비율·DSO 기준값으로 채권 잔액·입금·누적 입금을 자동 산출하고, 검증 행이 누적 매출 = 채권 잔액 + 누적 입금을 분기마다 확인합니다. 조회·초기화 버튼은 조회조건 줄 오른쪽 끝에 있습니다.
② 5. 영업·당기순이익률 — 손익계산서
② 5. 영업·당기순이익률 — 손익계산서 — 매출 → 매출원가 → 매출총이익 → 판매관리비 → 영업이익 → 이자비용 → 법인세 → 당기순이익이 앞 단계에서 넘어온 값으로 채워집니다. 이자비용·법인세만 이 단계의 입력 항목(✎)이고, 오른쪽에는 영업이익률·당기순이익률 요약과 분석 문장이 붙습니다.
③ 8. 부채·순자산비율 — 재무상태표
③ 8. 부채·순자산비율 — 재무상태표 — 현금(자금계획) · 채권(매출계획) · 재고(재고계획) · 고정자산과 상각누계액(투자계획)을 자산으로, 매입채무 · 투자 미지급금 · 차입금을 부채로, 자본금과 이익잉여금을 자본으로 모읍니다. 검증 행이 자산 = 부채 + 자본을 분기마다 확인합니다.
④ 9. 현금흐름표 — 간접법 누적
④ 9. 현금흐름표 — 간접법 누적 — 당기순이익 누적에 감가상각을 더하고 채권·재고·채무 증감을 반영해 영업활동 현금흐름을 구하고, 투자·재무활동과 합쳐 기말 현금을 냅니다. 이 기말 현금이 자금계획의 최종 현금과 같은지 검증 행이 확인합니다.
⑤ 7. 자금계획 — 확장 시나리오의 자금 부족 분기
⑤ 7. 자금계획 — 확장 시나리오의 자금 부족 분기 — 확장 시나리오(020)는 1분기에 설비를 집중 취득해 최종 현금이 −309,777원이 됩니다. 차트의 음수 막대는 빨간색으로, 분석 문장은 차입·증자 계획 확인이 필요하다고 안내하고, 단계 머리의 7. 자금계획 아이콘은 주의 색으로 바뀝니다.
⑥ 검증 점검 — 대사식 12종 · 확인 항목 6종
⑥ 검증 점검 — 대사식 12종 · 확인 항목 6종 — 대사식(K)은 서로 다른 경로로 계산한 두 값이 분기마다 같은지를, 확인 항목(C)은 계산은 맞지만 계획 내용상 살펴볼 분기(자금 부족·부채비율 초과·영업손실·역마진 등)를 보여 줍니다. 단계·검증 결과 조건은 여러 값을 함께 고를 수 있습니다.
⑦ 검증 상세
⑦ 검증 상세 — 점검 행을 누르면 분기별 좌변·우변·차이(또는 해당 금액)가 열리고, "해당 단계로 이동"으로 원인 단계 화면에 바로 갑니다.
⑧ 편집 — 작성중 버전의 입력·기준값 수정
⑧ 편집 — 작성중 버전의 입력·기준값 수정 — 작성중 버전에서 편집을 누르면 입력 항목(✎)과 기준값 칸이 입력 칸이 됩니다. 저장하면 바뀐 항목만 서비스로 보내고(기준값은 버전, 입력은 항목 단위), 9단계 전체와 검증이 다시 계산됩니다. 확정된 버전은 편집 버튼이 비활성입니다.
⑨ 저장 거절 — 투자 현금 지급 누계가 취득 누계를 넘는 경우
⑨ 저장 거절 — 투자 현금 지급 누계가 취득 누계를 넘는 경우 — 투자 현금 지급액을 취득액보다 크게 넣으면 미지급금이 음수가 되므로 서비스가 저장을 거절하고, 몇 분기에 얼마가 넘는지 알려 줍니다. 확정 버전 수정·범위 밖 기준값·음수 입력도 같은 방식으로 거절됩니다.
⑩ 버전 관리·비교
⑩ 버전 관리·비교 — 같은 연도의 계획 버전을 연간 매출·영업이익·당기순이익 묶음 막대와 분기 말 현금 꺾은선으로 나란히 봅니다. 표에서 버전을 골라 확정·확정 해제·삭제하고, 각 버전이 어느 원본에서 어떤 증감률로 복사됐는지도 함께 보입니다.
⑪ 계획 버전 복사
⑪ 계획 버전 복사 — 원본 버전(다른 연도 포함)의 기준값과 계획 입력 20개 항목을 그대로 복사하고, 판매 수량·판매 단가 증감률을 넣으면 곱해서 복사합니다. 같은 번호가 이미 있으면 저장이 거절됩니다.
⑫ 변경 이력
⑫ 변경 이력 — 버전 생성·값 변경·확정·확정 해제·삭제가 변경 번호 순으로 남습니다. 입력 항목은 분기 단위로 변경 전·후 값을 기록합니다.

사용 방법

  1. 조회조건 입력 — 회사코드·회계연도(필수)를 넣고 계획 버전을 고릅니다. 회사코드·연도를 바꾸면 그 연도의 버전 목록을 다시 읽습니다. 비교 버전·단계·검증 결과는 여러 개를 함께 고를 수 있고(전체 선택 지원), 비워 두면(전체) 그 조건은 보내지 않습니다.
  2. 조회 — 조회조건을 고르거나 바꾸면 바로 조회됩니다(여러 값 선택은 목록을 닫을 때, 입력 칸은 Enter 나 포커스 이동 때). 조회조건 줄 오른쪽 끝의 조회 · 초기화 버튼으로 다시 조회하거나 기본 조건(1000 · 2026 · 000)으로 되돌립니다.
  3. 단계별 계획 — 연간 요약 표를 보고 9단계 머리에서 단계를 고릅니다. 머리마다 대표 값(매출액, 매출원가, 기말 재고, 판관비, 이익률, 투자액, 순현금흐름, 부채·순자산비율, 현금 증감)과 상태 색(정상 초록 · 확인 필요 주황 · 점검 필요 빨강)이 붙습니다. 왼쪽은 기준값·입력·자동 산출, 오른쪽은 차트·요약·분석입니다.
  4. 편집 · 저장 — 작성중 버전에서 편집을 누르고 ✎ 표시 항목과 기준값을 고친 뒤 저장합니다. 단계를 오가며 고친 값은 한 번에 저장되고, 저장 뒤 9단계와 검증이 다시 계산됩니다. 확정 버전은 버전 관리·비교 탭에서 확정 해제한 뒤 편집합니다.
  5. 계획표 전체 — 선택 버전의 9단계 모든 행(134행)을 한 표로 봅니다. 단계 조건으로 좁히고 CSV 로 내려받습니다.
  6. 검증 점검 — 대사식 K01~K12 와 확인 항목 C01~C06 의 분기별 차이를 봅니다. 행을 누르면 분기별 좌변·우변 상세가 열리고 해당 단계로 이동할 수 있습니다.
  7. 버전 관리·비교 — 버전별 연간 손익과 분기 말 현금을 비교하고, 버전 복사(증감률 적용)·확정·확정 해제·삭제를 합니다. 대사 차이가 있는 버전은 확정할 수 없습니다.
  8. 변경 이력·CSV — 변경 이력 탭에서 누가 언제 무엇을 바꿨는지(변경 전·후 값) 확인하고, 각 탭의 CSV 다운로드로 UTF-8 CSV 를 내려받습니다.

9단계 산식과 검증·저장 규칙

9단계 산식과 검증·저장 규칙은 서비스의 업무 규칙 파일 한 곳에서 계산하고 판단합니다. 검증 화면도 같은 파일을 그대로 씁니다.

단계·규칙산식·판정비고
1 매출매출 = 판매 수량 × 판매 단가 · 외상 매출 = 매출 × (1 − 현금 결제 비율) · 채권 잔액 = 외상 매출 × DSO ÷ 90 · 입금 = 매출 − 채권 증감분기 = 90일
2 원가단위 원가 = 단위 재료비 + 노무비 + 제조경비 · 매출원가 = 판매 수량 × 단위 원가 · 원가율 = 매출원가 ÷ 매출연간 원가율은 연간 합계로 다시 계산
3 재고기말 재고 = 안전재고 수량 × 단위 원가 · 구매 = (판매 + 안전재고) × 단위 원가 − 기초 재고 · 매입채무 = 구매 × 외상 매입 비율 × DPO ÷ 90 · 출금 = 구매 − 채무 증감기말 재고 = 기초 + 구매 − 매출원가 성립
6 투자 · 4 비용분기 감가상각 = 누적 취득 ÷ (내용연수 × 4) — 기계장치·가구·비품 각각 · 미지급금 = 누적 취득 − 누적 현금 지급 · 판관비 = 급여 + 기타경비 + 연구개발비 + 소모품비 + 감가상각비취득 분기부터 한 분기 전체 상각
5 손익영업이익 = 매출 − 매출원가 − 판관비 · 당기순이익 = 영업이익 − 이자비용 − 법인세이자·법인세는 입력
7 자금최종 현금 = 기초 현금 + 누적(영업 입금 − 구매 출금 − 비용 출금 − 세금·이자 − 자산 취득 지급) + 차입금 잔액 + 누적(신주 − 배당 + 투자금)연초 대비 누적(YTD)
8 재무상태자산 = 현금 + 채권 + 재고 + 고정자산 − 상각누계 · 부채 = 매입채무 + 미지급금 + 차입금 · 자본 = 기초 현금 + 신주 + 투자금 + 누적 순이익 − 배당 · 부채비율 = 부채 ÷ 자본연초는 현금(= 자본금)만 있는 상태
9 현금흐름영업 = 누적 순이익 + 누적 감가상각 − 채권 − 재고 + 매입채무 · 투자 = − 누적 현금 지급 · 재무 = 차입금 + 신주 − 배당 + 투자금 · 기말 현금 = 기초 + 영업 + 투자 + 재무차입금 증감은 재무활동으로 분류
검증 결과대사식 차이 ≠ 0 → 점검 필요 · 확인 항목 해당 분기 있음 → 확인 필요 · 그 밖 → 정상허용 차이 0.005원(부동소수 오차만)
저장 규칙확정(L) 버전의 기준값·입력 수정 409 · 대사 차이 있는 버전 확정 409 · 입력 음수 400 · 기준값 범위(비율 0~100, 일수 0~365, 내용연수 1~50 정수) 400 · 투자 지급 누계 > 취득 누계 400 · 000·확정 버전 삭제 409 · 같은 버전 번호 생성 409모든 쓰기는 변경 이력에 기록
"점검 필요"·"확인 필요"는 원인을 단정하지 않고 살펴볼 대상을 뜻합니다. 저장 거절은 확정된 계획이 바뀌거나 계산이 성립하지 않는 값(음수 입력, 지급이 취득보다 큰 투자)이 계획에 들어가지 않게 하는 통제입니다.

버전 준비에서 확정까지 처리 단계

  1. 버전 준비 — 기본 계획(000)이나 다른 연도 버전을 복사해 시나리오 버전을 만듭니다. 판매 수량·단가 증감률을 함께 넣을 수 있습니다.
  2. 기준값 설정 — 현금 결제 비율·DSO(매출), 외상 매입 비율·DPO(재고), 내용연수(투자), 기초 현금(자금)을 정합니다.
  3. 분기 입력 — 판매 수량·단가 → 단위 원가 → 안전재고 → 판관비 → 이자·법인세 → 취득·현금 지급 → 차입금 → 신주·배당·투자금 순으로 넣습니다.
  4. 자동 산출 — 저장하면 서비스가 9단계를 차례로 계산해 손익계산서·재무상태표·현금흐름표와 단계별 요약·분석 문장을 만듭니다.
  5. 검증 — 대사식 12종이 단계 사이 연결을, 확인 항목 6종이 자금 부족·영업손실 같은 계획상 위험 분기를 표시합니다.
  6. 비교 — 같은 연도 버전들의 연간 손익·분기 말 현금·부채비율을 나란히 보고 시나리오를 고릅니다.
  7. 확정 — 대사 차이가 없는 버전만 확정할 수 있고, 확정 뒤에는 기준값·입력이 잠깁니다. 다음 연도 계획은 확정 버전의 연말 현금을 기초 현금으로 이어받아 시작할 수 있습니다.

조회조건

조건필수설명전달 방식
회사코드필수4자리 (가상 1000) — 바꾸면 버전 목록을 다시 읽음Bukrs eq — 모든 엔티티셋
회계연도필수4자리 — 바꾸면 버전 목록을 다시 읽음Gjahr eq — 모든 엔티티셋
계획 버전필수연도의 버전 목록에서 하나 (번호 · 이름 · 상태)Version eq — 계획표·검증·단계 요약·변경 이력
비교 버전선택·여러 값비우면 연도의 전체 버전(Version eq … or …) 한 묶음 — 버전 비교
단계선택·여러 값1~9 단계 중 여러 개, 비우면 전체(Step eq … or …) 한 묶음 — 계획표 전체·검증·변경 이력
검증 결과선택·여러 값점검 필요 · 확인 필요 · 정상 중 여러 개(Result eq … or …) 한 묶음 — 검증 점검

결과 컬럼

영역컬럼
연간 요약연간 매출액(1분기 대비 4분기 성장률) · 영업이익(영업이익률) · 당기순이익(당기순이익률) · 연간 투자(연간 감가상각) · 연말 현금(최저 현금과 분기) · 부채비율(순자산비율) · 검증 결과(대사식·확인 항목 수)
단계 머리단계 번호·이름 · 대표 값 · 상태 색
단계 화면기준값 · 구역별 표(입력·재무제표 자동 산출·손익계산서·자금 계획·재무상태표·영업/투자/재무활동·요약 — 항목 · 단위 · 1~4분기 · 연간) · 차트 · 분석 문장 3줄
계획표 전체단계 · 구역 · 항목 · 단위 · 1~4분기 · 연간 (연간 = 흐름은 합계, 잔액·누적은 4분기 말, 단가는 평균, 비율은 연간 재계산)
검증 점검번호 · 구분(대사/확인) · 단계 · 점검 항목 · 점검식 · 1~4분기 차이 · 차이 분기 수 · 결과 / 상세: 분기별 좌변 · 우변 · 차이
버전 관리·비교계획 버전(원본·증감률) · 상태 · 연간 매출액 · 영업이익(률) · 당기순이익(률) · 연간 투자 · 연말 현금 · 최저 현금 · 부채비율 · 검증
변경 이력변경 번호 · 변경일시 · 계획 버전 · 변경 구분(버전 생성·값 변경·확정·확정 해제·버전 삭제) · 단계 · 대상 · 필드(분기) · 변경 전 · 변경 후

SAP 표준 기능 매핑

SAP 표준 T-code표준 기능이 화면과의 관계
KEPM수익성 분석(CO-PA) 계획판매 수량·단가 계획 — 1. 매출계획의 원천
CK40N · CK11N표준원가 산정단위 재료비·노무비·제조경비 — 2. 원가계획의 원천
KP06원가요소 계획(코스트센터)급여·기타경비·연구개발비·소모품비 — 4. 비용계획의 원천
S_ALR_87012936감가상각 시뮬레이션취득 계획에 따른 상각비 — 6. 투자계획의 상각 산식과 대조
FF7B유동성 예측분기별 입출금 전망 — 7. 자금계획과 같은 관점
KP97 · OKEQ계획 복사 · CO 버전 정의계획 버전 복사·잠금 — 버전 관리·비교의 원형
S_ALR_87012284재무제표실적 손익·재무상태 — 계획 재무제표와 비교하는 기준

표준 계획 기능은 영역별(수익성·원가·코스트센터·자산·유동성)로 나뉘어 있어 "판매 계획 하나를 바꾸면 현금과 재무상태가 어떻게 되는가"를 한 번에 보기 어렵습니다. 이 화면은 표준 계획 데이터 구조를 이어받되, 9단계를 하나의 산식으로 연결하고 단계 사이 대사와 시나리오 버전 비교를 더해 확장합니다.

참고 CDS 뷰

원천 테이블

테이블용도
ACDOCPS/4HANA 계획 데이터 라인(유니버설 저널 계획) — 버전(계획 범주)·기간·계정별 계획 금액
ACDOCA실적 라인 — 계획 대비 실적 비교 시 기준
CE1xxxx · CE2xxxx (CO-PA)판매 수량·단가 계획 (수익성 분석 운영 관심사)
KEKO · KEPH표준원가 산정 헤더·원가 구성요소 — 단위 원가 3요소
ANLA · ANLB고정자산 마스터·내용연수 — 투자계획 상각 기준
계획 버전·입력 (확인 필요)이 화면의 버전 상태·기준값·20개 입력 항목은 표준에 같은 구조가 없어 회사별 테이블로 둠

필드 매핑 (OData 엔티티·프로퍼티 → 원천)

엔티티.프로퍼티원천 / 산출
InputSet.S_QTY · S_PRICECO-PA 계획 판매 수량(VVQ…)·단가 (확인 필요)
InputSet.C_MAT · C_LAB · C_OVHKEPH 원가 구성요소별 단위 원가
InputSet.E_SALARY 등 판관비ACDOCP.HSL — 원가요소(RACCT)별 계획 금액
VersionSet.LifeMachine 등ANLB.NDJAR 내용연수(년)
VersionSet.Version · StatusCO 버전(OKEQ) · 계획 잠금 (확인 필요)
StatementSet · CheckSet · KpiSet · CompareSet위 원천에서 요청 시점에 계산 (파생값)

CDS 뷰 스케치 (참고용 — 계획 범주와 버전의 대응은 회사별 확인 필요)

@EndUserText.label: '분기별 판관비 계획 (스케치)'
define view entity BizPlanSgaCds
  as select from acdocp as p
{
  key p.rbukrs                                         as Bukrs,
  key p.ryear                                          as Gjahr,
  key p.category                                       as Version,
  key p.racct                                          as Kstar,
      sum( case when p.poper between '001' and '003' then p.hsl else 0 end ) as Q1,
      sum( case when p.poper between '004' and '006' then p.hsl else 0 end ) as Q2,
      sum( case when p.poper between '007' and '009' then p.hsl else 0 end ) as Q3,
      sum( case when p.poper between '010' and '012' then p.hsl else 0 end ) as Q4
}
where p.rldnr = '0L'
group by p.rbukrs, p.ryear, p.category, p.racct

OpenUI5 구성

구성내용
서비스 선언manifest.json 의 dataSources.mainService 에 상대 경로(./odata/bizplan_srv/)로 OData V2 서비스를 선언합니다. 절대 URL 은 쓰지 않습니다.
모델이름 없는(기본) 모델이 mainService 를 씁니다. OneWay 바인딩, 건수 모드 Inline, 배치 미사용, 수정 메서드 PUT. 화면 상태·조회조건은 ui 모델, 현재 단계 화면은 p 모델, 버전 복사·검증 상세 다이얼로그는 각자 JSON 모델을 씁니다.
단계 화면계획표(StatementSet) 한 번 읽기로 9단계 행을 모두 받아, 구역(Section)과 표시 위치(Pane)로 묶어 왼쪽·오른쪽 카드에 넣습니다. 구역 표는 하나의 프래그먼트를 왼쪽·오른쪽에서 함께 씁니다. 9단계 머리는 sap.m.IconTabHeader(가로형)이고 대표 값·상태 색은 단계 요약(KpiSet)에서 옵니다.
편집입력 항목(Kind I)·기준값(Kind P) 행만 편집 모드에서 입력 칸이 됩니다. 저장은 바뀐 항목만 골라 기준값은 VersionSet, 입력은 InputSet 으로 차례로 PUT 하고, 중간에 거절되면 서비스 메시지와 앞서 저장된 건수를 함께 보여 줍니다.
표행이 많은 계획표 전체·변경 이력은 sap.ui.table.Table, 요약·단계 구역·검증·버전 비교·다이얼로그는 sap.m.Table.
필터·정렬조회조건은 sap.ui.model.Filter 로 만들어 $filter 로 보냅니다. 여러 값을 고른 비교 버전·단계·검증 결과는 eq 를 한 묶음(or)으로 만들고, "전체"(빈 선택)는 필터를 만들지 않습니다. 조회조건을 바꾸면 짧게 모아 한 번만 바로 조회합니다.
차트외부 차트 라이브러리 없이 컨트롤러에서 SVG 를 만들어 core:HTML 로 넣습니다 — 단계별 막대(묶음·누적, 음수는 0 아래로), 버전 비교 묶음 막대, 분기 말 현금 꺾은선.
연결 실패 안내ErrorHandler 가 메타데이터 로드 실패와 조회 실패를 구분해 알리고, 쓰기 실패는 화면이 서비스 메시지로 안내합니다.

파일 구성

구분내용
앱 본체index.html · manifest.json · Component.js · controller · view(+ fragments 3종) · model · i18n · css
데이터 서비스OData 서비스 정의(metadata) · 서비스 처리 · 업무 규칙 파일(9단계 산식·검증·저장 규칙) · 원천 엔티티셋 데이터
검증 전용앱 본체와 분리된 검증용 샘플 데이터 구성 — 업무 규칙은 서비스와 같은 파일을 그대로 사용
설명서readme.html (13개 절)

검증 결과

검증용 샘플 데이터(계획 버전 5 · 계획 입력 100행 · 변경 이력 59건)로 서비스가 계산한 결과를 업무 규칙 파일과 별개로 python 으로 다시 계산해 전수 대조했습니다.

독립 대사식검사 건수차이 건수최대 차이(원)
V1 계획표 핵심 19행 × 4분기 × 5버전 — 엔진 출력 = python 독립 계산38000.00
V2 재무상태 균형 (자산 = 부채 + 자본)2000.00
V3 현금흐름표 기말 현금 = 자금계획 최종 현금 (간접법 ↔ 직접법)2000.00
V4 누적 매출 = 채권 잔액 + 누적 입금2000.00
V5 재고 수불 (기말 = 기초 + 구매 − 매출원가)2000.00
V6 손익 구성 (순이익 = 매출 − 원가 − 판관비 − 이자 − 법인세)2000.00
V7 버전 비교 8개 지표 × 5버전 — 엔진 = python4000.00
V8 엔진 대사식 K01~K12 × 5버전 — 차이 분기24000.00
V9 원본 엑셀(Data 시트) 산출값 재현 — 2026 · 000 의 10개 행 × 4분기4000.00

화면 대조 — 2026 · 000 기본 계획을 렌더링한 단계 머리의 대표 값(매출 7,400,000 · 매출원가 1,326,800 · 기말 재고 102,666 · 판관비 2,218,125 · 이익률 52.1% · 40.6% · 투자 180,000 · 순현금흐름 2,617,401 · 부채·순자산비율 6.1% · 94.3% · 현금 증감 2,617,401)이 원래 계획 도구의 같은 입력값 결과와 모두 같았고, 연간 요약 표(매출 7,400,000 · 영업이익 3,855,075 · 당기순이익 3,006,276 · 연말 현금 3,617,401원)도 검증 스크립트 합계와 같았습니다.

의도적 예외 — 확인 항목 동작을 보이기 위해 일부러 넣은 건이며 위 대사 차이와 분리해 기록합니다.

구분대상내용
확인 필요 (C01 자금 부족)2026 · 020 확장 시나리오 1분기설비 1,500,000원 집중 취득 · 현금 지급 1,400,000원 → 최종 현금 −309,777원 (2분기 증자 500,000원 뒤 회복)

저장 규칙 실측 — 검증 화면에서 화면 조작으로, 서비스 파일은 Node 에서 직접 호출해 같은 결과를 확인했습니다.

시나리오결과
작성중 버전(010) 판매 수량 1분기 850 → 1,200, 현금 결제 비율 50 → 55% 저장200 · 연간 매출 5,975,500 → 6,308,000원, 9단계·검증 재계산, 변경 이력 +2건(분기 값 1 · 기준값 1)
투자 현금 지급 1분기 90,000원 (취득 누계 45,000원)400 거절 · "1분기까지 투자 현금 지급 누계 90,000원이 취득 누계 45,000원을 넘습니다"
확정 버전(2026 · 000) 입력·기준값 수정409 거절 · 확정 해제 후 수정 안내
현금 결제 비율 150%400 거절 · 0 ~ 100 범위 안내
연구개발비 2분기 −5400 거절 · 0 이상 안내
버전 복사 (2026 · 000 → 030, 수량 −5% · 단가 +8%)201 · 입력 20행 복사, 연간 매출 7,592,400원(= 7,400,000 × 0.95 × 1.08)
같은 번호(030) 다시 생성409 거절
030 확정 → 편집 버튼 비활성 → 확정 해제 → 삭제200 · 200 · 204 (입력 20행 함께 삭제, 이력은 유지)
기본 계획 000 삭제409 거절
입력(InputSet) 직접 생성405 거절 — 입력은 버전 복사로만 생김

그 밖에 조회·초기화 버튼이 이 순서로 조회조건 줄 오른쪽 끝에 렌더링되는 것, 계획 버전 선택만으로 바로 조회되는 것, 단계 조건에서 1·5 단계를 고르면 계획표 전체가 134행에서 26행으로 좁혀지는 것, 검증 결과에서 확인 필요·점검 필요를 함께 고르면 1행이 남는 것, 비교 버전 2개를 고르면 버전 비교가 2행이 되는 것, 회계연도 칸에서 2027 을 입력하고 Enter 를 누르면 버전 목록을 다시 읽어 2027 기본 계획(기초 현금 = 2026 기본 계획 연말 현금 3,617,401원)이 조회되는 것, 적용 테마가 sap_horizon 인 것, CSV 가 한글 파일명·UTF-8 BOM 으로 내려받아지는 것을 렌더링 상태에서 확인했습니다. 콘솔 오류는 일부러 거절시킨 쓰기 요청 7건의 로그 외에 없었습니다.

자주 묻는 질문

자금계획과 현금흐름표를 왜 "연초 대비 누적"으로 보나요?

분기 말 현금 잔액은 연초 현금에 그때까지의 입출금을 모두 더한 값이므로, 누적으로 보면 각 분기의 잔액과 바로 맞물립니다. 원래 계획 도구의 구조도 같았고, 이렇게 해야 현금흐름표 기말 현금과 자금계획 최종 현금을 분기마다 같은 기준으로 대사할 수 있습니다. 분기 단독 증감은 이웃 분기 값의 차이로 읽습니다.

연초에 채권·재고·고정자산이 0 에서 시작하는 이유는 무엇인가요?

이 계획은 연초 시점을 기초 현금(= 자본금)만 있는 상태로 가정합니다. 신규 사업이나 연간 독립 시뮬레이션에서는 이 가정이 단순하고 검증하기 쉽습니다. 이미 운영 중인 회사의 전년 말 채권·재고·차입금을 이어받으려면 기초 잔액 항목을 늘려야 하며, 회사별 결산 데이터 구조에 따라 확인 필요 항목으로 남겼습니다.

차입금 증감은 왜 재무활동에 들어가나요?

차입과 상환은 기업회계기준의 현금흐름표 분류상 재무활동입니다. 원래 계획 도구는 차입금 증감을 영업활동에 넣었지만 합계(기말 현금)는 같으므로, 분류만 재무활동으로 옮겼습니다. 대사식 K10·K11 이 기말 현금이 바뀌지 않았음을 확인합니다.

"점검 필요"와 "확인 필요"는 무엇이 다른가요?

점검 필요는 대사식(K)의 좌변과 우변이 다르다는 뜻으로, 산식이나 입력 연결을 살펴봐야 합니다. 이런 버전은 확정할 수 없습니다. 확인 필요는 계산은 맞지만 계획 내용상 살펴볼 분기(자금 부족, 부채비율 200% 초과, 영업손실, 역마진 등)가 있다는 뜻이며, 판단은 담당자가 합니다. 샘플의 확장 시나리오 1분기 자금 부족이 그 예입니다.

법인세는 왜 직접 입력하나요?

법인세비용은 세무조정·이월결손금·세액공제에 따라 단순 세율과 크게 달라질 수 있어 원래 도구처럼 분기 금액을 입력합니다. 대신 세전손실 분기에 법인세가 잡혀 있으면 확인 항목 C06 으로 표시합니다. 세율 자동 계산은 회사별 세무 기준이 필요해 확인 필요로 남겼습니다.

실제 회사 데이터로 쓰려면 무엇이 필요한가요?

같은 형식의 OData 서비스를 연결하면 됩니다. 화면의 회사·버전·금액은 모두 가상의 검증용 샘플 데이터입니다. 판매·원가·판관비 계획은 CO-PA·표준원가·코스트센터 계획에서, 내용연수는 자산 마스터에서 가져올 수 있지만, 버전 상태와 20개 입력 항목을 어느 테이블에 둘지는 회사마다 달라 확인 필요 항목으로 남겼습니다.

#사업계획 #경영계획 시뮬레이션 #추정 재무제표 #자금계획 #현금흐름표 #계획 버전 #시나리오 비교 #OpenUI5

계획 숫자 하나가 바뀔 때, 현금은 어디까지 버티나요

판매 계획이 바뀌면 원가·재고·채권·채무·현금·재무비율이 함께 움직입니다. 9단계를 하나의 산식으로 연결하고 단계 사이 대사를 자동으로 돌려 두면, 시나리오마다 자금 부족 분기를 계획 단계에서 먼저 볼 수 있습니다. 현재 SAP 계획 데이터 기준으로 어떻게 연결되는지 함께 확인해 드립니다.

도입 문의