fix: [payroll] 음수 공제항목 전표 처리 방식 수정
- 음수 공제(환급)를 차변 별도 라인 대신 대변 마이너스로 처리 - 차변은 총지급액(gross_salary) 단일 라인 고정 - 대변합계 = 양수공제 + 음수공제(마이너스 대변) + 실수령액 = 차변
This commit is contained in:
@@ -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 값)
|
||||
|
||||
Reference in New Issue
Block a user