📖 개요: 선급금이 외상매입금이 아닌 다른 계정에 잡히는 이유
SAP FI에서 벤더에게 선급금을 지급하고 나서 재무제표나 G/L 잔액을 조회하면, 분명 벤더 앞으로 전기했는데 외상매입금 계정이 아닌 전혀 다른 계정에 금액이 표시되는 것을 보게 됩니다. 처음 접하면 "전기가 잘못된 건가?"라고 오해하기 쉽지만, 이것은 특별원장(Special G/L) 거래가 재조정계정을 대체계정으로 바꿔치기하는 의도된 동작입니다. 이 글은 그 구조를 설정 테이블 수준까지 파고들어 설명하는 실전 예제입니다.
- 재조정계정(Reconciliation Account)과 대체계정(Alternative Reconciliation Account)의 관계를 설명할 수 있다
- Special G/L Indicator와 T074 설정 테이블의 역할을 이해한다
- 선급금 요청(F-47) → 지급(F-48) → 청산(F-54)의 전체 흐름을 전표 단위로 재현할 수 있다
- FBL1N, FS10N에서 특별원장 잔액이 어디에 보이는지 정확히 찾을 수 있다
📚 이 글을 읽기 전에 알아두면 좋은 것
FI 총계정원장과 보조원장(AP/AR)의 관계, 즉 벤더/고객 마스터에 재조정계정이 지정되어 있고 보조원장 전기가 자동으로 G/L에 반영된다는 기본 구조를 알고 있으면 좋습니다. 전기키(Posting Key) 개념과 FB60, FBL1N 같은 기본 트랜잭션을 한 번이라도 사용해 봤다면 충분합니다. 차변/대변과 재무상태표의 자산·부채 구분 같은 회계 기초도 전제합니다.
🔧 환경 및 준비 사항
이 글의 예제는 SAP S/4HANA 2023 (온프레미스) 기준으로 작성했으며, ECC 6.0에서도 트랜잭션 코드와 테이블 구조가 거의 동일하게 동작합니다. S/4HANA에서는 분개 데이터가 유니버설 저널(ACDOCA)에 저장되지만, 특별원장 지시자 필드(UMSKZ)와 T074 설정은 그대로 유지됩니다.
- 테스트용 회사코드 (예제에서는
K100사용) - 벤더 마스터 1건 — 재조정계정이 지정된 상태
- IMG 접근 권한 — 재무회계 > 외상매입금/외상매출금 > 거래유형 > 선급금 설정 (트랜잭션
OBYR) - G/L 계정 2개: 일반 재조정계정(외상매입금)과 대체계정(선급금) — 대체계정도 반드시 재조정계정 유형 K로 생성되어야 합니다
💡 핵심 개념: 재조정계정 스왑 구조
보조원장 회계의 대원칙은 "벤더 앞으로 전기하면 그 벤더 마스터에 지정된 재조정계정에 자동 반영된다"입니다. 그런데 여기에 회계적 딜레마가 하나 있습니다. 벤더에 대한 채무(외상매입금)는 부채지만, 그 벤더에게 미리 지급한 선급금은 자산입니다. 둘 다 같은 벤더 계정에 전기되는데, 하나의 재조정계정에 섞어버리면 재무상태표에서 자산과 부채가 상계되어 표시됩니다. 대부분의 회계기준에서 이런 상계 표시는 허용되지 않으므로, 시스템 차원에서 분리 장치가 필요합니다.
그 장치가 바로 특별원장 거래(Special G/L Transaction)입니다. 비유하자면 벤더 계정은 하나의 우편함이지만, 특별원장 지시자는 우편함 안의 분류 칸막이입니다. 겉에서 보면 같은 벤더 앞으로 온 우편이지만, 지시자가 붙은 우편은 다른 칸(대체계정)으로 자동 분류됩니다.
동작 원리를 순서대로 풀면 이렇습니다.
- 전표 입력 시 전기키(벤더 차변 29, 대변 39 등)와 함께 특별원장 지시자(예:
A= 선급금)를 입력합니다. 이 값은BSEG-UMSKZ(S/4HANA에서는ACDOCA의 동일 필드)에 저장됩니다. - 시스템은 계정유형(K=벤더/D=고객) + 재조정계정 + 지시자 조합으로 테이블
T074를 조회합니다. T074에 정의된 대체계정이 있으면, 벤더 마스터의 원래 재조정계정 대신 대체계정으로 G/L 전기가 이루어집니다.
지시자 자체의 정의(명칭, 계정유형, 기표 속성)는 T074U에, 화면 텍스트는 T074T에 저장됩니다. 자주 쓰는 지시자는 다음과 같습니다.
| 지시자 | 용도 | 성격 |
|---|---|---|
| A | 선급금 / 선수금 | 실전기 (재무제표 반영) |
| F | 선급금 요청 | 비망항목 (Noted Item, 잔액 미반영) |
| G | 지급보증 | 통계 전기 (자동 상대계정) |
| H | 보증금 | 실전기 |
특히 F(선급금 요청)는 비망항목이라는 점이 중요합니다. G/L 잔액을 전혀 움직이지 않는 한 줄짜리 메모 전표로, 자동지급 프로그램(F110)이 이를 읽어 실제 선급금 지급을 생성하는 트리거 역할만 합니다. 재무제표에는 실전기 유형인 A만 나타납니다. 이 구분을 모르면 "요청을 전기했는데 잔액이 안 바뀐다"는 혼란이 생깁니다.
💻 실전 예제: 선급금 전 과정 3단계
가상 시나리오로 진행합니다. 회사코드 K100이 설비 부품 벤더 한빛정밀(벤더번호 HB2001)에게 계약금 명목으로 총 계약액의 30%인 3,000,000원을 선지급합니다. 한빛정밀의 마스터 재조정계정은 21100000(외상매입금), 선급금 대체계정은 13500000(선급금)입니다.
1단계 — 설정 확인과 기본 전기
먼저 OBYR에서 계정유형 K, 지시자 A를 선택하고 차트오브어카운트별 매핑을 확인합니다. 개념적으로 T074에 저장되는 내용은 아래와 같습니다.
-- T074 매핑 확인 (SE16N 또는 개념 쿼리)
SELECT ktopl, -- 차트오브어카운트
koart, -- 계정유형 'K'
umskz, -- 특별원장 지시자 'A'
hkont, -- 원래 재조정계정 21100000
skont -- 대체(특별)계정 13500000
FROM t074
WHERE koart = 'K' AND umskz = 'A';
이제 F-48로 선급금을 전기합니다. 벤더 HB2001, 지시자 A, 금액 3,000,000, 은행계정 11300000을 입력하면 생성되는 전표는 다음과 같습니다.
* 전표 1900000123 (전기일 2026-08-09, 회사코드 K100)
* 항목 전기키 계정 차변/대변 금액
* 1 29A HB2001 (한빛정밀) 차변 3,000,000 " G/L에는 13500000으로 반영
* 2 50 11300000 (보통예금) 대변 3,000,000
핵심은 항목 1입니다. 화면에는 벤더 번호가 보이지만, G/L 관점에서는 마스터의 21100000이 아니라 T074가 지정한 13500000(선급금) 에 차변 3,000,000이 기록됩니다. FS10N으로 13500000을 조회하면 잔액이 보이고, 21100000에는 아무 변화가 없습니다. 이것이 "선급금이 다른 계정에 뜨는" 현상의 정체입니다.
2단계 — 실무 흐름: 요청 전기와 검증 로직
실무에서는 F-48을 바로 치기보다 F-47로 선급금 요청(지시자 F, 비망항목)을 먼저 등록하고, F110 자동지급이나 F-48에서 요청을 참조해 지급합니다. 이때 미결 특별원장 항목을 모니터링하는 검증 리포트를 간단히 만들어 두면 마감 때 유용합니다.
REPORT zfi_sgl_monitor.
PARAMETERS: p_bukrs TYPE bukrs DEFAULT 'K100',
p_umskz TYPE umskz DEFAULT 'A'.
START-OF-SELECTION.
" 미결 벤더 특별원장 항목 조회 (S/4HANA: BSIK는 ACDOCA 기반 호환 뷰)
SELECT lifnr, belnr, budat, umskz, dmbtr, shkzg
FROM bsik
WHERE bukrs = @p_bukrs
AND umskz = @p_umskz
INTO TABLE @DATA(lt_items).
IF sy-subrc <> 0.
MESSAGE '조회된 미결 선급금 항목이 없습니다' TYPE 'S' DISPLAY LIKE 'W'.
RETURN.
ENDIF.
LOOP AT lt_items INTO DATA(ls_item).
" 선급금(지시자 A)인데 대변(S/H 중 H)이면 이상 징후 → 로그 남기기
IF ls_item-shkzg = 'H'.
WRITE: / |경고: { ls_item-lifnr } 전표 { ls_item-belnr } 방향 이상|.
ELSE.
WRITE: / |{ ls_item-lifnr } { ls_item-belnr } { ls_item-dmbtr } 정상|.
ENDIF.
ENDLOOP.
이후 한빛정밀이 실제 세금계산서를 발행하면 FB60(또는 MM 연동 시 MIRO)으로 채무 10,000,000원을 전기합니다. 이 전표는 지시자가 없으므로 정상적으로 21100000에 대변 기록됩니다. 이 시점의 상태는 "선급금 자산 3,000,000 + 채무 10,000,000"이 각각 다른 G/L 계정에 상계 없이 표시되는 것이며, 이것이 특별원장 설계의 목적입니다.
3단계 — 청산과 프로덕션 관점 점검
송장이 들어왔으니 선급금을 채무와 상계해야 합니다. F-54(선급금 청산)를 실행하면 특별원장(13500000)에 있던 3,000,000이 일반 재조정계정 영역으로 이관되고, 이후 F-44 또는 지급 시점에 최종 상계됩니다.
* F-54 청산 전표 1700000456
* 1 39A HB2001 대변 3,000,000 " 특별원장 항목 소멸 → 13500000 감소
* 2 26 HB2001 차변 3,000,000 " 일반 미결항목 생성 → 21100000 차변
* 결과: 벤더 순채무 7,000,000 = 10,000,000(송장) - 3,000,000(선급금 이관)
프로덕션 운영에서는 다음을 함께 점검하는 것이 일반적으로 권장됩니다.
- 성능: 대량 조회 시 BSIK/BSAK 대신
ACDOCA기반 CDS 뷰(예:I_OperationalAcctgDocItem)에SpecialGLCode필터를 걸면 인덱스 활용이 좋습니다. - 통제: 검증(Validation,
OB28)으로 특정 지시자는 특정 계정그룹 벤더에만 허용하도록 제한할 수 있습니다. - 권한: 특별원장 전기는 권한객체
F_BKPF_KOA(계정유형별 권한)로 분리 통제하고, 선급금 계정은 마감 시FBL1N에서 지시자 체크박스(특별원장 거래 포함)를 켜고 미청산 잔액 제로 여부를 확인하는 절차를 테스트 케이스에 포함합니다.
⚠️ 자주 겪는 문제와 해결 방법
Q1. FBL1N에서 벤더를 조회했는데 선급금이 안 보입니다.
FBL1N 초기화면의 항목유형에서 "특별원장 거래" 체크박스가 기본 해제되어 있는 경우가 많습니다. 일반 미결항목만 기본 표시되므로, 특별원장/비망항목 체크박스를 켜야 지시자 A/F 항목이 함께 나옵니다. 조회 화면 문제일 뿐 전기는 정상입니다.
Q2. F-48에서 "Special G/L indicator A is not defined here" 류의 오류가 납니다.
OBYR에서 해당 차트오브어카운트 + 재조정계정 조합에 대체계정이 매핑되지 않은 경우입니다. 벤더의 재조정계정이 T074에 등록된 계정과 다르면(예: 신규 계정그룹 도입 후 매핑 누락) 같은 오류가 납니다. T074에 그 재조정계정 행이 존재하는지 확인하세요.
Q3. 대체계정을 지정했는데 저장 시 계정 오류가 발생합니다.
대체계정도 반드시 재조정계정 유형 K로 생성해야 합니다. 일반 G/L 계정을 지정하면 전기 시점에 거부됩니다. 또한 재조정계정은 직접 전기가 불가능하므로, 수기로 13500000에 직접 전기하려는 시도 역시 막히는 것이 정상입니다.
Q4. F-47 요청을 전기했는데 재무제표 잔액이 그대로입니다.
지시자 F는 비망항목이라 G/L 잔액에 영향이 없습니다. F110 또는 F-48로 실제 지급이 이루어져야 지시자 A 실전기가 생성되며 그때 비로소 선급금 계정 잔액이 움직입니다.
🚀 이어서 살펴보면 좋은 주제
이 글의 구조를 이해했다면, 고객 측 선수금(지시자 A, OBXR 설정)과 어음(Bill of Exchange) 처리로 확장해 보는 것을 권합니다. MM 구매오러더와 연동된 선급금(구매오더 참조 F-47, ME2DP 모니터링), F110 자동지급에서 선급금 요청을 지급 제안에 포함시키는 설정, 그리고 S/4HANA의 재무제표 버전(FSE2)에서 선급금 계정을 자산 노드에 배치하는 작업이 자연스러운 다음 학습 순서입니다. 검증/대체(GGB1) 기반의 전기 통제도 함께 보면 좋습니다.
📚 더 깊이 볼 만한 문서
댓글 0
아직 댓글이 없습니다.