솔루션 홈
세무 대응

SAP 지출증빙 적격요건 점검 — 3만원(경조사비 20만원) 넘는 지출, 증빙부터 맞춰본다

결제금액과 증빙유형을 기준금액과 대사해, 적격증빙 확인이 필요한 지출 건을 거래처별로 가려봤습니다

지출 결의를 처리하다 보면 3만원이 넘는 일반경비, 20만원이 넘는 경조사비 지출에는 세금계산서·계산서·신용카드매출전표·지출증빙용 현금영수증 같은 적격증빙을 갖춰야 한다는 원칙은 다들 알고 있지만, 막상 결산 전에 어느 건이 기준금액을 넘겼는지, 그 건에 적격증빙이 실제로 붙어 있는지를 전표 단위로 하나씩 대조하는 일은 번거롭습니다. 이 작업을 결산 전에 화면에서 바로 확인할 수 있도록 OpenUI5 화면으로 구현했습니다.

지출계정을 일반경비와 경조사비로 구분해 각각 3만원 · 20만원 기준금액을 매칭하고, 기준금액을 초과한 라인만 증빙유형이 적격증빙 4종에 해당하는지 대사합니다. 기준을 넘겼는데 일반영수증만 있거나 증빙이 아예 없는 건은 "점검 필요"로 가려내고, 나머지는 "정상"으로 분류합니다. 회사·기간 단위 요약 지표와 거래처별 집계를 함께 제공해, 어느 거래처에서 점검 필요 건이 몰려 있는지도 바로 확인할 수 있습니다. 실제 구동 화면 4종을 함께 공개합니다.

SAP 표준 기능을 그대로 이어받은 부분

  • 전표 조회 — 전표 조회(FB03)로 계상된 지출 전표를 그대로 원천 데이터로 씁니다
  • 계정별 원장 — 계정별 원장 조회(FBL3N)의 라인아이템 구조를 지출증빙 명세 탭으로 이어받습니다
  • 구매송장 검증 — 구매송장 검증(MIRO) 처리 이후 시점에서 증빙유형 요건을 별도로 재확인하는 점검 관점을 더합니다
항목내용
업무 영역재무회계(FI) · 세무 대응
관련 기준서- · 세무 대응(지출증빙 적격요건)
Namespacezui5.taxevidence
셸 구조조회조건 영역(우측 조회) + 요약 지표 4종 + 탭 2개, 행 클릭 상세 Dialog
화면 수조회 화면 1개(탭 2개) + 상세 다이얼로그
SAP 표준 T-codeFB03 · FBL3N · MIRO
데이터 연동 방식OData V2 — 화면 블록마다 엔티티셋에 직접 바인딩
성격조회·점검형 — 최종 판단은 회사와 세무 대리인이 수행
UI 테마sap_horizon 단일 적용

실제 화면 4종 둘러보기

기본 조건으로 조회하면 지출증빙 명세가 뜹니다 → 판정결과를 점검 필요로 좁혀 보고 → 거래처별 집계 탭으로 거래처 단위 현황을 보고 → 행을 클릭해 상세를 봅니다.

아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.

지출증빙 명세
지출증빙 적격요건 점검 메인 화면 — 조회조건, 요약 지표, 지출증빙 명세
메인 화면 — 조회조건 · 요약 지표(조회 건수·금액·점검 필요 건수·비율) · 지출증빙 명세가 한 화면에 뜹니다. 조회 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
점검 필요 필터
판정결과를 점검 필요로 필터링한 지출증빙 명세 화면
판정결과 필터 — 판정결과를 "점검 필요"로 좁히면 기준금액을 넘겼는데 적격증빙이 없는 건만 남습니다.
거래처별 집계
거래처별 집계 탭 — 거래처별 총 건수와 점검 필요 건수·금액
거래처별 집계 — 거래처 단위로 점검 필요 건수·금액을 다시 묶어 보여주며, 점검 필요 금액이 큰 순서로 정렬됩니다.
지출증빙 상세
행 클릭 시 열리는 지출증빙 상세 다이얼로그
상세 다이얼로그 — 명세 행을 클릭하면 전표·거래처·금액·증빙유형·판정결과를 모은 상세 정보가 열립니다.

사용 방법

  1. 화면에 들어오면 서비스 정의가 로드되는 즉시 기본 조건(회사코드 1000, 2026년 007기)으로 자동 조회가 1회 실행됩니다.
  2. 조회조건 영역에서 회사코드 · 회계연도(필수)를 입력합니다.
  3. 기간 · 거래처명 · 증빙유형 · 판정결과(선택)로 범위를 좁힙니다. "전체"로 둔 조건은 조회 요청에서 빠집니다.
  4. 조회 버튼은 조회조건 입력 필드 줄의 가장 오른쪽에 있습니다. 입력 필드에서 Enter 키를 눌러도 같은 조회가 실행됩니다. 초기화 버튼은 조회 버튼 왼쪽에 있으며 기본 조건으로 되돌리고 다시 조회합니다.
  5. 요약 지표 4종(조회 건수 · 조회 금액 합계 · 점검 필요 건수 · 점검 필요 비율)으로 전체 상태를 먼저 봅니다.
  6. 탭을 옮겨 ① 지출증빙 명세 → ② 거래처별 집계 순으로 확인합니다. 거래처별 집계 탭 행을 클릭하면 그 거래처로 명세 탭이 자동 필터링됩니다.
  7. 명세 탭 행을 클릭하면 전표·거래처·금액·증빙유형·판정결과를 담은 상세 다이얼로그가 열립니다.
  8. 각 탭 오른쪽 위 CSV 내려받기(UTF-8 BOM)로 현재 탭의 결과를 저장합니다.

적격증빙 판정 로직

판정 조건결과 상태사용자 조치
결제금액 > 기준금액(일반경비 3만원 / 경조사비 20만원) 이고 증빙유형이 적격증빙 4종 중 하나정상추가 조치 불필요
결제금액 > 기준금액 이고 증빙유형이 일반영수증 또는 증빙없음점검 필요적격증빙 재수취 가능 여부를 확인하고, 확인이 안 되면 세무 대리인과 처리 방법을 협의
결제금액 ≤ 기준금액정상기준금액 이하이므로 증빙유형과 무관하게 점검 대상에서 제외

이 판정은 결제금액과 증빙유형을 기계적으로 대사한 결과이며, 실제 손금 인정 여부에 대한 최종 판단은 회사와 세무 대리인이 개별 거래의 실질을 검토해 결정합니다.

지출증빙 점검 처리 단계

단계내용
1단계회사코드·회계연도·기간별 지출 전표 라인(거래처·지출계정·금액·증빙유형)을 모읍니다
2단계지출계정 구분(일반경비/경조사비)에 따라 기준금액(3만원/20만원)을 매칭합니다
3단계결제금액이 기준금액을 초과하는 라인만 증빙유형이 적격증빙 4종에 해당하는지 판정합니다
4단계판정 결과를 거래처 단위로 묶어 점검 필요 건수·금액을 집계합니다
5단계전체 조회 건수·금액과 점검 필요 건수·비율을 회사·기간 단위로 요약합니다

조회조건

필드필수설명
회사코드필수가상 회사코드 2개 중 선택
회계연도필수4자리 입력
기간선택(기본 특정 기간)비우면(전체) 해당 조건을 제외하고 조회
거래처명선택부분 일치(포함) 검색
증빙유형선택(기본 전체)세금계산서·계산서·신용카드매출전표·지출증빙용 현금영수증·일반영수증·증빙없음
판정결과선택(기본 전체)정상 · 점검 필요

결과 컬럼

컬럼설명
전표번호 · 전기일자 · 거래처 · 지출계정① 지출증빙 명세 탭
금액 · 증빙유형 · 판정결과 · 비고① 지출증빙 명세 탭
거래처 · 총 건수 · 점검 필요 건수 · 점검필요 금액② 거래처별 집계 탭

SAP 표준 기능 매핑

표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 그 데이터에 증빙유형 대사 관점을 더해 확장합니다.

표준 T-code표준 기능이 화면이 더한 것
FB03전표 조회전표 단위 조회를 증빙유형·기준금액 대사 결과와 함께 한 화면에서 제공
FBL3N계정별 원장(라인아이템) 조회지출계정 라인을 점검 필요 여부로 바로 걸러볼 수 있게 확장
MIRO구매송장 검증송장 처리 이후 시점에서 증빙유형 요건을 별도로 재확인하는 점검 관점 추가

분석 지표 정의표

지표정의대응 기능원천 데이터비고
기준금액 초과 여부결제금액 > 유형별 기준금액(3만원/20만원)지출증빙 명세 탭 판정 기준지출 전표 라인기준금액 이하는 판정 대상 제외
점검 필요 건수·금액기준금액 초과 & 비적격증빙 라인의 건수·금액 합요약 지표 · 거래처별 집계지출증빙 명세 집계거래처·회사·기간 단위로 집계

참고 CDS 뷰

원천 테이블주요 필드쓰임
BKPFBUKRS · BELNR · GJAHR · BUDAT전표 헤더 — 전표번호·전기일자
BSEGLIFNR · HKONT · DMBTR전표 라인 — 거래처·지출계정·결제금액
LFA1LIFNR · NAME1거래처(공급업체) 마스터 — 거래처명
define view entity ZC_ExpenseEvidenceCheck
  as select from bseg  as item
  inner join     bkpf  as header on header.bukrs = item.bukrs
                                and header.belnr = item.belnr
                                and header.gjahr = item.gjahr
  association [0..1] to lfa1 as _Vendor on _Vendor.lifnr = item.lifnr
{
  key item.bukrs        as CompanyCode,
  key item.gjahr         as FiscalYear,
  key item.belnr         as DocNo,
  key item.buzei         as ItemNo,
      header.budat        as PostDate,
      item.lifnr          as VendorCode,
      _Vendor.name1       as VendorName,
      item.dmbtr          as Amount
}

증빙유형 구분과 기준금액 판정에 쓰이는 필드는 전표 항목 확장 필드 또는 별도 관리 테이블에서 옵니다. 가상 계정체계로 구성한 스케치입니다.

OpenUI5 구성

기능사용 컨트롤 · 구성
화면 골격sap.m.Page + 조회조건 패널 · 요약 지표 4종 · IconTabBar 2개 탭
데이터 연동manifest.json dataSources.mainService(OData V2, 상대 경로)로 기본 모델을 만들고 defaultCountMode:"Inline" · defaultOperationMode:"Server" · useBatch:false 로 구성합니다. 화면 블록마다 해당 엔티티셋에 직접 바인딩합니다
조회조건sap.ui.model.Filter 로 조립해 바인딩에 적용합니다. 전체를 고른 조건은 필터를 만들지 않습니다. 정렬은 Sorter로 고정 지정합니다
지출증빙 명세sap.ui.table.Table — 판정 상태를 표준 강조색으로 구분하고 cellClick 으로 상세를 엽니다
거래처별 집계sap.m.Table — 점검필요금액 내림차순 정렬
요약 지표회사·기간 요약 엔티티를 단건으로 읽어 지표 4종을 표시합니다. 금액은 문자열로 오는 Decimal 을 숫자로 바꿔 표시합니다
예외 메시지메타데이터 실패·요청 실패를 구분해 안내하는 전용 처리기

파일 구성

경로역할
index.htmlOpenUI5 부트스트랩 — sap_horizon, OData 서비스에 연결
Component.js모델 초기화, 예외 메시지 처리기 연결
manifest.json앱 디스크립터 — zui5.taxevidence · ko 로케일, OData 서비스와 모델 선언
view/Main.view.xml조회조건 · 요약 지표 · 2개 탭
view/DetailDialog.fragment.xml지출증빙 상세 다이얼로그
controller/Main.controller.js조회조건 조립 · 바인딩 · 요약 지표 · 다이얼로그 · CSV
controller/BaseController.jsCSV 다운로드 공통 처리
model/formatter.js · model/ErrorHandler.js표시 서식·판정 상태 · 예외 메시지 처리
i18n/i18n_ko.properties화면 문구

검증 결과

검증용 샘플 데이터(가상 2개 회사 · 3개 기간, 지출 전표 라인 231건)를 기준으로 판정 로직과 집계 대사식을 전수 검증했습니다.

검증 항목결과
판정 로직 재계산 일치(231건)통과(불일치 0건)
회사·기간 요약 vs 거래처별 집계 합계 대사(건수·금액)통과(불일치 0건)
점검 기능 확인용 의도적 예외 샘플1건 — 기준금액 이하 저증빙 건으로, 정상 처리 로직이 예외 없이 동작함을 확인
화면 요약 지표 = 검증 스크립트 결과일치
조회 조건 전달 — 거래처명·증빙유형·판정결과 필터 · 정렬확인
표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현0건
화면 렌더링 — 조회 버튼 위치 · sap_horizon 테마 · Enter 키 조회 · 서비스 미연결 시 안내 메시지확인

모든 데이터는 검증용으로 구성한 가상 데이터입니다. 적격증빙 확인과 손금 인정 여부에 대한 최종 판단은 회사와 세무 대리인이 수행합니다.

자주 묻는 질문

기준금액(3만원 / 20만원)은 언제부터, 어떤 거래에 적용되나요?

이 화면은 일반경비 거래는 건당 3만원 초과, 경조사비 거래는 20만원 초과 시 적격증빙 수취 여부를 점검 대상으로 삼습니다. 구체적인 시행 시기와 적용 범위, 예외 규정은 세법 원문과 개정 연혁을 확인해야 하며, 이 화면만으로 판단하지 않습니다.

"점검 필요"로 표시되면 바로 손금불산입 대상인가요?

아닙니다. 이 화면은 결제금액과 증빙유형을 기계적으로 대사해 확인이 필요한 건을 가려주는 조회·점검 도구입니다. 실제 손금 인정 여부에 대한 최종 판단은 회사와 세무 대리인이 개별 거래의 실질을 검토해 결정합니다.

증빙유형은 어떻게 구분하나요?

세금계산서 · 계산서 · 신용카드매출전표 · 지출증빙용 현금영수증 4종을 적격증빙으로 보고, 일반영수증과 증빙없음은 점검 대상 후보로 분류합니다.

거래처별 집계 탭의 숫자는 명세 탭과 항상 일치하나요?

네. 거래처별 집계는 명세 탭의 라인 데이터를 같은 조회 조건(회사코드·회계연도·기간)으로 다시 묶어 집계한 값이며, 검증 스크립트로 합계 대사를 전수 확인했습니다.

3만원 넘는 지출, 적격증빙부터 결산 전에 맞춰 보세요

결제금액과 증빙유형을 대사해 확인이 필요한 지출 건을 거래처별로 조회 화면에서 바로 확인할 수 있습니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

지출증빙적격증빙세무 대응증빙유형 대사거래처별 집계OpenUI5