SAP 가격차이 잔액 조회 — 차이가 어느 계정에 얼마나 남았나
가격차이 계정에 쌓인 잔액을 자재·공장·차이그룹별로 펼쳐, 아직 정리되지 않은 금액을 확인하는 화면입니다.
표준원가로 재고를 평가하면 실제와의 차이가 가격차이 계정에 쌓입니다. 이 계정은 임시 보관소라 결산 전에 어딘가로 보내야 합니다.
보내지 않으면 재무제표에 정체불명의 잔액이 남습니다. 어느 자재에서 얼마가 생겼는지 알아야 어디로 보낼지 정해집니다. 자재·공장·차이그룹으로 펼쳐 보도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 2종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 자재 — 자재코드(
matnr) · 명칭(maktx) · 자재유형(mtart) - 플랜트 — 발생 공장(
plant)과 명칭 - 차이그룹 — 차이 성격 구분(
gcode)과 그룹 텍스트 - 계정 — 가격차이 계정(
hkont)과 명칭 - 문서 — 관련 판매문서(
vbeln)와 품목(posnr)
| 항목 | 내용 |
|---|---|
| 업무 영역 | 관리회계(CO-PC) · 원가 정리 |
| Namespace | zui5.prdbal |
| 셸 구조 | 조회조건 영역(우측 조회·초기화) + 차이 잔액 테이블 |
| 화면 수 | 조회 화면 1개 + 상세 |
| 데이터 | 차이 잔액 83건 |
| 성격 | 조회형(Read-Only) — 차이 발생과 정리는 표준이 담당 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 2종 둘러보기
플랜트·자재유형·기간으로 조회하면 차이 잔액이 나옵니다 → 차이그룹과 계정별로 묶어 보고 → 자재 단위로 원인을 짚습니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 플랜트를 고릅니다. 공장마다 차이 발생 양상이 다릅니다.
- 자재유형으로 완제품·반제품을 나눕니다.
- 차이그룹으로 성격을 추립니다. 매출원가 귀속분이 대표적입니다.
- 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
- 그룹별 소계로 어느 성격의 차이가 큰지 봅니다.
- 자재별로 내려가 어느 품목에서 생겼는지 확인합니다.
- 결과는 CSV 다운로드로 내려받아 원가 정리 자료로 씁니다.
집계 기준
같은 잔액을 세 축으로 묶어 봅니다.
차이그룹별 합계 → 성격별 규모 파악
계정별 합계 → 재무제표 잔액과 대조
자재별 합계 → 발생 원인 추적
세 합계는 모두 같은 총액이어야 함
차이그룹 예
매출원가(가격차이) — 팔린 제품에 귀속
재고 귀속 — 남은 재고에 가산
미정리 — 아직 배부되지 않음
판매문서를 함께 보여 주는 이유
매출원가에 귀속된 차이는 어느 주문에서 나갔는지가 중요합니다. 특정 고객이나 특정 수주에서 차이가 집중되면 그 거래의 수익성이 장부와 다릅니다. 판매문서가 있으면 수익성분석과 연결해 볼 수 있습니다.
가격차이가 쌓이는 경로
| 경로 | 발생 상황 | 주 대상 |
|---|---|---|
| 구매 가격차이 | 입고 단가가 표준과 다름 | 원재료 |
| 생산 가격차이 | 생산 원가가 표준과 다름 | 반제품 · 완제품 |
| 송장 차이 | 송장 금액이 입고와 다름 | 원재료 |
| 환율 차이 | 수입 자재 환율 변동 | 수입 원재료 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
플랜트 plant | 선택 | 발생 공장 |
자재유형 mtart | 선택 | 완제품 · 반제품 등 |
자재 matnr | 선택 | 특정 자재 |
차이그룹 gcode | 선택 | 매출원가 귀속 등 |
계정 hkont | 선택 | 가격차이 계정 |
| 기간 | 선택 | 발생 기간 |
결과 컬럼
| 컬럼 | 의미 · 표시 |
|---|---|
자재유형 mtart · mtartTx | 완제품 등 |
플랜트 plant · plantTx | 발생 공장 |
자재 matnr · maktx | 자재코드와 명칭 |
차이그룹 gcode · groupTx | 차이 성격 |
계정 hkont · hkontTx | 가격차이 계정 |
판매문서 vbeln · 품목 posnr | 매출원가 귀속 건 |
| 금액 | 차이 잔액 |
| 그룹별 소계 | 성격별 합계 |
SAP 표준 기능 매핑
| 표준 | 역할 | 이 화면에서의 확장 |
|---|---|---|
FBL3N | G/L 개별항목 | 가격차이 계정을 자재 축으로 재구성 |
FS10N | 계정 잔액 | 계정별 잔액 대조 |
CKM3N | 자재원장 조회 | 자재별 차이 확인 |
ACDOCA | 유니버설 저널 | 조회 원천 |
MARA · MAKT | 자재 마스터 | 자재 명칭 |
T030 | 계정 결정 | 차이 계정 설정 |
도입 시 확인이 필요한 부분
가격차이 계정에 자재 정보가 남아 있어야 자재별 집계가 가능합니다. 계정 전기 시 자재 필드가 채워지지 않으면 계정 합계만 알 뿐 어느 자재에서 생겼는지 알 수 없습니다. 자재원장을 쓰면 이 추적이 훨씬 수월합니다.
참고 CDS 뷰
@AbapCatalog.sqlViewName: 'ZCPRDBAL'
@EndUserText.label: '가격차이 잔액 (Z)'
define view Z_C_PRICE_DIFF_BALANCE
as select from acdoca as Line
left outer join makt as MatText on Line.matnr = MatText.matnr
and MatText.spras = 'K'
left outer join skat as AcctText on Line.racct = AcctText.saknr
and AcctText.spras = 'K'
{
key Line.rbukrs,
key Line.werks as Plant,
key Line.matnr as Matnr,
key Line.racct as Hkont,
MatText.maktx as Maktx,
AcctText.txt50 as HkontText,
Line.kdauf as Vbeln,
Line.kdpos as Posnr,
sum( Line.hsl ) as Amount
// 차이그룹은 계정·거래유형 매핑 테이블로 분류
}
group by Line.rbukrs, Line.werks, Line.matnr, Line.racct,
MatText.maktx, AcctText.txt50, Line.kdauf, Line.kdpos
매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 |
|---|---|
| 화면 골격 | sap.m.Page + 조회조건 영역 · 잔액 테이블 |
| 조회조건 | sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화 |
| 이벤트 | 모든 버튼이 onPAI 단일 진입점, fcCode 로 분기 |
| 잔액 테이블 | sap.ui.table.Table — 차이그룹 그룹핑, 소계 |
| 금액 | sap.m.ObjectNumber — 부호 색 |
| 자재 정보 | 자재유형·플랜트를 앞쪽 고정 열로 |
차이그룹으로 묶는 이유
자재 수백 개를 그냥 나열하면 어디서부터 볼지 막막합니다. 차이그룹으로 묶으면 매출원가 귀속분이 얼마이고 미정리분이 얼마인지가 먼저 보이고, 큰 덩어리부터 내려갈 수 있습니다.
파일 구성
| 경로 | 역할 |
|---|---|
manifest.json | 앱 디스크립터 — 앱 ID(zui5.prdbal) · ko 로케일 |
view/Main.view.xml | 조회조건과 잔액 테이블 |
controller/Main.controller.js | 조회 · 축별 집계 · CSV |
model/ModelMock.js | localdata JSON 읽기(Promise) |
js/formatter.js | 금액 · 소계 포맷터 |
localdata/prdbal.json | 차이 잔액 83건 |
검증 결과
| 검증 항목 | 결과 |
|---|---|
| 차이그룹별 소계 합 = 전체 합계 | 통과 |
| 계정별 합계 = 전체 합계 | 통과 |
| 자재별 합계 = 전체 합계 | 통과 |
| 판매문서가 있으면 매출원가 그룹에 속함 | 통과 |
| 자재·계정 코드가 있으면 명칭도 존재 | 통과 |
| XML · JSON 전체 파싱 | 오류 0건 |
| 화면 렌더링 — 실브라우저 조회 후 캡처 | 2/2 |
| 테마 런타임 확인 | sap_horizon |
자주 묻는 질문
가격차이 잔액이 계속 남아도 되나요?
결산 전에 정리하는 것이 원칙입니다. 남겨 두면 재무제표에 성격이 불분명한 잔액이 생기고, 감사에서 설명을 요구받습니다.
어느 자재에서 생겼는지 안 나오는데요?
전기 시 자재 필드가 채워지지 않은 것입니다. 계정 결정 설정이나 전기 방식을 확인해야 하며, 자재원장을 쓰면 추적이 훨씬 정확해집니다.
매출원가 귀속분은 어떻게 처리하나요?
이미 팔린 제품에 붙는 차이이므로 매출원가로 보냅니다. 판매문서가 있으면 수익성분석에서도 그 거래의 원가에 반영할 수 있습니다.
SAP 표준 기능과 어떻게 이어지나요?
차이 발생과 계정 결정은 표준이 담당합니다. 이 화면은 그 계정 잔액을 자재·플랜트·차이그룹으로 펼쳐, 어디서 생긴 차이인지 짚게 하는 확장입니다.