From 69ade179003e50fd3cf7d12a29fc242d4ee097be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Wed, 11 Feb 2026 12:45:41 +0900 Subject: [PATCH] =?UTF-8?q?fix:=EC=98=88=EC=A0=95=20=EC=84=B8=EC=95=A1=20?= =?UTF-8?q?=EA=B3=84=EC=82=B0=20=EC=8B=9C=20vat=5Frecords=20tax=5Ftype=20?= =?UTF-8?q?=EC=BB=AC=EB=9F=BC=20=EB=AF=B8=EC=A1=B4=EC=9E=AC=20=EC=98=A4?= =?UTF-8?q?=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit vat_records 테이블에 tax_type 컬럼이 없어 DB 쿼리 실패. index 메서드와 동일하게 인메모리 컬렉션 필터링으로 변경. Co-Authored-By: Claude Opus 4.6 --- .../Controllers/Finance/VatRecordController.php | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/Finance/VatRecordController.php b/app/Http/Controllers/Finance/VatRecordController.php index 0fa17081..8a3d32bd 100644 --- a/app/Http/Controllers/Finance/VatRecordController.php +++ b/app/Http/Controllers/Finance/VatRecordController.php @@ -451,18 +451,19 @@ private function calculatePeriodNetVat(int $tenantId, string $period): int } } - // 수동입력 매출세액 (과세+영세) - $manualSalesVat = (int) VatRecord::forTenant($tenantId) + // 수동입력 세액 (면세 제외한 과세+영세만 합산, index와 동일하게 인메모리 필터링) + $manualRecords = VatRecord::forTenant($tenantId) ->where('period', $period) + ->get(); + + $manualSalesVat = (int) $manualRecords ->where('type', 'sales') - ->whereIn('tax_type', ['taxable', 'zero_rated']) + ->whereIn('tax_type', ['taxable', 'zero_rated', null]) ->sum('vat_amount'); - // 수동입력 매입세액 (과세+영세) - $manualPurchaseVat = (int) VatRecord::forTenant($tenantId) - ->where('period', $period) + $manualPurchaseVat = (int) $manualRecords ->where('type', 'purchase') - ->whereIn('tax_type', ['taxable', 'zero_rated']) + ->whereIn('tax_type', ['taxable', 'zero_rated', null]) ->sum('vat_amount'); $totalSalesVat = $salesVat + $manualSalesVat;