SAP 수출 신용보험 보험료 다차원 분석 — 보험료가 순매출에 주는 부담을 여러 축으로 돌려 보고 계획 대비 차이 요인까지 한 화면에서
열 개 차원 피벗 · 칸에서 청구 문서까지의 드릴스루 · 계획 대비 차이와 여섯 요인분해 · 행에 남는 사유 · 숫자를 모델에 맡기지 않는 AI 분석 · 스스로 도는 AI 에이전트 — 소개 영상과 실제 화면 34종, 그리고 CDS 코드까지
소개 영상블로그 목차 순서대로 · 자막 포함
도입 포인트 — 이 앱을 사용해야 하는 이유
수출 담당과 경영지원이 마감 때마다 받는 질문은 비슷합니다. 수출 신용보험 보험료가 순매출을 얼마나 깎았나, 어느 고객·국가·보험 종목에서 보험료율이 높은가, 아직 내지 않은 보험료는 얼마인가. 지금 이 답은 판매 오더와 청구 문서 화면, 고객 미결 항목, 보험 증권 내역, 엑셀로 흩어져 있습니다. 이 앱은 세 답을 한 화면에 붙여 보험료 부담이 어디서 커졌는지 바로 보이게 합니다. 수출 신용보험(무역보험) 보험료와 수출채권 보호 업무의 점검에 쓰는 도구입니다.
보험료는 청구액에 요율을 곱해 따로 정산되는 일이 많아, 매출 화면만 보면 순매출에서 얼마가 빠지는지 드러나지 않습니다. 계획에 없던 증권이 추가되거나 요율이 오르면 연말에야 발견되기도 합니다. 이 화면은 청구·보험료 원천 줄을 한 번 큐브로 모은 뒤 열 개 차원으로 돌려 보게 하고, 계획과의 차이를 여섯 요인으로 가르며, 합계가 원천과 한 푼도 어긋나지 않는지 매번 검산합니다.
핵심 포인트 일곱 가지
| 핵심 포인트 | 고객이 얻는 것 | 지금 방식이라면 |
|---|---|---|
| ① 축을 바꿔도 숫자가 갈라지지 않는 피벗 | 청구월·분기·보험 종목·제품 그룹·사업부·고객·수출 국가·지역·결제 통화·인코텀즈 열 개 차원을 끌어다 놓아 봅니다. 모든 축이 같은 큐브에서 나와 합계가 어긋날 자리가 없습니다. | 축마다 리포트를 따로 만들고, 합계가 다르면 리포트를 맞추는 회의를 엽니다. |
| ② 칸에서 원천 문서까지 한 번에 | 숫자를 누르면 그 칸을 이룬 청구·보험료 줄이 열리고, 줄 합계가 칸 금액과 같은지 그 자리에서 보입니다. | 리포트를 닫고 표준 화면을 다시 열어 조건을 손으로 맞춥니다. |
| ③ 청구액·보험료·순매출·납부를 한 줄에 | 청구액에서 보험료를 뺀 순매출과 납부 보험료, 미납 잔액이 같은 표에 놓여 보험료 부담과 납부 현황을 함께 봅니다. | 청구 자료와 보험 증권 내역, 납부 내역을 따로 모아 엑셀에서 맞춥니다. |
| ④ 계획 대비 차이를 여섯 요인으로 | 매출 물량, 외화 단가, 환율, 보험료율, 계획에 없던 증권, 계획 미이행으로 차이를 가르고 합계가 총차이와 같은지 매번 검산합니다. | 총차이만 보고 원인은 담당자 설명에 의존합니다. |
| ⑤ 차이 사유가 행에 남는다 | 사유는 조회 범위와 행 경로에 묶여 저장되어 축을 바꿔도, 새로 고쳐도 그 행에 따라옵니다. | 같은 질문을 다시 하고 지난 답은 메일에서 찾습니다. |
| ⑥ 열지 않아도 도는 점검 | 다섯 가지 감시 규칙에 임계값과 받을 역할이 붙어 있고, 걸리면 받은 보고로 올라갑니다. 요율 상승과 미납이 늦게 드러나지 않습니다. | 누가 열어 봐야만 보이는 금액은 마감 때 처음 발견됩니다. |
| ⑦ 결재용 보고서를 바로 | 보고 있는 범위의 표와 차트를 담은 PowerPoint 보고서가 브라우저에서 바로 만들어집니다. | 화면을 캡처해 숫자를 옮겨 적습니다. |
사례로 보는 효과 — 총차이 30.2억 원 속의 여섯 요인
전체 기간(2026-01~2026-09)을 계획과 견주면 순매출 실적은 138,338,273,222 원, 계획은 135,313,452,532 원으로 총차이는 +3,024,820,690 원(계획의 2.2%)입니다. 여섯 요인으로 가르면 계획에 없던 증권 쪽 거래가 +3,535,495,200 원으로 총차이보다 크고, 계획 미이행 -2,783,305,732 원이 반대로 크게 당겨 줍니다. 총차이만 보면 “계획보다 2% 남짓 더 팔았다”로 끝나지만, 요인으로 가르면 어느 증권 거래가 계획 밖에서 늘었고 어느 계획이 이행되지 않았는지 물을 자리가 정해집니다.
| 요인 | 의미 | 전체 기간 금액(원) | 총차이 대비 |
|---|---|---|---|
| 매출 물량 | 청구 수량이 계획과 달라서 | -26,520,551 | -0.9% |
| 외화 단가 | 제품 한 개당 외화 단가가 계획과 달라서 | +1,856,781,835 | 61.4% |
| 환율 | 외화 청구액을 원화로 바꾸는 환율이 달라서 | +481,334,952 | 15.9% |
| 보험료율 | 청구액 대비 보험료율이 계획과 달라서(보험료가 늘면 순매출을 줄이는 쪽) | -38,965,014 | -1.3% |
| 미계획 증권 | 계획에 없던 증권·고객 조합의 거래가 생겨서 | +3,535,495,200 | 116.9% |
| 계획 미이행 | 계획에 잡았던 조합이 청구되지 않아서 | -2,783,305,732 | -92.0% |
| 합계(총차이) | 실적 138,338,273,222 − 계획 135,313,452,532 | +3,024,820,690 | 100.0% |
연쇄 대체 방식이라 여섯 요인의 합은 총차이와 항상 같고, 화면의 검산 줄이 오차를 0으로 보여 줍니다. 보험료만 따로 보면 실적 555,105,580 원, 계획 503,739,093 원이고 보험료율은 0.40퍼센트로 계획 0.37퍼센트보다 높습니다. 납부 보험료는 452,166,929 원(납부율 81.5%)이며 미납 잔액은 102,938,651 원입니다. 이 숫자는 검증용 샘플 데이터의 값이며, 운영 데이터의 효과를 뜻하지 않습니다.
도입하면 달라지는 것
- 마감·점검 준비 — 순매출·보험료·납부 표, 요인분해, 사유, 보고서가 한 화면에서 나옵니다.
- 회의의 주제 — 어느 숫자가 맞나보다 어느 요인을 누가 확인하나를 이야기합니다.
- 요율·미납 관리 — 요율이 높은 국가와 미납이 쌓이는 고객이 규칙에 따라 먼저 올라옵니다.
- 기록 — 사유와 레이아웃이 남아 같은 설명을 다시 하지 않습니다.
이런 회사에 맞습니다
고객별로 수출 신용보험(무역보험) 증권을 두고 보험료를 청구액에 연동해 부담하는 제조·수출 기업. 보험료와 미납 보험료를 엑셀로 모으고 순매출에 주는 영향을 따로 계산해 어느 국가·고객에서 부담이 커지는지 보기 어려운 경영지원·재무 조직. 통화와 인코텀즈가 여러 가지라 환율과 요율이 순매출에 주는 영향을 나누어 보고 싶은 영업·리스크 조직.
실행 화면
사용 방법
- 조회 조건 입력 — 필수는 회사코드와 시작·종료 기간(청구월)입니다. 비교 기준은 연초 확정 보험료 계획 하나로 고정되어 있고, 시작 기간이 종료 기간보다 늦으면 안내가 뜹니다.
- 조회 실행 — 조건 영역 오른쪽 끝의 조회 버튼을 누르거나 조건 입력 칸에서 Enter 키를 누릅니다. 레이아웃에서 “열 때 자동 조회”를 켜 두었다면 화면이 열릴 때 그 배치로 곧바로 조회합니다.
- 요약 확인 — 조회 직후 역할별 요약(CEO · CFO · 영업 책임자 · 리스크 책임자)과 표 위 요약에서 순매출, 청구액, 보험료, 보험료율을 먼저 봅니다. 역할을 바꿔도 서버를 다시 부르지 않습니다.
- 축 바꾸기 — 차원 칩을 끌어 행·열·사용 안 함 칸으로 옮깁니다. 칩을 눌러 메뉴로 옮기거나 값을 고르고 순서를 바꿀 수도 있습니다. 열 조합은 최대 36개입니다.
- 항목과 보기 방식 — 분석 항목과 계산 항목을 고르고 차원 보기와 단계 보기를 바꿉니다. 기준 대비를 켜면 각 칸에 기준 값과 차이가 붙습니다.
- 행·칸 클릭 — 행을 누르면 오른쪽에 항목 비교와 차이 분해 차트가, 숫자 칸을 누르면 그 칸의 청구·보험료 원천 줄이 열립니다. 줄이 많으면 더 보기로 이어 읽습니다.
- 사유와 레이아웃 — 차이가 큰 행에 사유를 남기고, 마음에 드는 배치는 이름을 붙여 저장합니다.
- 내보내기 — CSV 로 현재 표를 내려받고, 보고서(PPTX)로 AI 분석 결과를 PowerPoint 로 받습니다.
무엇으로 만들었나
| 자리 | 무엇 | 왜 그렇게 두었나 |
|---|---|---|
| 화면 | OpenUI5 sap_horizon 테마, 조건 영역 · 역할별 요약 · 피벗 표 · SVG 차트 · 상세 창 | 표준 컨트롤 위주로 짜서 테마와 접근성을 그대로 이어받고, 차트는 브라우저에서 직접 그려 외부 차트 도구 없이 같은 숫자를 보여 줍니다. |
| 집계·판정 로직 | 서버와 브라우저가 같은 집계 엔진 파일을 함께 씁니다 | 서버에서 계산한 값과 브라우저에서 다시 집계한 값이 갈라지지 않게 하려는 구조입니다. 축을 옮길 때 서버를 다시 부르지 않는 근거이기도 합니다. |
| 데이터 서비스 | OData V2 읽기·쓰기 서비스 한 개 — 큐브 · 계획 · 차원 · 항목 · 원천 줄 · 사유 · 레이아웃 · 에이전트 규칙 | 조회 때 큐브를 한 번 읽고, 이후 축 바꾸기와 값 선택은 브라우저에서 합니다. 사유·레이아웃·규칙만 쓰기 요청이 나갑니다. 화면은 서비스의 상대 경로만 알고 있어 운영 서비스로 바꾸기 쉽습니다. |
| 분석 부가 기능 | 규칙 기반 AI 해설 · 감시 규칙 에이전트 · 브라우저 안 PPTX 생성 | 금액과 비율은 서비스가 먼저 계산하고 해설은 읽어서 풀 뿐입니다. 파일은 서버에 남지 않습니다. |
| 테마 | sap_horizon | SAP Fiori 화면과 나란히 놓아도 이질감이 없도록 같은 테마를 씁니다. |
앱 정보
| 항목 | 내용 |
|---|---|
| 솔루션 | 수출 |
| 업무 영역 | 수출 신용보험 보험료 · 다차원 분석 |
| 관련 기준서·대상 영역 | - · 대상 영역: 수출 신용보험(무역보험)과 수출채권 보호 — 회계 처리 기준과 약관·요율 원문은 이 글에 싣지 않았고 확인 필요 |
| 표준 T-code | VA03 · VF03 · FBL5N |
| 화면 성격 | 다차원 분석 리포트 — 조회 중심에 사유·레이아웃 저장 |
| 데이터 | 가상의 검증용 샘플 데이터(청구월 2026-01~2026-09, 원천 청구·보험료 줄 3,394줄) |
| 테마 | sap_horizon |
처음 열었을 때 — 조건 하나로 시작
조회 조건부터 피벗 틀까지가 한 화면에 쌓입니다. 필수는 회사코드와 청구월 범위뿐이고, 조회는 버튼이나 Enter 키로 실행합니다.

빈 화면을 주지 않고 조건 영역, 차원 칩을 담은 레이아웃 보드, 아직 비어 있는 표 틀을 먼저 보여 줍니다. 회사코드와 시작·종료 기간(청구월)은 기본값으로 채워져 있고 조회 버튼은 조건 영역 오른쪽 끝에 있습니다. 비교 기준은 연초에 확정한 보험료 계획 하나뿐이라 따로 고를 것이 없습니다.

조회를 누르면 역할별 요약과 표, 차트가 함께 뜹니다. 기본 기간 2026년 1~9월의 순매출 합계는 138,338백만원, 보험료는 555백만원, 청구액 대비 보험료율은 0.40퍼센트입니다. 모든 칸이 같은 큐브에서 나오므로 어떤 축으로 돌려도 합계가 어긋나지 않습니다.

청구월·분기·보험 종목·제품 그룹·사업부·고객·수출 국가·지역·결제 통화·인코텀즈 열 개 차원이 칩으로 놓여 있습니다. 칩을 눌러 메뉴로 옮기거나 끌어서 다른 칸에 놓을 수 있고, 행은 최대 세 단계, 열은 최대 두 단계까지 쌓입니다.

칩을 옮기는 순간 이미 읽어 둔 큐브를 브라우저에서 다시 묶습니다. 서버를 다시 부르지 않아 요청이 늘지 않고 총합도 그대로입니다. 표 위쪽 문장이 지금 행·열·항목 배치를 한 줄로 요약해 줍니다.

조회가 끝나면 조건 영역과 레이아웃 보드를 접어 한 줄로 줄일 수 있습니다. 표와 차트에 세로 공간을 더 주는 기능이며, 다시 열면 조건을 바꿔 곧바로 재조회할 수 있습니다.
경영 요약 — 역할마다 먼저 볼 숫자
같은 큐브에서 역할 네 개의 요약이 나옵니다. 탭을 바꿔도 서버를 다시 부르지 않고, 앞세우는 지표와 쪼개 보는 차원만 달라집니다.

보험료가 매출에 주는 부담이 어느 제품 그룹과 보험 종목에서 큰지를 먼저 보여 줍니다. 순매출·청구액·보험료·보험료율 네 숫자 아래에 계획 대비 증감이 함께 붙어 읽는 순서가 정해져 있습니다.

미납 보험료가 어느 달부터 쌓이는지, 보험료율이 계획보다 높아지는 달이 있는지를 확인하는 탭입니다. 계획과의 차이는 같은 표에서 바로 열 수 있습니다.

국가와 고객을 행에 놓고 순매출과 함께 외화 단가 요인, 매출 물량 요인을 앞세웁니다. 보험료가 큰 국가에서 판매 조건을 다시 볼 자리를 찾는 용도입니다.

미납 보험료 잔액과 미납률이 큰 고객이 위로 올라오도록 짰습니다. 보험료율과 환율 요인을 함께 보여 줘 요율 부담과 납부 지연을 한 화면에서 구분할 수 있습니다.
축 전환과 범위 — 끌고, 고르고, 맞춘다
열 조합은 최대 36개이고 차원마다 값을 여러 개 고를 수 있습니다. 모두 이미 읽은 큐브 안에서 이루어집니다.

열 칸에 두 번째 차원을 올리면 열 머리가 두 줄로 쌓이고 칸은 두 차원의 조합으로 나뉩니다. 열 조합이 상한을 넘으면 표를 그리는 대신 줄이는 방법을 안내합니다. 이 상한은 화면이 느려지는 것을 막기 위한 안전장치입니다.

차원 칩의 필터 단추를 누르면 그 차원의 값 목록이 열려 여러 개를 한꺼번에 고를 수 있습니다. 같은 차원 안에서는 또는(or), 차원 사이에서는 그리고(and)로 걸리며 큐브에 실제로 있는 값만 보여 줍니다.

적용을 누르면 선택 값에 해당하는 칸만 남고 필터 칩이 표 위에 표시됩니다. 필터를 건 뒤의 합계는 선택한 값들의 큐브 합과 같습니다. 칩의 선택 해제를 누르면 한 번에 풀립니다.

표가 넓어 읽기 힘들면 가운데 손잡이를 끌어 표와 차트의 비율을 바꿉니다. 좁은 화면에서는 이 손잡이가 나타나지 않고 차트가 표 아래로 내려갑니다.
칸에서 원천 문서까지
숫자는 누르면 근거가 열려야 믿을 수 있습니다. 표의 칸을 누르면 그 칸을 이룬 청구·보험료 원천 줄이 열립니다.

청구 문서·청구일·납부일·납부 상태·증권 번호·보험 종목·고객·인코텀즈·판매 오더가 줄 단위로 나옵니다. 줄이 많으면 더 보기로 이어 읽고, 창 위쪽 문장에는 이 칸을 읽은 조건이 그대로 적혀 있습니다.

창 머리의 녹색 줄이 셀 값과 원천 줄 합계가 같다는 표시입니다. 예를 들어 어느 칸은 셀 값 6,884가 원천 합계 6,884(원천 182줄)와 일치합니다. 다르면 점검 필요로 바뀌니 조회 범위와 필터부터 확인하시기 바랍니다.

상단의 기간별 요약 단추로 엽니다. 서비스가 원천 청구 라인을 청구월별로 합산한 값에 같은 달의 계획 값을 나란히 놓습니다. 보험료율은 보험료를 청구액으로 나눈 값이며 요율은 샘플의 가정값입니다.
계산 항목 — 비율을 표에 얹는다
보험료율·납부율처럼 합계로 다시 나눠야 하는 비율은 계산 항목으로 얹습니다. 칸마다 비율을 평균내는 오차가 생기지 않습니다.

보기 방식을 단계 보기로 바꾸면 행 차원이 제품 그룹에서 보험 종목, 고객 순으로 한 단계씩 내려갑니다. 계산 항목이 합계 금액을 먼저 더한 뒤 나누므로 상위 행의 비율과 하위 행의 비율이 모순되지 않습니다.

보험료율, 순매출률, 납부율, 미납률, 수출 단위당 순매출, 요인 합계 여섯 계산 항목 가운데 고른 것을 열에 놓았습니다. 보험료율은 보험료÷청구액, 납부율은 납부 보험료÷보험료로 계산합니다.
기준 대비 차이와 요인분해 — 같은 표가 점검 자료가 된다
기준 대비를 켜면 같은 표에 계획 값과 차이가 붙습니다. 차이가 큰 행을 누르면 여섯 요인으로 가른 워터폴이 열립니다.

각 칸에 실적과 기준 값, 차이와 증감률이 붙습니다. 순매출은 계획 135,313백만원보다 3,025백만원 많고, 보험료율은 계획 0.37퍼센트보다 높은 0.40퍼센트입니다. 차이가 금액·비율 임계를 모두 넘는 행에는 사유 버튼이 나타납니다.

사유 구분은 매출 물량 변경, 외화 단가 변경, 환율, 보험료율 변경, 계획에 없던 증권, 기타 가운데 고릅니다. 사유는 조회 범위와 행 경로에 묶여 저장되어 축을 바꾸거나 새로 고쳐도 그 행에 따라옵니다.

행을 누르고 차이 분해 탭을 열면 계획 순매출에서 출발해 매출 물량·외화 단가·환율·보험료율·미계획 증권·계획 미이행 순서로 계단이 이어집니다. 계단의 마지막 막대가 실적 순매출입니다.

워터폴 아래 줄에 요인 합계와 총차이, 오차가 표시됩니다. 연쇄 대체 방식이라 여섯 요인의 합은 총차이와 항상 같아야 하며, 오차가 0이 아니면 점검 필요로 표시됩니다.
AI 분석과 보고서
AI 분석은 숫자를 만들지 않습니다. 서비스가 계산한 값을 읽어 문장으로 풀고 근거 수치를 함께 보여 줍니다.

지금 보고 있는 기간과 필터 범위를 기준으로 요약 문장과 주요 발견이 나옵니다. 기본은 모델을 쓰지 않는 규칙 기반 해설이라 같은 범위에서는 늘 같은 문장이 나오고, 분석 방식이 창에 표시됩니다.

발견 문장 아래에 대상, 순매출 실적과 계획, 미납 잔액, 보험료, 순매출 차이, 등록된 사유가 표로 붙습니다. 문장을 믿기 전에 숫자를 확인할 수 있게 한 구성입니다.

보고서 단추를 누르면 브라우저 안에서 PowerPoint 파일이 만들어집니다. 표지, 요약, 표, 항목 비교, 차이 분해 등 여섯 장으로 구성되고 파일은 서버에 남지 않습니다.
AI 에이전트 — 열지 않아도 도는 점검
감시 규칙 다섯 개가 임계값과 받을 역할을 갖고 있고, 걸린 항목은 받은 보고로 올라옵니다.

규칙은 순매출 계획 차이 금액, 보험료율 상한, 미납 보험료 잔액, 청구 후 90일 지난 미납, 보험료율 요인 손실 금액 다섯 가지입니다. 기준값과 받는 역할을 바꾸고 규칙별로 켜고 끌 수 있습니다.

역할 필터로 CEO·CFO·영업·리스크 책임자별 보고를 나눠 봅니다. 보고마다 제목, 본문, 금액, 행 경로가 붙어 있어 해당 자리를 곧바로 찾아갈 수 있습니다. 샘플의 첫 실행은 18건을 발견했습니다.

사용자, 타이머, 배치 중 누가 실행했는지가 남습니다. 같은 날 다시 실행하면 하루 한 번 제한으로 건너뜀이 기록되어 중복 점검과 중복 보고를 막습니다.
레이아웃 저장과 복원
자주 쓰는 축 배치는 이름을 붙여 저장하고, 기본 레이아웃에 자동 조회를 지정하면 열자마자 같은 화면이 됩니다.

행·열·항목·보기 방식·기준 대비·표시 행 수와 필터가 한 묶음으로 저장됩니다. 창 아래에 저장 내용 요약이 보여 무엇이 저장되는지 확인할 수 있습니다.

레이아웃마다 이름, 기본 여부, 자동 조회 여부와 작업 단추가 있습니다. 기본으로 지정한 레이아웃은 하나뿐이며 삭제 전에는 확인을 거칩니다.

화면을 다시 열면 저장해 둔 행·열 배치로 곧바로 조회가 실행됩니다. 앞서 남긴 변동 사유도 그대로 따라와 같은 설명을 되풀이하지 않습니다.
좁은 화면과 한계
폭 390px 에서는 위아래로 쌓이고, 열 조합이나 행이 상한을 넘으면 표 대신 줄이는 방법을 안내합니다.

열 조합이 36개를 넘으면 열 차원이나 선택값을 줄이라는 안내를 보여 줍니다. 이 샘플은 고객과 청구월을 열에 올려 108개 조합이 되어 안내가 뜬 모습입니다. 화면이 멈추거나 느려지는 대신 한계를 알려 주는 방식입니다.

조건 영역과 요약은 접은 한 줄을 기본으로 보여 주고 표는 가로로 밀어 봅니다. 값 선택·사유·레이아웃 창은 화면 가득 열립니다.

표와 차트 사이의 손잡이는 가로 배치에서만 쓰므로 좁은 화면에서는 나타나지 않습니다. 큰 표를 편하게 보려면 태블릿 이상을 권합니다.
화면 뒤에서 일어나는 일
조회를 누르면 서비스가 원천 줄에서 순매출과 보험료를 계산해 큐브와 계획, 차원·항목 정의를 돌려줍니다. 화면은 그 큐브를 브라우저 메모리에 두고 축 배치, 값 선택, 계산 항목, 기준 대비를 모두 다시 집계해서 보여 줍니다. 서버를 다시 부르는 것은 조회, 칸 드릴스루, 사유·레이아웃·규칙 저장뿐입니다. 서버와 브라우저가 같은 집계 엔진을 쓰기 때문에 같은 범위에서는 같은 숫자가 나옵니다.
판정 로직 — 납부 상태와 해야 할 일
원천 줄마다 보험료를 구하고, 납부 진행에 따라 아래 상태로 나눕니다. 판정은 점검용 분류이며 확정이 아닙니다. 보험료율과 납부일은 샘플의 가정값입니다.
| 판정 조건 | 결과 상태 | 사용자 조치 |
|---|---|---|
| 보험료가 전액 납부됨(납부일 확인) | PAID 납부 완료 | 조치 없음 |
| 보험료의 일부만 납부됨 | PARTIAL 일부 납부 | 남은 금액의 납부 일정을 확인 |
| 납부일이 없고 미납 잔액이 남음 | UNPAID 미납 | 미납 잔액으로 잡히고 AI 에이전트가 고객별로 알립니다. 납부 일정은 담당자가 확인 |
| 청구 후 90일이 지난 미납 금액이 임계를 넘음 | 점검 필요(대기함 보고) | 증권 번호와 청구 문서를 대조해 납부 지연 여부를 확인 |
| 고객별 보험료율(보험료÷청구액)이 규칙 상한(0.6퍼센트)을 넘음 | 확인 필요(대기함 보고) | 해당 고객의 보험 종목과 적용 요율을 확인 |
상태별 줄 수는 납부 완료 2,757 · 미납 576 · 일부 납부 61 입니다. 같은 합계에서 셀 값과 원천 줄 합계가 다르면 별도로 점검 필요로 표시됩니다.
산출·대사식
| 구분 | 식 | 설명 |
|---|---|---|
| 청구액 | 수량 × 외화 단가 × 적용 환율 | 외화 청구액을 원화로 환산합니다. 통화별 외화 합계도 따로 보관 |
| 보험료 | 청구액 × 적용 보험료율 | 증권(보험 종목·국가)별 요율은 샘플의 가정값 |
| 순매출 | 청구액 − 보험료 | 화면의 기본 분석 항목 |
| 미납 잔액 | 보험료 − 납부 보험료 | 납부율 = 납부 보험료 ÷ 보험료 |
| 큐브 대사 | 집계 큐브 합계 = 원천 줄 합계 | 금액·수량·줄 수·통화별 외화 값으로 합계 차이 0 확인 |
| 요인 대사 | 요인 합 = 실적 − 계획 | 검산 줄에 오차를 표시 |
조회조건
| 조건 | 필수 | 기본값 | 처리 |
|---|---|---|---|
| 회사코드 | 필수 | 샘플 회사코드 | 서버 조회 조건 — 회사코드 일치 |
| 시작·종료 기간(청구월) | 필수 | 2026-01 ~ 2026-09 | 서버 조회 조건 — 기간 이상·이하. 시작이 종료보다 늦으면 안내 |
| 비교 기준 | 고정 | 연초 확정 보험료 계획 | 계획을 같은 조건으로 함께 읽음 |
| 차원 값 선택 | 선택 | 전체 | 이미 읽은 큐브에서 브라우저가 걸러냄(서버 재호출 없음) |
| 행·열 배치, 항목, 계산 항목 | 선택 | 저장한 기본 레이아웃 또는 기본 배치 | 브라우저 재집계(서버 재호출 없음) |
| 칸 드릴스루 | 선택 | — | 해당 칸 조건으로 원천 줄을 쪽 단위로 읽음 |
결과 컬럼
| 컬럼 | 의미 | 산출식 |
|---|---|---|
| 순매출 | 청구액에서 보험료를 뺀 금액(원화) | 청구액 − 보험료 |
| 청구액 | 수출 청구 문서의 원화 환산 금액 | 수량 × 외화 단가 × 환율 |
| 보험료 | 증권별 요율을 곱한 보험료 | 청구액 × 보험료율 |
| 납부 보험료 · 미납 잔액 | 납부된 보험료와 아직 내지 않은 보험료 | 미납 = 보험료 − 납부 |
| 보험료율 · 납부율 · 미납률 | 합계 금액으로 다시 나눈 비율 | 보험료÷청구액 · 납부÷보험료 · 미납÷보험료 |
| 기준 값 · 차이 · 차이율 | 연초 확정 계획과 견준 값 | 실적 − 기준, 차이 ÷ 기준 |
| 요인 6종 | 차이를 가른 여섯 요인 금액 | 연쇄 대체 방식, 합 = 총차이 |
좁은 화면에서 달라지는 것
- 표와 차트가 위아래로 쌓이고 표는 가로로 밀어 봅니다.
- 표 위 요약과 조건 영역은 접은 한 줄을 기본으로 보여 줍니다.
- 표와 차트 사이 손잡이는 가로 배치에서만 씁니다. 좁은 화면에서는 나타나지 않습니다.
- 값 선택·사유·레이아웃 창은 화면 가득 열리고 닫기 버튼이 위쪽에 고정됩니다.
파일 구성
앱 폴더
├─ index.html · Component.js · manifest.json
├─ controller/ 조건·요약·표·차트·분석·에이전트·레이아웃 동작
├─ view/ 화면 정의(XML)
├─ model/ 집계 결과를 담는 모델과 서식 함수
├─ i18n/ 화면 문구
├─ odata/ 서비스 정의와 집계 엔진(서버·브라우저 공용)
├─ media/ 소개 영상과 대표 화면
└─ readme.html 앱 설명서
SAP 표준 기능 확장 포인트 — 표준 T-code 와 어떻게 연계되는지
표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 조회·검증 관점을 더해 확장합니다. 표준이 잘하는 확인과 대응은 표준에 두고, 끊기는 자리만 이어 붙입니다.
표준으로 되는 것과 안 되는 것
| 하고 싶은 일 | SAP 표준 | 표준에서 걸리는 자리 | 이 앱이 하는 일 |
|---|---|---|---|
| 수출 판매 오더와 계약 조건 확인 | VA03 | 오더를 한 건씩 열어야 하고 월·국가 단위로 모아 볼 수 없음 | 원천 줄에서 같은 오더 번호로 확인, 칸 합계와 대사 |
| 청구 문서 확인 | VF03 | 청구 문서 한 건 단위 조회 | 청구 줄의 청구액·보험료를 청구월·고객·국가로 모아 보기 |
| 고객 미결 잔액 확인 | FBL5N | 고객 계정 항목을 따로 조회 | 미납 보험료 잔액과 납부일을 청구 줄마다 나란히 |
| 보험료가 순매출에 주는 부담의 축별 비교 | 확인 필요 | 보험 종목·국가·고객 축으로 모아 보는 표준 화면은 설치 환경에서 확인해야 함 | 열 개 차원으로 돌려 보고 보험료율을 합계 기준으로 계산 |
| 계획 대비 차이의 원인 | 없음 | 표준에 순매출 차이를 요인으로 가르는 자리가 없음 | 여섯 요인으로 가르고 합계를 검산 |
T-code 별 연계 지점
맞닿은 표준 T-code 마다 같은 테이블·필드를 이어받습니다. 이 앱 결과에서 표준 화면으로 내려가 원천을 확인하고, 표준 화면 값은 이 앱의 해당 월·고객에서 다시 보는 식으로 오갑니다. 기존 표준 화면과 리포트를 없앨 필요는 없습니다. 법정·감사 대응은 표준에 남겨 둡니다.
| T-code | 이름 | 연계 |
|---|---|---|
| VA03 | 판매 오더 조회 | 이 앱의 원천 줄에 있는 판매 오더 번호로 같은 오더를 열어 계약 조건과 인코텀즈를 확인합니다. 두 화면의 건수를 월 단위로 맞춰 보고, 어긋나는 오더만 표준 화면에서 원인을 봅니다. |
| VF03 | 청구 문서 조회 | 청구액과 청구일의 원천입니다. 이 앱의 청구 문서 번호로 청구서를 열어 금액과 환율이 줄 단위로 같은지 대조합니다. 보험료 정산이 청구 문서에 어떻게 반영되는지는 회사 구성에 따라 달라 확인 필요입니다. |
| FBL5N | 고객 계정 항목 조회 | 미결 항목과 입금의 원천입니다. 이 앱의 미납 보험료 잔액과 납부일을 고객 계정 항목과 대조해 납부 완료·일부 납부·미납 판정을 확인합니다. 보험료를 어느 계정 항목으로 정산하는지는 회사 설계에 달려 있어 확인 필요입니다. |
S/4HANA 분석 스택과의 자리
S/4HANA 의 표준 CDS 분석 쿼리와 Fiori 분석 앱, Analysis for Office 는 표준 데이터를 정해진 관점으로 보는 데 강합니다. 이 앱은 수출 신용보험 보험료라는 특정 주제에서 열 개 차원 피벗, 요인분해, 사유, 에이전트까지 한 흐름으로 묶는 자리를 맡습니다. 표준 앱 가운데 수출 신용보험 보험료에 그대로 맞는 것이 있는지는 설치 환경에서 확인해야 하므로 이 글에서는 앱 이름을 특정하지 않습니다(확인 필요).
확장 포인트 — 운영에서 실제로 손대는 자리
| 자리 | 무엇을 손대나 | 누가 |
|---|---|---|
| 증권·요율 기준 | 고객·보험 종목별 적용 보험료율과 유효 기간을 담는 기준 테이블 값 | 리스크 · 재무 |
| 보험 종목 분류 | 단기수출보험·선적 전 수출신용·수출어음 담보·포괄보험을 어떤 기준으로 가를지 | 리스크 · 영업 지원 |
| 납부 내역 원천 | 보험료 납부일·금액을 가져오는 문서와 계정 | 재무 · IT |
| 확장 필드 | 증권 번호·보험 종목을 판매 오더나 청구 문서에 싣는 사용자 정의 필드 또는 BAdI | IT |
| 계획 원천 | 연초 확정 보험료 계획의 위치와 버전 | 기획 |
| 권한 | 사업부·고객 단위 읽기 권한 | 보안 · 권한 |
분석 지표 정의표
| 지표 | 산식·판정 기준 | 대응 기능 | 원천 데이터 | 비고 |
|---|---|---|---|---|
| 청구액 | 수량 × 외화 단가 × 환율 | 분석 항목 · 표 | 청구 문서 항목 | 환율은 샘플 가정값 |
| 보험료 | 청구액 × 적용 보험료율 | 분석 항목 · 에이전트 | 증권 요율(확인 필요) | 요율은 가정값 |
| 순매출 | 청구액 − 보험료 | 분석 항목 | 산출값 | |
| 납부 보험료 · 미납 잔액 | 납부 합계 · 보험료 − 납부 | 분석 항목 · 에이전트 | 납부 내역(확인 필요) | 기준일 샘플 가정 2026-09-30 |
| 보험료율 · 납부율 · 미납률 | 합계 금액으로 다시 나눈 비율 | 계산 항목 · 에이전트 | 산출값 | 규칙 상한 0.6퍼센트 |
| 계획 대비 차이 6요인 | 연쇄 대체 방식 분해 | 기준 대비 · 워터폴 | 연초 확정 계획과 비교 | 합계 대사 |
CDS 구성 — 최대한 자세히
뷰 레이어 구성
기준 테이블에서 시작해 차원 · 원천 줄 · 계산 · 큐브 · 쿼리 · 권한 · 서비스 순으로 쌓습니다. 레이어를 나눈 이유는 정책이 바뀌는 자리(요율, 보험 종목, 환율)를 한 곳씩만 고치게 하려는 것입니다.
| 레이어 | 뷰 | 하는 일 | 왜 나누나 |
|---|---|---|---|
| 기준 | ZINS_MAP | 고객·보험 종목별 보험료율과 유효 기간 | 요율은 증권마다 달라 뷰에 값을 박지 않고 표로 뺍니다 |
| 차원 | ZI_ExpInsCover | 보험 종목 코드의 이름·정렬 | 큐브에서 이름을 조인하면 집계가 느려져 차원을 따로 둡니다 |
| 원천 줄 | ZI_ExpInsBillItem | 청구 문서 줄에 고객 국가와 요율을 붙여 한 줄을 만듦 | 드릴스루가 읽는 가장 작은 단위를 한곳에 둡니다 |
| 계산 | ZI_ExpInsPremium | 청구액·보험료·순매출·납부·미납 계산 | 정책이 바뀌어도 이 뷰만 고치면 되게 합니다 |
| 큐브 | ZC_ExpInsCube | 청구월·보험 종목·제품 그룹·고객·인코텀즈 키로 합산 | 화면이 한 번에 읽는 집계 단위이며 합계 대사의 기준입니다 |
| 쿼리 | ZQ_ExpInsAnalysis | 필터와 기본 축을 얹은 소비 뷰 | 서비스는 이 뷰만 게시하면 되도록 합니다 |
| 권한 | ZC_ExpInsCube (DCL) | 사업부 범위로 읽기 제한 | 집계 단계에서 걸어야 합계의 뺄셈으로 다른 범위가 드러나지 않습니다 |
| 서비스 | 서비스 정의 · 바인딩 | 쿼리를 OData V2 로 게시 | 화면은 서비스 주소만 알면 됩니다 |
아래 코드는 구현 참고용 스케치이며 그대로 활성화되는 코드가 아닙니다. 증권 요율과 납부 내역을 담는 객체는 회사 정책에 따라 별도로 정의해야 하며 확인 필요입니다.
① 증권 요율 매핑 테이블 ZINS_MAP
고객과 보험 종목마다 적용하는 보험료율과 유효 기간을 담는 기준 테이블입니다. 요율은 보험사와의 계약에서 나오므로 이 표에서 정하며, 값은 확인 필요입니다.
" ─────────────────────────────────────────────────────────────
" ZINS_MAP — 증권 요율 매핑
" 역할 : 고객·보험 종목별 적용 보험료율(청구액 대비 %)과 유효 기간을 잇는다.
" 나눈 이유 : 요율은 증권마다 달라 뷰에 값을 박지 않고 기준 테이블로 뺀다.
" 값은 확인 필요.
" ─────────────────────────────────────────────────────────────
@EndUserText.label : '증권 요율 매핑'
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #C
@AbapCatalog.dataMaintenance : #ALLOWED
define table zins_map {
key mandt : mandt not null;
key kunnr : kunnr not null; " 고객 번호
key cover_type : abap.char(5) not null; " SHORT 단기 · PRE 선적 전 · BILL 어음 담보 · GROUP 포괄
key valid_from : abap.dats not null;
valid_to : abap.dats;
pol_no : abap.char(20); " 증권 번호 (확인 필요)
prem_rate : abap.dec(5,3); " 청구액 대비 보험료율 (%)
}
② 차원 뷰 ZI_ExpInsCover
보험 종목 코드의 이름과 정렬 순서를 한곳에서 제공합니다. 화면의 차원 값 선택 창이 이 뷰를 읽습니다.
" ───────────────────────────────────────────────────────────
" ZI_ExpInsCover — 보험 종목 차원
" 역할 : 보험 종목 코드 → 이름·정렬. DimValueSet 의 원천.
" 나눈 이유 : 큐브에서 이름을 조인하면 집계가 느려지므로 차원은 따로 둔다.
" ───────────────────────────────────────────────────────────
@AbapCatalog.viewEnhancementCategory : [#NONE]
@AccessControl.authorizationCheck : #NOT_REQUIRED
@EndUserText.label : '보험 종목 차원'
@ObjectModel.dataCategory : #TEXT
@Analytics.dataCategory : #DIMENSION
define view entity ZI_ExpInsCover
as select distinct from zins_map
{
key cover_type as CoverType,
@Semantics.text : true
case cover_type
when 'SHORT' then '단기수출보험(선적 후)'
when 'PRE' then '선적 전 수출신용'
when 'BILL' then '수출어음 담보'
when 'GROUP' then '포괄보험'
else '기타' end as CoverText
}
③ 원천 줄 뷰 ZI_ExpInsBillItem
청구 문서 줄에 고객 국가와 증권 요율을 붙여 보험료 대상 한 줄을 만듭니다. 외화 단가와 환율, 납부 내역의 원천은 회사 정책에 따라 확인 필요입니다.
" ───────────────────────────────────────────────────────────
" ZI_ExpInsBillItem — 청구·보험료 원천 줄
" 역할 : 청구 문서(VBRK/VBRP) + 고객(KNA1) + 증권 요율(ZINS_MAP)
" 나눈 이유 : 줄 단위 원천을 한 번 정의해 큐브·드릴스루가 같이 쓰게 한다.
" 확인 필요 : 납부 보험료(PaidFc)와 납부일(PayDate)의 원천
" ───────────────────────────────────────────────────────────
@AbapCatalog.viewEnhancementCategory : [#NONE]
@AccessControl.authorizationCheck : #CHECK
@EndUserText.label : '청구·보험료 원천 줄'
define view entity ZI_ExpInsBillItem
as select from vbrk
inner join vbrp on vbrp.vbeln = vbrk.vbeln
inner join kna1 on kna1.kunnr = vbrk.kunag
inner join zins_map as m on m.kunnr = vbrk.kunag
and vbrk.fkdat between m.valid_from and m.valid_to
{
key vbrk.vbeln as BillDoc,
key vbrp.posnr as Item,
vbrk.fkdat as BillDate,
vbrk.kunag as Customer,
kna1.land1 as Country,
vbrk.waerk as Currency,
vbrk.inco1 as Incoterms,
vbrp.aubel as SoDoc,
vbrp.matnr as Material,
m.cover_type as CoverType,
m.pol_no as PolNo,
m.prem_rate as PremRate,
@Semantics.quantity.unitOfMeasure : 'Unit'
vbrp.fkimg as Qty,
vbrp.vrkme as Unit,
@Semantics.amount.currencyCode : 'Currency'
vbrp.netwr as FcValue
}
④ 보험료 계산 뷰 ZI_ExpInsPremium
청구 줄에 환율과 요율을 곱해 청구액과 보험료, 순매출을 계산하고 납부 내역을 붙여 미납 잔액을 구합니다. 환율과 요율은 샘플의 가정값이며 운영에서는 회사 기준으로 바꿉니다.
" ───────────────────────────────────────────────────────────
" ZI_ExpInsPremium — 줄 단위 보험료 계산
" 역할 : 청구액 = 외화 청구 금액 × 환율, 보험료 = 청구액 × 요율 / 100
" 순매출 = 청구액 − 보험료, 미납 = 보험료 − 납부
" 나눈 이유 : 계산식을 한곳에 두어 화면·보고서·감시 규칙이 같은 값을 읽는다.
" ───────────────────────────────────────────────────────────
@AbapCatalog.viewEnhancementCategory : [#NONE]
@AccessControl.authorizationCheck : #CHECK
@EndUserText.label : '줄 단위 보험료 계산'
define view entity ZI_ExpInsPremium
as select from ZI_ExpInsBillItem as s
association [0..1] to ZINS_FxRate as _Fx on _Fx.Currency = s.Currency
and _Fx.PostMonth = left( cast( s.BillDate as abap.char(8) ), 6 )
association [0..1] to ZINS_Paid as _Pay on _Pay.BillDoc = s.BillDoc and _Pay.Item = s.Item
{
key s.BillDoc, key s.Item,
s.CoverType, s.Customer, s.Country, s.Incoterms, s.BillDate,
@Semantics.amount.currencyCode : 'Currency'
cast( s.FcValue * _Fx.Rate as abap.curr(17,0) ) as Gross,
@Semantics.amount.currencyCode : 'Currency'
cast( s.FcValue * _Fx.Rate * s.PremRate / 100 as abap.curr(17,0) ) as Prem,
@Semantics.amount.currencyCode : 'Currency'
cast( _Pay.PaidKrw as abap.curr(17,0) ) as Paid,
cast( 'KRW' as abap.cuky ) as Currency
}
⑤ 실적 큐브 ZC_ExpInsCube
원천 줄을 청구월·보험 종목·고객·국가·인코텀즈 키로 합산합니다. 화면의 큐브 엔티티셋이 이 뷰를 읽습니다.
" ───────────────────────────────────────────────────────────
" ZC_ExpInsCube — 실적 큐브
" 역할 : 원천 줄을 키로 합산. 순매출 = 청구액 − 보험료, 미납 = 보험료 − 납부
" 나눈 이유 : 화면이 줄 단위를 읽으면 느리므로 합산은 서버에서 한다.
" ───────────────────────────────────────────────────────────
@AbapCatalog.viewEnhancementCategory : [#NONE]
@AccessControl.authorizationCheck : #CHECK
@EndUserText.label : '수출 신용보험 보험료 큐브'
@Analytics.dataCategory : #CUBE
@ObjectModel.usageType : { serviceQuality : #D, sizeCategory : #XL, dataClass : #TRANSACTIONAL }
define view entity ZC_ExpInsCube
as select from ZI_ExpInsPremium as c
{
key cast( left( cast( c.BillDate as abap.char(8) ), 6 ) as abap.char(6) ) as Period,
key c.CoverType, key c.Customer, key c.Country, key c.Incoterms,
@Semantics.amount.currencyCode : 'Currency'
@Aggregation.default : #SUM sum( c.Gross ) as Gross,
@Semantics.amount.currencyCode : 'Currency'
@Aggregation.default : #SUM sum( c.Prem ) as Prem,
@Semantics.amount.currencyCode : 'Currency'
@Aggregation.default : #SUM sum( c.Gross - c.Prem ) as Net,
@Semantics.amount.currencyCode : 'Currency'
@Aggregation.default : #SUM sum( c.Prem - c.Paid ) as Unpaid,
c.Currency
}
group by left( cast( c.BillDate as abap.char(8) ), 6 ),
c.CoverType, c.Customer, c.Country, c.Incoterms, c.Currency
⑥ 분석 쿼리 ZQ_ExpInsAnalysis
필터와 기본 축을 얹은 소비 뷰입니다. 회사코드와 기간을 필수 필터로 두어 한 번에 읽는 범위를 제한합니다.
" ───────────────────────────────────────────────────────────
" ZQ_ExpInsAnalysis — 분석 쿼리(소비 뷰)
" 역할 : 큐브에 필수 필터와 기본 행·열 배치를 얹어 서비스로 게시한다.
" 나눈 이유 : 서비스는 이 뷰 하나만 게시하면 되고, 큐브는 다른 쿼리도 재사용한다.
" ───────────────────────────────────────────────────────────
@AccessControl.authorizationCheck : #CHECK
@EndUserText.label : '수출 신용보험 보험료 분석'
@Analytics.query : true
@UI.headerInfo.typeName : '보험료 분석'
define view entity ZQ_ExpInsAnalysis
as select from ZC_ExpInsCube
{
@AnalyticsDetails.query.axis : #ROWS
@Consumption.filter : { selectionType : #RANGE, multipleSelections : true, mandatory : true }
key Period,
@AnalyticsDetails.query.axis : #ROWS
key CoverType,
@AnalyticsDetails.query.axis : #ROWS
key Customer,
@Consumption.filter.selectionType : #SINGLE
key Country,
key Incoterms,
@AnalyticsDetails.query.axis : #COLUMNS
Net,
@AnalyticsDetails.query.axis : #COLUMNS
Prem,
@AnalyticsDetails.query.axis : #COLUMNS
Unpaid
}
⑦ 권한 DCL ZC_ExpInsCube
집계 단계에서 사업부 범위를 걸어 합계의 뺄셈으로 다른 범위 숫자가 드러나지 않게 합니다. 권한 객체와 필드 매핑은 회사 권한 설계에 따르며 확인 필요입니다.
" ───────────────────────────────────────────────────────────
" ZC_ExpInsCube — 접근 제어(DCL)
" 역할 : 사업부(회사코드) 범위로 읽기를 제한한다.
" 나눈 이유 : 집계 뒤에 걸면 합계에서 뺄셈으로 다른 범위가 드러난다.
" ───────────────────────────────────────────────────────────
@EndUserText.label : '수출 신용보험 큐브 접근 제어'
@MappingRole : true
define role ZC_ExpInsCube {
grant select on ZC_ExpInsCube
where ( Company ) = aspect pfcg_auth( F_BKPF_BUK, BUKRS, ACTVT = '03' );
}
운영 시점에 해야 할 일
개발보다 정하는 일이 많습니다. 아래를 먼저 합의하면 기술 작업은 CDS 뷰와 권한, 서비스를 만드는 일로 줄어듭니다.
| 해야 할 일 | 무엇을 정하나 | 정하지 않으면 | 누가 |
|---|---|---|---|
| 증권·요율 기준 | 고객·보험 종목별 보험료율과 유효 기간의 원천 | 보험료가 실제와 다르게 나옵니다 | 리스크 · 재무 |
| 보험 종목 분류 | 단기·선적 전·어음 담보·포괄을 어떤 기준으로 가르는지 | 보험 종목 축이 의미를 잃습니다 | 리스크 · 영업 지원 |
| 보험료 정산 방식 | 청구 문서에 반영하는지, 별도 정산인지 | 순매출에서 보험료를 빼는 기준이 흔들립니다 | 재무 |
| 납부 내역 원천 | 납부일·금액을 가져오는 문서와 계정 | 납부율과 미납 잔액을 믿을 수 없습니다 | 재무 · IT |
| 환율 유형과 기준일 | 청구일 환율인지 월말 환율인지 | 환율 요인이 어긋납니다 | 재무 |
| 미납 기준일과 경과 일수 | 90일 경과 규칙의 기준일(샘플은 2026-09-30 가정) | 경과 미납 금액이 달라집니다 | 리스크 · 재무 |
| 계획 원천과 버전 | 연초 확정 보험료 계획을 어디서 어떤 버전으로 가져오는지 | 기준 대비 차이를 믿을 수 없습니다 | 기획 |
| 차원 범위 | 열 개 차원 가운데 운영에서 쓸 것 | 큐브가 커지거나 쓰지 않는 축이 남습니다 | 경영지원 · IT |
| 권한 설계 | 사업부·고객 단위 권한 객체와 필드 매핑 | 집계로 다른 범위 숫자가 드러납니다 | 보안 · 권한 |
| 표준 대사 체계 | VF03 · FBL5N 과 맞출 항목과 주기 | 숫자가 틀려도 알아챌 자리가 없습니다 | 재무 · 감사 대응 |
| 전송과 서비스 게시 | 전송(TR) 순서, 서비스 활성화, 화면의 서비스 주소 교체 | 운영에서 화면이 샘플을 읽거나 열리지 않습니다 | IT |
| 배치 등록 | 에이전트 규칙을 정해진 주기로 돌릴지 | 점검이 사람이 화면을 열 때만 돕니다 | IT · 운영 |
숫자를 믿을 수 있는가 — 검증 결과
리포트에서 가장 비싼 질문은 “이 숫자 맞아?” 입니다. 먼저 대사식을 세워 전수로 돌린 결과이며, 위 사례의 숫자도 이 검증을 거친 값입니다. 브라우저 자동 시험은 기능 항목 13개가 모두 통과했습니다.
| 대사 | 검사 건수 | 차이 건수 | 의도적 예외 |
|---|---|---|---|
| 큐브 합계 = 원천 줄 합계(금액·수량·줄 수·통화별 외화 값 등) | 20 | 0 | 0 |
| 요인 합 = 총차이(검산 줄) | 1 | 0 | 0 |
| 드릴스루 칸 합계 일치(셀 값 = 원천 합계, 4칸 표본) | 4 | 0 | 0 |
| 축 이동 중 서버 요청 | 1 | 0 | 0 |
| 미납(UNPAID) 줄 | 576줄 | - | 576줄 (일부러 넣은 예외 목록) |
대사 항목은 전부 차이 0입니다. 미납 576줄과 일부 납부 61줄은 일부러 넣은 예외 목록이며, 계획에는 있었으나 청구되지 않은 10개 조합과 계획에 없던 8개 조합도 일부러 넣었습니다.
| 샘플 데이터 규모 | 값 |
|---|---|
| 원천 줄 | 3,394줄 |
| 집계 큐브 | 351행(실적) · 343행(계획) |
| 순매출(실적) | 138,338,273,222원 |
| 순매출(계획) | 135,313,452,532원 |
| 보험료(실적) | 555,105,580원 (보험료율 0.40퍼센트) |
| 납부 보험료 | 452,166,929원 (납부율 81.5%) |
| 미납 잔액 | 102,938,651원 |
운영 데이터로 갈 때
이 샘플의 원천은 3,394줄이라 큐브 전체를 읽어도 부담이 없습니다. 수천만 건 규모에서는 큐브 집계를 데이터베이스에서 하고, 회사코드와 기간을 필수 조건으로 두며, 인덱스와 응답 시간 기준을 정해야 합니다. 응답 시간은 운영 데이터 기준으로 다시 측정해야 합니다.
자주 묻는 질문
도입을 검토할 때 자주 나오는 질문을 네 묶음으로 정리했습니다.
숫자와 산식
이 앱의 숫자로 보험료와 순매출을 확정할 수 있습니까?
아닙니다. 이 화면은 점검 도구이며 최종 판단은 회사와 감사인이 합니다. 세무 신고는 회사와 세무 대리인·관세사가 판단합니다. 이 글에는 법령의 조문이나 회계 기준 문단을 적지 않았고, 확인하지 못한 값은 “확인 필요”로 표시했습니다. 화면의 숫자는 점검과 대사를 돕는 참고 값이며, 확정은 표준 문서와 맞춘 뒤에 하십시오.
순매출과 보험료는 어떻게 계산합니까?
외화 청구 금액에 환율을 곱해 청구액을 원화로 만들고, 증권별 보험료율을 곱해 보험료를 구한 뒤 청구액에서 뺀 값이 순매출입니다. 이 앱의 환율과 요율은 검증용 샘플의 가정값이고, 운영에서는 회사 정책과 보험 증권에서 가져옵니다. 원천이 정해지기 전에는 “확인 필요”입니다.
보험료율은 칸마다 평균을 냅니까?
아닙니다. 보험료율은 합계 보험료를 합계 청구액으로 다시 나눠 계산합니다. 칸마다 비율을 평균내면 청구액이 큰 칸과 작은 칸이 같은 무게로 섞여 값이 틀어지기 때문입니다. 납부율과 미납률도 같은 방식입니다.
미납 잔액은 어떻게 판정합니까?
보험료에서 납부 보험료를 뺀 값입니다. 납부일이 없고 잔액이 남으면 미납, 일부만 냈으면 일부 납부로 나눕니다. 샘플은 조회 기준일을 2026-09-30 으로 가정했고, 운영의 기준일과 납부 내역 원천은 회사가 정해야 하므로 확인 필요입니다.
샘플 데이터의 미납 576줄은 왜 있습니까?
점검 화면이 미납 잔액과 경과 미납을 어떻게 보여 주는지 확인하려고 검증용 샘플에 일부러 넣은 예외 목록입니다. 미납 잔액 102,938,651 원 가운데 대부분이 여기에 해당합니다. 운영 데이터의 비율을 뜻하지 않습니다.
차이 요인분해는 어떤 방식입니까?
요인을 계획 값에서 실적 값으로 한 번에 하나씩 바꿔 가며 변화분을 구하는 연쇄 대체 방식입니다. 그래서 여섯 요인의 합이 실적과 계획의 차이와 항상 같고, 화면의 검산 줄이 오차를 0으로 보여 줍니다. 요인의 순서를 바꾸면 요인별 금액은 달라질 수 있지만 합은 변하지 않습니다.
외화와 환율은 어떻게 처리합니까?
청구는 통화별 외화 금액으로 두고 환율을 곱해 원화로 환산하며, 통화별 외화 합계도 따로 보관해 대사합니다. 서로 다른 통화의 외화 금액을 그대로 더하지 않습니다. 환율이 달라서 생긴 몫은 요인분해의 환율 요인으로 따로 잡히며, 환율 유형과 기준일은 회사가 정할 일이라 “확인 필요”입니다.
화면과 조작
조회는 어떻게 실행합니까?
조건 영역 오른쪽 끝의 조회 버튼을 누르거나 조건 입력 칸에서 Enter 키를 누릅니다. 필수 조건은 회사코드와 시작·종료 기간입니다. 시작 기간이 종료 기간보다 늦으면 안내가 뜹니다.
축을 바꾸면 서버를 다시 부릅니까?
아닙니다. 조회 때 읽은 큐브를 브라우저에서 다시 집계하므로 행·열을 옮기고 값을 고르는 동안 요청이 늘지 않습니다. 서버를 다시 부르는 것은 조회, 칸 드릴스루, 사유·레이아웃·규칙 저장뿐입니다.
행과 열에 몇 개까지 차원을 놓을 수 있습니까?
행은 최대 세 단계, 열은 최대 두 단계입니다. 열 조합은 36개를 넘으면 표를 그리지 않고 줄이는 방법을 안내합니다. 화면이 느려지거나 멈추는 것을 막기 위한 안전장치이며, 차원 값을 고르거나 열 차원을 줄이면 다시 그려집니다.
칸을 누르면 무엇이 열립니까?
그 칸의 조건에 해당하는 원천 청구·보험료 줄이 창으로 열리고, 창 머리에 셀 값과 원천 합계가 같은지 표시됩니다. 줄이 많으면 더 보기로 이어 읽습니다. 요인 값은 실적 행과 계획 행을 맞대어 나눈 값이라 원천 줄 합계와 직접 맞추지 않는다는 안내가 함께 뜹니다.
차이 사유는 어디에 저장됩니까?
사유는 조회 범위와 행 경로에 묶여 서비스에 저장되므로 축을 바꾸거나 새로 고쳐도 그 행에 따라옵니다. 사유 구분과 내용을 남기며, 차이가 금액 임계와 비율 임계를 모두 넘는 행에 사유 버튼이 나타납니다.
좁은 화면에서도 쓸 수 있습니까?
쓸 수 있지만 큰 표를 편하게 보려면 태블릿 이상을 권합니다. 폭 390px 에서는 표와 차트가 위아래로 쌓이고 표는 가로로 밀어 봅니다. 값 선택·사유·레이아웃 창은 화면 가득 열립니다.
분석 기능
AI 분석이 숫자를 만들어 냅니까?
아닙니다. 숫자는 서비스가 계산하고 AI 는 읽기만 합니다. 기본은 모델을 쓰지 않는 규칙 기반 해설이라 같은 범위에서는 늘 같은 문장이 나오며, 창에 분석 방식이 표시됩니다. 모델 연결은 서비스 설정 하나로 켭니다.
AI 에이전트는 무엇을 점검합니까?
감시 규칙 다섯 개입니다. 제품 그룹별 순매출 계획 차이 금액(기본 8억 원), 고객별 보험료율 상한(0.6퍼센트), 고객별 미납 잔액(기본 1천만 원), 청구 후 90일 경과 미납(기본 180만 원), 국가별 보험료율 요인 손실(기본 300만 원)입니다. 기준값과 받는 역할은 화면에서 바꿀 수 있습니다.
에이전트를 같은 날 다시 실행하면 어떻게 됩니까?
하루 한 번만 실행합니다. 같은 날 다시 누르면 하루 한 번 제한으로 건너뜀이 활동 기록에 남고 새 보고는 만들지 않습니다. 중복 점검과 중복 보고를 막기 위한 규칙입니다.
보고서(PPTX)는 어디서 만들어집니까?
브라우저 안에서 만들어집니다. 보고 있는 범위의 표와 차트, AI 분석 결과를 여섯 장으로 담으며 파일은 서버에 남지 않습니다. 외부 라이브러리 없이 만든 파일이라 PowerPoint 에서 바로 열립니다.
레이아웃에는 무엇이 저장됩니까?
행·열 배치, 분석 항목, 보기 방식, 기준 대비 여부, 표시 행 수와 필터가 한 묶음으로 저장됩니다. 기본 레이아웃에 자동 조회를 지정하면 화면을 열 때 곧바로 조회됩니다. 기본 레이아웃은 하나만 지정할 수 있습니다.
도입과 운영
도입하면 누가 가장 먼저 효과를 봅니까?
보험료와 미납을 마감 때마다 모아 맞추는 경영지원·재무 담당과 수출 영업 지원이 먼저 체감합니다. 같은 큐브에서 역할별 요약이 나오므로 CEO · CFO · 영업 · 리스크 책임자가 같은 숫자를 각자의 순서로 읽게 됩니다. 효과의 크기는 현재의 수작업 정도에 달려 있어 수치로 단정하지 않습니다.
적용 시기와 범위는 어떻게 됩니까?
확인된 사실만 적습니다. 이 화면은 수출 신용보험(무역보험) 보험료가 순매출에 주는 부담을 여러 축으로 점검하도록 만든 분석 화면이며, 약관·요율·시행일과 회계 처리 기준은 이 글에서 다루지 않았습니다. 범위와 시기는 회사의 보험 계약과 내부 기준에 따라 정해야 하며 확인 필요입니다.
표준 T-code 와 어떤 관계입니까?
표준을 대체하지 않습니다. 판매 오더 확인은 VA03, 청구 문서 확인은 VF03, 고객 미결 항목 대조는 FBL5N 이 담당하고, 이 화면은 같은 원천을 모아 보고 검증하는 관점을 더해 확장합니다. 기존 표준 화면과 리포트를 없앨 필요는 없습니다.
운영 시스템에 연결하려면 무엇이 필요합니까?
증권 요율과 납부 내역의 원천을 정하는 합의가 가장 큰 일입니다. 그 뒤에 CDS 뷰와 권한, 서비스 게시를 만들고 화면의 서비스 주소를 바꾸면 됩니다. 소요는 회사의 데이터 정리 상태에 크게 좌우되므로 기간을 단정하지 않습니다.
권한과 보안은 어떻게 합니까?
집계 단계에 사업부·고객 단위 권한을 겁니다. 집계 뒤에 걸면 합계에서 뺄셈으로 다른 범위의 숫자가 드러날 수 있기 때문입니다. 권한 객체와 필드 매핑은 회사 권한 설계에 따라 정하며 확인 필요입니다.
데이터가 아주 많으면 느리지 않습니까?
샘플은 원천 3,394줄이라 부담이 없지만 수천만 건에서는 집계를 데이터베이스에서 하고 회사코드와 기간을 필수 조건으로 두어야 합니다. 화면은 큐브를 한 번 읽고 브라우저에서 다시 묶으므로, 큐브의 행 수를 차원 범위로 관리하는 것이 핵심입니다. 응답 시간은 운영 데이터로 다시 측정해야 합니다.
보험 종목이나 계정 체계가 바뀌면 어떻게 합니까?
보험 종목 분류와 요율은 기준 테이블에 있어 값을 고치면 됩니다. 새 보험 종목이 생기면 차원 뷰의 이름 매핑을 추가하고, 계정 체계가 바뀌면 납부 내역의 원천 매핑을 고칩니다. 화면 코드는 차원 이름과 값을 서비스에서 읽어 오므로 보통 손댈 필요가 없습니다.