솔루션 홈
S_ALR_87012357 · 세무

SAP 부가세 신고자료 조회 — 신고 기간별로 제출 상태를 관리하기

예정·확정 신고 기간별로 매출세액과 매입세액을 집계하고, 신고 기한과 제출 상태를 함께 관리하는 화면입니다.

부가세는 기간이 정해진 업무입니다. 1기 예정·1기 확정·2기 예정·2기 확정으로 나뉘고, 각각 기한이 지나면 가산세가 붙습니다.

그래서 필요한 것은 세액 숫자만이 아니라 어느 기간이 어디까지 진행됐는가입니다. 표준 부가세 구조를 그대로 이어받아 기간별 세액과 제출 상태를 함께 관리하도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면을 함께 공개합니다.

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

  • 신고 기간 — 예정·확정 구분(taxPeriod)과 대상 월 범위
  • 신고 기한 — 법정 기한(dueDate)
  • 제출 상태 — 예정신고 · 확정신고 등 진행 상태(submitStatus)
  • 세액 항목 — 매출세액과 매입세액을 구성하는 항목별 금액
  • 회사코드 — 신고 주체(bukrs)와 명칭
항목내용
대응 T-codeS_ALR_87012357 (부가세 신고 리포트)
업무 영역재무회계(FI) · 세무 신고
Namespacezui5.vat
셸 구조조회조건 영역(우측 조회·초기화) + 신고 기간 목록과 항목 내역
화면 수조회 화면 1개
데이터신고 기간 5건 (항목 포함)
성격조회형(Read-Only) — 전기와 실제 신고는 표준·외부 절차가 담당
UI 테마sap_horizon 단일 적용

실제 화면 1종 둘러보기

회사코드·회계연도로 조회하면 신고 기간별 현황이 나옵니다 → 기한과 제출 상태를 확인하고 → 기간을 골라 매출세액·매입세액 항목 내역을 검토합니다.

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

S_ALR_87012357 — Main.view.xml
초기 진입 화면과 신고 기간 현황
초기 진입 화면과 신고 기간 현황 — 회사코드·회계연도를 고르면 1기 예정부터 2기 확정까지 기간별로 신고 기한·제출 상태·매출세액·매입세액·납부세액이 표시됩니다. 기한이 임박한 기간은 상태 색으로 구분되고, 기간을 고르면 아래에 항목별 내역이 펼쳐집니다. 조회·초기화 버튼은 조회조건 영역 오른쪽 끝에 있습니다.

조작 방법

  1. 회사코드회계연도를 고릅니다.
  2. 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
  3. 신고 기한이 임박한 기간부터 확인합니다.
  4. 제출 상태로 어느 기간이 마무리됐는지 봅니다.
  5. 기간을 선택하면 매출세액·매입세액 항목 내역이 펼쳐집니다.
  6. 납부세액이 음수면 환급 대상입니다.
  7. 결과는 CSV 다운로드로 내려받아 신고 자료로 씁니다.

납부세액 산식

부가세는 뺄셈 하나로 정해집니다.

납부세액 = 매출세액 − 매입세액

납부세액 > 0  →  납부 대상
납부세액 < 0  →  환급 대상

기한 판정  신고 기한 − 오늘
  기한 경과   →  가산세 위험
  기한 임박   →  준비 착수

기간 단위로 묶어 보는 이유

부가세는 월별로 흘러가지만 신고는 분기 단위로 끊깁니다. 월별 집계만 있으면 신고 단위로 다시 합산해야 하고, 그 과정에서 기간 귀속이 어긋나기 쉽습니다. 처음부터 신고 기간을 단위로 두면 그 합산이 필요 없어집니다.

신고 기간 4구간

기간대상 월법정 기한
1기 예정1~3월4월 25일
1기 확정4~6월7월 25일
2기 예정7~9월10월 25일
2기 확정10~12월다음 해 1월 25일

법인은 예정 신고도 의무입니다. 기한은 법령 변경에 따라 달라질 수 있어 설정으로 관리합니다.

조회조건

필드필수설명
회사코드 bukrs필수신고 주체
회계연도 gjahr필수신고 연도
신고 기간 taxPeriod선택1기 예정 · 1기 확정 등
제출 상태 submitStatus선택미신고 / 신고완료

결과 컬럼

컬럼의미 · 표시
회사코드 bukrs · bukrsText신고 주체
회계연도 gjahr대상 연도
신고 기간 taxPeriod · taxPeriodText1기 예정(1~3월) 등
신고 기한 dueDate법정 기한. 임박 시 상태 색
제출 상태 submitStatus예정신고 · 확정신고 등
매출세액기간 내 매출세 합계
매입세액기간 내 매입세 합계
납부세액매출세액 − 매입세액. 음수면 환급
항목 내역 items세액을 구성하는 세부 항목

SAP 표준 기능 매핑

표준역할이 화면에서의 확장
S_ALR_87012357부가세 신고 리포트신고 기간과 제출 상태를 함께 관리
F.12세금 명세항목별 내역으로 드릴다운
BSET전표 세금 라인세액 집계 원천
T007A세금코드 설정매출·매입 구분과 세율
T001회사코드 마스터신고 주체 정보

도입 시 확인이 필요한 부분

사업장이 여러 개면 사업장 단위 신고인지 총괄 납부인지에 따라 집계 단위가 달라집니다. 또 제출 상태는 표준에 저장 필드가 없어 별도 관리가 필요하므로, 어디에 기록할지 정해야 이 화면이 실제 진행 상태를 반영합니다.

참고 CDS 뷰

@AbapCatalog.sqlViewName: 'ZCVATRETURN'
@EndUserText.label: '부가세 신고 기간별 집계 (Z)'
define view Z_C_VAT_RETURN
  as select from bset as TaxLine
    inner join bkpf as Header on TaxLine.bukrs = Header.bukrs
                            and TaxLine.belnr = Header.belnr
                            and TaxLine.gjahr = Header.gjahr
{
  key TaxLine.bukrs,
  key TaxLine.gjahr,
      // 신고 기간 = 전기 월을 분기 단위로 묶음
  key case when Header.monat <= '03' then '11'
           when Header.monat <= '06' then '12'
           when Header.monat <= '09' then '21'
           else '22' end as TaxPeriod,
      sum( case when TaxLine.shkzg = 'H' then TaxLine.hwste else 0 end ) as OutputTax,
      sum( case when TaxLine.shkzg = 'S' then TaxLine.hwste else 0 end ) as InputTax
      // 납부세액 = 매출세액 − 매입세액 (소비 뷰에서 계산)
      // 신고 기한과 제출 상태는 별도 관리 테이블과 조인
}
group by TaxLine.bukrs, TaxLine.gjahr, Header.monat

매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 영역 · 기간 목록 · 항목 내역
조회조건sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화
이벤트모든 버튼이 onPAI 단일 진입점, fcCode 로 분기
기간 목록sap.m.Table — 기한과 상태를 앞쪽에 배치
상태 표시sap.m.ObjectStatus — 기한 임박 · 제출 상태
항목 내역기간 선택 시 하단 테이블에 펼침

기한을 앞쪽 열에 둔 이유

세액 금액은 나중에 확인해도 되지만 기한은 놓치면 가산세로 이어집니다. 기한과 상태를 왼쪽에 두면 화면을 여는 순간 급한 기간이 먼저 눈에 들어오고, 금액 검토는 그다음 순서가 됩니다.

파일 구성

경로역할
manifest.json앱 디스크립터 — 앱 ID(zui5.vat) · ko 로케일
view/Main.view.xml조회조건 · 기간 목록 · 항목 내역
controller/Main.controller.js조회 · 납부세액 계산 · 기한 판정 · CSV
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js금액 · 일자 · 상태 색 포맷터
localdata/vat.json신고 기간 5건 (항목 포함)

검증 결과

검증 항목결과
납부세액 = 매출세액 − 매입세액 (전 기간)통과
매출세액·매입세액 = 항목 내역 합계통과
신고 기간과 대상 월 범위 정합통과
신고 기한이 기간 종료일 이후통과
회사코드가 있으면 명칭도 존재통과
XML · JSON 전체 파싱오류 0건
화면 렌더링 — 실브라우저 조회 후 캡처통과
테마 런타임 확인sap_horizon

자주 묻는 질문

예정 신고도 꼭 해야 하나요?

법인은 원칙적으로 의무입니다. 개인사업자는 직전 과세기간 실적에 따라 고지 납부로 갈음하기도 하므로 사업 형태에 맞춰 대상을 정합니다.

납부세액이 음수면 어떻게 되나요?

환급 대상입니다. 매입이 매출보다 많은 기간, 예를 들어 대규모 설비 투자를 한 기간에 발생합니다. 환급 절차와 시기가 따로 있으므로 별도 관리가 필요합니다.

제출 상태는 어디서 관리하나요?

표준에는 저장 필드가 없어 별도 테이블이나 연계 시스템에서 관리합니다. 신고 자체가 외부 시스템에서 이뤄지므로 그 결과를 받아 상태로 반영하는 구조가 일반적입니다.

SAP 표준 기능과 어떻게 이어지나요?

세액 집계는 표준 전기와 신고 리포트가 담당합니다. 이 화면은 그 결과를 신고 기간 단위로 묶고 기한·제출 상태를 함께 관리해, 놓치는 기간이 없게 하는 확장입니다.

부가세 신고 관리, 지금 쓰는 SAP 위에서 확장해 보세요

어느 기간이 어디까지 진행됐는지가 한 화면에 있으면 기한을 놓칠 일이 없습니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

부가가치세부가세신고매출세액매입세액납부세액예정신고신고기한OpenUI5