Commit Graph

66 Commits

Author SHA1 Message Date
김보곤
f6f3c4bc45 fix:카드 사용내역 공제/불공제 통계를 전체 페이지 기준으로 계산
- 백엔드에서 페이지네이션 전 전체 데이터로 공제/불공제/부가세 통계 산출
- parseTransactionLogs에 deductibleAmount/Count, nonDeductibleAmount/Count, totalTax 추가
- getAllCardsTransactions summary에 공제/불공제 통계 포함
- 프론트엔드에서 logs 기반 계산 제거, summary 데이터 사용

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 19:27:36 +09:00
김보곤
90e8b3ea76 feat:전자세금계산서 품목별 거래일자(월/일) 입력 기능 추가
- 품목 데이터 구조에 month, day 필드 추가
- 품목 테이블에 월/일 입력 컬럼 추가
- 바로빌 API PurchaseExpiry 필드에 YYYYMMDD 형식 거래일자 전달
- 상세 모달에 월/일 표시 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 18:02:20 +09:00
김보곤
95df5cb669 feat:전자세금계산서 공급자 기초정보 설정 모달 구현
- EtaxController에 getSupplier/updateSupplier 메서드 추가
- etax 라우트 그룹에 GET/POST /supplier 라우트 추가
- SupplierSettingsModal React 컴포넌트 구현 (톱니바퀴 아이콘)
- IssueForm이 supplier state를 props로 참조하도록 변경
- manager_phone → manager_hp 필드명 버그 수정
- FIXED_SUPPLIER → INITIAL_SUPPLIER 상수 리네이밍

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 11:22:20 +09:00
김보곤
ac66e36294 feat:홈택스 세금계산서 로컬 저장 및 동기화 기능 구현
- HometaxInvoice 모델 생성 (로컬 DB 조회/저장)
- HometaxSyncService 서비스 생성 (API 데이터 동기화)
- HometaxController에 로컬 조회/동기화 메서드 추가
- 라우트 추가: local-sales, local-purchases, sync, update-memo, toggle-checked
- UI: 데이터소스 선택 (로컬 DB/바로빌 API), 동기화 버튼 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 17:13:18 +09:00
김보곤
5f7a323839 feat:홈택스 검색 UI 바로빌 스타일로 개선
- 작성일자/발급일자 선택 드롭다운 추가
- 분기(1~4분기), 반기(1기/2기), 1년 버튼 추가
- 거래처 검색 필드 추가 (사업자번호/사업자명)
- 컨트롤러 dateType 파라미터 지원 (1:작성일자, 2:발급일자, 3:전송일자)
- 한국 시간대(Asia/Seoul) 기준 날짜 계산

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 16:49:23 +09:00
김보곤
83a438a030 fix:계정과목을 글로벌 데이터로 변경 (테넌트 무관) 2026-02-03 09:56:30 +09:00
김보곤
692be5c51b feat:홈택스 마지막 수집 시간 기록 및 표시 기능
- BarobillMember 모델에 last_sales_fetch_at, last_purchases_fetch_at 추가
- 매출/매입 조회 시 마지막 수집 시간 DB에 저장
- collectStatus API에서 저장된 시간 조회하여 반환
- 조회 성공 후 화면의 마지막 수집 시간 자동 갱신

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 09:12:42 +09:00
김보곤
f5ec680118 fix:applyMemberServerMode에서 is_active 조건 제거
- 기존: environment + is_active=true 조건으로 config 조회
  → 운영 모드 config의 is_active가 false라 certKey 적용 안됨
- 수정: environment만으로 조회하여 테넌트별 서버 모드 지원
- 운영/테스트 모드 전환 시 올바른 CERTKEY 적용됨
- 4개 컨트롤러 모두 동일 패턴 적용 및 로깅 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 09:06:02 +09:00
김보곤
0b2b0b20aa fix:바로빌 API 메서드에 테넌트별 서버 모드 적용
- 각 API 메서드(cards, transactions, accounts, issue 등)에서
  테넌트의 server_mode 설정에 따라 SOAP 클라이언트 재초기화
- 기존에는 index()에서만 적용되어 별도 HTTP 요청인 API 호출 시
  기본 설정으로 돌아가는 버그 수정
- EcardController, EaccountController, EtaxController, HometaxController 모두 적용

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 09:00:06 +09:00
김보곤
83b2c1d16c fix:바로빌 컨트롤러 테넌트별 서버 모드 적용
- EtaxController, EaccountController, EcardController, HometaxController에
  테넌트별 서버 모드(server_mode) 적용 로직 추가
- applyMemberServerMode() 메서드로 회원사별 테스트/운영 서버 전환
- 기존 전역 BarobillConfig 대신 BarobillMember.server_mode 우선 적용

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 07:53:36 +09:00
김보곤
2aba74df54 revert:바로빌 카드 체크카드 표시 기능 롤백
재무관리 기능만 유지, 바로빌 관련 변경 취소

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 21:23:19 +09:00
김보곤
eaf1a2e472 feat:재무 기능 개선 (8가지 요청사항)
- 자금계획일정: 금액 소수점 제거 및 세자리 콤마 표시
- 자금계획일정: 관련계좌 → 출금계좌 명칭 변경
- 협력사관리: 거래처등록 계좌번호 입력란 추가
- 채무관리: 미지급금 등록 메모란 추가
- 환불관리: 환불/해지 수정 메모란 추가 (거절사유 입력용)
- 법인카드관리: 카드 사용현황에 체크카드 표시
- 법인차량관리: 차량등록 구분 추가 (법인/렌트/리스)
- 법인차량관리: 렌트/리스 전용 필드 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 21:21:40 +09:00
pro
b0b34b44bb fix:전자세금계산서 발행 시 전송일자 자동 기록
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 15:36:49 +09:00
pro
8ea2b7e754 fix:전자세금계산서 작성일자/전송일자 필드 수정
- 공급일자 → 작성일자로 명칭 변경
- 전송일자 컬럼 추가 (목록 및 상세 모달)
- sendToNts 메서드에서 sentAt 타임스탬프 기록

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 15:31:40 +09:00
pro
da706bae04 fix:바로빌 홈택스 API 파라미터 오류 수정
- TaxType: 0(전체) → 1(과세+영세), 3(면세) 각각 조회 후 합침
  (바로빌 API에서 TaxType=0은 미지원)
- DateType: 1(작성일) → 3(전송일자)로 변경 (권장사항)
- 에러 메시지 업데이트:
  - -11010: 과세형태 오류 안내
  - -10008: 날짜형식 오류 안내 (YYYYMMDD)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 15:09:43 +09:00
pro
39161d1203 feat:바로빌 과금관리 시스템 구현
- 모델: BarobillSubscription, BarobillBillingRecord, BarobillMonthlySummary
- 서비스: BarobillBillingService (구독/과금 처리 로직)
- API 컨트롤러: BarobillBillingController (구독/과금 CRUD)
- 뷰: 과금 현황 탭, 구독 관리 탭, 통계 카드, 상세 모달
- 라우트: 웹/API 라우트 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 15:03:44 +09:00
pro
aadd6d5e07 feat:사용량조회 화면에 테넌트 요약 카드 추가
- 바로빌 설정 화면과 동일한 스타일의 보라색 그라데이션 카드
- 테넌트 ID, 회사명, 사업자번호, 대표자, 담당자, 바로빌 ID 표시
- 파트너사(테넌트 1) 배지 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 14:25:05 +09:00
pro
542506a89e fix:HometaxController 진단에서 GetLoginURL을 GetBalanceCostAmount로 교체
- GetLoginURL은 CORPSTATE.asmx 서비스 메서드라 TI.asmx에서 호출 불가
- 잔액 조회(GetBalanceCostAmount)로 기본 연결 및 인증 테스트

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 21:57:06 +09:00
pro
c2f798e457 fix:EtaxController SoapClient SSL 컨텍스트 및 캐시 설정 추가
- SSL verify_peer, verify_peer_name 비활성화
- WSDL 캐시 비활성화 (WSDL_CACHE_NONE)
- 오류 -11102 "CERTKEY가 유효하지 않습니다" 해결

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 20:21:21 +09:00
pro
b57c6a14ba fix:HometaxController SoapClient 방식으로 변경 (HTTP 방식 인증 문제 해결) 2026-01-26 20:18:22 +09:00
pro
1ecb71c24d fix:홈택스 API 에러 코드 -26012 메시지 추가
- 홈택스 스크래핑 서비스 미신청 에러 메시지 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 20:58:56 +09:00
pro
4b05c6f627 fix:홈택스 페이지에 테넌트 ID 명확히 표시
- 테넌트 ID를 항상 표시 (currentTenant가 없어도)
- 배지 크기 및 스타일 개선
- 테넌트 정보 없을 때 안내 메시지 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 20:40:57 +09:00
pro
55a6e81528 fix:홈택스 API CorpNum을 파트너사 사업자번호로 복원
- CorpNum은 파트너사 인증용 (CERTKEY와 매칭)
- UserID만 테넌트별 바로빌 ID 사용
- 카드 API와 동일한 구조로 통일

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 20:23:25 +09:00
pro
338ccdb680 fix:홈택스 API 호출 시 테넌트 사업자번호 사용
- CorpNum을 파트너사 사업자번호 대신 테넌트 사업자번호로 변경
- 바로빌 회원사 정보 없을 때 명확한 에러 메시지 반환
- 에러 메시지 개선 (-10008, -60001 등)
- 진단 기능에서 파트너사/테넌트 사업자번호 구분 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 20:16:20 +09:00
pro
fecd01e917 feat:홈택스 API 진단 및 스크래핑 기능 추가
- HometaxController에 서비스 진단 메소드 추가 (diagnose)
- 홈택스 스크래핑 URL 조회 메소드 추가 (getScrapRequestUrl)
- 홈택스 스크래핑 갱신 요청 메소드 추가 (refreshScrap)
- 뷰에 서비스 진단 모달 UI 추가
- 라우트: scrap-url, refresh-scrap, diagnose 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 18:03:41 +09:00
pro
f632d5b9b4 debug:SOAP 요청 파라미터 로깅 추가 2026-01-23 17:43:16 +09:00
pro
1cabec2366 fix:에러 코드 -10008, -11010 메시지 추가 2026-01-23 17:41:28 +09:00
pro
921a41107a fix:에러 코드 -24005, -24006 메시지 추가 2026-01-23 17:36:24 +09:00
pro
7fe2849c3f fix:SOAP 네임스페이스 및 SOAPAction URL 수정
- SOAPAction: http://ws.baroservice.com/ 사용
- XML 네임스페이스: http://ws.baroservice.com/ 사용
2026-01-23 17:35:41 +09:00
pro
bd45eb52a2 fix:GetPeriodTaxInvoiceSalesList/PurchaseList 메서드 사용
- TaxType, DateType 필수 파라미터 추가
- SimpleTaxInvoiceEx 응답 구조에 맞게 파싱 수정
- AmountTotal, TaxTotal, TotalAmount 필드 사용
- 과세유형/영수청구 코드 정수형 처리 추가
2026-01-23 17:33:26 +09:00
pro
5ccb31a99c fix:SoapClient 대신 HTTP 직접 요청 방식으로 변경
- Laravel Http 파사드로 SOAP 요청 전송
- buildSoapRequest()로 XML 요청 생성
- parseSoapResponse()로 응답 XML 파싱
- SOAP 인코딩 오류 우회
2026-01-23 17:28:38 +09:00
pro
b480f8e406 fix:SOAP 인코딩 오류 시 Raw XML 파싱 fallback 추가
- callSoap에서 Encoding 오류 감지 시 parseRawXmlResponse 호출
- __getLastResponse()로 Raw XML 가져와 SimpleXML 파싱
- xmlToObject 헬퍼로 stdClass 변환
2026-01-23 17:26:32 +09:00
pro
05d2114726 fix:SOAP 객체 속성 안전 접근 헬퍼 추가
- getProperty() 헬퍼로 property_exists 체크
- TaxType/TaxKind 등 필드명 fallback 처리
- WriteDate/IssueDate 대체 필드 지원
2026-01-23 17:23:51 +09:00
pro
57180c2de2 fix:홈택스 SOAP 메서드명 수정 (TI.asmx 호환)
- GetHomeTaxTIBySalesEx → GetTaxInvoiceSalesListEx
- GetHomeTaxTIByPurchaseEx → GetTaxInvoicePurchaseListEx
- parseInvoices() 응답 구조 수정
- 홈택스 수집 기능 별도 구독 필요 안내 추가
2026-01-23 17:19:40 +09:00
pro
a61133375c fix:홈택스 API SOAP URL 수정 (TI.asmx 사용)
- HOMETAX.asmx는 존재하지 않음 (404)
- 홈택스 API는 TI.asmx (세금계산서 서비스)에 포함됨

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 17:15:51 +09:00
pro
cd913bf173 feat:홈택스 매입/매출 조회 기능 구현
- HometaxController 생성 (HOMETAX.asmx SOAP API 연동)
- 매출 세금계산서 목록 조회 (GetHomeTaxTIBySalesEx)
- 매입 세금계산서 목록 조회 (GetHomeTaxTIByPurchaseEx)
- 홈택스 수집 요청 및 상태 조회 기능
- React 기반 UI (매출/매입 탭 전환, 통계 대시보드)
- CSV 엑셀 다운로드 기능

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 17:12:03 +09:00
pro
a2ec79943e fix:카드 사용내역 승인/취소 통계 오류 수정
- API에서 ApprovalType이 "승인"/"취소" 한글 텍스트로 반환되는 문제 해결
- 기존: '1', '0', '' 만 승인으로 처리 (한글 "승인" 누락)
- 수정: '2', '취소'가 아닌 경우 모두 승인으로 처리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 16:23:37 +09:00
pro
86994e10eb fix:ApprovalType 판단 로직 개선
- 빈값(''), '0', '1' 모두 승인으로 처리
- '2'만 취소로 처리
- 통계 및 표시 모두 동일한 isApproval 변수 사용
- 디버깅 로그에 amount 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 16:18:41 +09:00
pro
b567226ba2 fix:카드 사용내역 통계 ApprovalType 비교 오류 수정
- ApprovalType을 문자열로 캐스팅하여 비교
- 숫자(1)와 문자열('1') 비교 불일치 문제 해결
- 디버깅용 로그 추가 (첫 번째 로그의 ApprovalType 값 확인)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 16:16:40 +09:00
pro
b934bc2e12 fix:엑셀 내보내기를 현재 화면 데이터 기반으로 변경
- GET → POST 방식으로 변경
- 저장된 DB 데이터 대신 현재 화면에 표시된 데이터 내보내기
- 프론트엔드에서 logs, splits 데이터를 JSON으로 전송
- Blob 다운로드 방식으로 파일 저장
- 금액 필드에 콤마 포맷팅 적용

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 16:13:16 +09:00
pro
c8a8708131 feat:엑셀 내보내기에 분개 데이터 포함
- CSV 헤더에 공제여부, 증빙/판매자상호, 내역, 메모 열 추가
- 구분 열 추가: 일반/원본/분개 구분 표시
- 분개된 거래: 원본 행 + 각 분개 행으로 출력
- 분개 행: └ 분개 #N 형식으로 표시
- 분개별 공제여부, 금액, 계정과목 개별 출력

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 16:07:30 +09:00
pro
7ad8b00a47 feat:카드 사용내역 공제/증빙/내역 필드 수정 기능 추가
- 공제 필드: 공제/불공 선택 가능 (불공은 적색 표시)
- 증빙/판매자상호 필드: 텍스트 입력으로 수정 가능
- 내역 필드: 텍스트 입력으로 수정 가능
- CardTransaction 모델에 deduction_type, evidence_name, description 필드 추가
- 마이그레이션 추가
- 컨트롤러에서 새 필드 저장/로드 처리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:16:17 +09:00
pro
d868e8d0e9 feat:카드 사용내역 분개 기능 추가
- CardTransactionSplit 모델 및 마이그레이션 추가
- EcardController에 splits, saveSplits, deleteSplits API 추가
- 분개 라우트 추가 (GET/POST/DELETE /barobill/ecard/splits)
- 프론트엔드 SplitModal 컴포넌트 추가
- 각 거래 행에 +/- 버튼으로 분개 추가/삭제
- 분개 행 시각적 구분 (들여쓰기, 배경색)
- 분개 금액 합계 검증
- 고유키(cardNum|useDt|approvalNum|amount)로 원본 데이터 연결

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 14:08:44 +09:00
pro
4167fe1c8d fix:isset() 표현식 오류 수정
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 13:47:05 +09:00
pro
a8e81354fc debug:카드 사용내역 조회 디버그 로그 추가
- API 호출 파라미터 로깅
- SOAP 응답 데이터 구조 로깅
- 에러 코드 및 파싱 결과 로깅

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 13:39:38 +09:00
pro
0d724df48e fix:카드 사용내역 응답 파싱 프로퍼티명 수정
- CardApprovalLogList → CardLogList (레거시와 동일)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 13:12:31 +09:00
pro
90042f3781 fix:카드 사용내역 에러 코드 수정 (-25xxx → -24xxx)
- 레거시와 동일한 에러 코드 사용
- -24005: 조회 데이터 없음
- -24001: 등록된 카드 없음

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 13:12:07 +09:00
pro
2c1b97c20a fix:카드 목록 조회 API GetCardEx → GetCardEx2 변경
- GetCardEx2 사용으로 레거시 코드와 동일하게 수정
- CardEx 배열 파싱 로직 수정
- 카드 상태 이름 변환 함수 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 12:53:41 +09:00
pro
7ae66ae7ac feat:카드 사용내역 메뉴 추가 (바로빌 API 연동)
- EcardController: 카드 목록/사용내역 조회, 계정과목 저장, 엑셀 내보내기
- CardTransaction 모델: 카드 사용내역 저장 및 고유키 매칭
- 마이그레이션: barobill_card_transactions 테이블 생성
- React 기반 UI: 카드 선택, 기간 조회, 계정과목 검색/선택 기능
- MngMenuSeeder 메뉴 URL 업데이트

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 12:46:31 +09:00
pro
453d689ab0 feat:계정과목 설정 기능 추가 (더존 표준 계정과목)
- account_codes 테이블 및 모델 생성
- 더존 표준 계정과목 163개 시더 추가
- 계정과목 CRUD API 추가 (추가/수정/삭제/조회)
- 계정과목 설정 모달 UI 구현
- 분류별 필터링 및 검색 기능
- 사용/미사용 토글 기능

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 12:31:10 +09:00