
보통 가전 제품의 경우, 매출 부가세는 차치하고 물품이 안전하게 고객에게 인도되더라도 판매가의 전액을 매출로 인식할 수 없는게 일반적이다. 그 이유는 바로 H/W 상품에 포함되는 무상 보증 기간(보통 1-2년) 때문이다.
실제로 이번 PoC의 비즈니스 분석 단계에서 도출된 요구사항 중 하나가 H/W에 포함되는 무상 보증 금액만큼을 충당 부채로 잡았다가 상품 매출로 다시 전환하는 프로세스를 구현해달라는 것이었다.
나는 이 요구사항을 듣자마자 FI-CA 모듈의 Time-Based Deferred Revenue Postings 기능이 생각났고, 여러 차례 시도 끝에 구현에 성공했다 ☺️
기표 시점 즉시 인식이 불가한 수익을 부채로 기록한 뒤, 특정 시점에 자동으로 수익 전환하는 FI-CA의 스탠다드 기능이다.
인보이싱을 통해 생성된 FI-CA 문서는 실제 수익 계정으로 연결되고, 별도의 전환 기표 프로그램(Mass Run)을 통해 부채 계정으로 이관된다. 향후 실제 수익으로 인식해야하는 시점이 도래하면, 그 때 해당 금액을 수익 계정으로 전환 기표 처리하는 방식이다.
👉 N년 무상 보증애 대한 회계 처리가 필요한 H/W 상품
👉 N개월 주기로 서비스를 제공하는 월간 구독 상품

👉 SOM 또는 CC로부터 BIT 수신 및 생성 시, 시간 기반 이연 수익을 처리하기 위해 아래와 같이 BIT 필드 값을 수신
시간 기반 이연 수익 관련 BIT 필드
⇒ DefRevCat. (DEFREV_CAT) : ‘01’ (Time-Based)
⇒ Posting Date (DEFREV_PDATE) : 수익 인식 예정일
°수익 인식 예정일은 인보이싱 날짜보다 항상 미래여야 함

👉 위의 필드 값을 충족하는 BIT에 대하여 인보이싱 실행 시 'DEF_REVENUES' Function 실행
👉 추후 G/L 전송 테스트를 위해 인보이싱 시 조정키 따로 복사 및 저장 필요

👉 Time-Based Deferred Revenue Postings 기능을 사용하더라도 FI-CA 문서의 계정 결정은 실제 수익 계정으로 결정됨
왜 인보이싱 시점에 바로 이연 수익 계정으로 결정하지 않고,
Revenue → Liability → Revenue의 프로세스를 가지고 있을까 ❓
그 이유는 IFRS15에 따라 거래의 본질 보존을 위한 SAP의 설계일 것으로 추측함
회계에서는 원장에 기록되는 최초의 계정이 거래의 본질을 보여주어야 하는데, 원본 전표를 이연 수익 계정(부채)으로 기록하면 BSEG 테이블 조회 시 해당 항목이 본래 어떤 수익인지 즉시 파악 불가능함
이러한 이유로 FI-CA 원본 문서에는 실제 수익 계정을 기록하고, 이연 수익 전표는 별도로 생성하여 원본과 조정 내역을 모두 보존하도록 설계한 것으로 보임
👉 'DEF_REVENUES' Function이 실행되면, FI-CA 문서와 함께 이연 수익 트리거가 생성
👉 각 라인별 Trigger는 계정 이관 시 계정에 잡힌 총 금액을 전환함 (일부 금액 이관 불가)
👉 Trigger 상세 조회 화면을 통해 이연 수익 계정 이관 트리거와 실제 수익 계정으로의 재이관 트리거 확인 가능
Deferred revenue posting trigger 필드 정의
• Posted : 이관 여부
• Reversed : Reverse 여부
• Doc. number : FI-CA 문서 번호
• Item : 원본 문서(FI-CA 문서)의 아이템 항번
• Date : 이관 일자
• Subitem : 트리거 하위 항목 (Reversal 처리 용도)
°원본 문서(FI-CA 문서)가 Reverse되거나 FPDR Mass Run 실행 후 이관 전표가 Reverse되는 경우 사용
• Amount: transaction curr. : 거래 통화 기준 금액
• Loc. curr. amount : 현지 통화 기준 금액금액 결정 절차
→ 필드를 비워둘 경우 : 문서 헤더의 환율 or IMG를 통해 정의한 환율을 기준으로 거래 통화 기준 금액을 변환
→ 금액을 수동 입력할 경우 : 입력된 금액 사용• Run Date : FPDR Mass Run의 식별 요소 (실제 실행일이 아닐 수도 있음)
• Run ID : FPDR Mass Run의 식별 요소 (Run Date + Run ID의 조합 = FPDR의 Run(실행)의 Key)
• Reconcil. Key : FPDR Mass Run 실행 시 생성되는 조정키 (이연 수익 이관 or 실제 수익 재이관을 위한 조정키로, 인보이싱 시 생성되는 조정키와는 별개)
• Deferred G/L Account : 이연 수익 계정
• Deferred business area : 이연 수익·비용 전표를 일반 전표와 구분해 관리하기 위해 설정하는 별도의 사업 영역
°하단의 Screen Shot은 실제 프로젝트가 아닌 PoC를 위한 세팅으로, 사업 영역을 별도로 구분하지 않았음
• G/L Account : 실제 수익 계정
• Business Area : 일반 수익 전표를 관리하기 위한 사업 영역
- Totals 필드 정의
• Trans. post. revs : 이연 수익 계정에서 실제 수익 계정으로 이관된 금액 (거래 통화 기준)
• Deferred Revenues : 이연 수익 계정으로 이관 예정이거나, 이미 이관된 금액 (거래 통화 기준)
• Revenues in total : 계정 전환의 전체 대상 금액

T-CODE : FPDR
👉 FPDR 대량 배치 프로그램을 통해 계정 이관이 필요한 항목들을 대량으로 병렬 처리할 수 있음
👉 General Selections 탭의 데이터를 기준으로 계정 이관 처리됨

👉 Program Run 저장

👉 Program Run 실행

👉 Run 실행 시 'Run Status'를 통해 현재 프로그램의 상태를 알 수 있음

👉 Run 즉시 실행 후 Run Status를 새로고침하여 'Completed' 상태값 확인 필요

T-CODE : FPDR_DISPLAY
👉 위의 T-CODE를 통해 FPDR 프로그램의 실행 결과를 확인할 수 있음
👉 조회 시 각각의 Run을 식별할 수 있도록 앞서 사용한 Run ID 입력 후, 하단의 Time-Based Deferred Revenues 체크 ✅

👉 조회 실행 시 해당 Run을 통해 부채 계정으로 이관 완료된 항목 확인 가능
T-CODE : FPE3
👉 FI-CA 문서 조회 프로그램을 통해 부채 전환 기표 여부가 FI-CA 문서에도 제대로 반영되었는지 확인
T-CODE : FPG4 / FPG1
👉 G/L 요약 전송 배치 주기는 기업마다 상이하지만, 보통 인보이싱과 이연 수익의 전환은 당일에 함께 처리
T-CODE : FPG4 / FPG1
👉 전송된 G/L 요약 전표를 조회하여 수익의 이연이 필요한 항목들이 정상적으로 부채 계정에 기록됨을 확인
👉 앞선 4️⃣번의 FPDR Mass Run 실행 과정을 반복하여 처리
FICAIMG → Contract Accounts Receivable and Payable → Convergent Invoicing → Basic Functions → Billable Items → Billable Item Classes → Maintain Billable Item Classes
👉 시간 기반 이연 수익 처리를 위해서는 필요한 값들을 BIT 단계부터 필드에 저장해야 하므로, BIT Class에 Interface Component 'DEF_REVENUES' 추가

👉 BIT Class 저장 및 활성화

FICAIMG → Contract Accounts Receivable and Payable → Convergent Invoicing → Basic Functions → Billable Items → Billable Item Classes → Generate Interfaces for Billable Item Classes
👉 BIT 클래스에 Interface Component를 추가하더라도 그 자체로는 DB에 테이블이 자동 생성되지 않기 때문에, 연결한 Interface Component를 기준으로 관련 필드가 담긴 Structure를 물리적으로 생성하기 위해 'Generate' 버튼 클릭

FICAIMG → Contract Accounts Receivable and Payable → Convergent Invoicing → Basic Functions → Billable Items → Billable Item Classes → Generate Maintenance Dialogs for Billable Item Classes
👉 BIT Class에 대해 정의한 Interface Component와 그에 따른 필드 구조를 사용자가 직접 확인 및 유지보수할 수 있도록 Maintenance UI 생성


FICAIMG → Contract Accounts Receivable and Payable → Convergent Invoicing → Invoicing → Invoicing Processes → Define Invoicing Processes
👉 인보이싱 실행 단계에서 시간 기반 이연 수익에 대한 트리거가 생성되도록 'DEF_REVENUES' Function 활성화

🚩 해당 컨피그 누락 시 하단과 같은 에러 발생

FICAIMG → Contract Accounts Receivable and Payable → Convergent Invoicing → Invoicing → Documents → Posting Documents → Define Account Assignment of General Ledger Items
👉 시간 기반 이연 수익 기능은 "Actual Revenue → Deferred Revenue → Actual Revenue" 전환을 기본 전제로 하기 때문에, FI-CA 원본 문서의 계정 결정이 수익 계정이어야만 이후 전환 로직이 올바르게 작동함
👉 따라서 Posting Area 2610의 계정은 이연 수익 계정이 아닌 반드시 ‘실제 수익 계정’으로 결정해야 함

FICAIMG → Contract Accounts Receivable and Payable → Business Transactions → Deferred Revenue Postings → Maintain Account Determination for Time-Based Deferred Revenue Postings
👉 Posting Area 2610에서 정의한 G/L 계정(실제 수익 계정)을 대신할 이연 수익 계정을 정의

FICAIMG → Contract Accounts Receivable and Payable → Business Transactions → Deferred Revenue Postings → Maintain Default Values for Transfer Posting Run
👉 전표 유형이 없을 경우 SAP FI-CA 전표 생성이 불가하기 때문에, 이연 수익을 실제 수익으로 전환할 때 생성되는 전표의 유형을 사전에 지정해야 함
👉 Deferred Revenue 전표는 일반 전표와 다른 성격을 가지므로, 별도의 전표 유형을 따로 생성하여 사용할 것을 권장함

°위의 Screen Shot은 실제 프로젝트가 아닌 PoC를 위한 세팅이기 때문에 별도의 전표 유형을 구분하지 않았음