솔루션 홈
FBL1N · KSB1 · 경비

SAP 법인카드 사용·정산 현황 — 한도와 매입공제를 함께 보기

코스트센터별 법인카드 사용내역을 가맹점·업종과 함께 조회하고, 부가세 매입공제 여부와 한도 대비 사용률을 확인하는 화면입니다.

법인카드는 건수가 많고 금액은 작습니다. 그래서 하나씩 보는 대신 부서별로 얼마를 썼고 세금은 공제되는가를 묶어서 봐야 합니다.

특히 매입공제 여부는 가맹점 업종에 따라 갈리는데, 공제 안 되는 건을 공제로 잡으면 나중에 추징됩니다. 표준 비용 전기와 세금 구조를 그대로 이어받아 한도와 공제를 함께 보도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 3종을 함께 공개합니다.

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

  • 코스트센터 — Kostl 와 명칭으로 부서별 집계
  • 카드 정보 — 카드사(CardBank)와 마스킹된 카드번호(CardNoMasked)
  • 가맹점 — 상호(Merchant)와 업종코드(MccCode) · 업종명
  • 금액 — 공급가액(SupplyAmount) · 부가세(VatAmount) · 합계(Amount)
  • 공제 여부 — 부가세 매입공제 가능 표시(VatDeductible)
항목내용
대응 T-codeFBL1N · KSB1
업무 영역재무회계(FI) · 관리회계(CO) · 경비 관리
Namespacezui5.corpcard
셸 구조조회조건 영역(우측 조회·초기화) + 사용내역, 행 선택 시 정산 전표 시뮬레이션
화면 수조회 화면 1개 + 정산 전표 미리보기
데이터카드 사용 74건 · 코스트센터 9건
성격조회·시뮬레이션형 — 전기는 표준이 담당
UI 테마sap_horizon 단일 적용

실제 화면 3종 둘러보기

회사코드·코스트센터·기간으로 조회하면 카드 사용내역이 나옵니다 → 매입공제 여부와 한도 사용률을 확인하고 → 행을 눌러 정산 전표를 미리 봅니다.

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

FBL1N — Main.view.xml
초기 진입 화면 — 조회조건과 안내 메시지
초기 진입 화면 — 조회조건과 안내 메시지 — 회사코드·코스트센터·기간·카드사를 고르는 화면입니다. 조회·초기화 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
FBL1N — 사용 현황
메인화면 — 가맹점과 매입공제
메인화면 — 가맹점과 매입공제 — 사용일·코스트센터·카드사·카드번호·가맹점·업종과 함께 공급가액·부가세·합계·공제 여부가 이어집니다. 공제 불가 건은 상태 색으로 구분됩니다.
FBL1N — 정산 전표
상세 다이얼로그 — 미지급금 계상 분개
상세 다이얼로그 — 미지급금 계상 분개 — 행을 고르면 비용과 부가대급금, 미지급금으로 구성된 정산 분개가 펼쳐집니다.

조작 방법

  1. 회사코드기간을 고릅니다. 카드 청구 주기에 맞추는 것이 편합니다.
  2. 코스트센터로 부서별 사용을 봅니다. 한도가 부서 단위로 관리됩니다.
  3. 카드사로 나눠 볼 수 있습니다.
  4. 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
  5. 공제 여부가 불가인 건을 확인합니다. 업종에 따라 공제가 안 되는 경우입니다.
  6. 사용률이 높은 코스트센터는 한도 초과 전에 확인이 필요합니다.
  7. 행을 선택하면 정산 분개가 열립니다.
  8. 결과는 CSV 다운로드로 내려받습니다.

공제 판정과 사용률

두 가지를 계산합니다. 세금이 공제되는가, 한도를 얼마나 썼는가.

합계 금액 = 공급가액(SupplyAmount) + 부가세(VatAmount)
사용률 = 코스트센터 월 사용액 ÷ 월 한도 × 100

매입공제 판정 (업종코드 기반)
  공제 가능  →  부가세를 부가대급금으로 계상
  공제 불가  →  부가세를 비용에 포함

공제 불가 업종  접대성 지출 · 비영업용 승용차 관련 등

업종코드로 판정하는 이유

같은 금액이라도 어디서 썼느냐에 따라 공제 여부가 달라집니다. 사무용품은 공제되고 접대성 지출은 안 됩니다. 담당자가 영수증을 보고 판단하면 기준이 사람마다 달라지므로, 가맹점 업종코드로 1차 판정하고 예외만 사람이 확인하는 편이 일관됩니다.

법인카드 처리 4단계

단계내용결과
① 사용카드 결제 발생카드사 승인 내역
② 수집카드사 명세 수신사용 내역 데이터
③ 계상비용·부가세·미지급금 전기정산 전표
④ 결제카드 대금 지급미지급금 소멸

조회조건

필드필수설명
회사코드 Bukrs필수대상 회사코드
기간 UseDate필수사용일 From~To
코스트센터 Kostl선택부서별 조회
카드사 CardBank선택삼성카드 등
업종 MccCode선택가맹점 업종
공제 여부 VatDeductible선택공제 가능 / 불가

결과 컬럼

컬럼의미 · 표시
거래 ID TransId사용 건 식별자
사용일 UseDate결제 날짜
코스트센터 Kostl · KostlText귀속 부서
카드사 CardBank · 카드번호 CardNoMasked마스킹 표시
가맹점 Merchant사용처 상호
업종 MccCode · MccText가맹점 업종
공급가액 SupplyAmount부가세 제외 금액
부가세 VatAmount세액
합계 Amount · 통화 Waers결제 총액
매입공제 VatDeductible공제 가능 여부. 상태 색
전표번호정산 전표

SAP 표준 기능 매핑

표준역할이 화면에서의 확장
FBL1N공급업체 개별항목카드 미지급금을 사용 건 단위로 분해
KSB1코스트센터 실제 라인부서별 사용 집계
BSEG · BSET전표 라인과 세금 라인금액·부가세 원천
CSKS · CSKT코스트센터 마스터부서 명칭
T007A세금코드 설정공제 여부 결정

도입 시 확인이 필요한 부분

카드 사용 내역은 카드사에서 받아 오는 인터페이스가 필요합니다. 업종코드 체계가 카드사마다 달라 공제 판정 매핑을 카드사별로 만들어야 합니다. 또 코스트센터 월 한도는 표준에 저장 필드가 없어 별도 관리 테이블이 필요합니다.

참고 CDS 뷰

@AbapCatalog.sqlViewName: 'ZCCORPCARD'
@EndUserText.label: '법인카드 사용 현황 (Z)'
define view Z_C_CORPORATE_CARD
  as select from bseg as Line
    inner join      bkpf as Header   on Line.bukrs = Header.bukrs
                                    and Line.belnr = Header.belnr
                                    and Line.gjahr = Header.gjahr
    left outer join bset as TaxLine  on Line.bukrs = TaxLine.bukrs
                                    and Line.belnr = TaxLine.belnr
                                    and Line.gjahr = TaxLine.gjahr
    left outer join cskt as CCtrText on Line.kostl = CCtrText.kostl
                                    and CCtrText.spras = 'K'
{
  key Line.bukrs, key Line.belnr, key Line.gjahr, key Line.buzei,
      Header.budat   as UseDate,
      Line.kostl,
      CCtrText.ktext as KostlText,
      Line.sgtxt     as Merchant,
      Line.mwskz,
      TaxLine.hwbas  as SupplyAmount,
      TaxLine.hwste  as VatAmount,
      Line.dmbtr     as Amount
      // 매입공제 여부는 세금코드 설정과 가맹점 업종코드 매핑으로 판정
      // 사용률은 코스트센터 한도 관리 테이블과 조인해 계산
}

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

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 영역 · 사용내역 테이블
조회조건sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화
이벤트모든 버튼이 onPAI 단일 진입점, fcCode 로 분기
내역 테이블sap.m.Table — 코스트센터 그룹, 소계 표시
공제 표시sap.m.ObjectStatus — 공제 가능 / 불가
시뮬레이션sap.m.Dialog — 정산 분개 미리보기

카드번호를 마스킹하는 이유

카드번호 전체를 화면에 띄울 이유가 없습니다. 어느 카드인지 구분하는 데는 뒷자리 네 개면 충분하고, 전체 번호는 화면 캡처나 CSV 를 통해 유출될 위험만 만듭니다. 조회 화면에서는 필요한 만큼만 보여 주는 것이 원칙입니다.

파일 구성

경로역할
manifest.json앱 디스크립터 — 앱 ID(zui5.corpcard) · ko 로케일
view/Main.view.xml조회조건과 사용내역 테이블
controller/Main.controller.js조회 · 공제 판정 · 사용률 계산 · 정산 시뮬레이션 · CSV
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js금액 · 카드번호 마스킹 · 상태 색 포맷터
localdata/corpcard.json카드 사용 74건
localdata/kostl.json코스트센터 9건

검증 결과

검증 항목결과
합계 = 공급가액 + 부가세 (전 건)통과
공제 불가 건은 부가세가 비용에 포함통과
정산 전표 차변 합계 = 대변 합계통과
사용률 = 코스트센터 사용액 ÷ 한도 × 100통과
코스트센터·업종 코드가 있으면 명칭도 존재통과
카드번호가 마스킹 형식으로 저장통과
화면 렌더링 — 실브라우저 조회 → 시뮬레이션 실동작 후 캡처3/3
테마 런타임 확인sap_horizon

자주 묻는 질문

공제 불가 업종은 무엇인가요?

접대성 지출과 비영업용 승용차 관련 비용이 대표적입니다. 업종코드로 1차 판정하고 애매한 건은 담당자가 확인하는 방식이 실무에서 정착이 빠릅니다.

한도는 어디서 관리하나요?

표준에 저장 필드가 없어 별도 테이블이 필요합니다. 코스트센터별 월 한도를 두고 사용액과 비교하는 구조를 추가로 만들어야 합니다.

카드 사용 내역은 어떻게 들어오나요?

카드사 인터페이스로 받습니다. 업종코드 체계가 카드사마다 달라 매핑 테이블을 카드사별로 관리해야 공제 판정이 일관됩니다.

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

비용 전기와 세금 처리는 표준이 담당합니다. 이 화면은 그 전표를 카드 사용 건 단위로 분해해 가맹점·업종과 함께 보여 주고, 공제 판정과 한도 사용률을 얹은 확장입니다.

법인카드 관리, 지금 쓰는 SAP 위에서 확장해 보세요

공제 여부와 부서 한도가 한 화면에 있으면 월말 정산이 단순해집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

법인카드카드사용현황코스트센터 한도부가세 매입공제가맹점MCC경비OpenUI5