'41000'], [ 'name' => 'Pendapatan Operasional', 'classification' => AccountClassification::REVENUE, 'normal_balance' => AccountBalance::CREDIT, 'parent_id' => null, ] ); // Define child sub-account definitions array matching campus operational ledger $accounts = [ [ // Asset account for Bank BNI VA Receipts 'code' => '1102', 'name' => 'Bank BNI Penerimaan VA', 'classification' => AccountClassification::ASSET, 'normal_balance' => AccountBalance::DEBIT, 'parent_id' => null, ], [ // Asset account for Student Receivables 'code' => '1105', 'name' => 'Piutang Mahasiswa', 'classification' => AccountClassification::ASSET, 'normal_balance' => AccountBalance::DEBIT, 'parent_id' => null, ], [ // Sub-COA 41101: New Student Registration Fee (Pendapatan Pendaftaran Maba) 'code' => '41101', 'name' => 'Pendapatan Pendaftaran Maba-Reguler', 'classification' => AccountClassification::REVENUE, 'normal_balance' => AccountBalance::CREDIT, 'parent_id' => $revenueParent->id, ], [ // Sub-COA 41200: Re-registration Fee (Pendapatan Kemahasiswaan / Daftar Ulang) 'code' => '41200', 'name' => 'Pendapatan Kemahasiswaan / Daftar Ulang', 'classification' => AccountClassification::REVENUE, 'normal_balance' => AccountBalance::CREDIT, 'parent_id' => $revenueParent->id, ], [ // Sub-COA 41301: Regular Tuition Fee (Pendapatan UKT-Reguler) 'code' => '41301', 'name' => 'Pendapatan UKT-Reguler', 'classification' => AccountClassification::REVENUE, 'normal_balance' => AccountBalance::CREDIT, 'parent_id' => $revenueParent->id, ], [ // Sub-COA 4201: Contra Revenue for Discounts (Diskon & Potongan Tagihan) 'code' => '4201', 'name' => 'Diskon PMDK & Potongan Tagihan', 'classification' => AccountClassification::REVENUE, 'normal_balance' => AccountBalance::DEBIT, // Debit offsets credit revenue 'parent_id' => null, ], ]; // Loop and upsert each account entry into database foreach ($accounts as $account) { ChartOfAccount::updateOrCreate( ['code' => $account['code']], $account ); } } }