SAP 채권 명세서 — 외상매출금·미수금·받을어음을 한 화면에
기준일 현재 미결로 볼지 전기일자 범위 전체로 볼지 고르고, 부분입금까지 차감한 미결잔액을 보는 채권 명세서입니다.
채권을 본다는 말에는 두 가지 뜻이 섞여 있습니다. 지금 남은 것을 보는 것과 그동안 오간 것을 보는 것입니다.
앞은 기준일 현재 미결 항목이고, 뒤는 기간 내 전표 전체입니다. 둘을 같은 화면에서 전환할 수 있어야 잔액 확인과 거래 내역 추적이 한 화면에서 끝납니다. 사양서 레이아웃을 그대로 담고 부분입금과 미결잔액을 더해 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 3종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 미결·반제 — 고객 미결(
BSID)과 반제(BSAD) 구조 - 전표 헤더 — 전표번호 · 회계연도 · 전표유형 · 증빙/전기일자 · 통화 · 환율(
BKPF) - 어음 정보 — 받을어음 데이터(
BSED)의 은행과 지급인 - 라인 상세 — 전기키 · 차대 · 사업영역 · 지정 · 적요 · 관계사(
BSEG) - 계정 — 계정 텍스트(
SKAT)와 전표유형(T003)
| 항목 | 내용 |
|---|---|
| 업무 영역 | 재무회계(FI) · 일반회계 · 채권 |
| Namespace | zui5.arlist |
| 셸 구조 | 조회조건 영역(우측 조회) + 채권 명세 테이블 |
| 화면 수 | 조회 화면 1개 |
| 데이터 | 채권 라인 96건 (미결 69 · 부분입금 16 · 어음 24) |
| 성격 | 조회형(Read-Only) — 전기는 표준이 담당 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 3종 둘러보기
회사코드·조회 기준으로 조회하면 채권 라인이 나옵니다 → 미결잔액과 만기 경과를 확인하고 → 전표번호를 눌러 회계전표 조회로 이어집니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 회사코드는 사양서에 따라 K100 고정이며 변경할 수 없습니다.
- 전표유형이나 G/L 계정을 목록에서 골라 범위를 좁힙니다.
- 조회 기준을 고릅니다. 선택에 따라 기준일 또는 전기일자 범위가 활성화됩니다.
- 조회 버튼은 조회조건 영역 오른쪽 끝에 있고, 입력필드에서 Enter 로도 조회됩니다.
- 미결잔액을 확인합니다. 부분입금이 차감된 금액입니다.
- 만기 경과 건은 붉게 표시되고 건수·금액이 요약됩니다.
- 전표번호를 클릭하면 회계전표 조회로 이어집니다.
조회 기준과 처리 규칙
두 기준은 보는 대상이 다릅니다.
미결항목 (기준일)
기준일까지 전기된 전표 중 그 시점에 미결인 항목만
기준일 이후에 반제된 건은 다시 미결로 되돌려 표시
전체항목 (전기일자)
입력한 전기일자 범위의 전표를 미결·반제 구분 없이 모두
미결잔액 = 채권금액 − 부분입금액
취소전표 제외 — 역분개(취소) 전표는 조회 대상에서 제외
만기 경과 — 미결이면서 만기일 < 기준일 → 붉게 표시
기준일 이후 반제 건을 되돌리는 이유
지난달 말 기준으로 채권 잔액을 봐야 하는데, 이번 달에 입금된 건이 반제로 바뀌어 있으면 그 시점 잔액이 실제보다 적게 나옵니다. 기준일 시점에는 미결이었으므로 다시 미결로 되돌려 표시해야 그때의 장부가 재현됩니다.
채권 유형 3종
| 유형 | 성격 | 관리 포인트 |
|---|---|---|
| 외상매출금 | 영업 거래 채권 | 만기와 지급조건 관리 |
| 미수금 | 영업 외 채권 | 회수 근거 확인 |
| 받을어음 | 어음으로 받은 채권 | 은행·지급인과 만기 |
세 유형을 한 화면에서 보면 고객별 총 채권이 한 번에 파악됩니다.
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
| 회사코드 | 필수 | 사양서에 따라 K100 고정, 변경 불가 |
| 전표유형 / G/L 계정 | 선택 | 목록에서 선택 |
| 증빙일자 | 선택 | 범위 조건 |
| 조회 기준 | 필수 | 미결항목(기준일) / 전체항목(전기일자) |
| 기준일 또는 전기일자 범위 | 조건부 | 조회 기준 선택에 따라 활성화 |
결과 컬럼
헤더
| 컬럼 | 의미 |
|---|---|
| 회사코드 · 전표번호 · 회계연도 | 전표 식별 |
| 전표유형 | 전표 성격 |
| 증빙일자 · 전기일자 | 날짜 정보 |
| 헤더텍스트 | 전표 설명 |
| 통화 · 환율 | 거래 통화 정보 |
라인
| 컬럼 | 의미 |
|---|---|
| 항목 · 전기키 · 차대 | 라인 기본 정보 |
| 반제일자 · 입력일 · 반제전표 | 반제된 건 |
| 사업영역 | 조직 귀속 |
| 금액 · 원화환산 | 채권 금액 |
| 부분입금 · 미결잔액 | 금액 − 부분입금 |
| 지정 · 적요 | 대사와 설명 |
| 관계사 · 청구문서 | 내부거래와 SD 연계 |
| G/L계정 · 고객 | 계정과 거래처 |
| 만기일 · 지급조건 · 할인일수 | 결제 조건 |
| 참조키 | 외부 참조 |
어음 정보
| 컬럼 | 의미 |
|---|---|
| 은행 | 어음 지급 은행 |
| 지급인 | 어음 발행인 |
SAP 표준 기능 매핑
| 표준 | 역할 | 이 화면에서의 확장 |
|---|---|---|
FBL5N | 고객 개별항목 | 세 채권 유형을 한 화면에 통합 |
FB03 | 전표 조회 | 전표번호 클릭으로 연계 |
BSID · BSAD | 고객 미결 · 반제 | 조회 원천 |
BSED | 어음 데이터 | 은행·지급인 |
BKPF · BSEG | 전표 헤더와 라인 | 헤더·라인 항목 |
SKAT · T003 | 계정 텍스트 · 전표유형 | 명칭 표시 |
도입 시 확인이 필요한 부분
기준일 시점 미결 재현은 반제 데이터를 되짚어야 해서 데이터 양이 많으면 부담이 됩니다. 조회 기간을 제한하거나 인덱스를 확인해야 합니다. 또 부분입금 관리 방식(잔액 차감인지 별도 라인인지)이 운영과 다르면 미결잔액이 어긋납니다.
참고 CDS 뷰
@AbapCatalog.sqlViewName: 'ZCARLIST'
@EndUserText.label: '채권 명세서 (Z)'
define view Z_C_AR_LIST
with parameters p_keydate : dats
as select from bsid as Item
inner join bkpf as Header on Item.bukrs = Header.bukrs
and Item.belnr = Header.belnr
and Item.gjahr = Header.gjahr
left outer join bsed as Note on Item.bukrs = Note.bukrs
and Item.belnr = Note.belnr
and Item.gjahr = Note.gjahr
{
key Item.bukrs, key Item.belnr, key Item.gjahr, key Item.buzei,
Header.blart, Header.bldat, Header.budat, Header.bktxt,
Header.waers, Header.kursf,
Item.hkont, Item.kunnr, Item.shkzg,
Item.wrbtr, Item.dmbtr,
Item.zfbdt as DueDate,
Item.zterm, Item.zuonr, Item.sgtxt, Item.vbund,
Note.bank as NoteBank,
Note.wname as Drawer
// 미결잔액 = 금액 − 부분입금, 기준일 미결 재현은 BSAD 를 되짚어 판정
}
매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 |
|---|---|
| 화면 골격 | sap.m.Page + 조회조건 영역 · 명세 테이블 |
| 조회조건 | sap.m.RadioButtonGroup — 조회 기준에 따라 필드 활성화 |
| 명세 테이블 | sap.ui.table.Table — 열이 많아 고정 열 적용 |
| 상태 표시 | sap.m.ObjectStatus — 미결 · 부분입금 · 만기 경과 |
| 전표 링크 | sap.m.Link — 회계전표 조회 연계 |
| 이벤트 | onPAI 단일 진입점, fcCode 로 분기 |
미결잔액을 별도 열로 둔 이유
금액 열만 있으면 부분입금이 들어온 건도 원래 금액으로 보입니다. 합계를 내면 실제 받을 돈보다 많게 나옵니다. 미결잔액을 따로 두면 그 열의 합계가 곧 남은 채권이 되고, 부분입금 여부는 상태로 구분됩니다.
파일 구성
| 경로 | 역할 |
|---|---|
manifest.json | 앱 디스크립터 — 앱 ID(zui5.arlist) · ko 로케일 |
view/Main.view.xml | 조회조건과 명세 테이블 |
controller/Main.controller.js | 조회 · 기준 전환 · 미결 재현 · CSV |
model/ModelMock.js | localdata JSON 읽기(Promise) |
js/formatter.js | 금액 · 일자 · 상태 색 포맷터 |
localdata/arlist.json | 채권 라인 96건 |
검증 결과
| 검증 항목 | 결과 |
|---|---|
| 원화환산 = 거래통화금액 × 환율 · 원화 전표 환율 1.0 | 통과 |
| 미결잔액 = 금액 − 부분입금 · 부분입금은 미결 건에만 | 통과 |
| 반제 건은 반제일자·전표·입력일 보유 · 미결 건은 없음 | 통과 |
| 취소전표는 조회 대상에서 제외 | 통과 |
| 어음 라인은 은행·지급인 보유 | 통과 |
| XML · JSON 전체 파싱 | 오류 0건 |
| 화면 렌더링 — 실브라우저 조회 → 기준 전환 후 캡처 | 3/3 |
| 테마 런타임 확인 | sap_horizon |
자주 묻는 질문
미결항목과 전체항목 중 언제 무엇을 쓰나요?
잔액을 확인할 때는 미결항목, 거래 내역을 추적할 때는 전체항목입니다. 결산 잔액 확인은 앞쪽, 고객 문의 대응은 뒤쪽이 편합니다.
부분입금은 왜 별도로 관리하나요?
일부만 들어와도 원 채권은 남아 있기 때문입니다. 금액을 그대로 두고 부분입금을 차감해 미결잔액을 계산하면 원 거래 금액과 남은 금액을 모두 알 수 있습니다.
받을어음도 같은 화면에서 보는 이유는?
고객 입장에서는 같은 채권입니다. 현금으로 받든 어음으로 받든 받을 돈이므로, 고객별 총 채권을 보려면 함께 있어야 합니다.
SAP 표준 기능과 어떻게 이어지나요?
채권 데이터는 표준 미결·반제 구조 그대로입니다. 이 화면은 사양서 출력 필드를 모두 담고 부분입금·미결잔액과 기준일 미결 재현을 더한 확장입니다.