수입 솔루션 · 신용장 수수료

수입 신용장(L/C) 수수료 다차원 분석 — 개설·인수 수수료의 계획 대비 차이를 여섯 요인으로 가르고 원천 라인까지 내려가는 수입 자금 점검

피벗 축 전환 · 셀에서 원천 수수료 라인까지 드릴스루 · 계획 대비 차이와 여섯 요인 분해 · 행에 남는 변동 사유 · 숫자를 모델에 맡기지 않는 AI 분석 · 스스로 도는 AI 에이전트 — 소개 영상과 실제 화면 32종, 그리고 CDS 코드까지

소개 영상블로그 목차 순서대로 · 자막 포함

도입 포인트 — 이 앱을 사용해야 하는 이유

수입 신용장 수수료 점검의 질문은 늘 같습니다. 수수료가 계획보다 얼마나 늘었나, 왜 늘었나, 누가 무엇을 확인해야 하나. 신용장은 개설할 때 개설 수수료가, 인수할 때 인수 수수료가, 서류에 하자가 있거나 조건을 바꾸면 가산 수수료가 붙고, 외화 금액은 환율을 곱해야 원화 대상 금액이 됩니다. 한 건씩은 작은 금액이지만 은행 · 결제 조건 · 공급사 · 통화가 섞이면 합계가 왜 움직였는지 설명하기 어렵습니다. 환율 영향은 IAS 21 환율변동효과(K-IFRS 제1021호) 관점에서도 따로 볼 필요가 있습니다.

지금은 구매오더(ME23N), 송장(MIRO), 공급사 개별 항목(FBL1N)을 번갈아 열고 엑셀에서 은행 통지서와 신용장별로 수수료를 다시 맞춰 보는 방식이 많습니다. 이 앱은 그 자리에 같은 데이터를 한 번 묶은 큐브를 놓고, 축을 바꿔 가며 보고, 칸에서 원천 수수료 라인까지 내려가고, 계획과의 차이를 여섯 요인으로 가르는 점검 화면을 더합니다. 표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 조회 · 검증 관점을 더해 확장합니다.

한 줄 요약 — 수수료 합계만 보여 주는 리포트는 흔합니다. 이 앱의 값은 그 다음에 있습니다: 늘어난 몫을 여섯 요인으로 가르고, 칸에서 원천 신용장 라인까지 내려가 확인하고, 사유를 행에 남깁니다.

핵심 포인트 일곱 가지

핵심 포인트고객이 얻는 것지금 방식이라면
① 축을 바꿔도 합계가 갈라지지 않는 피벗개설은행 · 결제 조건 · 공급사 · 원산지 · 자재그룹 등 11개 차원을 끌어다 놓아 행 3단계 · 열 2단계로 봅니다. 모든 축이 같은 큐브에서 나옵니다.은행별 · 조건별 엑셀 피벗을 따로 만들고, 합계가 다르면 어느 시트가 맞는지부터 따집니다.
② 칸에서 원천 수수료 라인까지숫자를 누르면 그 금액을 만든 신용장 품목 라인이 열리고, 라인 합계가 칸 금액과 같은지 바로 보입니다.은행 통지서 · 송장 · 전표를 차례로 열어 신용장 번호로 찾고 금액을 손으로 대조합니다.
③ 계획 대비 차이를 여섯 요인으로대상 금액 · 요율 · 환율 · 정액 수수료 · 하자·조건변경 가산 · 계획 없던 건으로 가르고, 요인 합이 총차이와 같은지 매번 검산합니다.수수료가 늘었다는 합계만 보고, 이유는 담당자의 설명과 엑셀에 의존합니다.
④ 변동 사유가 행에 남는다사유는 조회 범위와 행 경로에 묶여 저장되어 축을 바꿔도, 다음 달에도 그 행에 따라옵니다.같은 질문을 매달 다시 하고, 지난달 답은 메일함에서 찾습니다.
⑤ 사람이 열지 않아도 도는 감시규칙마다 임계값과 받을 사람(CFO · 구매 · 자금 · 물류)이 붙어, 걸리면 보고가 대기함에 올라갑니다.수수료가 튄 날 아무도 화면을 열지 않으면 그대로 지나갑니다.
⑥ 회의 자료를 바로보고 있는 범위의 표와 요인 차트를 담은 PowerPoint 보고서가 브라우저에서 바로 만들어집니다.화면을 캡처하고 숫자를 옮겨 적어 보고서를 다시 만듭니다.
⑦ 숫자는 모델에 맡기지 않는 AI금액과 비율은 서비스가 큐브에서 계산하고, 해설은 그 숫자를 읽어 쓸 뿐입니다. 근거 표를 화면에서 펼쳐 볼 수 있습니다.AI 가 만든 숫자를 보고서에 써도 되는지부터 따져야 합니다.

사례로 보는 효과 — 수수료 +402.3백만원 증가의 이유

검증용 샘플 데이터(2026년 4월~9월, 수수료 라인 3,077건 · 신용장 1,073건) 기준으로 수수료는 계획 2,763.5백만원에서 실적 3,165.8백만원으로 +402.3백만원(+14.6%) 늘었습니다. 합계 리포트는 여기까지 말해 줍니다. 이 앱은 그 다음을 답합니다 — 여섯 요인으로 가르자 증가분의 약 58%(+232.0)가 직전 계획에 없던 신용장 라인에서 났고, 그 다음이 대상 금액(+68.4)과 요율(+61.2)이었습니다. 환율은 +28.9, 정액과 가산은 합쳐도 작았습니다.

요인증감(백만원)읽는 법
계획 없던 건+232.0직전 계획에 없던 신용장 라인 375건에서 새로 생긴 수수료입니다. 증가분의 약 58% 입니다.
대상 금액+68.4개설 금액이 계획보다 커져 요율 수수료가 늘어난 몫입니다.
요율+61.2은행 적용 요율이 계획보다 높아진 몫입니다. 샘플의 가정값입니다.
환율+28.9원화 환산 환율이 계획보다 올라 대상 금액이 커진 몫입니다.
정액 수수료+7.4전신료 같은 정액 항목이 늘어난 몫입니다.
하자·조건변경 가산+4.4서류 하자와 조건변경 가산이 늘어난 몫입니다.

요인분해는 이렇게 셉니다
계획값에서 실적값으로 가면서 한 번에 한 요인씩 실제 값으로 바꾸고, 그때마다 라인 단위 식 대상 금액 × 요율 ÷ 100 + 정액 + 가산 을 다시 계산합니다. 바뀐 만큼이 그 요인의 몫입니다.

모든 단계가 이어져 있으므로 여섯 몫을 더하면 총차이와 정확히 같아집니다. 그래서 잔차가 구조적으로 0 이고, 화면이 매번 “요인 합 − 총차이 = 0원” 을 적어 검산합니다.

요인의 크기는 샘플 데이터의 가정값에서 나온 것이며, 실제 환경의 크기를 말하는 것이 아닙니다. 중요한 것은 같은 화면에서 “어느 요인이 얼마” 가 바로 나온다는 점입니다.

도입하면 달라지는 것

  • 월 점검 준비 — 요인분해 · 사유 · 보고서가 한 화면에서 나오므로 엑셀 취합과 캡처 작업이 줄어듭니다.
  • 회의의 주제 — “어느 시트 숫자가 맞나” 가 아니라 “어느 은행 · 어느 조건을 어떻게 할 것인가” 를 이야기합니다.
  • 다음 달로 이어지는 기록 — 사유와 레이아웃이 남아, 매달 같은 설명을 처음부터 다시 하지 않습니다.
  • 놓치는 날이 없는 감시 — 아무도 화면을 열지 않은 날에도 규칙에 걸린 숫자는 받을 사람에게 올라갑니다.

이런 회사에 맞습니다

해외에서 원자재 · 상품을 들여오며 신용장으로 결제하고 여러 은행과 거래하는 회사, 은행 수수료를 엑셀로 맞추고 있는 자금 · 회계 조직, 그리고 구매 · 자금 · 물류가 수수료 숫자를 함께 확인해야 하는 경영지원 조직에 맞습니다. 이 화면은 점검 자료이며, 수수료의 회계 처리와 세무상 취급은 회사와 감사인이 판단합니다.

실행 화면

실제로 돌아가는 화면 32종을 사용 순서대로 싣습니다. 그림을 누르면 크게 볼 수 있고, 화면마다 무엇을 하는 자리이고 어떻게 읽는지를 아래에 적었습니다. 모든 캡처는 가상의 검증용 샘플 데이터로 찍었습니다.

사용 방법

  1. 조회조건을 넣습니다. 회사코드(필수)와 시작 · 종료 기간(필수)을 고르고, 필요하면 개설은행 · 공급사 같은 차원 값을 여러 개 골라 범위를 좁힙니다. 비워 두면 전체입니다.
  2. 조회를 누릅니다. 조회조건 영역 오른쪽 끝의 조회 버튼을 누르거나 입력칸에서 Enter 를 누릅니다. 자동 조회는 저장한 레이아웃에서 지정한 경우에만 화면을 열 때 실행됩니다.
  3. 요약을 봅니다. 경영 요약에서 수수료 합계 · 총 수수료율 · 대상 금액 · 가산 비중을 계획과 함께 보고, 역할을 바꿔 앞세우는 지표를 바꿉니다.
  4. 축과 탭을 옮깁니다. 차원 칩을 끌어다 놓아 행 · 열을 짜고, 표시 항목 · 금액 단위 · 비교 기준을 바꿉니다. 결과 영역에서는 표와 막대 · 요인 워터폴을 오갑니다.
  5. 행이나 칸을 눌러 내려갑니다. 숫자 칸을 누르면 원천 수수료 라인이 열리고, 차이 모드에서 행 이름을 누르면 그 범위로 요인분해가 계산되며, 사유 칸을 누르면 변동 사유를 적습니다.
  6. 내보냅니다. 결과 영역의 CSV 버튼은 피벗을, 드릴스루 창의 CSV 버튼은 읽은 원천 라인을 내려받습니다. AI 분석 창에서는 PPTX 보고서를 만듭니다.

무엇으로 만들었나

화면은 OpenUI5 표준 컨트롤과 직접 그린 SVG 차트로만 짰고, 서비스 쪽은 OData V2 규격을 따르는 서비스 한 벌입니다. 아래는 모델 구성 수준으로 적은 구성입니다.

자리무엇왜 그렇게 두었나
화면 컨트롤OpenUI5 표준 컨트롤, 차원 칩 끌어다 놓기, SVG 차트외부 차트 라이브러리를 들이지 않아 반입 심사가 필요 없고, 차트와 표가 같은 숫자를 씁니다.
집계 · 판정 로직큐브 묶기, 계산항목 식, 차이 색 판정, 요인분해 호출묶기는 브라우저가, 금액과 비율 계산은 서비스가 맡아 숫자의 출처를 하나로 둡니다.
서비스OData V2 규격의 서비스 한 벌(엔티티셋 16개 · 펑션 3개)화면과 서비스를 분리해 운영 연결 때 서비스 주소만 바꿉니다.
쓰기변동 사유 · 레이아웃 저장집계 행에는 전표가 없어 서비스에 따로 키를 두고 남깁니다.
내보내기CSV · 브라우저에서 만드는 PPTX서버에 파일을 올리지 않아 반출 통제 대상이 늘지 않습니다.

SAP 표준 기능을 그대로 이어받은 부분. 구매오더 조건 · 송장 · 공급사 개별 항목의 표준 데이터 구조를 그대로 이어받아 쓰고, 별도의 수수료 체계를 새로 만들지 않습니다. 개설과 전표 반영은 SAP 표준 T-code 가 담당하고, 이 화면은 그 결과를 여러 축으로 조회하고 검증하는 관점을 더합니다.

항목내용
솔루션수입 솔루션
업무 영역수입 신용장(L/C) 개설 · 인수 수수료 분석
관련 기준서IAS 21 환율변동효과(K-IFRS 제1021호) · IAS 1 재무제표 표시(K-IFRS 제1001호) — 적용 범위는 회사 기준에 따라 확인 필요
SAP 표준 T-codeME23N · MIGO · MIRO · MB51 · FBL1N · FAGL_FCV
화면 성격다차원 큐브 분석 리포트(피벗 · 드릴스루 · 차이 요인분해)
테마sap_horizon

처음 열었을 때

조회조건부터 피벗까지가 한 화면에 세로로 쌓입니다. 머리 영역은 접을 수 있어서, 축을 짜는 동안에는 펼쳐 두고 숫자를 볼 때는 접어 표와 차트를 넓게 씁니다.

조회 전 — 틀이 먼저 보인다
조회 전 — 틀이 먼저 보인다 — 조회를 누르기 전에도 조회조건과 분석 축 보드, 피벗 틀이 먼저 보입니다.

빈 화면을 주지 않습니다. 틀이 먼저 서 있어서 처음 여는 사람도 무엇을 고르면 무엇이 채워지는지 봅니다. 회사코드 1000, 기간 2026.04 ~ 2026.09 가 기본값이고 조회 버튼은 조회조건 영역의 오른쪽 끝에 있습니다.

조회 직후 — 피벗과 차트
조회 직후 — 피벗과 차트 — 조회하면 큐브를 한 번 읽어 표와 차트, 경영 요약이 함께 채워집니다.

행은 자재그룹, 열은 개설월이 기본 배치입니다. 값은 백만원 단위의 수수료 합계이며, 괄호 없는 숫자 옆에 계획 대비 증감이 붙습니다. 이후 축을 바꾸는 일은 서버를 다시 부르지 않고 브라우저에서 합니다.

분석 축 보드
분석 축 보드 — 사용 가능한 차원, 행 축, 열 축 세 칸에 차원 칩이 놓입니다.

칩을 끌어다 놓거나 화살표 버튼으로 옮깁니다. 행 축은 최대 3단계, 열 축은 최대 2단계까지 쌓입니다. 쓰지 않는 차원은 왼쪽 칸에 모아 둡니다.

칩을 옮긴 뒤
칩을 옮긴 뒤 — 행 축을 바꾸면 표가 바로 다시 묶입니다.

서버를 다시 부르지 않으므로 반응이 즉시입니다. 행 · 열 바꾸기와 기본 축 버튼으로 언제든 되돌릴 수 있고, 총합은 축을 바꿔도 같습니다.

머리 영역 접힘
머리 영역 접힘 — 조회조건과 분석 축 영역은 접을 수 있고, 접으면 요약 한 줄이 남습니다.

접힌 줄에는 지금 어떤 범위를 보고 있는지가 남아 있어, 범위를 잊은 채 숫자를 읽는 일을 막습니다.

경영 요약 — 역할마다 앞세우는 숫자가 다르다

경영 요약은 역할을 바꾸면 앞세우는 지표와 기본 행 축이 바뀝니다. 같은 큐브에서 나온 숫자이므로 역할을 바꿔도 다시 조회하지 않습니다.

역할 CFO
역할 CFO — CFO 관점은 자재그룹 기준 수수료 합계와 총 수수료율, 대상 금액, 가산 비중을 앞세웁니다.

계획 초과 상위와 미달 상위가 나란히 보여 어디부터 볼지 정해 줍니다. 샘플 전체 총 수수료율은 약 0.30% 입니다.

역할 구매 책임자
역할 구매 책임자 — 공급사 기준 총 수수료율과 라인당 수수료를 앞세웁니다.

어느 공급사 건에서 수수료 부담이 큰지를 먼저 봅니다. 결제 조건 재협상이나 발주 방식 조정이 필요한 후보를 고르는 자리입니다.

역할 자금 책임자
역할 자금 책임자 — 개설은행 기준 수수료 합계와 요율 수수료율을 앞세웁니다.

은행마다 요율과 가산 비중을 비교해 약정 협의의 근거로 씁니다.

역할 물류 책임자
역할 물류 책임자 — 수입 플랜트 기준 가산 라인 비율과 평균 기한을 앞세웁니다.

서류 하자나 조건변경이 몰리는 곳을 가려 선적 서류 준비 절차를 점검합니다.

축 전환과 범위

차원은 열 개가 넘고, 각 차원은 값을 여러 개 골라 범위를 좁힐 수 있습니다. 어떻게 쌓고 좁혀도 합계가 갈라지지 않는 것이 이 절의 기준입니다.

열 두 단계
열 두 단계 — 열 축에 두 차원을 쌓으면 열 머리글이 두 단계로 묶입니다.

열 조합이 너무 많아지면 더 추가할 수 없고, 읽을 수 없는 표를 그리지 않도록 막습니다.

차원 값 다중 선택
차원 값 다중 선택 — 차원마다 값을 여러 개 고를 수 있습니다.

같은 차원 안에서는 or, 차원 사이에서는 and 로 묶입니다. 선택한 범위는 조회 조건 요약 줄에 표시됩니다.

좁힌 결과
좁힌 결과 — 개설은행 두 곳과 통화를 골라 좁히면 표와 차트가 같은 범위로 바뀝니다.

범위를 좁혀도 같은 큐브에서 거르는 것이므로 합계가 일관됩니다. 좁힌 상태에서 요인분해를 보면 그 범위의 차이만 가릅니다.

칸에서 원천 수수료 라인까지

집계 화면에서 가장 많이 나오는 말은 이 숫자의 근거가 무엇이냐는 것입니다. 숫자 칸을 누르면 그 칸을 이룬 신용장 품목 라인이 열립니다.

드릴스루 — 라인 목록
드릴스루 — 라인 목록 — 칸의 조건이 그대로 조회 조건이 되어 신용장 번호 · 품목 · 개설일 · 요율 · 환율 · 수수료가 한 줄씩 열립니다.

읽는 단위는 표시 행 수와 별도로 정할 수 있고, CSV 로 내려받을 수 있습니다.

칸 값과 라인 합계 대조
칸 값과 라인 합계 대조 — 창 위에 칸 값과 라인 합계가 같은지 판정이 표시됩니다.

샘플 검증에서 확인한 6칸 모두 같았습니다.

개설월별 요약과 검산
개설월별 요약과 검산 — 큐브 합계와 원천 라인 합계를 측정값별로 대조하고, 개설월별 요약을 함께 보여 줍니다.

차이 열이 모두 0 입니다. 요약 표에서 개설월별 대상 금액 · 수수료 · 계획 · 가산 라인 수를 한눈에 봅니다.

계산항목 — 차원으로는 나오지 않는 행

총 수수료율이나 가산 비중은 합산으로는 안 나옵니다. 칸마다 분자와 분모를 각각 합산한 뒤 나누어야 하기 때문입니다.

계산항목 — 요율
계산항목 — 요율 — 총 수수료율 · 요율 수수료율 같은 비율 항목을 같은 표에서 봅니다.

비율을 행으로 평균 내면 숫자가 틀어집니다. 서비스가 내려주는 토큰 식으로 칸마다 다시 계산합니다.

계산항목 — 비중
계산항목 — 비중 — 가산 비중 · 정액 비중 같은 구성비 항목입니다.

구성비도 같은 방식입니다. 합계 행에서도 맞는 비율이 나옵니다.

계획 대비 차이 — 같은 표가 월 점검 자료가 된다

비교 기준을 바꾸면 같은 표가 차이 리포트가 됩니다. 칸마다 계획 · 실적 · 차이 · 차이율이 붙습니다.

차이 모드
차이 모드 — 금액과 비율이 둘 다 임계를 넘는 칸에만 색을 입힙니다.

붉은색은 수수료를 늘린 쪽, 초록색은 줄인 쪽입니다. 임계는 금액 100만원 · 비율 10퍼센트가 기본이며 샘플의 가정값입니다.

요인 워터폴
요인 워터폴 — 계획에서 실적까지를 여섯 요인으로 나눈 폭포 차트입니다.

검산 줄이 요인 합 − 총차이 = 0원 으로 표시됩니다. 계획 2,763.5백만원에서 실적 3,165.8백만원까지 +402.3 입니다.

행 단위 요인분해
행 단위 요인분해 — 차이 모드에서 행 이름을 누르면 그 범위의 요인분해가 새로 계산됩니다.

전체가 아니라 특정 은행이나 자재그룹만 따로 가를 수 있고, 어느 범위에서도 검산 줄은 0 입니다.

변동 사유 입력
변동 사유 입력 — 요인 옆 사유 칸을 눌러 변동 사유를 적습니다.

원인 요인과 차이 금액이 함께 저장됩니다.

사유 표시
사유 표시 — 사유가 있는 행은 표시가 바뀝니다.

사유는 조회 범위와 행 경로를 키로 서비스에 저장되어 새로 고침해도 남고, CSV 와 AI 분석 근거에 함께 실립니다.

AI 분석과 보고서

표 위 AI 분석은 지금 보고 있는 범위를 읽어 줍니다. 금액과 비율은 서비스가 큐브에서 계산해 근거로 넘기고, 해설은 그 숫자를 문장으로 옮길 뿐입니다.

AI 분석 — 요약
AI 분석 — 요약 — 현재 범위의 요약과 점검할 대상을 짚습니다.

외부 AI 연결을 끄면 같은 숫자의 규칙 기반 해설이 나옵니다. 판단은 사람이 합니다.

AI 분석 — 근거 표
AI 분석 — 근거 표 — 해설 문장마다 근거 표가 따라옵니다.

근거 표의 숫자는 화면 숫자와 같은 출처입니다. 표와 차트를 담은 PowerPoint 보고서(표지 · 요약 · 핵심 발견 · 차트 · 표 · 근거)를 브라우저에서 바로 내려받습니다.

AI 에이전트

화면을 열어야만 점검되는 구조는 놓치는 날이 생깁니다. 에이전트는 감시 규칙을 돌려 걸린 항목을 받을 역할의 대기함에 올립니다.

감시 규칙
감시 규칙 — 규칙마다 지표 · 임계 · 받을 역할 · 주기를 정합니다.

샘플에는 여섯 개가 있습니다. 개설은행 가산 비중 상한, 결제 조건별 요율 상한, 공급사 하자·변경 라인 비율, 대상 금액 · 환율 · 요율 요인 영향 임계입니다.

대기함
대기함 — 실행하면 기준을 넘은 항목이 받을 역할의 대기함에 올라옵니다.

같은 숫자도 받는 사람에 따라 다시 적어 올립니다. 자금 책임자는 은행 관점, 구매 책임자는 공급사 관점입니다.

활동 기록
활동 기록 — 실행할 때마다 시각과 호출 주체, 판정이 기록됩니다.

하루에 한 번만 실행되고, 두 번째 실행은 제한됨으로 판정되어 기록됩니다. 판단은 서비스가 하므로 배치 잡이 같은 호출을 해도 결과가 같습니다.

레이아웃 저장과 복원

축을 짜 두고 다음에 또 쓰려면 저장해 두어야 합니다.

레이아웃 저장
레이아웃 저장 — 축 · 조회 조건 · 측정값 · 표시 행 수 · 접힘 상태를 이름 붙여 저장합니다.

기본 레이아웃과 자동 조회를 지정할 수 있습니다.

저장된 목록
저장된 목록 — 저장한 레이아웃을 목록에서 불러오거나 지웁니다.

기본 표시가 붙은 항목이 화면을 열 때 쓰입니다.

복원
복원 — 기본과 자동 조회로 저장한 레이아웃은 새로 열 때 조회된 채 시작합니다.

저장한 행 축이 그대로 복원됩니다.

좁은 화면과 열 조합이 많은 구성

390px 폭
390px 폭 — 좁은 화면에서는 영역이 세로로 쌓이고 차트가 표 아래로 내려갑니다.

표는 가로로 스크롤됩니다. 다만 축을 짜는 일은 넓은 화면이 편합니다.

열 조합이 많은 구성
열 조합이 많은 구성 — 행 축 세 개와 열 축 두 개처럼 조합이 많아도 워터폴과 피벗이 함께 보입니다.

조합이 상한을 넘으면 표를 반쯤 그리는 대신 범위를 좁히라는 안내를 보여 줍니다.

화면 뒤에서 일어나는 일

조회를 누르면 서비스에서 큐브와 계획을 한 번 읽어 와 브라우저가 들고 있고, 축을 바꾸는 모든 조작은 그 위에서 일어납니다. 칸을 눌러 원천 라인으로 내려갈 때만 서비스를 다시 부릅니다. 이때 칸의 조건이 그대로 조회 조건이 됩니다.

수수료 산출과 점검 규칙

신용장 품목(라인) 단위로 수수료를 요율 수수료 · 정액 수수료 · 하자·조건변경 가산으로 나누어 계산하고 그 합을 큐브에 묶습니다. 아래 판정은 모두 “점검 필요” 수준의 안내이며, 수수료의 회계 처리는 회사와 감사인이 판단합니다.

판정 조건결과 상태사용자 조치
수수료 유형이 개설 · 인수요율 수수료 = 대상 금액(외화 × 환율) × 요율요율이 약정과 같은지 원천 라인에서 확인
수수료 유형이 전신 · 하자 · 조건변경정액 수수료 또는 가산 수수료로 집계(대상 금액 없음)발생 건수와 사유 확인
금액 차이와 비율 차이가 둘 다 임계 초과(기본 100만원 · 10퍼센트)칸을 붉은색(수수료 증가) 또는 초록색(감소)으로 표시변동 사유 입력 또는 요인분해로 원인 확인
계획에 없던 라인요인 “계획 없던 건” 으로 분리(수수료 전액)라인 단위 드릴스루로 개설 사유 확인
감시 규칙 임계 초과대기함에 받을 역할 관점의 보고 등록역할별 점검 후 사유 기록
하루에 두 번째 에이전트 실행제한됨(LIMITED)으로 기록다음 날 다시 실행

산출 순서

  1. 수수료 대상 금액 = 외화 금액 × 환율
  2. 요율 수수료 = 대상 금액 × 요율 ÷ 100 (개설 · 인수 라인)
  3. 수수료 합계 = 요율 수수료 + 정액 수수료 + 하자·조건변경 가산
  4. 총 수수료율 = 수수료 합계 ÷ 대상 금액 × 100, 가산 비중 = 가산 ÷ 수수료 합계 × 100

요인분해 처리 단계와 대사식

계획값에서 실적값으로 한 번에 한 요인씩 바꿔 같은 식을 다시 계산합니다. 요인은 대상 금액 · 요율 · 환율 · 정액 수수료 · 하자·조건변경 가산 · 계획 없던 건의 여섯 가지이고, 요인 합은 총차이와 같습니다. 대사식은 네 가지입니다: 큐브 합계 = 원천 라인 합계, 계획 큐브 합계 = 원천 라인 계획 열 합계, 라인 수수료 재계산 = 저장 수수료, 요인 합 − 총차이 = 0.

조회조건

필드필수기본값OData 조건
회사코드필수1000Bukrs eq '1000'
시작 기간필수2026.04Period ge '202604'
종료 기간필수2026.09Period le '202609'
차원 값(다중 선택)선택전체큐브에서 읽은 뒤 브라우저에서 거름. 드릴스루는 차원 조건을 $filter 로 보냄
표시 항목 · 금액 단위 · 비교 · 단계 보기선택수수료 합계 · 백만원 · 실적만 · 끔화면 표시 설정
금액 임계 · 비율 임계선택1,000,000원 · 10퍼센트화면 표시 설정(가정값)
표시 행 수 · 읽는 단위선택14 · 500$top

결과 컬럼

컬럼의미산출식
행 트리선택한 행 축 순서대로 내려가는 계층-
열 머리글열 축 값(개설월 등) 조합-
값선택한 표시 항목의 합큐브 합 또는 계산항목 식
계획 · 실적 · 차이 · 차이율차이 모드에서 칸마다 표시차이 = 실적 − 계획, 차이율 = 차이 ÷ 계획
사유변동 사유 입력 상태사유 있음 / 사유 쓰기

좁은 화면에서 달라지는 것

이 화면은 표와 차트를 한 줄에 나란히 두고 씁니다. 창이 좁아지면 차트를 감추지 않고 표 아래로 내려, 휴대폰에서도 같은 리포트를 봅니다. 표는 가로로 스크롤됩니다.

파일 구성

(앱 폴더)
├─ index.html · Component.js · manifest.json · readme.html
├─ view/ · controller/ · model/ (cube · chart · layout · pptx · formatter · ErrorHandler)
├─ i18n/ · css/ · media/ (소개 영상 · 포스터 · 챕터)
├─ odata/lcfee_srv/ metadata.xml · service.js · core.js · json/*.json
└─ test/ (검증 전용 — 앱 본체는 읽지 않습니다)

SAP 표준 기능 확장 포인트

이 앱은 표준을 대체하지 않고 표준이 비어 있는 자리를 채웁니다. 어디까지가 표준이고 어디부터가 이 앱인지를 표로 적었습니다.

표준으로 되는 것과 안 되는 것

신용장 개설 조건 확인, 송장 입력, 공급사 개별 항목 조회는 표준 화면으로 충분합니다. 표준으로 어려운 것은 같은 수수료를 은행 · 결제 조건 · 공급사 · 통화로 돌려 보면서 계획과의 차이를 요인으로 설명하는 일입니다.

T-code 별 연계 지점

하려는 일표준 T-code표준만으로는이 앱은
신용장 개설 조건 · 외화 금액 확인ME23N오더를 한 건씩 열어 봅니다수수료 라인에 외화 금액 · 환율 · 요율이 한 줄로 붙어 있습니다
입고 시점 확인MIGO · MB51자재 문서 목록에는 수수료 비교가 없습니다신용장 품목 단위로 수수료 계획과 실적을 이어 줍니다
송장 · 은행 수수료 전표 확인MIRO송장 입력 화면이라 수수료만 모아 보기 어렵습니다수수료 유형별로 묶어 은행 · 조건 축으로 봅니다
공급사 개별 항목 대조FBL1N공급사 계정 단위 조회입니다수수료 라인에서 전표로 돌아가 대조하는 출발점이 됩니다
외화 평가 환율 비교FAGL_FCV평가 실행 화면이며 수수료 요인과는 별개입니다환율 요인을 독립 요인으로 떼어 영향을 보여 줍니다(평가 환율 대응은 확인 필요)
계획 대비 차이의 원인 분해없음같은 형태의 요인분해 화면이 없어 보통 엑셀로 만듭니다(확인 필요)여섯 요인으로 가르고 합계를 검산합니다
차이 사유 기록전표 적요전표 단위라 집계 행에는 붙일 곳이 없습니다조회 범위 + 행 경로를 키로 사유를 남깁니다

요구사항 매핑표

기준서요구사항대응 기능비고
IAS 21 환율변동효과(K-IFRS 제1021호)외화 거래의 원화 환산환율 요인 · 외화 금액 요인환율은 샘플의 가정값
IAS 1 재무제표 표시(K-IFRS 제1001호)비용의 성격별 정보수수료 유형 · 개설은행 차원계정 분류는 회사 기준 — 확인 필요
IAS 2 재고자산(K-IFRS 제1002호)취득원가에 포함할 부대비용 판단수수료 합계 · 유형별 구분산입 여부는 회사와 감사인이 판단 — 확인 필요

S/4HANA 분석 스택과의 자리

자리역할
SAP 표준 화면개설 · 입고 · 송장 · 전표 반영 같은 실행과 원장
CDS 큐브 · 분석 쿼리차원 × 측정값 집계와 권한을 서버에서 처리
OData 서비스화면이 읽는 단일 창구(조회 · 쓰기 · 펑션)
이 앱조회 · 검증 · 차이 설명 · 감시를 한 화면에서

확장 포인트 — 운영에서 실제로 손대는 자리

자리정할 것
수수료 유형 분류개설 · 인수 · 전신 · 하자 · 조건변경을 회사 계정과 어떻게 묶을지
은행 약정은행별 요율 · 정액 · 면제 조건의 출처
환율 기준어느 시점 · 어느 유형의 환율을 대상 금액에 쓸지
계획 원천직전 계획을 어디서 어떻게 고정해 둘지
권한회사코드 · 플랜트 권한을 큐브 단계에 거는 방법
감시 규칙임계값과 받을 사람

CDS 구성

운영 연결에서는 샘플의 서비스 대신 CDS 뷰가 같은 모양의 OData 서비스를 냅니다. 아래 코드는 구조를 보여 주는 스케치이며, 테이블 · 필드 이름은 고객사 환경에서 확인하고 고쳐 씁니다.

뷰 레이어 구성

층객체하는 일
테이블분류 매핑 · 계획 스냅숏분류와 계획을 코드 밖에 둡니다
기초 뷰공급사 차원 · 수수료 라인신용장 품목 한 줄로 모으고 수수료를 파생합니다
큐브실적 큐브 · 계획 큐브차원 조합 집계와 통화 · 집계 방식 선언
쿼리분석 쿼리행 · 열 기본 배치와 계산 측정값
권한DCL회사코드 · 플랜트 표준 권한을 큐브 단계에
서비스서비스 정의 · 바인딩OData V2 게시

① 분류 매핑 테이블과 계획 스냅숏 테이블

수수료 유형과 결제 조건 분류는 코드가 아니라 테이블 행으로 둡니다. 계획은 매 기간 시작 때 스냅숏으로 고정해야 차이 비교가 흔들리지 않습니다. 테이블 이름과 필드는 스케치이며 고객사 구조에 맞춰 정합니다.

@EndUserText.label : '수입 L/C 수수료 분류 매핑'
define table zimp_lcfee_map {
  key client     : abap.clnt not null;
  key map_type   : abap.char(8) not null;   " FEETYPE / TERM / BAND
  key code       : abap.char(10) not null;
  valid_from     : abap.dats;
  valid_to       : abap.dats;
  group_text     : abap.char(40);
}
@EndUserText.label : '수입 L/C 수수료 계획 스냅숏'
define table zimp_lcfee_plan {
  key client     : abap.clnt not null;
  key plan_ver   : abap.char(5) not null;
  key lc_no      : abap.char(12) not null;
  key item_no    : abap.numc(3) not null;
  plan_amt_fc    : abap.curr(15,2);
  plan_fee_rate  : abap.dec(15,4);
  plan_fx        : abap.dec(15,5);
}

② 공급사 차원 뷰

공급사 이름은 마스터에서 읽어 큐브와 분리합니다. 차원 뷰를 따로 두면 이름이 바뀌어도 큐브를 다시 만들 필요가 없습니다.

@AccessControl.authorizationCheck : #NOT_REQUIRED
define view entity ZI_ImpLcFeeSupplier
  as select from lfa1
{
  key lifnr as Supplier,
      name1 as SupplierName,
      land1 as Origin
}

③ 수수료 라인 기초 뷰

신용장 개설 조건과 은행 수수료 전표를 품목 단위 한 줄로 모으는 기초 뷰입니다. 대상 금액 · 요율 · 수수료 구성은 여기서 파생합니다. 원천 테이블의 필드는 환경마다 다르므로 확인이 필요합니다.

@AccessControl.authorizationCheck : #CHECK
define view entity ZI_ImpLcFeeLine
  as select from ekko as h
    inner join   ekpo as i on i.ebeln = h.ebeln
    left outer join zimp_lcfee_open as o on o.ebeln = i.ebeln and o.ebelp = i.ebelp
{
  key h.bukrs                              as CompanyCode,
  key o.lc_no                              as LcNo,
  key o.item_no                            as ItemNo,
      h.lifnr                              as Supplier,
      i.werks                              as Plant,
      h.waers                              as Currency,
      o.bank                               as Bank,
      o.open_date                          as OpenDate,
      o.amt_fc                             as AmountFc,
      o.fx_rate                            as FxRate,
      o.fee_rate                           as FeeRate,
      cast( o.amt_fc * o.fx_rate as abap.curr(23,0) )                         as LcAmount,
      cast( o.amt_fc * o.fx_rate * o.fee_rate / 100 as abap.curr(23,0) )      as BaseFee,
      o.fixed_fee                          as FixedFee,
      o.extra_fee                          as ExtraFee
}

④ 실적 큐브

기초 뷰를 차원 조합으로 더한 큐브입니다. 측정값마다 합계 집계 방식을 선언하고 통화 필드를 붙입니다.

@AccessControl.authorizationCheck : #CHECK
@Analytics.dataCategory : #CUBE
@EndUserText.label : '수입 L/C 수수료 실적 큐브'
define view entity ZI_ImpLcFeeActualCube
  as select from ZI_ImpLcFeeLine
{
  key CompanyCode,
  key substring( OpenDate, 1, 6 ) as OpenPeriod,
  key Supplier,
  key Plant,
  key Bank,
  key Currency,
      @Aggregation.default : #SUM
      @Semantics.amount.currencyCode : 'Currency'
      LcAmount,
      @Aggregation.default : #SUM
      @Semantics.amount.currencyCode : 'Currency'
      BaseFee,
      @Aggregation.default : #SUM
      @Semantics.amount.currencyCode : 'Currency'
      FixedFee,
      @Aggregation.default : #SUM
      @Semantics.amount.currencyCode : 'Currency'
      ExtraFee,
      @Aggregation.default : #SUM
      1 as LineCount
}

⑤ 계획 큐브

실적 큐브와 같은 차원 · 같은 측정값 이름으로 계획 스냅숏을 묶습니다. 이름과 차원이 같아야 두 큐브를 나란히 놓고 차이를 낼 수 있습니다.

@AccessControl.authorizationCheck : #CHECK
@Analytics.dataCategory : #CUBE
@EndUserText.label : '수입 L/C 수수료 계획 큐브'
define view entity ZI_ImpLcFeePlanCube
  as select from zimp_lcfee_plan as p
{
  key p.plan_ver                                     as PlanVersion,
  key p.lc_no                                        as LcNo,
      @Aggregation.default : #SUM
      cast( p.plan_amt_fc * p.plan_fx as abap.curr(23,0) ) as PlanLcAmount,
      @Aggregation.default : #SUM
      cast( p.plan_amt_fc * p.plan_fx * p.plan_fee_rate / 100 as abap.curr(23,0) ) as PlanBaseFee
}

⑥ 분석 쿼리

행 · 열 기본 배치와 계산 측정값을 선언합니다. 총 수수료율은 합산이 아니라 분자와 분모를 각각 더한 뒤 나누는 식으로 둡니다.

@AccessControl.authorizationCheck : #CHECK
@EndUserText.label : '수입 L/C 수수료 분석'
@Analytics.query : true
define view entity ZC_ImpLcFeeQuery
  as select from ZI_ImpLcFeeActualCube
{
      @AnalyticsDetails.query.axis : #ROWS
  key Bank,
      @AnalyticsDetails.query.axis : #ROWS
  key Supplier,
      @AnalyticsDetails.query.axis : #COLUMNS
  key OpenPeriod,
      @EndUserText.label : '요율 수수료'
      BaseFee,
      @EndUserText.label : '수수료 대상 금액'
      LcAmount,
      @EndUserText.label : '요율 수수료율(%)'
      @AnalyticsDetails.query.formula : 'BaseFee / LcAmount * 100'
      @AnalyticsDetails.query.decimals : 3
      cast( 0 as abap.dec(9,3) ) as BaseFeeRate
}

⑦ 권한 (DCL)

집계 화면에서 권한을 드릴스루에만 걸면, 권한 없는 사람이 전체 합계와 자기 몫의 차이를 빼서 다른 범위의 숫자를 알아냅니다. 그래서 큐브를 읽는 자리에 겁니다. 권한 객체 이름은 환경에 맞게 확인합니다.

@EndUserText.label : '수입 L/C 수수료 큐브 권한'
@MappingRole : true
define role ZI_IMPLCFEEACTUALCUBE {
  grant select on ZI_ImpLcFeeActualCube
    where ( CompanyCode ) = aspect pfcg_auth ( F_BKPF_BUK, BUKRS, ACTVT = '03' )
      and ( Plant )       = aspect pfcg_auth ( M_BEST_WRK, WERKS, ACTVT = '03' );
}

⑧ 서비스 정의

쿼리를 OData 서비스로 게시하는 자리입니다. 서비스 바인딩에서 OData V2 를 선택해 게시하고, 활성화 후 화면 쪽 manifest 의 서비스 주소를 바꿉니다.

@EndUserText.label : '수입 L/C 수수료 분석 서비스'
define service ZUI_ImpLcFeeAnalysis {
  expose ZC_ImpLcFeeQuery as LcFeeQuery;
}

운영 시점에 해야 할 일

개발보다 정하는 일이 많습니다. 아래 표의 왼쪽은 대부분 코딩이 아니라 합의입니다.

해야 할 일무엇을 정하나정하지 않으면누가
분류 매핑수수료 유형 · 결제 조건 · 금액 구간의 분류와 묶음리포트 분류가 기존 보고서와 어긋나 첫 회의에서 막힙니다자금 · 회계팀
은행 약정 원천요율 · 정액 · 면제 조건을 어디서 읽을지요율 요인의 의미가 흐려져 은행과 논의할 수 없습니다자금팀
환율 기준환율 유형 · 환산 시점환율 요인의 의미가 사람마다 달라집니다자금 · 회계팀
계획 원천 확정계획 스냅숏을 언제 · 어떻게 고정하는지계획이 매번 달라져 차이를 비교할 수 없습니다재무팀
권한 설계회사코드 · 플랜트 권한 객체뺄셈으로 다른 범위의 숫자가 새어 나갑니다보안 · 권한
감시 규칙 임계값규칙별 임계와 받을 사람알림이 너무 많거나 하나도 오지 않습니다자금 · 구매

숫자를 믿을 수 있는가 — 검증 결과

리포트에서 가장 비싼 질문은 “이 숫자 맞아?” 입니다. 그래서 만드는 쪽에서 먼저 대사식을 세워 두고 전수로 돌렸습니다. 아래는 이 사례(가상 샘플 데이터) 기준 결과입니다.

대사식검사 건수차이
큐브 합계 = 원천 라인 합계(개설월 × 측정값)480
계획 큐브 합계 = 원천 라인 계획 열 합계480
라인 수수료 재계산 = 저장 수수료3,0770
피벗 총합 = 원천 총합(축 배치 6종 × 측정값 3종)180
피벗 칸 = 드릴스루 라인 합계120
요인 합 − 총차이(전체 · 개설월 · 자재그룹 · 공급사 · 은행 범위)220
검산 엔티티 차이(큐브 합계 − 라인 합계)80

모든 대사식이 차이 0 입니다. 의도적으로 섞어 둔 예외는 “계획 없던 라인” 375건이며, 오류가 아니라 요인으로 분리해 합계에 포함했습니다. 화면 쪽은 이와 별도로 브라우저 자동화로 돌려 축을 바꿔도 합계가 변하지 않는지, 칸 금액과 라인 합계가 같은지, 변동 사유와 레이아웃이 새로 고침 뒤에도 남는지를 확인했습니다.

운영 데이터로 갈 때 — 수수료 라인이 수백만 건이면

이 사례는 수수료 라인 3,077건이 큐브 11,752행이 됩니다. 라인이 늘어도 큐브 행 수는 라인 건수가 아니라 차원 조합 수를 따라갑니다. 문제는 조합이 많을 때입니다.

구간어떻게 되나무엇을 손보나
큐브 수천 행지금 방식 그대로 — 브라우저가 들고 묶어도 걸리지 않습니다손볼 것 없음
큐브 수십만 행한 번에 읽는 양과 묶는 시간이 눈에 띕니다조회 범위 필수화, 기간 · 회사 단위로 나눠 읽기
라인 수백만 건 이상라인을 서비스가 들고 있는 구조는 맞지 않습니다집계는 CDS 큐브로 옮기고 드릴스루만 라인을 조건 조회

자주 묻는 질문

도입 상담과 데모에서 자주 나오는 질문들입니다. 네 묶음으로 나눠 적었습니다.

숫자와 산식

수수료 합계는 어떻게 계산합니까?

신용장 품목 한 줄마다 대상 금액(외화 금액 × 환율) × 요율 ÷ 100 으로 요율 수수료를 구하고, 여기에 정액 수수료와 하자·조건변경 가산을 더합니다. 큐브는 이 줄들을 차원 조합으로 더한 것이라 어느 축으로 묶어도 합계가 같습니다. 요율 · 정액 · 환율은 샘플의 가정값이며, 운영에서는 은행 약정과 회사 기준으로 정합니다.

칸 금액과 원천 라인 합계가 정말 같습니까?

같습니다. 큐브가 원천 수수료 라인을 더해 만든 값이기 때문입니다. 샘플 검증에서 칸 12개를 골라 라인 합계와 대조했고 모두 같았으며, 측정값 8종 전체의 큐브 합계와 라인 합계 차이도 0 이었습니다.

요인분해의 합이 정말 총차이와 같습니까?

같습니다. 계획값에서 실적값으로 한 번에 한 요인씩 실제 값으로 바꾸며 같은 식을 다시 계산하므로, 단계별 변화를 모두 더하면 총변화가 됩니다. 전체 · 개설월 · 자재그룹 · 공급사 · 은행 범위 22곳에서 검산한 차이가 모두 0원이었습니다.

요인의 순서를 바꾸면 요인별 금액이 달라지지 않습니까?

달라질 수 있습니다. 순차 대입은 어떤 순서로 바꾸느냐에 따라 요인 사이의 교차 효과가 어느 쪽에 붙는지가 달라집니다. 이 화면은 대상 금액 → 요율 → 환율 → 정액 → 가산 순서를 고정해 두어 같은 데이터에서는 항상 같은 결과가 나옵니다. 순서를 바꿔 보고 싶다면 서비스의 요인 순서를 조정합니다.

계획 없던 건은 무엇입니까?

직전 계획에 없었다가 이번에 새로 잡힌 신용장 라인입니다. 샘플에는 375건이 의도적으로 섞여 있고 수수료 전액을 별도 요인으로 분리합니다. 오류가 아니라 계획에 없던 개설을 따로 보기 위한 구분입니다.

총 수수료율은 왜 약 0.30% 입니까? 기준이 있습니까?

샘플 전체에서 수수료 합계를 대상 금액으로 나눈 값입니다. 기준이 있는 값이 아니라 샘플 데이터의 결과입니다. 개설 · 인수 수수료만 대상 금액이 있고 전신료 같은 정액은 대상 금액이 없어, 정액과 가산까지 포함한 부담률이라는 점만 알아 두면 됩니다.

하자 · 조건변경 가산은 어떻게 셉니까?

서류 하자나 신용장 조건변경이 있는 라인에만 가산 수수료가 붙고, 그 라인 수와 금액을 따로 집계합니다. 가산 비중은 가산 수수료를 수수료 합계로 나눈 값입니다. 가산이 붙는 기준과 금액은 샘플의 가정입니다.

화면과 조작

축을 바꿀 때마다 서버를 다시 부릅니까?

아닙니다. 조회를 누르면 큐브와 계획을 한 번 읽어 오고, 이후 행 · 열을 바꾸는 조작은 브라우저가 들고 있는 데이터 위에서 합니다. 서버를 다시 부르는 것은 조회를 다시 누를 때와 칸을 눌러 원천 라인으로 내려갈 때뿐입니다.

행 · 열을 몇 단계까지 쌓을 수 있습니까?

행 축은 3단계, 열 축은 2단계입니다. 열 조합이 상한을 넘으면 더 추가할 수 없고, 이미 넘은 경우에는 표를 반쯤 그리지 않고 범위를 좁히라는 안내를 보여 줍니다.

차이 색이 음수인데 초록으로 보이기도 합니다. 맞습니까?

맞습니다. 색은 부호가 아니라 수수료에 준 영향으로 칠합니다. 수수료를 늘린 방향은 붉은색, 줄인 방향은 초록색이며, 금액과 비율이 둘 다 임계를 넘을 때만 색을 입힙니다.

변동 사유는 어디에 저장됩니까? 축을 바꾸면 사라집니까?

서비스에 저장되고 키는 조회 범위와 행 경로입니다. 그래서 축 배치를 바꾸거나 트리를 다시 펼쳐도 같은 행에 따라옵니다. 새로 고침해도 남는 것을 샘플에서 확인했습니다.

휴대폰에서도 쓸 수 있습니까?

390px 폭에서 영역이 세로로 쌓이고 차트가 표 아래로 내려가는 것을 확인했습니다. 표는 가로로 스크롤됩니다. 축을 짜는 일은 넓은 화면이 편합니다.

CSV 는 어떤 것을 내려받습니까?

결과 영역의 CSV 는 지금 보이는 피벗을, 드릴스루 창의 CSV 는 읽은 원천 라인을 내려받습니다. 금액은 화면 단위가 아니라 원 단위 원값입니다.

AI 분석과 에이전트

AI 가 숫자를 만들어 냅니까?

아닙니다. 금액과 비율은 서비스가 큐브에서 계산하고, 해설은 그 숫자를 읽어 문장으로 옮길 뿐입니다. 해설에 쓴 숫자의 근거는 근거 표로 화면에 펼쳐 볼 수 있습니다. 외부 AI 연결을 끄면 같은 숫자의 규칙 기반 해설이 나옵니다.

AI 에이전트는 무엇을 합니까?

감시 규칙 여섯 개를 돌려, 임계값을 넘은 항목을 받을 역할(CFO · 구매 · 자금 · 물류) 관점의 보고로 대기함에 올립니다. 실행은 하루 한 번으로 제한되고, 두 번째 실행은 제한됨으로 기록됩니다.

에이전트를 사람이 누르지 않아도 돌릴 수 있습니까?

서비스의 에이전트 실행 호출이 화면의 버튼과 같은 일을 하므로, 배치 잡이 그 호출을 주기적으로 두드리면 됩니다. 판단과 기록은 모두 서비스 안에 있어 호출 주체가 달라도 결과가 같습니다.

PowerPoint 보고서는 어디서 만들어집니까?

브라우저 안에서 만들어집니다. 외부 라이브러리 없이 압축과 XML 을 직접 짓기 때문에 서버에 파일을 올리지 않고, 샘플 검증에서 python-pptx 로 열어 6장을 확인했습니다.

도입과 운영

이 화면이 표준 화면을 대체합니까?

대체하지 않습니다. 신용장 개설과 전표 반영은 SAP 표준 T-code 가 담당하고, 이 화면은 그 결과를 여러 축으로 조회하고 검증하는 관점을 더합니다.

수수료의 회계 처리는 누가 판단합니까?

이 화면은 분류 · 집계 · 대사를 돕는 점검 도구이며, 수수료의 회계 처리(비용 인식이나 취득원가 산입 여부)와 세무상 취급은 회사와 감사인 · 세무 대리인이 판단합니다. 이 글에서 확인된 사실로 그 판단을 단정하지 않습니다.

샘플의 값은 실제 값입니까?

아닙니다. 공급사 · 은행 · 신용장 번호 · 금액은 모두 가상이고, 요율 · 정액 · 환율 · 임계값은 가정값입니다. 사례의 요인별 금액도 샘플의 결과이며 실제 환경의 크기를 말하지 않습니다.

외화와 환율은 어떻게 처리합니까?

외화 금액은 외화로 들고 있다가 환율을 곱해 원화 대상 금액을 만듭니다. 환율은 요인분해의 독립 요인이라 환율이 얼마나 영향을 줬는지가 따로 나옵니다. 어느 시점의 환율을 쓸지는 운영에서 정해야 합니다(확인 필요).

운영 시스템에 연결하는 절차는 어떻게 됩니까?

순서는 정해져 있습니다. 먼저 수수료 유형 분류와 은행 약정 · 환율 원천에 대한 합의를 하고, CDS 객체를 만들어 서비스로 게시한 뒤, 화면의 서비스 주소만 바꿉니다. 소요는 합의가 얼마나 빨리 되느냐에 달려 있어 일정을 단정하지 않습니다.

권한은 어떻게 걸립니까?

CDS 에 DCL 을 붙여 회사코드와 플랜트 권한을 표준 권한 객체로 따릅니다. 별도의 권한 체계를 만들지 않습니다. 권한을 드릴스루에만 걸면 전체 합계와 자기 몫의 차이를 빼서 다른 범위의 숫자를 알아낼 수 있으므로 큐브를 읽는 자리에 거는 것이 맞습니다.

데이터가 아주 많으면 느려지지 않습니까?

데모는 서비스가 라인을 들고 브라우저가 큐브를 묶는 구조라 운영 규모에서는 그대로 쓰지 않습니다. 큐브 행 수는 라인 수가 아니라 차원 조합 수를 따라가므로, 운영에서는 집계를 CDS 큐브로 옮기고 화면은 조건에 맞는 부분만 읽습니다.

분류 체계가 바뀌면 어떻게 됩니까?

수수료 유형과 결제 조건 같은 분류는 매핑 테이블에서 읽으므로 코드를 고치지 않고 행만 바꿉니다. 유효기간을 두어 과거 기간의 숫자가 흔들리지 않게 합니다.

숫자가 기존 보고서와 다르면 어떻게 확인합니까?

순서가 있습니다. 먼저 조회 범위(회사코드 · 기간)가 같은지, 다음으로 수수료 유형 포함 범위가 같은지, 그다음 환율 기준이 같은지를 봅니다. 그래도 다르면 칸을 눌러 원천 라인으로 내려가 전표와 하나씩 맞춥니다.