[SAP] 개발 없이 이연 수익 프로세스 구현하기

Eugenie Kim·2025년 7월 9일

SAP BRIM

목록 보기
5/6
post-thumbnail

보통 가전 제품의 경우, 매출 부가세는 차치하고 물품이 안전하게 고객에게 인도되더라도 판매가의 전액을 매출로 인식할 수 없는게 일반적이다. 그 이유는 바로 H/W 상품에 포함되는 무상 보증 기간(보통 1-2년) 때문이다.

실제로 이번 PoC의 비즈니스 분석 단계에서 도출된 요구사항 중 하나가 H/W에 포함되는 무상 보증 금액만큼을 충당 부채로 잡았다가 상품 매출로 다시 전환하는 프로세스를 구현해달라는 것이었다.

나는 이 요구사항을 듣자마자 FI-CA 모듈의 Time-Based Deferred Revenue Postings 기능이 생각났고, 여러 차례 시도 끝에 구현에 성공했다 ☺️

💡 Time-Based Deferred Revenue Postings란 ❓

기표 시점 즉시 인식이 불가한 수익을 부채로 기록한 뒤, 특정 시점에 자동으로 수익 전환하는 FI-CA의 스탠다드 기능이다.

인보이싱을 통해 생성된 FI-CA 문서는 실제 수익 계정으로 연결되고, 별도의 전환 기표 프로그램(Mass Run)을 통해 부채 계정으로 이관된다. 향후 실제 수익으로 인식해야하는 시점이 도래하면, 그 때 해당 금액을 수익 계정으로 전환 기표 처리하는 방식이다.


💼 Business Case


👉 N년 무상 보증애 대한 회계 처리가 필요한 H/W 상품

  • e.g. 냉장고, 노트북 등


👉 N개월 주기로 서비스를 제공하는 월간 구독 상품

  • e.g. 3개월 주기의 정수기 필터 방문 케어 서비스 등


⛓️‍💥 프로세스 개요

🔹 프로세스 흐름 요약

1️⃣ Billable Item 생성

👉 SOM 또는 CC로부터 BIT 수신 및 생성 시, 시간 기반 이연 수익을 처리하기 위해 아래와 같이 BIT 필드 값을 수신

  • 시간 기반 이연 수익 관련 BIT 필드
    ⇒ DefRevCat. (DEFREV_CAT) : ‘01’ (Time-Based)
    ⇒ Posting Date (DEFREV_PDATE) : 수익 인식 예정일

    °수익 인식 예정일은 인보이싱 날짜보다 항상 미래여야 함


2️⃣ CI 인보이싱

👉 위의 필드 값을 충족하는 BIT에 대하여 인보이싱 실행 시 'DEF_REVENUES' Function 실행

  • 컨피그를 통해 인보이싱 프로세스에 'DEF_REVENUES' Function 추가 및 활성화 필요


👉 추후 G/L 전송 테스트를 위해 인보이싱 시 조정키 따로 복사 및 저장 필요


3️⃣ FI-CA 문서 + 이연 수익 트리거 생성

👉 Time-Based Deferred Revenue Postings 기능을 사용하더라도 FI-CA 문서의 계정 결정은 실제 수익 계정으로 결정됨

왜 인보이싱 시점에 바로 이연 수익 계정으로 결정하지 않고,
Revenue → Liability → Revenue의 프로세스를 가지고 있을까 ❓


그 이유는 IFRS15에 따라 거래의 본질 보존을 위한 SAP의 설계일 것으로 추측함

회계에서는 원장에 기록되는 최초의 계정이 거래의 본질을 보여주어야 하는데, 원본 전표를 이연 수익 계정(부채)으로 기록하면 BSEG 테이블 조회 시 해당 항목이 본래 어떤 수익인지 즉시 파악 불가능함

이러한 이유로 FI-CA 원본 문서에는 실제 수익 계정을 기록하고, 이연 수익 전표는 별도로 생성하여 원본과 조정 내역을 모두 보존하도록 설계한 것으로 보임


👉 'DEF_REVENUES' Function이 실행되면, FI-CA 문서와 함께 이연 수익 트리거가 생성

  • 이연 수익 처리 항목을 포함하는 FI-CA 문서 조회 시 Trigger도 함께 확인 가능
    • Trigger 조회 방법 : Posting Documnet 조회 화면 내 상단 메뉴바 → Extras → Deferred Revenues


👉 각 라인별 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 : 계정 전환의 전체 대상 금액


4️⃣ 이연 수익 Mass Run을 통한 계정 이관

T-CODE : FPDR


👉 FPDR 대량 배치 프로그램을 통해 계정 이관이 필요한 항목들을 대량으로 병렬 처리할 수 있음


👉 General Selections 탭의 데이터를 기준으로 계정 이관 처리됨

  • Company Code : 회사 코드
  • Selection Date : 계정 이관의 기준 일자
  • Alt. Pstg Date : 대체 전기 일자
    °보통 월단위로 회계기간을 닫기 때문에 월이 바뀌면 대체 전기 일자를 사용해야한다.
  • Document Date : 원본 문서(FI-CA 문서)의 증빙 일자
  • Reconcil. Key : 조정키



👉 Program Run 저장



👉 Program Run 실행

  • Background - Start Immediate
    : 프로그램 즉시 실행
  • Background - Scheduled
    : 프로그램의 실행 시점 지정 가능



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

  • Parameter
    • Not Saved : 저장 이전
    • Saved : 저장 완료

  • Program Run
    • Not Scheduled : 실행 이전
    • Currently Running : 실행 중
    • Completed : 실행 완료



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



T-CODE : FPDR_DISPLAY


👉 위의 T-CODE를 통해 FPDR 프로그램의 실행 결과를 확인할 수 있음


👉 조회 시 각각의 Run을 식별할 수 있도록 앞서 사용한 Run ID 입력 후, 하단의 Time-Based Deferred Revenues 체크 ✅



👉 조회 실행 시 해당 Run을 통해 부채 계정으로 이관 완료된 항목 확인 가능


5️⃣ FI-CA 문서 내 'Deferred Revenue Posting Trigger' 내역 확인

T-CODE : FPE3


👉 FI-CA 문서 조회 프로그램을 통해 부채 전환 기표 여부가 FI-CA 문서에도 제대로 반영되었는지 확인


6️⃣ G/L 전송

T-CODE : FPG4 / FPG1


👉 G/L 요약 전송 배치 주기는 기업마다 상이하지만, 보통 인보이싱과 이연 수익의 전환은 당일에 함께 처리


7️⃣ FI 문서 확인

T-CODE : FPG4 / FPG1


👉 전송된 G/L 요약 전표를 조회하여 수익의 이연이 필요한 항목들이 정상적으로 부채 계정에 기록됨을 확인


8️⃣ FPDR Mass Run을 통한 수익 계정 재이관


👉 앞선 4️⃣번의 FPDR Mass Run 실행 과정을 반복하여 처리


🪄 CI Configuration

1️⃣ BIT 클래스에 Interface Component 추가

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' 추가

  • Interface Component
    • DEF_REVENUES : Deferred Revenues - Time Based



👉 BIT Class 저장 및 활성화


2️⃣ 앞서 추가한 Interface Component 생성

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' 버튼 클릭


3️⃣ 앞서 정의한 BIT 클래스에 대한 Maintenance UI 생성

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 생성


4️⃣ 인보이싱 프로세스에 'DEF_REVENUES' Function 추가

FICAIMG → Contract Accounts Receivable and Payable → Convergent Invoicing → Invoicing → Invoicing Processes → Define Invoicing Processes


👉 인보이싱 실행 단계에서 시간 기반 이연 수익에 대한 트리거가 생성되도록 'DEF_REVENUES' Function 활성화

  • 앞서 활성화한 BIT 클래스의 이연 수익 관련 필드들의 값을 기준으로, 이연 수익 트리거 문서가 생성됨



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

  • Error MSG : Invoicing Function DEF_REVENUES is not active in invoicing process Z1


5️⃣ 인보이싱을 통해 생성되는 일반 FI-CA 문서는 실제 수익 계정으로 결정

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의 계정은 이연 수익 계정이 아닌 반드시 ‘실제 수익 계정’으로 결정해야 함

🪄 FI-CA Configuration

1️⃣ 이연 수익 트리거에 의해 수익 계정을 대체할 G/L 계정(부채)를 결정

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 계정(실제 수익 계정)을 대신할 이연 수익 계정을 정의

  • G/L Account : 실제 수익 계정 (Posting Area 2610에서 정의한 계정과 일치해야 함)
  • Delayed Revenue Acct : 이연 수익 계정

2️⃣ 이연 수익에서 실제 수익으로 계정 전환 시 사용할 전표 유형(Document Type) 정의

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를 위한 세팅이기 때문에 별도의 전표 유형을 구분하지 않았음



🔗 Reference

1️⃣ SAP Help Portal - Deferred Revenue Postings

2️⃣ SAP Help Portal - Time-Based Deferred Revenue Postings - 1

3️⃣ SAP Help Portal - Time-Based DeferredRevenue Postings - 2

4️⃣ SAP for Me - FPDR: Posting future Time-Based Deferred Revenues with current posting date

5️⃣ SAP Help Portal - Functions for Scheduling Program Runs

profile
SAP FI Consultant

0개의 댓글