diff --git a/app/Http/Controllers/Api/Admin/HR/PayrollController.php b/app/Http/Controllers/Api/Admin/HR/PayrollController.php index 0f286819..9fc3335c 100644 --- a/app/Http/Controllers/Api/Admin/HR/PayrollController.php +++ b/app/Http/Controllers/Api/Admin/HR/PayrollController.php @@ -848,39 +848,23 @@ public function generateJournalEntry(Request $request): JsonResponse ]; } - // 2~N. 공제항목: 양수→대변, 음수→차변 (환급으로 예수금 감소) + // 2~N. 공제항목: 모두 대변 처리 (음수 공제는 마이너스 대변) foreach ($deductionItems as [$amount, $partnerName, $desc]) { if ($amount == 0) { continue; } - if ($amount > 0) { - // 양수: 대변 207 예수금 (원천징수) - $lines[] = [ - 'dc_type' => 'credit', - 'account_code' => '207', - 'account_name' => $accountCodes['207'], - 'trading_partner_id' => $partners[$partnerName], - 'trading_partner_name' => $partnerName, - 'debit_amount' => 0, - 'credit_amount' => $amount, - 'description' => $desc, - 'line_no' => $lineNo++, - ]; - } else { - // 음수: 차변 207 예수금 (환급) - $lines[] = [ - 'dc_type' => 'debit', - 'account_code' => '207', - 'account_name' => $accountCodes['207'], - 'trading_partner_id' => $partners[$partnerName], - 'trading_partner_name' => $partnerName, - 'debit_amount' => abs($amount), - 'credit_amount' => 0, - 'description' => "{$desc} (환급)", - 'line_no' => $lineNo++, - ]; - } + $lines[] = [ + 'dc_type' => 'credit', + 'account_code' => '207', + 'account_name' => $accountCodes['207'], + 'trading_partner_id' => $partners[$partnerName], + 'trading_partner_name' => $partnerName, + 'debit_amount' => 0, + 'credit_amount' => $amount, + 'description' => $amount < 0 ? "{$desc} (환급)" : $desc, + 'line_no' => $lineNo++, + ]; } // 최종: 대변 205 미지급비용 / 임직원 — 실수령액 (DB 값)