Commit Graph

80 Commits

Author SHA1 Message Date
김보곤
a105553cf4 refactor:카드사용내역 메뉴를 재무관리로 이동
- /finance/card-transactions에서 EcardController 직접 호출 (리디렉션 제거)
- /barobill/ecard index는 재무관리로 리디렉션
- 데이터 API 라우트(cards, transactions 등)는 barobill 하위 유지
- 바로빌 메뉴에서 카드 사용내역 제거 (재무관리에 이미 존재)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 12:41:11 +09:00
김보곤
b546e19fe9 fix:카드 사용내역 기본 200건 조회 및 전체기간 통계 반영
- 기본 조회 건수 50 → 200으로 변경
- 단일 카드 조회 시 전체 데이터를 가져와서 통계 계산 후 로컬 페이지네이션
- 상단 통계(총 사용금액, 공제, 불공제)가 페이지네이션과 무관하게 전체 조회기간 반영
- 페이지네이션 중일 때 프론트엔드 재계산이 백엔드 통계를 덮어쓰지 않도록 수정

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 11:38:53 +09:00
김보곤
6341e96367 refactor:계좌입출금내역 메뉴를 재무관리로 이동
- 재무관리 > 계좌거래내역 → 계좌입출금내역으로 명칭 변경
- /finance/account-transactions에서 EaccountController 직접 호출 (리디렉션 제거)
- /barobill/eaccount index는 재무관리로 리디렉션
- 데이터 API 라우트(accounts, transactions 등)는 barobill 하위 유지

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 11:31:17 +09:00
김보곤
0f40ca673a fix:수동입력 건 잔액을 직전 거래 기준으로 자동 재계산
- recalcManualBalances() 메서드 추가: 병합된 로그를 시간순으로 순회하며
  수동입력 건의 잔액을 직전 거래 잔액 + 입금 - 출금으로 재계산
- 단일 계좌/전체 계좌/수동건만 있는 경우 모두 적용
- API 거래의 잔액은 그대로 유지

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 11:20:12 +09:00
김보곤
17547aa4ae feat:계좌 입출금내역 수동입력 기능 추가
- BankTransaction 모델에 is_manual 필드 추가
- EaccountController에 storeManual/updateManual/destroyManual 메서드 추가
- transactions() 메서드에서 수동입력 데이터와 API 데이터 병합
- 라우트에 수동입력 관련 POST/PUT/DELETE 추가
- 뷰에 ManualEntryModal 컴포넌트 추가 (계좌선택, 입금/출금 유형, 금액 등)
- 거래 목록에 수동 뱃지, 수정/삭제 버튼 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 11:00:58 +09:00
김보곤
fd0b8d8536 feat:바로빌 계좌 거래내역 적요/내용 수정 기능 추가
- BankTransactionOverride 모델 추가 (오버라이드 데이터 관리)
- EaccountController에 saveOverride 엔드포인트 추가
- parseTransactionLogs에서 오버라이드 데이터 병합 로직 추가
- 프론트엔드에 TransactionEditModal 컴포넌트 추가
- 적요 셀 클릭 시 수정 모달 표시
- 오버라이드된 항목 시각적 표시 (배경색, 수정 배지)
- 원본 복원 기능 포함

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-06 09:57:55 +09:00
김보곤
a7670c6ecf fix:재무 대시보드 계좌 잔액을 DB 저장된 최신 거래내역에서 조회
- latestBalances API 추가 (barobill_bank_transactions 테이블)
- 바로빌 GetBankAccountEx 대신 로컬 DB 최신 잔액 사용

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-06 06:23:28 +09:00
김보곤
7f0bbc1a95 feat:전자세금계산서 공급받는자 거래처 검색 모달 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 20:46:35 +09:00
김보곤
3fb1777bad feat:카드 거래 숨김(삭제) 및 복원 기능 추가
- CardTransactionHide 모델 생성 (숨김 테이블 연동)
- EcardController에 hide/restore/hidden 메서드 추가
- 기존 transactions/getAllCardsTransactions에 숨김 키 필터링 적용
- 프론트엔드에 숨김 버튼, 삭제데이터 보기 토글, 복원 기능 추가
- web.php에 숨김 관련 라우트 3개 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 17:27:30 +09:00
김보곤
fbfedf03d7 feat:분개 모달 공급가액/부가세 필드 추가
- SplitModal: 금액 단일필드 → 공급가액+부가세 2필드로 변경
- 행별 합계금액 자동계산 표시
- 분개 리스트 행에 공급가액/부가세 개별 표시
- 분개 기반 요약 재계산 로직 추가 (recalculateSummary)
- 모델: split_supply_amount, split_tax 필드 추가
- 컨트롤러: 분개 합계 검증 및 CSV 내보내기 반영
- 레거시 데이터(supply/tax 없는 기존 분개) 호환성 유지

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 15:42:42 +09:00
김보곤
51f45b3f5b fix:수동입력 카드거래 금액 계산 버그 수정
수동입력시 approval_amount가 공급가액(supply)인데
effectiveSupplyAmount = amount - tax로 이중 차감되던 문제 수정

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 14:39:29 +09:00
김보곤
1492a279f8 feat:카드 사용내역 수동입력 CRUD 기능 추가
- 수동입력 모달 (등록/수정) 추가
- storeManual, updateManual, destroyManual 컨트롤러 메서드 추가
- 바로빌 API 데이터와 수동 입력 건 병합 표시
- 수동 건에 "수동" 배지, 수정/삭제 버튼 표시
- 라우트: POST/PUT/DELETE /barobill/ecard/manual

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 11:24:40 +09:00
김보곤
3c3b89384d fix:부가세 합계에서 불공제(불공) 거래 제외
- totalTax 집계 시 deductionType이 'deductible'인 건만 포함
- parseTransactionLogs(), getAllCardsTransactions() 양쪽 수정

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 10:57:42 +09:00
김보곤
bacf0396d5 feat:카드 사용내역 공급가액/부가세 수정 및 이력 추적 기능
- CardTransaction 모델에 modified_supply_amount, modified_tax 추가
- CardTransactionAmountLog 모델 신규 생성 (수정 이력)
- parseTransactionLogs: effectiveSupplyAmount, effectiveTax, isAmountModified 응답 추가
- save: 금액 변경 감지 시 amount_logs 이력 자동 기록
- 프론트엔드: 공급가액/부가세 input 수정 가능, 합계금액 자동계산
- 수정 시 주황색 배경 + 원본값 취소선 표시
- 분개된 거래는 금액 수정 비활성화 (읽기전용)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 10:02:56 +09:00
김보곤
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