SAP 최초채택 간주원가 면제 점검 — 전환일 개시 장부금액부터 이연법인세·감가상각까지 다시 맞춰 보는 화면
간주원가 재계산 · 장부 개시 금액과의 차이 · 이연법인세와 이익잉여금 조정 · 당월 감가상각 대사 · 점검 코드 R01~R07 — 소개 영상과 실제 화면 8종, 그리고 CDS 코드까지
소개 영상1분 11초9개 장면음성 안내·자막표지 → 조회 → 점검 코드 → 감가상각 라인 → 분류·방식 → 상세 → 대사 → 정리
개발 배경 — 이 앱을 사용해야 하는 이유
한국채택국제회계기준(K-IFRS)을 처음 적용하는 회사에는 전환일이라는 날짜가 하나 생깁니다. 그날의 유형자산 장부금액을 종전 회계기준 그대로 가져갈지, 전환일의 공정가치나 종전 재평가액을 간주원가(deemed cost)로 삼을지를 자산마다 정하고, 그 선택이 개시 장부금액·이연법인세·이익잉여금·그 뒤의 감가상각까지 줄줄이 이어집니다. 관련 요구사항은 K-IFRS 제1101호 「한국채택국제회계기준의 최초채택」의 면제 규정이고, 감가상각은 제1016호, 이연법인세는 제1012호와 맞닿습니다. 면제의 적용 범위와 경과규정의 세부는 이 글에서 확인하지 않았으므로 확인 필요이며, 기준서 원문으로 확인해 주세요.
전환 작업은 대개 엑셀에서 시작합니다. 자산 목록에 평가 금액을 붙이고, 조정액과 이연법인세를 계산하고, 장부에 올린 금액과 맞춰 보는 표를 자산 수만큼 만듭니다. 문제는 그 표가 한 번 맞춰 보고 끝나지 않는다는 점입니다. 개시 금액이 일부만 반영됐을 수도 있고, 이연법인세가 빠졌을 수도 있고, 평가 금액은 새로 바꿨는데 감가상각은 종전 장부금액으로 계속 돌고 있을 수도 있습니다. 매달 결산에서 같은 질문이 돌아옵니다.
이 앱은 그 점검을 한 화면에 모읍니다. 자산 한 건씩 재계산한 값과 장부 값을 나란히 놓고, 어긋나는 건에는 점검 코드(R01~R07)를 하나만 붙여 무엇부터 확인할지 알려 줍니다. 화면은 조회·점검·대사를 돕는 도구이며, 간주원가 선택의 타당성과 최종 판단은 회사와 감사인이 합니다. 결과는 언제나 "점검 필요"·"확인 필요"로만 표기하고 원인을 단정하지 않습니다.
자산마다 표를 따로 만들면 합계가 갈라진다
자산 분류별 표, 적용 방식별 표, 감가상각 표를 각각 만들면 같은 개시 장부금액이 세 군데에 따로 적힙니다. 하나를 고치면 나머지는 그대로라 합계가 어긋나고, 어긋난 이유를 찾는 데 하루가 갑니다. 이 앱은 자산 명세 한 벌을 원천으로 두고 분류별·방식별 집계를 그 명세에서 합산합니다. 집계가 명세와 같은지는 대사 01·04가 매번 확인합니다.
조정액에서 이연법인세와 이익잉여금이 갈라지는 자리
간주원가가 종전 장부금액보다 크면 그 차이가 조정액이고, 조정액은 이연법인세와 이익잉여금 조정으로 나뉩니다. 이 나눔이 빠지면 자본과 부채가 함께 틀어집니다. 앱은 조정액 × 세율로 이연법인세를 재계산하고(샘플 세율 22%, 회사 입력 가정이라 확인 필요) 남는 금액을 이익잉여금 조정으로 둡니다. 두 금액의 합이 조정액과 같은지는 대사 03이, 장부의 이연법인세와 어긋나는 건은 점검 코드 R06이 가립니다.
평가 금액을 바꿨는데 감가상각은 그대로인 경우
개시 장부금액이 올라가면 월 상각액도 올라야 합니다. 그런데 자산 마스터의 상각 기준이 종전 금액으로 남아 있으면 장부는 계속 예전 금액으로 상각합니다. 앱은 (재계산 개시 금액 − 잔존가치) ÷ 잔여 내용연수로 당월 상각을 다시 계산하고 장부 상각과 비교해 R07을 붙입니다. 최근 3개월의 상각 줄도 함께 만들어 두어 어느 달부터 어긋났는지 볼 수 있습니다.
사용 방법
- 조회조건 입력 — 기준 연월(6자리, 필수)을 확인합니다. 자산 분류·적용 방식·점검 코드·점검 결과는 선택이며 비워 두면 전체입니다.
- 조회 — 조회 버튼을 누르거나 기준 연월 칸에서 Enter 키를 누릅니다. 화면을 처음 열면 기본 기준 연월로 자동 조회합니다.
- 요약 숫자 확인 — 자산 건수, 종전 장부금액, 재계산 개시 금액, 조정액, 이익잉여금 조정, 점검 필요 건수, 정합성 대사 차이 건수를 봅니다.
- 탭 이동 — 자산 명세 → 감가상각 라인 → 자산 분류별 집계 → 적용 방식별 집계 → 대사 결과 순서로 봅니다.
- 행 클릭 상세 — 자산 명세의 행을 누르면 적용 근거와 재계산 내역, 점검 내용이 다이얼로그로 열립니다.
- CSV 내려받기 — 현재 탭의 조회 결과를 CSV(UTF-8)로 내려받아 검토 자료로 씁니다.
숫자를 믿을 수 있는가 — 검증 결과
점검 도구에서 가장 비싼 질문은 "이 숫자 맞아?"입니다. 만드는 쪽에서 먼저 대사식을 세우고 두 기준 연월(202609·202608)의 자료를 전수로 돌렸습니다. 01~05는 화면과 집계가 서로 맞는지 보는 정합성 대사이고, 06~08은 장부와 재계산의 차이를 보는 장부 점검 대사입니다.
| 대사 | 검사 건수 | 차이 건수 | 최대 차이 |
|---|---|---|---|
| 01 자산 명세 간주원가 합계 = 분류별 집계 합계 | 8건 | 0 | 0 |
| 02 조정액 = 간주원가 − 종전 장부금액 | 32건 | 0 | 0 |
| 03 이연법인세 + 이익잉여금 조정 = 조정액 | 32건 | 0 | 0 |
| 04 방식별 집계 합계 = 자산 합계, 공시 합계 = 면제 사용 합계 | 18건 | 0 | 0 |
| 05 당월 감가상각 재계산 | 52건 | 0 | 0 |
| 06 장부 개시 금액 − 간주원가 재계산 | 32건 | 3 (의도적 예외) | 520,000,000원 |
| 07 이연법인세 장부 − 재계산 | 32건 | 2 (의도적 예외) | 114,400,000원 |
| 08 당월 감가상각 장부 − 재계산 | 32건 | 3 (의도적 예외) | 5,416,667원 |
01~05 정합성 대사의 차이는 0건입니다. 06~08의 차이는 점검 화면의 동작을 보이려고 일부러 넣은 예외입니다 — 202609 조회에서 점검 필요 7건(R01~R07 각 1건), 202608 조회에서 5건입니다. 이 예외는 정합성 대사 차이와 분리해서 집계합니다. 화면 요약 값(자산 16건 · 종전 장부금액 37,470,000,000 · 재계산 개시 금액 46,410,000,000 · 조정액 8,940,000,000 · 이익잉여금 조정 6,973,200,000)이 검증 스크립트 결과와 같은지도 렌더링된 화면에서 대조했습니다.
무엇으로 만들었나
| 자리 | 무엇 | 왜 그렇게 두었나 |
|---|---|---|
| 화면 | OpenUI5 표준 컨트롤(조회조건 · IconTabBar · 표 · 상세 다이얼로그), 테마 sap_horizon | 외부 차트·표 라이브러리 반입 심사가 필요 없고 SAP 화면과 같은 모양으로 읽힙니다. |
| 데이터 연결 | OData V2 모델 하나. 조회조건은 Filter 객체로 만들어 $filter 로 보내고, 총건수는 인라인 카운트로 받습니다. | 운영 연결 때 manifest 의 서비스 주소만 바꾸면 화면 코드는 그대로 씁니다. |
| 집계·판정 로직 | 서비스 쪽 로직 파일 한 벌 — 조회·단건·날짜 조건 처리·정렬·페이징 | 판정과 집계를 화면이 아니라 서비스에 두어 다른 화면이나 배치도 같은 결과를 받게 합니다. |
| 연결 실패 안내 | 메타데이터 로드 실패 · 요청 실패 · 빈 응답을 구분해 안내하는 오류 처리 | 서비스가 없을 때 빈 화면 대신 무엇을 확인할지 알려 줍니다. |
| 검증용 샘플 데이터 | 가상 자산 16건 × 기준 연월 2개, 점검 화면용 예외 포함 | 실제 고객 자료 없이 판정 규칙과 대사식을 확인할 수 있습니다. |
실행 화면
실제로 돌아가는 화면 8종을 사용 순서대로 싣습니다. 그림을 누르면 크게 볼 수 있고, 화면마다 무엇을 보는 자리인지를 아래에 적었습니다. 숫자는 모두 같은 자료에서 나온 것이라 화면끼리 맞춰 보셔도 됩니다.
처음 열었을 때
조회조건, 요약 숫자, 탭이 한 화면에 세로로 쌓입니다. 화면 맨 위의 안내 문구에는 이 화면이 다루는 면제 규정과 "최종 판단은 회사와 감사인"이라는 범위가 적혀 있습니다.

요약 숫자는 왼쪽부터 자산 건수, 종전 장부금액 합계, 간주원가 재계산 개시 금액, 조정액 합계, 이익잉여금 조정(재계산), 점검 필요 건수, 정합성 대사 차이 건수입니다. 점검 필요 7건은 아래 표에서 점검 결과가 "점검 필요"인 줄과 같고, 정합성 대사 차이가 0이면 화면의 집계가 명세와 맞는다는 뜻입니다. 기본 기준 연월은 202609입니다.
점검 코드로 좁혀 보기
점검 필요 7건이 한꺼번에 보이면 무엇부터 열어야 할지 막막합니다. 점검 코드를 고르면 그 사유에 해당하는 건만 남고 요약 숫자도 함께 바뀝니다.

조회조건의 점검 코드에서 R01을 고르고 조회하면 자산 1건, 종전 장부금액 2,600,000,000, 재계산 개시 금액 3,120,000,000, 조정액 520,000,000이 나옵니다. 장부 개시 금액이 종전 장부금액 그대로라 재계산과 520,000,000 어긋나는 건입니다. 코드는 "전체"로 되돌리면 필터에서 빠지며, 코드값을 따로 보내지 않습니다.
감가상각 라인 — 어느 달부터 어긋났는가
점검 화면에서 "상각이 다르다"는 말만으로는 부족합니다. 어느 달부터인지, 기말 장부금액이 얼마나 벌어졌는지가 같이 보여야 원인을 좁힙니다.

자산 16건 × 3개월이라 48줄이 나옵니다. 토지는 상각하지 않아 0으로 찍히고 내용에 "토지 — 상각하지 않음"이 적힙니다. 재계산 기말 장부는 재계산 개시 금액에서 월 상각 × 경과 월 수를 뺀 값이고, 장부 기말 금액과의 차이가 마지막 칸에 붙습니다. 마지막 달의 재계산 상각은 자산 명세의 당월 상각과 같아야 하며 이 일치는 대사 05가 확인합니다.
분류별·방식별 — 합계로 보는 자리
자산이 많아지면 건별 표만으로는 어디에 치우쳐 있는지 보이지 않습니다. 같은 명세를 두 가지 축으로 합산한 탭을 따로 두었습니다.

4개 분류가 한 줄씩 나오고 점검 판정 칸에 "점검 필요" 또는 "정상"이 붙습니다. 분류별 합계를 모두 더하면 자산 명세 합계와 같아야 하고, 이것이 대사 01입니다. 조회조건에서 자산 분류를 고르면 이 탭도 그 분류만 남습니다.

공시 합계 공정가치는 면제 사용 방식(공정가치·종전 재평가액·사건 기준)의 재계산 개시 금액을 더한 값이고 면제 미사용 방식은 0으로 둡니다. 주석 공시에 필요한 숫자의 출처를 한 줄에서 볼 수 있다는 뜻이며, 실제 공시 문구와 범위는 회사와 감사인이 정합니다. 이 합계가 면제 사용 자산 합계와 같은지는 대사 04가 봅니다.
자산 한 건 열어 보기
표에서는 한 건의 판단 근거가 한눈에 안 들어옵니다. 행을 누르면 적용 근거와 재계산 내역이 한 장에 모입니다.

자산 명세에서 점검 필요인 자산을 누른 모습입니다. 위쪽 칸에는 적용 근거("전환일 현재 공정가치(평가자료)를 간주원가로 사용")와 평가 금액, 가운데에는 재계산과 장부의 개시 금액·이연법인세·상각 비교, 아래에는 점검 코드와 점검 내용이 있습니다. 점검 내용은 "무엇을 확인하라"는 문장이며 원인을 단정하지 않습니다.
대사 결과 — 여덟 가지 대사를 한 표에서
숫자를 믿을 수 있는지는 화면 안에서도 확인되어야 합니다. 대사 결과 탭에 8개 대사식이 좌변·우변·검사 건수·차이 건수·최대 차이와 함께 나옵니다.

01~05는 정합성 대사로, 차이 건수가 모두 0이어야 정상입니다. 06~08은 장부 점검 대사로 장부와 재계산이 다른 건수를 세며, 이 건수가 곧 점검 필요 자산의 근거입니다. 정합성 대사와 장부 점검 대사를 나눠 둔 이유는 "화면이 틀린 것"과 "장부가 다른 것"을 섞지 않기 위해서입니다.
좁은 화면에서 달라지는 것
점검 도구는 자리에서 일어나 휴대폰으로 열어 볼 때도 많습니다. 화면 폭이 좁아지면 조회조건이 위아래로 쌓이고 표는 가로로 밀어 볼 수 있습니다. 기능은 줄지 않습니다.

요약 숫자는 두 줄 이상으로 접히고 탭 문구는 그대로 남습니다. 표가 넓은 탭은 가로로 밀어서 봅니다. 상세 다이얼로그는 화면 폭에 맞춰 줄어듭니다.
화면 뒤에서 일어나는 일
한 번 조회하면 화면은 다섯 가지 조회 단위(자산 명세·감가상각 라인·분류별 집계·방식별 집계·대사 결과)를 각각 한 번씩 부릅니다. 조회조건은 모두 and 로 이어진 Filter 객체이고, "전체"는 필터를 만들지 않습니다. 총건수는 인라인 카운트로 받아 탭 위 숫자에 씁니다. 행을 눌러 상세를 열 때는 그 한 건만 키로 다시 읽습니다.
재계산 규칙
| 대상 | 조건 | 재계산 결과 |
|---|---|---|
| 개시 장부금액 | 적용 방식 = 공정가치 · 종전 재평가액 · 사건 기준 | 재계산 개시 금액 = 간주원가 평가금액 |
| 개시 장부금액 | 적용 방식 = 면제 미사용 | 재계산 개시 금액 = 원가모형 소급 재작성 장부금액 |
| 조정액 | 모든 자산 | 조정액 = 재계산 개시 금액 − 종전 장부금액 |
| 이연법인세 | 모든 자산 | 재계산 이연법인세 = 조정액 × 세율(샘플 22%, 회사 입력 가정 — 확인 필요) |
| 이익잉여금 조정 | 모든 자산 | 이익잉여금 조정(재계산) = 조정액 − 재계산 이연법인세 |
| 당월 감가상각 | 잔여 내용연수 > 0 | 재계산 당월 상각 = (재계산 개시 금액 − 잔존가치) ÷ 잔여 내용연수(개월), 토지는 상각하지 않음 |
| 참고값 차이율 | 종전 재평가액 · 사건 기준 | 차이율(%) = (공정가치 참고값 − 간주원가 평가금액) ÷ 간주원가 평가금액 × 100 |
점검 코드 판정 — 조건, 결과 상태, 사용자 조치
자산 한 건에 점검 코드는 하나만 붙으며 아래 순서에서 먼저 해당하는 코드를 씁니다. 코드가 하나인 이유는 "무엇부터 확인할지"를 한 가지로 정해 주기 위해서입니다. 앞 코드를 고치면 다음 코드가 새로 보일 수 있습니다.
| 순서 | 점검 코드 | 판정 조건 | 결과 상태 | 사용자 조치 |
|---|---|---|---|---|
| 1 | R01 | 면제 사용 자산이고 조정액이 0 이 아닌데 장부 개시 금액이 종전 장부금액 그대로이며 재계산과 다름 | 점검 필요 | 간주원가가 개시 장부금액에 반영됐는지 확인 |
| 2 | R02 | 적용 방식이 공정가치이고 측정 기준일이 전환일(2026-01-01)과 다름 | 점검 필요 | 전환일 현재 공정가치인지 평가자료로 확인 |
| 3 | R03 | 적용 방식이 종전 재평가액이고 참고값 차이율의 절대값이 10% 초과 | 점검 필요 | 종전 재평가액이 전환일 공정가치와 비교 가능한지 확인 |
| 4 | R04 | 적용 방식이 사건 기준이고 측정 기준일이 전환일 이후 | 점검 필요 | 전환일 이전 사건의 측정인지 확인 |
| 5 | R05 | 장부 개시 금액 ≠ 재계산 개시 금액 | 점검 필요 | 간주원가가 일부만 반영되지 않았는지 확인 |
| 6 | R06 | 장부 이연법인세 ≠ 재계산 이연법인세 | 점검 필요 | 조정액의 이연법인세 인식 여부 확인 |
| 7 | R07 | 장부 당월 상각 ≠ 재계산 당월 상각 | 점검 필요 | 종전 장부금액 기준 상각이 이어지는지 확인 |
| 8 | I00 | 위 조건에 모두 해당하지 않음 | 정상 | 조치 없음 |
적용 방식·측정 기준일·평가 금액·세율·잔존가치·잔여 내용연수는 회사의 판단과 계산 결과를 입력값으로 가정합니다. 값 자체의 타당성은 확인 필요입니다. 참고값 차이율 10%는 점검을 시작하는 임계값일 뿐이며, 기준서가 정한 수치가 아닙니다.
대사식
| 번호 | 구분 | 대사 항목 | 대사식 |
|---|---|---|---|
| 01 | 정합성 | 자산 명세 간주원가 합계 = 분류별 집계 합계 | Σ 자산 재계산 개시 금액 = Σ 분류별 재계산 개시 금액 |
| 02 | 정합성 | 조정액 = 간주원가 − 종전 장부금액 | 자산 전수에서 재계산 개시 금액 − 종전 장부금액 = 조정액 |
| 03 | 정합성 | 이연법인세 + 이익잉여금 조정 = 조정액 | 자산 전수에서 합이 조정액과 같음 |
| 04 | 정합성 | 방식별 집계 합계 = 자산 합계, 공시 합계 = 면제 사용 합계 | Σ 방식별 값 = Σ 자산 값, 공시 합계 = 공정가치·종전 재평가액·사건 기준 합계 |
| 05 | 정합성 | 당월 감가상각 재계산 | 상각 라인 마지막 달 = 자산 명세 당월 상각, 상각 대상 자산 전수 |
| 06 | 장부 점검 | 장부 개시 금액 − 재계산 | 원장 전환일 개시 금액 − 재계산 개시 금액 (차이 건은 점검 필요) |
| 07 | 장부 점검 | 이연법인세 장부 − 재계산 | 원장 이연법인세 − 조정액 × 세율 (차이 건은 점검 필요) |
| 08 | 장부 점검 | 당월 감가상각 장부 − 재계산 | 원장 당월 상각 − 재계산 당월 상각 (차이 건은 점검 필요) |
조회조건
| 조건 | 필수 | 기본값 | 필터 |
|---|---|---|---|
| 기준 연월 | 필수 | 202609 | Period eq '202609' |
| 자산 분류 | 선택 | 전체 | 선택 시에만 토지·건물·기계장치·공구기구 코드로 필터(자산 명세·감가상각 라인·분류별 집계에 적용) |
| 적용 방식 | 선택 | 전체 | 선택 시에만 공정가치·종전 재평가액·사건 기준·미사용 코드로 필터(자산 명세·감가상각 라인·방식별 집계에 적용) |
| 점검 코드 | 선택 | 전체 | 선택 시에만 R01~R07·I00 코드로 필터(자산 명세에 적용) |
| 점검 결과 | 선택 | 전체 | 선택 시에만 점검 필요 또는 정상으로 필터(자산 명세, 분류별·방식별 집계에 적용) |
대사 결과 탭에는 기준 연월만 적용됩니다. "전체"를 고른 조건은 서비스로 보내지 않습니다.
결과 컬럼
| 컬럼 | 의미 | 산출식 |
|---|---|---|
| 측정 기준일 | 간주원가 평가금액을 측정한 날 | 평가자료의 측정일(입력값) |
| 종전 장부금액 | 종전 회계기준의 전환일 직전 장부금액 | 자산 값 원천(확인 필요) |
| 간주원가 평가금액 | 간주원가로 쓰려는 평가 금액 | 평가자료(입력값) |
| 공정가치 참고값 | 비교용 공정가치 | 참고 평가자료(입력값) |
| 재계산 개시 장부금액 | 재계산한 전환일 개시 금액 | 적용 방식에 따라 간주원가 평가금액 또는 원가모형 재작성 금액 |
| 장부 개시 금액 / 개시 차이 | 원장의 개시 금액과 재계산 대비 차이 | 장부 − 재계산 |
| 조정액 | 간주원가와 종전 장부금액의 차이 | 재계산 개시 금액 − 종전 장부금액 |
| 재계산 · 장부 이연법인세 / 차이 | 이연법인세의 재계산 값과 장부 값 | 조정액 × 세율 · 원장 라인 합계 · 장부 − 재계산 |
| 이익잉여금 조정(재계산) | 자본으로 가는 조정 금액 | 조정액 − 재계산 이연법인세 |
| 재계산 · 장부 당월 상각 / 차이 | 당월 감가상각의 두 값과 차이 | (재계산 개시 금액 − 잔존가치) ÷ 잔여 개월 · 감가상각 실행 결과 · 장부 − 재계산 |
파일 구성
index.html · readme.html · Component.js · manifest.json
controller/ BaseController.js · Main.controller.js
view/ Main.view.xml · DetailDialog.fragment.xml
model/ formatter.js · ErrorHandler.js
css/ · i18n/ (i18n_ko.properties)
odata/ 서비스 폴더 (메타데이터 · 서비스 로직 파일 · 샘플 json)
media/ intro.mp4 · intro_poster.jpg
SAP 표준 기능 확장 포인트 — 표준 T-code 와 어떻게 연계되는지
표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 조회·검증 관점을 더해 확장합니다. 간주원가를 선택하고 전환 전표를 올리는 일, 감가상각을 실행하는 일은 표준 거래에 그대로 둡니다. 이 앱이 하는 일은 그 결과를 한 장에서 다시 계산해 맞춰 보는 것입니다.
표준으로 되는 것과 안 되는 것
| 하고 싶은 일 | 표준 화면으로 충분한 부분 | 이 앱이 더하는 관점 |
|---|---|---|
| 자산 한 건의 장부금액 보기 | 자산 조회(AW01N)에서 취득원가·누계 상각·장부금액 확인 | 16건을 한 표에 놓고 재계산 값과 나란히 비교 |
| 자산 마스터 확인 | AS03 에서 자산 분류·내용연수·상각 키 확인 | 자산 분류별·적용 방식별로 합계를 내어 치우침 확인 |
| 감가상각 실행과 결과 보기 | AFAB 실행 로그, 자산 이력 시트(S_ALR_87011963) | 당월 상각을 다시 계산해 장부 상각과 비교하고 점검 코드 부여 |
| 전환 조정 전표 보기 | FAGLL03 에서 이연법인세·자본 계정 라인 조회 | 조정액을 이연법인세와 이익잉여금 조정으로 가르고 합이 맞는지 대사 |
| 간주원가 적용 방식별 점검 | 표준에 같은 구분의 점검 화면은 확인하지 못함(확인 필요) | 공정가치·종전 재평가액·사건 기준·미사용별 규칙을 코드 하나로 판정 |
T-code 별 연계 지점
| T-code | 이름 | 연계 |
|---|---|---|
| AS03 | 자산 마스터 조회 | 앱의 자산 번호·자산 분류·잔여 내용연수·잔존가치가 이 마스터에서 옵니다. 앱 결과에서 의심 가는 자산은 AS03 으로 열어 상각 키와 내용연수를 확인하고, 마스터를 고쳤다면 앱에서 같은 자산의 재계산 상각이 바뀌는지 다시 봅니다. 마스터 변경 이력과 권한 통제는 표준에 남겨 둡니다. |
| AW01N | 자산 조회(Asset Explorer) | 장부 개시 금액·누계 상각·장부금액을 열어 앱의 장부 칸과 맞춰 봅니다. 앱 상세 다이얼로그의 장부 개시 금액이 AW01N 의 값과 같아야 하며, 다르면 조회 시점(기준 연월)부터 확인합니다. |
| AFAB | 감가상각 실행 | 월 상각 실행 결과가 앱의 장부 당월 상각입니다. 앱에서 R07 이 뜨면 AFAB 의 실행 로그에서 해당 자산이 어느 상각 키·기준 금액으로 돌았는지 봅니다. 감가상각 실행 자체와 재실행 통제는 표준에서만 합니다. |
| FAGLL03 | G/L 계정 라인 아이템 조회 | 이연법인세·이익잉여금 전환 조정 라인의 원천입니다. 앱의 장부 이연법인세와 라인 합계가 같아야 하며, R06 이 뜬 자산은 전환 조정 전표 라인이 올라갔는지부터 봅니다. 전표 원본 확인은 표준에 둡니다. |
| S_ALR_87011963 | 자산 내역 조회(자산 이력 시트) | 자산별 취득·상각 이력을 한 장에서 보여 줍니다. 앱의 감가상각 라인 3개월과 이력 시트의 월별 상각이 같은 방향으로 움직이는지 비교하는 용도입니다. 감사 대응용 출력은 이 표준 리포트가 담당합니다. |
기존 리포트를 없애야 하나요? 없애지 않습니다. 법정·감사 대응에 쓰는 표준 리포트와 전표 원본은 표준에 그대로 두고, 이 앱은 전환 직후부터 결산마다 "재계산과 장부가 같은가"를 빠르게 보는 점검 용도로 함께 씁니다. 앱 숫자와 표준 숫자가 다르면 위 표의 T-code 로 원천을 열어 확인하는 순서입니다.
S/4HANA 분석 스택과의 자리
S/4HANA 에는 표준 CDS 분석 쿼리와 Fiori 분석 앱, Analysis for Office 같은 도구가 있고, 자산회계에도 조회용 표준 앱이 있습니다. 이 앱은 그 대체재가 아닙니다. 표준 앱이 "지금 장부가 얼마인가"를 보여 준다면, 이 앱은 "간주원가 규칙을 적용해 다시 계산하면 장부와 같은가"를 보여 줍니다. 그래서 CDS 구성은 표준 뷰 위에 얹는 쪽으로 잡았고(#sec-cds), Analysis for Office 에서 같은 분석 쿼리를 열어 보는 것도 가능한 구조입니다. 특정 표준 앱의 이름과 범위는 릴리스마다 달라질 수 있어 이 글에서는 단정하지 않으며 확인 필요로 둡니다.
확장 포인트 — 운영에서 실제로 손대는 자리
| 자리 | 손대는 내용 | 비고 |
|---|---|---|
| 적용 방식 입력 | 자산별 적용 방식·측정 기준일·평가 금액을 입력하는 방법(전용 입력 테이블, 확장 필드) | 표준에 같은 의미의 필드가 없어 확인 필요 |
| 세율 | 이연법인세 계산에 쓰는 세율 — 회사 입력 | 샘플은 22% 가정. 세율 구조는 회사가 정함 |
| 전환일 | 점검 코드 R02·R04가 비교하는 기준일 | 샘플은 2026-01-01 고정 |
| 임계값 | R03 참고값 차이율 10% | 점검 시작선일 뿐 기준서 수치가 아님. 회사 정책으로 조정 |
| 권한 | 회사코드·자산 분류 기준 조회 권한(DCL) | pfcg 권한 객체와 맞춤 |
| 확장 필드·BAdI | 자산 마스터 확장 필드, 전환 조정 전표 식별 필드 | 고객사 구성에 따라 다름(확인 필요) |
요구사항 매핑
| 기준서 | 요구사항 | 대응 기능 | 원천 데이터 | 비고 |
|---|---|---|---|---|
| K-IFRS 제1101호 한국채택국제회계기준의 최초채택 | 유형자산 항목은 전환일의 공정가치 또는 종전 회계기준의 재평가액 등을 간주원가로 쓸 수 있음 | 재계산 개시 금액, R01·R02·R03·R04·R05 점검 | 전환일 평가자료, 종전 재평가 자료, 원장 개시 잔액 | 면제 적용 범위와 요건은 기준서 원문으로 재확인 필요 |
| K-IFRS 제1101호 한국채택국제회계기준의 최초채택 | 간주원가 조정은 전환일에 이익잉여금(또는 다른 적절한 자본 항목)에 반영 | 이익잉여금 조정(재계산), 대사 02·03 | 전환 조정 전표, 자본 계정 잔액 | 반영할 자본 항목은 회사 판단(확인 필요) |
| K-IFRS 제1012호 법인세 | 간주원가 조정으로 생기는 일시적 차이에 이연법인세 인식 | 재계산 이연법인세, R06 점검 | 세율 설정, 이연법인세 계정 | 세율 22% 는 입력 가정이며 확인 필요 |
| K-IFRS 제1016호 유형자산 | 개시 장부금액을 기준으로 잔여 내용연수에 걸쳐 감가상각 | 재계산 당월 상각, R07 점검, 감가상각 라인 | 자산 마스터, 감가상각 실행 결과 | 잔존가치·내용연수는 회사 추정(확인 필요) |
문단 번호는 원문을 확인하지 못해 적지 않았습니다. 표의 요구사항 문장은 해석을 단정하려는 것이 아니라 점검 화면이 어느 요구와 맞닿는지를 보이려는 요약이며, 최종 판단은 회사와 감사인이 합니다.
CDS 구성 — 최대한 자세히
샘플 앱은 파일 형태의 서비스 위에서 돌지만, 운영에서는 같은 계산이 S/4HANA 의 CDS 뷰로 내려갑니다. 이 절은 그 구성을 레이어별로 정리하고 코드를 전문으로 싣습니다. 표준 뷰 이름은 실재하는 것만 썼고, 고객사 구성에 따라 달라지는 값은 코드 안에 "확인 필요"로 표시했습니다. 객체 이름의 ZI_·ZR_·ZC_ 는 인터페이스·큐브·소비 뷰의 관례입니다.
뷰 레이어 구성
| 레이어 | 뷰 | 하는 일 | 왜 나누나 |
|---|---|---|---|
| 기준(입력) | ZDMC_ASSET_IN · ZDMC_CONFIG | 자산별 적용 방식·평가 금액과 전환일·세율·임계값을 담는 테이블 | 표준에 없는 값이라 회사가 입력하는 자리를 따로 둡니다 |
| 원장 | ZI_DmcAssetBook | 표준 전표 라인 뷰에서 개시·상각 금액을 자산별로 집계 | 원장은 읽기만 하고 가공은 뷰에서 합니다 |
| 차원 | ZI_DmcAssetDim | 입력 테이블과 설정을 합쳐 자산 차원으로 노출 | 재계산에 필요한 입력값을 한 곳에 모읍니다 |
| 큐브 | ZR_DmcAssetCube | 재계산 개시 금액·조정액·이연법인세·상각을 계산하고 장부 값과 나란히 둠 | 판정 규칙이 바뀌어도 큐브만 고치면 됩니다 |
| 쿼리 | ZC_DmcAssetQuery | 조회조건 필수화·축 배치·컬럼 라벨 | 화면과 Analysis for Office 가 같은 쿼리를 씁니다 |
| 권한 | ZC_DmcAssetQuery (DCL) | 회사코드 기준 pfcg 권한 연결 | 집계 단계에서 걸어야 합계로 새지 않습니다 |
| 서비스 | ZUI_DmcAssetSrv | 쿼리와 차원을 OData 로 노출 | manifest 의 서비스 주소만 바꾸면 화면이 그대로 연결됩니다 |
① 적용 방식·평가자료 입력 테이블
간주원가 평가 금액과 적용 방식은 표준 자산 마스터에 없는 값입니다. 입력 주체(회계팀인지 평가 담당인지)와 변경 이력을 어떻게 남길지가 운영에서 먼저 정할 일이고, 테이블은 그 결정을 담는 그릇입니다. 자산 키는 표준 자산 번호를 그대로 써서 AS03·AW01N 과 곧바로 대조되게 했습니다.
@EndUserText.label: '간주원가 적용 방식 · 평가자료 입력'
@AbapCatalog.enhancement.category: #NOT_EXTENSIBLE
@AbapCatalog.tableCategory: #TRANSPARENT
@AbapCatalog.deliveryClass: #A
@AbapCatalog.dataMaintenance: #RESTRICTED
define table zdmc_asset_in {
key client : abap.clnt not null;
key bukrs : bukrs not null;
key anln1 : anln1 not null; " 자산 번호
key anln2 : anln2 not null; " 보조 번호
method : abap.char(5); " FV · REVAL · EVENT · NONE
meas_date : abap.dats; " 측정 기준일
deemed_amt : abap.curr(23,2); " 간주원가 평가금액
ref_fv_amt : abap.curr(23,2); " 공정가치 참고값
cost_amt : abap.curr(23,2); " 원가모형 소급 재작성 장부금액
prev_amt : abap.curr(23,2); " 종전 회계기준 장부금액
residual_amt : abap.curr(23,2); " 잔존가치
rem_months : abap.int4; " 잔여 내용연수(개월)
waers : waers;
}
② 전환일·세율·임계값 설정 테이블
전환일(R02·R04 비교 기준), 세율(이연법인세), 참고값 차이율 임계(R03)는 코드에 박지 않고 회사코드별 설정으로 뺐습니다. 값이 바뀌면 큐브가 다시 계산하므로 개발 변경 없이 운영됩니다.
@EndUserText.label: '간주원가 설정 — 전환일 · 세율 · 임계값'
@AbapCatalog.enhancement.category: #NOT_EXTENSIBLE
@AbapCatalog.tableCategory: #TRANSPARENT
@AbapCatalog.deliveryClass: #C
@AbapCatalog.dataMaintenance: #ALLOWED
define table zdmc_config {
key client : abap.clnt not null;
key bukrs : bukrs not null;
trans_date : abap.dats; " 전환일
tax_rate : abap.dec(5,4); " 세율(예: 0.2200) — 회사 입력
gap_limit : abap.dec(5,2); " R03 참고값 차이율 임계(%)
}
③ 원장 — 장부 개시·상각 금액 뷰
장부 쪽 숫자의 원천입니다. 표준 전표 라인 뷰를 그대로 읽고 자산 거래 유형으로 개시 금액과 상각 금액을 나눕니다. 어떤 거래 유형이 전환 개시 라인인지는 고객사마다 다르므로 코드의 값은 자리표시이고 확인 필요입니다.
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: '간주원가 점검 — 장부 개시·상각 (원장)'
define view entity ZI_DmcAssetBook
as select from I_JournalEntryItem as _Item
{
key _Item.CompanyCode,
key _Item.FiscalYear,
key _Item.FiscalPeriod,
key _Item.MasterFixedAsset as AssetNo,
key _Item.SubNumber as AssetSub,
@Semantics.currencyCode: true
_Item.CompanyCodeCurrency as Currency,
/* 전환 조정 라인과 일반 상각 라인을 거래 유형으로 나눈다 — 확인 필요: 고객사 거래 유형 */
@Semantics.amount.currencyCode: 'Currency'
sum( case when _Item.AssetTransactionType = '100' then _Item.AmountInCompanyCodeCurrency else 0 end ) as OpenAmount,
@Semantics.amount.currencyCode: 'Currency'
sum( case when _Item.AssetTransactionType = '600' then _Item.AmountInCompanyCodeCurrency else 0 end ) as DeprAmount
}
where _Item.Ledger = '0L'
and _Item.MasterFixedAsset <> ''
group by _Item.CompanyCode, _Item.FiscalYear, _Item.FiscalPeriod,
_Item.MasterFixedAsset, _Item.SubNumber, _Item.CompanyCodeCurrency
④ 자산 차원 뷰
입력 테이블과 설정을 한 줄로 합쳐 큐브가 쓰는 차원으로 만듭니다. 금액 필드마다 통화 연결을 선언해야 분석 쿼리가 통화별 합계를 올바르게 냅니다.
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: '간주원가 점검 — 자산 차원'
@ObjectModel.representativeKey: 'AssetNo'
define view entity ZI_DmcAssetDim
as select from zdmc_asset_in as _In
left outer join zdmc_config as _Cfg on _Cfg.bukrs = _In.bukrs
{
key _In.bukrs as CompanyCode,
key _In.anln1 as AssetNo,
key _In.anln2 as AssetSub,
_In.method as Method,
_In.meas_date as MeasDate,
_Cfg.trans_date as TransDate,
_Cfg.tax_rate as TaxRate,
_Cfg.gap_limit as GapLimit,
_In.rem_months as RemMonths,
@Semantics.currencyCode: true
_In.waers as Currency,
@Semantics.amount.currencyCode: 'Currency'
_In.deemed_amt as DeemedAmt,
@Semantics.amount.currencyCode: 'Currency'
_In.ref_fv_amt as RefFvAmt,
@Semantics.amount.currencyCode: 'Currency'
_In.cost_amt as CostAmt,
@Semantics.amount.currencyCode: 'Currency'
_In.prev_amt as PrevAmt,
@Semantics.amount.currencyCode: 'Currency'
_In.residual_amt as ResidualAmt
}
⑤ 큐브 — 재계산과 장부 값을 나란히
점검 규칙의 계산이 모두 여기 있습니다. 재계산 개시 금액·조정액·재계산 이연법인세·재계산 당월 상각은 입력값에서, 장부 개시·상각은 원장 뷰에서 옵니다. 판정(R01~R07)은 같은 비교를 쿼리 소비 쪽이나 화면에서 하며, 비교 대상이 한 큐브에 모여 있어 어느 쪽에서 해도 같은 결과가 나옵니다.
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: '간주원가 점검 — 큐브 (재계산 · 장부 비교)'
@Analytics.dataCategory: #CUBE
@ObjectModel.modelingPattern: #ANALYTICAL_CUBE
@ObjectModel.supportedCapabilities: [#ANALYTICAL_PROVIDER, #SQL_DATA_SOURCE]
define view entity ZR_DmcAssetCube
as select from ZI_DmcAssetDim as _Dim
left outer join ZI_DmcAssetBook as _Book
on _Book.CompanyCode = _Dim.CompanyCode
and _Book.AssetNo = _Dim.AssetNo
and _Book.AssetSub = _Dim.AssetSub
{
key _Dim.CompanyCode,
key _Dim.AssetNo,
key _Dim.AssetSub,
key _Book.FiscalYear,
key _Book.FiscalPeriod,
_Dim.Method,
@Semantics.currencyCode: true
_Dim.Currency,
/* 재계산 개시 금액 — 면제 미사용은 원가모형 재작성 금액 */
@Semantics.amount.currencyCode: 'Currency'
@DefaultAggregation: #SUM
case _Dim.Method when 'NONE' then _Dim.CostAmt else _Dim.DeemedAmt end as CalcOpen,
/* 조정액 = 재계산 개시 금액 − 종전 장부금액 */
@Semantics.amount.currencyCode: 'Currency'
@DefaultAggregation: #SUM
cast( case _Dim.Method when 'NONE' then _Dim.CostAmt else _Dim.DeemedAmt end
- _Dim.PrevAmt as abap.curr(23,2) ) as AdjAmt,
/* 재계산 이연법인세 = 조정액 × 세율 */
@Semantics.amount.currencyCode: 'Currency'
@DefaultAggregation: #SUM
cast( ( case _Dim.Method when 'NONE' then _Dim.CostAmt else _Dim.DeemedAmt end
- _Dim.PrevAmt ) * _Dim.TaxRate as abap.curr(23,2) ) as DtaxCalc,
/* 재계산 당월 상각 = (재계산 개시 금액 − 잔존가치) ÷ 잔여 개월 */
@Semantics.amount.currencyCode: 'Currency'
@DefaultAggregation: #SUM
case when _Dim.RemMonths > 0
then cast( ( case _Dim.Method when 'NONE' then _Dim.CostAmt else _Dim.DeemedAmt end
- _Dim.ResidualAmt ) / _Dim.RemMonths as abap.curr(23,2) )
else cast( 0 as abap.curr(23,2) ) end as DeprCalc,
@Semantics.amount.currencyCode: 'Currency'
@DefaultAggregation: #SUM
_Book.OpenAmount as OpenLedg,
@Semantics.amount.currencyCode: 'Currency'
@DefaultAggregation: #SUM
_Book.DeprAmount as DeprLedg
}
⑥ 분석 쿼리 — 조회조건과 축
회사코드와 회계연도를 필수 조건으로 두어 전 자산을 무조건 읽는 일을 막습니다. 자산 번호·적용 방식은 행 축, 회계기간과 금액은 열 축으로 둡니다.
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: '간주원가 점검 — 분석 쿼리'
@Analytics.query: true
@ObjectModel.usageType: { serviceQuality: #D, sizeCategory: #L, dataClass: #MIXED }
define view entity ZC_DmcAssetQuery
as select from ZR_DmcAssetCube
{
@AnalyticsDetails.query.axis: #ROWS
@Consumption.filter: { selectionType: #SINGLE, mandatory: true }
key CompanyCode,
@AnalyticsDetails.query.axis: #ROWS
key AssetNo,
@AnalyticsDetails.query.axis: #ROWS
@Consumption.filter.selectionType: #RANGE
Method,
@AnalyticsDetails.query.axis: #COLUMNS
@Consumption.filter: { selectionType: #SINGLE, mandatory: true }
FiscalYear,
@AnalyticsDetails.query.axis: #COLUMNS
@Consumption.filter.selectionType: #INTERVAL
FiscalPeriod,
@AnalyticsDetails.query.axis: #COLUMNS
@UI.lineItem: [{ position: 10, label: '재계산 개시 금액' }]
CalcOpen,
@AnalyticsDetails.query.axis: #COLUMNS
@UI.lineItem: [{ position: 20, label: '장부 개시 금액' }]
OpenLedg,
@AnalyticsDetails.query.axis: #COLUMNS
@UI.lineItem: [{ position: 30, label: '조정액' }]
AdjAmt,
@AnalyticsDetails.query.axis: #COLUMNS
@UI.lineItem: [{ position: 40, label: '재계산 이연법인세' }]
DtaxCalc,
@AnalyticsDetails.query.axis: #COLUMNS
@UI.lineItem: [{ position: 50, label: '재계산 당월 상각' }]
DeprCalc,
@AnalyticsDetails.query.axis: #COLUMNS
@UI.lineItem: [{ position: 60, label: '장부 당월 상각' }]
DeprLedg
}
⑦ 권한 — DCL
권한은 집계 단계에서 걸어야 합니다. 드릴다운 쪽에만 걸면 합계에서 뺄셈으로 다른 회사코드의 값이 드러납니다.
@EndUserText.label: '간주원가 점검 — 회사코드 기준 조회 권한'
@MappingRole: true
define role ZC_DmcAssetQuery {
grant select on ZC_DmcAssetQuery
where ( CompanyCode ) = aspect pfcg_auth( F_BKPF_BUK, BUKRS, ACTVT = '03' );
}
⑧ 서비스 정의와 바인딩
분석 쿼리와 차원 뷰를 노출합니다. 바인딩 유형과 게시 방법은 릴리스와 사용 방식에 따라 다르므로 운영 전환 절차에서 확인합니다.
@EndUserText.label: '간주원가 점검 서비스'
define service ZUI_DmcAssetSrv {
expose ZC_DmcAssetQuery as AssetAnalysis;
expose ZI_DmcAssetDim as AssetDimension;
}
/* Service Binding — Binding Type: OData V2 - UI (또는 Web API), 이름 ZUI_DMCASSET_O2
게시 후 /IWFND/MAINT_SERVICE 활성화는 운영 전환 절차에서 확인 */
운영 시점에 해야 할 일
개발보다 정하는 일이 많습니다. 아래 일은 코딩이 아니라 합의이고, 합의가 끝나면 기술 작업은 위 뷰를 만들어 이송하는 일로 줄어듭니다.
| 해야 할 일 | 무엇을 정하나 | 정하지 않으면 | 누가 |
|---|---|---|---|
| 적용 방식 입력 체계 | 자산별 적용 방식·평가 금액을 누가, 어떤 근거 자료로 입력하나 | 점검의 입력값 출처를 설명하지 못해 화면 숫자를 믿지 못합니다 | 회계팀 · 감사인과 협의 |
| 전환일·세율·임계값 | 회사코드별 전환일, 이연법인세 세율, R03 임계값 | 코드에 박힌 샘플 값이 그대로 운영됩니다 | 회계팀 · 세무팀 |
| 전환 조정 거래 식별 | 장부 개시 금액을 읽는 거래 유형·전표 구분 | 장부 칸이 비거나 상각 라인이 섞여 R01·R05 가 오탐합니다 | 자산회계 담당 · SAP 운영 |
| 부호 규칙 | 조정액·차이의 부호(장부 − 재계산)와 표시 방향 | 보고서마다 부호가 달라 읽는 사람이 헷갈립니다 | 회계팀 |
| 권한 설계 | 회사코드·자산 분류 단위 조회 범위 | 전사 합계와 자기 몫의 차이로 다른 자산 값이 드러납니다 | 보안 · 권한 담당 |
| 성능 기준 | 조회 필수 조건과 응답 시간 기준 | 전 자산·전 기간 조회로 응답이 늘어집니다 | SAP 운영 · 현업 |
| 대사 체계 | 앱 숫자와 맞출 표준 T-code(AW01N·FAGLL03) 지점과 주기 | 앱과 표준 숫자가 다를 때 누가 무엇을 열지 정해져 있지 않습니다 | 회계팀 · 감사인 |
| 전송(TR) 순서 | 테이블 → 원장 뷰 → 차원 → 큐브 → 쿼리 → DCL → 서비스 | 의존 순서가 어긋나 활성화에 실패합니다 | SAP 운영(Basis) |
| 서비스 활성화 | 서비스 정의 게시와 활성화, manifest 서비스 주소 교체 | 화면이 샘플 서비스를 계속 바라봅니다 | SAP 운영 · 개발 |
운영 데이터로 갈 때
자산이 수만 건, 기간이 수년이 되면 집계 위치가 중요해집니다. 원장 뷰의 집계는 DB 에서 하도록 두고(그래서 큐브가 sum·group by 를 씁니다), 화면에는 기준 연월·회사코드를 필수 조건으로 걸어 한 번에 읽는 범위를 줄입니다. 자산 번호·회계기간 조건이 인덱스를 탈 수 있는지는 운영 환경에서 실행 계획으로 확인해야 하며, 응답 시간 기준은 회사와 협의해 정합니다. 샘플 데이터(자산 16건)의 응답 시간은 운영 규모의 근거가 되지 않습니다.
자주 묻는 질문
도입 상담과 데모에서 자주 나오는 질문을 네 묶음으로 정리했습니다.
숫자와 판정
이 화면의 대상은 어떤 회사이고, 적용 시기는 언제인가요?
한국채택국제회계기준을 처음 채택하면서 유형자산에 간주원가 면제를 쓰는(또는 쓸지 검토하는) 회사가 대상입니다. 이 화면은 새 시행일을 다루지 않습니다.
면제의 적용 범위와 경과규정의 세부는 이 글에서 확인하지 않았으므로 "확인 필요"이며, K-IFRS 제1101호 원문으로 확인해 주세요.
점검 필요로 표시되면 회계 처리가 잘못된 건가요?
아닙니다. 이 화면은 점검·대사를 돕는 조회 도구이며, 점검 필요는 장부 처리와 재계산이 달라 확인해 보라는 뜻입니다. 장부가 맞고 입력값(평가 금액이나 측정일)이 달랐을 수도 있습니다.
간주원가 선택의 타당성과 최종 판단은 회사와 감사인이 합니다. 화면은 원인을 단정하지 않고 "무엇을 확인할지"만 알려 줍니다.
점검 코드가 자산 한 건에 하나만 붙는 이유는 무엇입니까?
무엇부터 확인할지를 한 가지로 정해 주기 위해서입니다. R01~R07을 정해진 순서로 보고 먼저 해당하는 코드만 씁니다. 예를 들어 개시 금액이 종전 장부금액 그대로면(R01) 이연법인세와 상각도 함께 틀어지는 것이 보통이라, 뒤 코드까지 한꺼번에 띄우면 같은 원인이 여러 줄로 보입니다.
앞 코드를 고치면 다음 코드가 새로 보일 수 있고, 장부 점검 대사(06~08)는 코드와 별개로 항목별 차이를 모두 셉니다.
R03의 10% 기준은 기준서가 정한 수치입니까?
아닙니다. 종전 재평가액과 전환일 공정가치 참고값이 얼마나 벌어졌을 때 비교 가능성을 살펴볼지 정하는 점검 시작선이며, 샘플에서는 10%로 두었습니다. 기준서는 종전 재평가액이 공정가치나 원가·감가상각 후 원가와 대체로 비교 가능한 경우를 말할 뿐 수치를 정하지 않는 것으로 알고 있으나, 이 글에서는 원문을 확인하지 않아 확인 필요입니다.
운영에서는 회사 정책으로 이 값을 설정 테이블에서 조정합니다.
세율 22%는 어디서 온 값입니까?
샘플 데이터의 가정입니다. 이연법인세는 조정액에 세율을 곱해 재계산하는데, 실제 적용 세율과 일시적 차이의 소멸 시기, 이연법인세자산의 인식 가능성은 회사와 세무 담당이 정할 일이라 확인 필요입니다.
앱에서는 세율을 설정 테이블 한 곳에서 바꾸게 했고, 바꾸면 재계산 이연법인세와 이익잉여금 조정이 함께 달라집니다.
대사 01~05와 06~08은 무엇이 다릅니까?
01~05는 화면이 스스로 맞는지 보는 정합성 대사입니다. 분류별 합계가 자산 합계와 같은지, 조정액이 이연법인세와 이익잉여금 조정의 합과 같은지 같은 것을 봅니다. 정상이면 모두 차이 0입니다.
06~08은 장부와 재계산이 다른 건을 세는 장부 점검 대사입니다. 여기의 차이는 화면의 오류가 아니라 점검할 대상이고, 점검 필요 자산의 근거가 됩니다. 두 가지를 섞으면 "화면이 틀린 것"과 "장부가 다른 것"을 구별하지 못합니다.
화면 요약 숫자와 표가 정말 같습니까?
같습니다. 요약 숫자도 표의 자산 명세에서 합산한 값입니다. 202609 조회에서 자산 16건, 종전 장부금액 37,470,000,000, 재계산 개시 금액 46,410,000,000, 조정액 8,940,000,000이고 이 값은 별도 검증 스크립트가 같은 자료에서 다시 계산한 결과와 일치함을 확인했습니다.
화면과 조작
조회조건 "전체"는 어떻게 처리됩니까?
"전체"는 코드값으로 보내지 않고 해당 조건을 필터에서 뺍니다. 기준 연월만 필수이고 나머지는 비워 두면 전체입니다. 대사 결과 탭에는 기준 연월만 적용되므로 점검 코드를 골라도 대사 표는 줄어들지 않습니다.
점검 필요 건만 따로 볼 수 있습니까?
점검 결과를 "점검 필요"로 고르면 자산 명세와 분류별·방식별 집계가 그 건만 남습니다. 점검 코드까지 고르면 사유별로 한 번 더 좁혀집니다. 요약 숫자도 같은 조건으로 다시 계산됩니다.
감가상각 라인은 왜 3개월만 보여 줍니까?
어느 달부터 어긋났는지 가리기에는 최근 3개월이면 충분하고, 더 길게 보려면 표준의 자산 이력 시트(S_ALR_87011963)가 맞기 때문입니다. 앱의 라인은 기준 연월을 마지막 달로 하여 자산당 3줄을 만들고, 마지막 달의 재계산 상각은 자산 명세와 같아야 합니다.
토지의 상각이 0으로 나오는데 오류 아닌가요?
오류가 아닙니다. 토지는 상각하지 않는 자산으로 보고 내용에 "토지 — 상각하지 않음"을 적습니다. 잔여 내용연수가 0 인 자산은 재계산 상각도 0 으로 두며, 이 경우 R07 비교에서도 장부 상각이 0 이면 차이가 없습니다.
CSV 내려받기에는 무엇이 들어갑니까?
현재 보고 있는 탭의 조회 결과가 UTF-8 CSV 로 내려옵니다. 조회조건이 적용된 결과 그대로이고 열 이름은 화면의 한글 제목을 씁니다. 감사 대응 자료로 바로 쓰기보다 검토 자료의 근거로 쓰는 것을 전제로 했습니다.
휴대폰에서도 쓸 수 있습니까?
화면 폭이 좁아지면 조회조건이 세로로 쌓이고 표는 가로로 밀어서 봅니다. 요약 숫자와 탭, 상세 다이얼로그는 그대로 쓸 수 있습니다. 다만 표 칸이 많은 탭은 화면에서 한꺼번에 보기 어려워 CSV 로 내려받아 보는 편이 낫습니다.
SAP 표준과의 관계
표준 T-code 를 대신하는 화면입니까?
아닙니다. 표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 조회·검증 관점을 더해 확장합니다. 자산 마스터는 AS03, 자산 조회는 AW01N, 감가상각 실행은 AFAB, 계정 라인은 FAGLL03, 자산 이력은 S_ALR_87011963 이 계속 맡습니다.
앱은 그 결과를 다시 계산해 장부와 같은지 보는 점검용이라, 표준 리포트와 전표 원본은 법정·감사 대응을 위해 그대로 둡니다.
앱 숫자와 표준 화면 숫자가 다르면 어떻게 합니까?
표의 T-code 순서대로 원천을 엽니다. 장부 개시 금액이 다르면 AW01N, 상각이 다르면 AFAB 로그와 S_ALR_87011963, 이연법인세가 다르면 FAGLL03 입니다. 기준 연월(조회 시점)이 같은지부터 확인하세요.
입력값(평가 금액·세율)이 달라서 생긴 차이인지, 장부 처리가 달라서 생긴 차이인지는 회사와 감사인이 함께 판단할 일입니다.
S/4HANA 가 아니라 ECC 에서도 쓸 수 있습니까?
화면과 점검 규칙은 서비스가 주는 값만 읽기 때문에 서비스를 제공할 수 있으면 같은 화면을 씁니다. 다만 CDS 구성은 S/4HANA 를 전제로 썼고, ECC 에서는 자산 값 테이블 등에서 읽는 별도 구현이 필요합니다. 구체 범위는 고객사 환경에 따라 달라 확인 필요입니다.
적용 방식과 평가 금액은 SAP 어디에 입력합니까?
표준 자산 마스터에는 같은 의미의 필드를 확인하지 못했습니다(확인 필요). 그래서 CDS 구성에서는 전용 입력 테이블을 두는 안을 실었고, 확장 필드로 마스터에 얹는 방법도 있습니다. 어느 쪽이든 입력 주체와 근거 자료, 변경 이력을 어떻게 남길지가 먼저 정해져야 합니다.
도입과 운영
도입하면 무엇이 달라집니까?
결산마다 엑셀로 자산별 재계산표를 다시 만드는 일이 줄고, 점검 코드를 보고 확인할 건부터 열게 됩니다. 장부와 재계산이 같은지는 대사가 매번 보여 주므로 "이 숫자 맞아?"에 대한 첫 답이 화면에 있습니다.
대신 적용 방식·평가 금액을 누가 입력하고 근거를 어디에 보관할지 정하는 일이 새로 생깁니다. 이 합의가 도입에서 가장 시간이 걸리는 부분입니다.
운영 연결은 어떤 순서로 하고, 얼마나 걸립니까?
입력 테이블과 설정 → 원장 뷰 → 차원 → 큐브 → 쿼리 → 권한 → 서비스 순서로 만들어 이송하고, 서비스를 활성화한 뒤 화면 manifest 의 서비스 주소를 바꿉니다. 화면 코드는 그대로 씁니다.
소요 기간은 입력 체계와 거래 유형 식별 같은 합의 시간이 대부분이라 회사마다 달라 이 글에서는 단정하지 않습니다.
권한과 보안은 어떻게 설계합니까?
회사코드 기준 조회 권한을 분석 쿼리의 DCL 로 집계 단계에서 걸고, 필요하면 자산 분류 단위로 좁힙니다. 드릴다운에만 걸면 합계에서 뺄셈으로 다른 범위의 값이 드러날 수 있습니다.
화면은 OpenUI5 표준 컨트롤만 써 외부 라이브러리 반입 심사가 필요 없고, 외부로 보내는 데이터도 없습니다.
자산이 수만 건이면 성능은 어떻습니까?
집계는 DB 에서 하도록 큐브에 두고 화면에서는 기준 연월·회사코드를 필수로 겁니다. 자산 번호·기간 조건이 인덱스를 타는지는 운영 환경에서 실행 계획으로 확인해야 하며, 샘플 16건의 응답 시간은 운영 규모의 근거가 되지 않습니다. 응답 시간 기준은 회사와 협의해 정합니다.
자산 분류나 적용 방식 구분이 바뀌면 어떻게 합니까?
분류·방식 코드는 입력 테이블과 큐브의 값이라 새 값이 생기면 입력 체계에 추가하고, 화면의 선택 목록과 집계 탭에 한 줄을 더하면 됩니다. 점검 규칙은 방식 코드별로 정해져 있으므로 새 방식이 생기면 규칙도 함께 정의해야 합니다.
기준서 개정이나 경과규정이 바뀌면요?
점검 규칙(R01~R07)과 임계값, 전환일은 설정과 큐브의 계산식으로 분리해 두었기 때문에 요구가 바뀌면 그 자리만 고칩니다. 다만 어떤 개정이 이 규칙에 영향을 주는지는 이 글에서 확인하지 않았으므로 확인 필요이며, 기준서 원문으로 확인한 뒤 반영 여부를 회사와 감사인이 정합니다.
실제 회사 데이터로 바꾸려면?
화면 manifest 의 데이터 소스 주소가 가리키는 서비스를 실제 서비스로 교체하면 화면 코드는 그대로입니다. 서비스는 같은 다섯 조회 단위와 키, 필터 계약을 지켜야 합니다. 샘플 데이터는 가상 자산·가상 금액이라 실제 고객사 자료와 무관합니다.
이 점검 결과를 감사 대응 자료로 그대로 써도 됩니까?
이 화면은 점검 도구이며 최종 판단은 회사와 감사인이 합니다. 앱의 재계산과 점검 코드는 확인할 건을 추리는 용도이고, 감사 대응에 쓰는 증빙은 표준 리포트와 전표 원본, 회사의 평가 자료입니다. 앱 결과를 어떻게 검토 자료에 쓸지는 감사인과 협의하세요.