# 카드거래 표시 포맷 3개 화면 통일

**날짜:** 2026-03-19
**작업자:** Claude Code

## 변경 개요

카드사용내역 → 일반전표입력 → 계정별원장 3개 화면에서 카드거래 정보 표시 구조가 불일치하던 문제를 해결했다.

- **카드사용내역**: 상세 컬럼(카드번호, 공제구분, 가맹점, 공급가액/세액) 표시
- **일반전표입력**: 적요 텍스트로 압축, 공급/세액 분리 없음
- **계정별원장**: 카드 정보 아예 없음

3개 화면에서 동일한 카드거래 구조를 유지하도록 개선했다.

## 수정된 파일

| 파일 | 변경 내용 |
|------|----------|
| `app/Http/Controllers/Finance/AccountLedgerController.php` | `source_type` COALESCE 변환, `source_key` 추가, `fetchCardTransactions()` 메서드 신규, `card_tx` 필드 추가 |
| `resources/views/finance/account-ledger.blade.php` | 카드 배지/카드번호 하위텍스트, DetailModal 카드정보 카드, drillDown ecard_transaction 분기 |
| `resources/views/finance/journal-entries.blade.php` | 적요에 카드사/카드번호/사업자번호, 출금에 공급가액/세액 분해 표시 |

## 상세 변경 사항

### 1. AccountLedgerController — 백엔드

- `DB::raw("'journal' as source_type")` → `COALESCE(je.source_type, 'journal')` 변환하여 카드/은행 전표 구분
- `je.source_key` 셀렉트 추가
- `fetchCardTransactions()` private 메서드: `ecard_transaction`인 행의 `source_key`(복합키 `card_num|use_dt|approval_num|amount`)를 파싱하여 `barobill_card_transactions` 일괄 조회
- 각 item에 `card_tx` 필드 추가 (카드번호, 카드사, 가맹점, 사업자번호, 공급가액, 세액)
- `card_tx`가 있으면 거래처명/사업자번호를 가맹점 정보로 우선 표시

### 2. account-ledger.blade.php — 계정별원장

- 거래 행 적요 컬럼: 카드 아이콘 + 공제/불공제 배지 + 카드사·카드번호(끝4자리) 하위 텍스트
- DetailModal: `card_tx` 존재 시 주황색 카드거래 정보 카드 (카드번호, 카드사, 가맹점, 사업자번호, 공급가액, 세액)
- drillDown 함수: `ecard_transaction`, `bank_transaction`도 전표 상세 모달에서 조회 가능

### 3. journal-entries.blade.php — 일반전표입력

- 적요 컬럼: 기존 가맹점명 + 공제배지 아래에 카드사·카드번호(끝4자리) + 사업자번호 하위 행
- 출금 컬럼: 합계 금액 아래에 `공급 N / 세액 N` 분해 표시

## 테스트 체크리스트

- [ ] 일반전표입력에서 카드거래 행에 카드번호, 공제배지, 공급가액/세액 분리 표시
- [ ] 계정별원장에서 카드거래 분개 행에 카드 아이콘, 공제/불공제, 가맹점명 표시
- [ ] 계정별원장 행 클릭 시 카드 정보 요약 카드가 모달에 표시
- [ ] 은행거래/수동전표 행이 기존과 동일하게 표시 (회귀 없음)

## 관련 문서

- `dev/dev_plans/account-ledger-income-statement-plan.md` — 계정별원장 기획
- `frontend/api-specs/barobill-api.md` — 바로빌 API 명세
