솔루션 홈
FBL1N · KSB1 · 경비

SAP 법인카드 처리현황 — 어느 부서가 한도를 얼마나 썼나

코스트센터별 법인카드 사용내역을 조회해 가맹점과 매입공제 여부를 확인하고, 월 한도 대비 사용률을 보는 화면입니다.

법인카드는 쓰기 쉬운 만큼 관리가 어렵습니다. 부서마다 한도가 있는데 월말에야 얼마 썼는지 알면 이미 넘긴 뒤입니다.

게다가 카드 매입이 모두 부가세 공제되는 것도 아닙니다. 접대성 가맹점이나 면세 업종은 공제되지 않는데 그대로 신고하면 나중에 추징됩니다. 한도와 공제 여부를 함께 보도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 3종을 함께 공개합니다.

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

  • 거래 — 거래 ID(TransId)와 사용일(UseDate)
  • 카드 — 카드사(CardBank)와 마스킹 카드번호(CardNoMasked)
  • 가맹점 — 상호(Merchant)와 업종코드(MccCode)
  • 코스트센터 — 사용 부서(Kostl)와 명칭
  • 금액 — 사용 금액과 부가세
항목내용
대응 T-codeFBL1N · KSB1
업무 영역재무회계(FI) · 경비 · 세무
Namespacezui5.corpcard
셸 구조조회조건 영역(우측 조회·초기화) + 사용내역 + 한도 대비 요약
화면 수조회 화면 1개 + 상세
데이터카드 거래 74건 · 코스트센터 9건
성격조회형(Read-Only) — 정산 전기는 표준이 담당
UI 테마sap_horizon 단일 적용

실제 화면 3종 둘러보기

회사코드·기간·코스트센터로 조회하면 카드 사용내역이 나옵니다 → 매입공제 여부를 확인하고 → 부서별 한도 대비 사용률을 봅니다.

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

KSB1 — Main.view.xml
초기 진입 화면 — 조회조건과 안내 메시지
초기 진입 화면 — 조회조건과 안내 메시지 — 회사코드·기간·코스트센터·카드사를 고르는 화면입니다. 조회·초기화 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
KSB1 — 사용내역
가맹점과 매입공제
가맹점과 매입공제 — 사용일·카드사·카드번호·가맹점·업종코드·코스트센터와 함께 금액·부가세·매입공제 여부가 표시됩니다. 불공제 건은 상태 색으로 구분됩니다.
KSB1 — 한도 대비
부서별 사용률
부서별 사용률 — 코스트센터별 월 한도와 사용액, 사용률이 표시되고 한도 초과 부서가 강조됩니다.

조작 방법

  1. 회사코드기간을 고릅니다.
  2. 코스트센터로 부서별 사용을 확인합니다.
  3. 카드사로 범위를 좁힐 수 있습니다.
  4. 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
  5. 업종코드매입공제 여부를 확인합니다.
  6. 사용률이 높은 부서를 봅니다. 한도 초과가 임박한 곳입니다.
  7. 불공제 건이 많으면 사용 가이드를 점검합니다.
  8. 결과는 CSV 다운로드로 내려받아 경비 관리 자료로 씁니다.

공제 판정 규칙

업종코드로 부가세 공제 여부가 갈립니다.

매입공제 판정
  일반 과세 업종  →  공제 가능
  접대성 업종     →  불공제 (유흥·골프 등)
  면세 업종       →  세액 없음
  비영업용 차량   →  불공제

공제 세액 = Σ(공제 가능 건의 부가세)

사용률 = 부서 사용액 ÷ 월 한도 × 100
  100% 초과  →  한도 초과

업종코드로 판정하는 이유

가맹점 이름만으로는 업종을 알 수 없습니다. 같은 이름의 가게가 업종이 다를 수도 있습니다. 카드사가 부여한 업종코드를 기준으로 하면 판정이 일관되고, 나중에 세무 검토를 받아도 근거가 명확합니다.

불공제 대상 4유형

유형내용판정 근거
접대비유흥·골프 등업종코드로 식별
비영업용 승용차차량 유지비차종과 용도 확인
면세 물품도서·농산물 등세액 자체가 없음
간이과세자세금계산서 발급 불가가맹점 유형 확인

조회조건

필드필수설명
회사코드 Bukrs필수대상 법인
기간 UseDate필수사용일 From~To
코스트센터 Kostl선택사용 부서
카드사 CardBank선택발급 카드사
업종코드 MccCode선택가맹점 업종
매입공제선택공제 / 불공제

결과 컬럼

사용내역

컬럼의미
거래 ID TransId거래 식별
사용일 UseDate결제 날짜
카드사 CardBank발급사
카드번호 CardNoMasked마스킹 표시
가맹점 Merchant사용처
업종코드 MccCode가맹점 업종
코스트센터 Kostl · KostlText사용 부서
금액 · 부가세결제 금액
매입공제 여부공제 / 불공제. 상태 색

한도 대비

항목의미
코스트센터부서
월 한도배정 한도
사용액기간 사용 합계
사용률사용액 ÷ 한도. 구간별 상태 색
잔여 한도한도 − 사용액

SAP 표준 기능 매핑

표준역할이 화면에서의 확장
FBL1N공급업체 개별항목카드사 청구 내역
KSB1코스트센터 실제 라인부서별 사용
BSEG전표 라인조회 원천
CSKS · CSKT코스트센터 마스터부서 명칭
T007A세금코드 설정매입공제 구분

도입 시 확인이 필요한 부분

카드 사용내역을 어떻게 가져오는지가 관건입니다. 카드사 파일을 업로드하는지 API 로 연계하는지에 따라 업종코드 같은 상세 정보의 유무가 갈립니다. 업종코드가 없으면 공제 판정을 수동으로 해야 합니다.

참고 CDS 뷰

@AbapCatalog.sqlViewName: 'ZCCORPCARD'
@EndUserText.label: '법인카드 사용현황 (Z)'
define view Z_C_CORPORATE_CARD
  as select from zcorp_card as Card
    left outer join cskt as CCtrText on Card.kostl = CCtrText.kostl
                                   and CCtrText.spras = 'K'
{
  key Card.trans_id  as TransId,
      Card.bukrs,
      Card.use_date  as UseDate,
      Card.card_bank as CardBank,
      Card.card_no   as CardNoMasked,
      Card.merchant  as Merchant,
      Card.mcc_code  as MccCode,
      Card.kostl,
      CCtrText.ktext as KostlText,
      Card.amount,
      Card.vat_amount,
      Card.deductible as VatDeductible
      // 매입공제 판정은 업종코드 매핑 테이블로 결정
      // 사용률 = 부서 사용액 ÷ 월 한도 × 100
}

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

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 영역 · 사용내역 · 한도 요약
조회조건sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화
이벤트모든 버튼이 onPAI 단일 진입점, fcCode 로 분기
사용내역sap.ui.table.Table — 코스트센터 그룹
공제 표시sap.m.ObjectStatus — 공제 / 불공제
사용률sap.m.ObjectStatus — 구간별 색

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

전체 번호가 화면에 보이면 캡처나 다운로드를 통해 유출될 수 있습니다. 어느 카드인지 구분하는 데는 뒤 네 자리면 충분합니다. 필요 이상으로 보여 주지 않는 것이 기본입니다.

파일 구성

경로역할
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통과
불공제 건은 공제 세액에서 제외통과
카드번호가 마스킹 처리통과
코스트센터 코드가 있으면 명칭도 존재통과
XML · JSON 전체 파싱오류 0건
화면 렌더링 — 실브라우저 조회 후 캡처3/3
테마 런타임 확인sap_horizon

자주 묻는 질문

한도를 넘으면 카드가 막히나요?

카드사 한도와 내부 관리 한도는 다릅니다. 내부 한도는 관리 기준이라 카드가 막히지는 않지만 초과분은 사후 확인 대상이 됩니다.

업종코드가 없으면 어떻게 판정하나요?

가맹점명과 계정으로 추정하거나 담당자가 수동으로 지정합니다. 정확도가 떨어지므로 카드사에서 업종코드를 받아 오는 편이 낫습니다.

불공제인데 공제로 신고하면요?

세무조사에서 추징됩니다. 가산세까지 붙으므로 신고 전에 불공제 건을 걸러 내는 것이 이 화면의 주된 용도입니다.

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

카드 대금 처리와 비용 전기는 표준 FI 가 담당합니다. 이 화면은 사용내역에 업종코드 기반 공제 판정과 부서별 한도 관리를 더한 확장입니다.

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

불공제 건이 미리 걸러지면 신고 후 추징이 없습니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

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