{"application_row":{"Nama Depan":"Evi","Nama Belakang":"Meiwatiningsih","Nama Lengkap":"Evi Meiwatiningsih","Email":"evi.example@gmail.com","Mobile":"0819-XXXX-XXXX","Tanggal Lahir":"5/1/1980","Nomor KTP":"32010141XXXXXXXXXX","Jenis Kelamin":"Perempuan","Jumlah Keluarga Ditanggung":"1","Pendidikan Terakhir":"D3","Status Perkawinan":"Kawin","Alamat Tempat Tinggal":"xxxxxxxx","No RT":"5","No RW":"7","Desa/Kelurahan":"HARAPAN JAYA","Nama Kecamatan":"CIBINONG","Kabupaten/Kota":"KABUPATEN BOGOR","Provinsi":"JAWA BARAT","No Kode Pos":"16914","Posisi/Jabatan":"Admin Assistant","Perusahaan Saat Ini":"HBT Law Firm","Jenis Perusahaan":"Swasta","Status Pekerjaan":"Karyawan Tetap","Jumlah Tahun Pengalaman Di Perusahaan Sekarang":"4+ Tahun","Total Pengalaman Kerja":"10+ Tahun","Pendapatan Tetap Perbulan":"12400000","Pengeluaran Tetap Perbulan":"5000000","Total Hutang Atas Pinjaman Tanpa Agunan":"77000000","Total Cicilan Per Bulan Atas Pinjaman Tanpa Agunan":"0","Total Hutang Atas Pinjaman Beragunan (Jika Ada)":"0","Total Cicilan Per Bulan Atas Pinjaman Beragunan (Jika Ada)":"0","Kepemilikan Rumah":"Yes","Biaya Sewa/Kos Per Bulan":"0","Nama Bank":"BCA","Nomor Rekening":"XXXXX","Konsolidasi Bersama":"No","Pendapatan Pasangan":"0","Jaminan Collateral":"No"},"afpi_report_raw":{"report_date":"2026-04-22","subject_ktp":"32010141XXXXXXXXXX","active_loans":[{"pinjol":"OVO Paylater","loan_subtype":"Paylater","disbursement_amount":17000,"outstanding":17000,"disbursement_date":"2026-03-29","due_date":"2026-04-30","dpd":0},{"pinjol":"Gopay Pinjam","loan_subtype":"Onetime Loan","disbursement_amount":12000000,"outstanding":6315116,"disbursement_date":"2025-12-09","due_date":"2026-06-09","dpd":0},{"pinjol":"Shopee Pinjam","loan_subtype":"Onetime Loan","disbursement_amount":30000000,"outstanding":18596804,"disbursement_date":"2025-03-08","due_date":"2026-04-09","dpd":0},{"pinjol":"Adapundi","loan_subtype":"Onetime Loan","disbursement_amount":12352000,"outstanding":1029326,"disbursement_date":"2025-05-02","due_date":"2026-04-27","dpd":0}],"total_outstanding":25958246},"bank_statement_urls":[],"bank_statement_transactions":[{"date":"04-Mar","month":3,"bank":"BCA","description":"GAJI HBT LAW","type":"CREDIT","amount":13200716,"category":"Salary","category_source":"Database","footnote":"Matched rule #13: pattern \"GAJI\"","confidence":100},{"date":"01-Feb","month":2,"bank":"BCA","description":"GAJI HBT LAW","type":"CREDIT","amount":16001777,"category":"Salary","category_source":"Database","footnote":"Matched rule #13: pattern \"GAJI\"","confidence":100},{"date":"31-Jan","month":1,"bank":"BCA","description":"GAJI HBT LAW","type":"CREDIT","amount":15631924,"category":"Salary","category_source":"Database","footnote":"Matched rule #13: pattern \"GAJI\"","confidence":100},{"date":"10-Mar","month":3,"bank":"BCA","description":"SHOPEE PINJAM PAYMENT","type":"DEBIT","amount":-3500000,"category":"Loan Payment","category_source":"Database","footnote":"Matched rule #50: pattern \"SHOPEE\\s*PINJAM\"","confidence":100},{"date":"10-Feb","month":2,"bank":"BCA","description":"SHOPEE PINJAM PAYMENT","type":"DEBIT","amount":-3500000,"category":"Loan Payment","category_source":"Database","footnote":"Matched rule #50: pattern \"SHOPEE\\s*PINJAM\"","confidence":100},{"date":"10-Jan","month":1,"bank":"BCA","description":"SHOPEE PINJAM PAYMENT","type":"DEBIT","amount":-3500000,"category":"Loan Payment","category_source":"Database","footnote":"Matched rule #50: pattern \"SHOPEE\\s*PINJAM\"","confidence":100},{"date":"15-Mar","month":3,"bank":"BCA","description":"GOPAY PINJAM PAYMENT","type":"DEBIT","amount":-2200000,"category":"Loan Payment","category_source":"Database","footnote":"Matched rule #51: pattern \"GOPAY\\s*PINJAM\"","confidence":100},{"date":"15-Feb","month":2,"bank":"BCA","description":"GOPAY PINJAM PAYMENT","type":"DEBIT","amount":-2200000,"category":"Loan Payment","category_source":"Database","footnote":"Matched rule #51: pattern \"GOPAY\\s*PINJAM\"","confidence":100},{"date":"15-Jan","month":1,"bank":"BCA","description":"GOPAY PINJAM PAYMENT","type":"DEBIT","amount":-2200000,"category":"Loan Payment","category_source":"Database","footnote":"Matched rule #51: pattern \"GOPAY\\s*PINJAM\"","confidence":100},{"date":"20-Mar","month":3,"bank":"BCA","description":"BIAYA ADM","type":"DEBIT","amount":-17000,"category":"Bank Charges","category_source":"Database","footnote":"Matched rule #1: pattern \"BIAYA\\s*ADM\"","confidence":100},{"date":"20-Feb","month":2,"bank":"BCA","description":"BIAYA ADM","type":"DEBIT","amount":-17000,"category":"Bank Charges","category_source":"Database","footnote":"Matched rule #1: pattern \"BIAYA\\s*ADM\"","confidence":100},{"date":"20-Jan","month":1,"bank":"BCA","description":"BIAYA ADM","type":"DEBIT","amount":-17000,"category":"Bank Charges","category_source":"Database","footnote":"Matched rule #1: pattern \"BIAYA\\s*ADM\"","confidence":100},{"date":"05-Mar","month":3,"bank":"BCA","description":"ARISAN BULANAN","type":"DEBIT","amount":-500000,"category":"Miscellaneous - Arisan","category_source":"Database","footnote":"Matched rule #110: pattern \"ARISAN\"","confidence":100},{"date":"05-Feb","month":2,"bank":"BCA","description":"ARISAN BULANAN","type":"DEBIT","amount":-500000,"category":"Miscellaneous - Arisan","category_source":"Database","footnote":"Matched rule #110: pattern \"ARISAN\"","confidence":100},{"date":"05-Jan","month":1,"bank":"BCA","description":"ARISAN BULANAN","type":"DEBIT","amount":-500000,"category":"Miscellaneous - Arisan","category_source":"Database","footnote":"Matched rule #110: pattern \"ARISAN\"","confidence":100},{"date":"01-Mar","month":3,"bank":"BCA","description":"Pegadaian gold sale","type":"CREDIT","amount":7195605,"category":"Z Pegadaian","category_source":"Database","footnote":"Matched rule #100: pattern \"PEGADAIAN\"","confidence":100},{"date":"10-Mar","month":3,"bank":"BCA","description":"INDOMARET","type":"DEBIT","amount":-175000,"category":"Groceries","category_source":"Database","footnote":"Matched rule #46: pattern \"INDOMA(RET)?|ALFAMA(RT)?\"","confidence":100},{"date":"10-Feb","month":2,"bank":"BCA","description":"INDOMARET","type":"DEBIT","amount":-38000,"category":"Groceries","category_source":"Database","footnote":"Matched rule #46: pattern \"INDOMA(RET)?|ALFAMA(RT)?\"","confidence":100}],"parsed_application":{"applicant":{"full_name":"Evi Meiwatiningsih","first_name":"Evi","last_name":"Meiwatiningsih","email":"evi.example@gmail.com","mobile":"0819-XXXX-XXXX","ktp_number":"32010141XXXXXXXXXX","dob":"5/1/1980","age":46,"gender":"Perempuan","marital_status":"Kawin","religion":null,"dependents":1.0,"education":"D3"},"address":{"street":"xxxxxxxx","rt":"5","rw":"7","kelurahan":"HARAPAN JAYA","kecamatan":"CIBINONG","city":"KABUPATEN BOGOR","province":"JAWA BARAT","postal_code":"16914"},"employment":{"job_title":"Admin Assistant","employer_name":"HBT Law Firm","employer_type":"Swasta","contract_type":"Karyawan Tetap","years_in_current_company":"4+ Tahun","total_work_experience":"10+ Tahun"},"income":{"monthly_income":12400000.0,"monthly_expenses":5000000.0,"spouse_income":0},"obligations_declared":{"unsecured_outstanding":77000000.0,"unsecured_emi":0,"secured_outstanding":0,"secured_emi":0,"total_outstanding":77000000.0,"total_emi":0},"housing":{"ownership":"Yes","monthly_rent":0},"documents":{"ktp_photo_url":null,"selfie_url":null,"bank_statement_url":null,"payslip_m1_url":null,"payslip_m2_url":null,"payslip_m3_url":null,"tax_return_url":null},"other":{"joint_consolidation":"No","collateral":"No","emergency_contact_name":null,"emergency_contact_number":null,"lead_source":null,"cs_executive":null}},"bank_transactions_categorized":[{"date":"04-Mar","month":3,"bank":"BCA","description":"GAJI HBT LAW","type":"CREDIT","amount":13200716,"category":"Salary","category_source":"Database","footnote":"Matched rule #13: pattern \"GAJI\"","confidence":100},{"date":"01-Feb","month":2,"bank":"BCA","description":"GAJI HBT LAW","type":"CREDIT","amount":16001777,"category":"Salary","category_source":"Database","footnote":"Matched rule #13: pattern \"GAJI\"","confidence":100},{"date":"31-Jan","month":1,"bank":"BCA","description":"GAJI HBT LAW","type":"CREDIT","amount":15631924,"category":"Salary","category_source":"Database","footnote":"Matched rule #13: pattern \"GAJI\"","confidence":100},{"date":"10-Mar","month":3,"bank":"BCA","description":"SHOPEE PINJAM PAYMENT","type":"DEBIT","amount":-3500000,"category":"Loan Payment","category_source":"Database","footnote":"Matched rule #50: pattern \"SHOPEE\\s*PINJAM\"","confidence":100},{"date":"10-Feb","month":2,"bank":"BCA","description":"SHOPEE PINJAM PAYMENT","type":"DEBIT","amount":-3500000,"category":"Loan Payment","category_source":"Database","footnote":"Matched rule #50: pattern \"SHOPEE\\s*PINJAM\"","confidence":100},{"date":"10-Jan","month":1,"bank":"BCA","description":"SHOPEE PINJAM PAYMENT","type":"DEBIT","amount":-3500000,"category":"Loan Payment","category_source":"Database","footnote":"Matched rule #50: pattern \"SHOPEE\\s*PINJAM\"","confidence":100},{"date":"15-Mar","month":3,"bank":"BCA","description":"GOPAY PINJAM PAYMENT","type":"DEBIT","amount":-2200000,"category":"Loan Payment","category_source":"Database","footnote":"Matched rule #51: pattern \"GOPAY\\s*PINJAM\"","confidence":100},{"date":"15-Feb","month":2,"bank":"BCA","description":"GOPAY PINJAM PAYMENT","type":"DEBIT","amount":-2200000,"category":"Loan Payment","category_source":"Database","footnote":"Matched rule #51: pattern \"GOPAY\\s*PINJAM\"","confidence":100},{"date":"15-Jan","month":1,"bank":"BCA","description":"GOPAY PINJAM PAYMENT","type":"DEBIT","amount":-2200000,"category":"Loan Payment","category_source":"Database","footnote":"Matched rule #51: pattern \"GOPAY\\s*PINJAM\"","confidence":100},{"date":"20-Mar","month":3,"bank":"BCA","description":"BIAYA ADM","type":"DEBIT","amount":-17000,"category":"Bank Charges","category_source":"Database","footnote":"Matched rule #1: pattern \"BIAYA\\s*ADM\"","confidence":100},{"date":"20-Feb","month":2,"bank":"BCA","description":"BIAYA ADM","type":"DEBIT","amount":-17000,"category":"Bank Charges","category_source":"Database","footnote":"Matched rule #1: pattern \"BIAYA\\s*ADM\"","confidence":100},{"date":"20-Jan","month":1,"bank":"BCA","description":"BIAYA ADM","type":"DEBIT","amount":-17000,"category":"Bank Charges","category_source":"Database","footnote":"Matched rule #1: pattern \"BIAYA\\s*ADM\"","confidence":100},{"date":"05-Mar","month":3,"bank":"BCA","description":"ARISAN BULANAN","type":"DEBIT","amount":-500000,"category":"Miscellaneous - Arisan","category_source":"Database","footnote":"Matched rule #110: pattern \"ARISAN\"","confidence":100},{"date":"05-Feb","month":2,"bank":"BCA","description":"ARISAN BULANAN","type":"DEBIT","amount":-500000,"category":"Miscellaneous - Arisan","category_source":"Database","footnote":"Matched rule #110: pattern \"ARISAN\"","confidence":100},{"date":"05-Jan","month":1,"bank":"BCA","description":"ARISAN BULANAN","type":"DEBIT","amount":-500000,"category":"Miscellaneous - Arisan","category_source":"Database","footnote":"Matched rule #110: pattern \"ARISAN\"","confidence":100},{"date":"01-Mar","month":3,"bank":"BCA","description":"Pegadaian gold sale","type":"CREDIT","amount":7195605,"category":"Z Pegadaian","category_source":"Database","footnote":"Matched rule #100: pattern \"PEGADAIAN\"","confidence":100},{"date":"10-Mar","month":3,"bank":"BCA","description":"INDOMARET","type":"DEBIT","amount":-175000,"category":"Groceries","category_source":"Database","footnote":"Matched rule #46: pattern \"INDOMA(RET)?|ALFAMA(RT)?\"","confidence":100},{"date":"10-Feb","month":2,"bank":"BCA","description":"INDOMARET","type":"DEBIT","amount":-38000,"category":"Groceries","category_source":"Database","footnote":"Matched rule #46: pattern \"INDOMA(RET)?|ALFAMA(RT)?\"","confidence":100}],"bank_pivot_by_category":{"Salary":{"month_1":15631924.0,"month_2":16001777.0,"month_3":13200716.0,"total":44834417.0,"count":3},"Loan Payment":{"month_1":-5700000.0,"month_2":-5700000.0,"month_3":-5700000.0,"total":-17100000.0,"count":6},"Bank Charges":{"month_1":-17000.0,"month_2":-17000.0,"month_3":-17000.0,"total":-51000.0,"count":3},"Miscellaneous - Arisan":{"month_1":-500000.0,"month_2":-500000.0,"month_3":-500000.0,"total":-1500000.0,"count":3},"Z Pegadaian":{"month_1":0,"month_2":0,"month_3":7195605.0,"total":7195605.0,"count":1},"Groceries":{"month_1":0,"month_2":-38000.0,"month_3":-175000.0,"total":-213000.0,"count":2}},"bank_summary":{"total_transactions":18,"months_observed":3,"average_monthly_salary":14944805.666666666,"average_monthly_loan_payment":5700000.0,"average_monthly_outflow":8686535.0,"categorisation_breakdown":{"rule_based":18,"llm_based":0,"fallback":0},"red_flags":{"gambling":{"count":0,"total_idr":0.0,"matched_keywords":[],"sample_transactions":[],"severity":"High"},"trading_crypto":{"count":0,"total_idr":0.0,"matched_keywords":[],"sample_transactions":[],"severity":"Medium"}}},"loan_reconciliation":{"by_source":{"customer_declared_outstanding":77000000.0,"customer_declared_emi":0,"bureau_total_outstanding":0,"bureau_total_emi":0,"bank_avg_monthly_loan_payment":5700000.0},"gaps":{"declared_vs_bureau_outstanding_gap":-77000000.0,"bureau_emi_vs_bank_payment_gap":5700000.0,"customer_underdeclared":false},"lender_overlap":{"in_both_bureau_and_bank":[],"only_in_bureau":[],"only_in_bank":["GOPAY PINJAM","SHOPEE PINJAM"]},"conservative_values_for_ratios":{"outstanding":77000000.0,"emi":5700000.0}},"declared_vs_actual_gap":-77000000.0,"eligibility_check":{"rules":[{"rule":"Loan Amount Band","expected":"> IDR 20 million","actual":"IDR 77,000,000","passed":true,"critical":true},{"rule":"Primary Ratio Gate (TOIR/FOIR)","expected":"TOIR ≤ 130% OR FOIR ≤ 60%","actual":"TOIR=86.3%, FOIR=46.0%","passed":true,"critical":true},{"rule":"Residential Geography","expected":"Bandung / Surabaya / Jabodetabek (Bali excluded)","actual":"KABUPATEN BOGOR, JAWA BARAT","passed":true,"critical":true},{"rule":"Minimum Education","expected":"≥ Senior High School (SMA)","actual":"D3","passed":true,"critical":true},{"rule":"Employer Type","expected":"State-Owned / Government / Private","actual":"SWASTA","passed":true,"critical":true},{"rule":"Employment Contract","expected":"Permanent / Karyawan Tetap","actual":"KARYAWAN TETAP","passed":true,"critical":true},{"rule":"Employer in business > 5 years","expected":"> 5 years","actual":"Manual verification required","passed":null,"critical":false,"note":"Verify via LinkedIn / company website / interview"},{"rule":"Tenure in Current Company","expected":"≥ 1 year","actual":"4 years","passed":true,"critical":true},{"rule":"Total Work Experience","expected":"≥ 3 years","actual":"10 years","passed":true,"critical":true},{"rule":"Minimum Salary","expected":"> IDR 7,000,000","actual":"IDR 12,400,000","passed":true,"critical":true}],"summary":{"total_rules":10,"passed":8,"failed_critical":0,"failed_soft":0,"pending_manual":2},"auto_decline":false,"critical_failures":[],"verdict":"PROCEED_WITH_CHECKS"},"auto_decline_triggered":false,"credit_ratios":{"ratios":{"toir":{"value":86.29,"unit":"%","label":"TOIR (Total Outflows / Income)","band":"Green","benchmark":"≤ 100% Green | 100-130% Amber | > 130% Red (gate: TOIR ≤ 130% OR FOIR ≤ 60%)","is_gating":true},"foir":{"value":45.97,"unit":"%","label":"FOIR (Fixed Obligations / Income)","band":"Amber","benchmark":"< 40% Green | 40-60% Amber | > 60% Red (gate: TOIR ≤ 130% OR FOIR ≤ 60%)","is_gating":true},"dti":{"value":51.75,"unit":"%","label":"Debt-to-Income (Annual)","band":"Green","benchmark":"< 300% Green | 300-500% Amber | > 500% Red"},"income_multiplier":{"value":0.52,"unit":"x","label":"Total Debt / Annual Income","band":"Green","benchmark":"< 3x Green | 3-5x Amber | > 5x Red"},"residual_income":{"value":1700000.0,"unit":"IDR","label":"Residual Monthly Income (post all outflows)","band":"Red","benchmark":"> IDR 5M Green | 2-5M Amber | < 2M Red"},"income_consistency":{"value":120.5,"unit":"%","label":"Bank-detected vs Declared Income","band":"Green","benchmark":"≥ 90% Green | 75-90% Amber | < 75% Red"}},"scorecard":{"green":4,"amber":1,"red":1,"overall_assessment":"Acceptable"},"inputs_used":{"declared_monthly_income":12400000.0,"bank_detected_income":14944805.666666666,"effective_income_used":12400000.0,"spouse_income":0.0,"monthly_expenses":5000000.0,"monthly_rent":0.0,"existing_emi_conservative":5700000.0,"total_outstanding_conservative":77000000.0}},"profile_check":{"mode":"training_data_only","employer":{"confidence":"Unknown","needs_verification":true,"profile_summary":"LLM error: Error code: 401 - {'error': {'message': 'User not found.', 'code': 401}}"},"applicant":{"confidence":"Unknown","needs_verification":true},"policy_implications":[],"sources_consulted":[],"disclaimer":"LLM knowledge estimate — call failed. Manual research required."},"summary_report_html":"<!DOCTYPE html>\n<html lang=\"en\"><head><meta charset=\"UTF-8\">\n<title>Credit Summary — Evi Meiwatiningsih</title>\n<style>\n  body { font-family: 'Segoe UI', Arial, sans-serif; font-size: 13px; color: #1e293b;\n          margin: 0; padding: 24px; background: #f8fafc; }\n  .container { max-width: 1000px; margin: auto; background: white; border-radius: 12px;\n                box-shadow: 0 2px 16px #0001; padding: 32px; }\n  h1 { font-size: 22px; border-bottom: 2px solid #4f46e5; padding-bottom: 10px; }\n  h2 { font-size: 15px; color: #4f46e5; margin-top: 28px;\n         border-left: 3px solid #4f46e5; padding-left: 10px; }\n  table { width: 100%; border-collapse: collapse; margin: 8px 0; }\n  th { background: #f1f5f9; padding: 8px 10px; text-align: left;\n         font-size: 11px; color: #64748b; text-transform: uppercase; }\n  td { padding: 8px 10px; border-bottom: 1px solid #f1f5f9; vertical-align: top; }\n  .meta-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 16px 0; }\n  .meta-card { background: #f1f5f9; border-radius: 8px; padding: 12px; }\n  .meta-card .label { font-size: 10px; color: #94a3b8; text-transform: uppercase; }\n  .meta-card .value { font-size: 14px; font-weight: 600; margin-top: 4px; }\n  .recommendation { background: #16a34a18; border-left: 5px solid #16a34a;\n                      padding: 14px 18px; border-radius: 8px; margin: 16px 0; }\n  .recommendation .label { font-size: 11px; color: #16a34a; text-transform: uppercase; letter-spacing: 1px; }\n  .recommendation .value { font-size: 22px; font-weight: 700; color: #16a34a; }\n</style></head><body>\n<div class=\"container\">\n  <h1>📋 Credit Summary — Pre-Interview Brief</h1>\n  <p style=\"color:#64748b;font-size:11px\">\n    Evi Meiwatiningsih · KTP: 32010141XXXXXXXXXX ·\n    Generated: 05 May 2026, 16:06 WIB\n  </p>\n\n  <div class=\"recommendation\">\n    <div class=\"label\">Recommendation</div>\n    <div class=\"value\">Approved</div>\n    <div style=\"font-size:12px;margin-top:6px;color:#16a34a\">\n      Risk: N/A ·\n      Internal Score: N/A/100 ·\n      Eligibility: PROCEED_WITH_CHECKS\n    </div>\n    <div style='font-size:12px;margin-top:10px;padding-top:10px;border-top:1px dashed #16a34a55;color:#334155'><b>Analyst Decision:</b> Rp 0 for 24 months · Reviewed by ninad@flin.co.id · Notes: <i>fvdf</i></div><ul style='margin:8px 0 0 0;padding-left:22px;font-size:12px;color:#334155'></ul>\n  </div>\n\n  <h2>Applicant Profile</h2>\n  <div class=\"meta-grid\">\n    <div class=\"meta-card\"><div class=\"label\">Full Name</div>\n        <div class=\"value\">Evi Meiwatiningsih</div></div>\n    <div class=\"meta-card\"><div class=\"label\">Age / DOB</div>\n        <div class=\"value\">46 · 5/1/1980</div></div>\n    <div class=\"meta-card\"><div class=\"label\">KTP / Mobile</div>\n        <div class=\"value\" style=\"font-size:11px\">32010141XXXXXXXXXX<br>0819-XXXX-XXXX</div></div>\n    <div class=\"meta-card\"><div class=\"label\">Education</div>\n        <div class=\"value\">D3</div></div>\n    <div class=\"meta-card\"><div class=\"label\">Marital · Dependents</div>\n        <div class=\"value\">Kawin · 1.0</div></div>\n    <div class=\"meta-card\"><div class=\"label\">Job · Employer</div>\n        <div class=\"value\" style=\"font-size:11px\">Admin Assistant<br>HBT Law Firm</div></div>\n  </div>\n\n  <h2>Eligibility Check (10 Hard Rules)</h2>\n  <table>\n    <thead><tr><th>Rule</th><th>Required</th><th>Actual</th><th>Status</th></tr></thead>\n    <tbody>\n        <tr><td>Loan Amount Band</td><td>> IDR 20 million</td>\n        <td>IDR 77,000,000</td>\n        <td style=\"color:#16a34a;font-weight:600\">✓ Pass</td></tr>\n        <tr><td>Primary Ratio Gate (TOIR/FOIR)</td><td>TOIR ≤ 130% OR FOIR ≤ 60%</td>\n        <td>TOIR=86.3%, FOIR=46.0%</td>\n        <td style=\"color:#16a34a;font-weight:600\">✓ Pass</td></tr>\n        <tr><td>Residential Geography</td><td>Bandung / Surabaya / Jabodetabek (Bali excluded)</td>\n        <td>KABUPATEN BOGOR, JAWA BARAT</td>\n        <td style=\"color:#16a34a;font-weight:600\">✓ Pass</td></tr>\n        <tr><td>Minimum Education</td><td>≥ Senior High School (SMA)</td>\n        <td>D3</td>\n        <td style=\"color:#16a34a;font-weight:600\">✓ Pass</td></tr>\n        <tr><td>Employer Type</td><td>State-Owned / Government / Private</td>\n        <td>SWASTA</td>\n        <td style=\"color:#16a34a;font-weight:600\">✓ Pass</td></tr>\n        <tr><td>Employment Contract</td><td>Permanent / Karyawan Tetap</td>\n        <td>KARYAWAN TETAP</td>\n        <td style=\"color:#16a34a;font-weight:600\">✓ Pass</td></tr>\n        <tr><td>Employer in business > 5 years</td><td>> 5 years</td>\n        <td>Manual verification required</td>\n        <td style=\"color:#d97706;font-weight:600\">◎ Manual</td></tr>\n        <tr><td>Tenure in Current Company</td><td>≥ 1 year</td>\n        <td>4 years</td>\n        <td style=\"color:#16a34a;font-weight:600\">✓ Pass</td></tr>\n        <tr><td>Total Work Experience</td><td>≥ 3 years</td>\n        <td>10 years</td>\n        <td style=\"color:#16a34a;font-weight:600\">✓ Pass</td></tr>\n        <tr><td>Minimum Salary</td><td>> IDR 7,000,000</td>\n        <td>IDR 12,400,000</td>\n        <td style=\"color:#16a34a;font-weight:600\">✓ Pass</td></tr></tbody>\n  </table>\n\n  \n\n  <h2>Income & Loan Request</h2>\n  <div class=\"meta-grid\">\n    <div class=\"meta-card\"><div class=\"label\">Declared Income/mo</div>\n        <div class=\"value\">Rp 12,400,000</div></div>\n    <div class=\"meta-card\"><div class=\"label\">Bank-Detected/mo</div>\n        <div class=\"value\">Rp 14,944,806</div></div>\n    <div class=\"meta-card\"><div class=\"label\">Declared Expenses/mo</div>\n        <div class=\"value\">Rp 5,000,000</div></div>\n  </div>\n\n  <h2>Loan Reconciliation (Customer / Bureau / Bank)</h2>\n  \n    <table>\n      <thead><tr><th>Source</th><th>Outstanding</th><th>Monthly EMI</th></tr></thead>\n      <tbody>\n        <tr><td>Customer Declared</td>\n            <td>Rp 77,000,000</td>\n            <td>Rp 0</td></tr>\n        <tr><td>Bureau (AFPI + SLIK)</td>\n            <td>Rp 0</td>\n            <td>Rp 0</td></tr>\n        <tr><td>Bank Statement (avg/mo loan payments)</td>\n            <td>—</td>\n            <td>Rp 5,700,000</td></tr>\n      </tbody>\n    </table>\n  \n\n  <h2>Credit Ratios</h2>\n  <table>\n    <thead><tr><th>Metric</th><th>Value</th><th>Band</th><th>Benchmark</th></tr></thead>\n    <tbody>\n        <tr><td>TOIR (Total Outflows / Income) <span style=\"background:#fef3c7;color:#92400e;padding:2px 6px;border-radius:4px;font-size:9px\">PRIMARY</span></td>\n        <td><strong>86.29%</strong></td>\n        <td style=\"color:#16a34a;font-weight:600\">Green</td>\n        <td style=\"font-size:11px;color:#64748b\">≤ 100% Green | 100-130% Amber | > 130% Red (gate: TOIR ≤ 130% OR FOIR ≤ 60%)</td></tr>\n        <tr><td>FOIR (Fixed Obligations / Income) <span style=\"background:#fef3c7;color:#92400e;padding:2px 6px;border-radius:4px;font-size:9px\">PRIMARY</span></td>\n        <td><strong>45.97%</strong></td>\n        <td style=\"color:#d97706;font-weight:600\">Amber</td>\n        <td style=\"font-size:11px;color:#64748b\">< 40% Green | 40-60% Amber | > 60% Red (gate: TOIR ≤ 130% OR FOIR ≤ 60%)</td></tr>\n        <tr><td>Debt-to-Income (Annual)</td>\n        <td><strong>51.75%</strong></td>\n        <td style=\"color:#16a34a;font-weight:600\">Green</td>\n        <td style=\"font-size:11px;color:#64748b\">< 300% Green | 300-500% Amber | > 500% Red</td></tr>\n        <tr><td>Total Debt / Annual Income</td>\n        <td><strong>0.52x</strong></td>\n        <td style=\"color:#16a34a;font-weight:600\">Green</td>\n        <td style=\"font-size:11px;color:#64748b\">< 3x Green | 3-5x Amber | > 5x Red</td></tr>\n        <tr><td>Residual Monthly Income (post all outflows)</td>\n        <td><strong>1700000.0IDR</strong></td>\n        <td style=\"color:#dc2626;font-weight:600\">Red</td>\n        <td style=\"font-size:11px;color:#64748b\">> IDR 5M Green | 2-5M Amber | < 2M Red</td></tr>\n        <tr><td>Bank-detected vs Declared Income</td>\n        <td><strong>120.5%</strong></td>\n        <td style=\"color:#16a34a;font-weight:600\">Green</td>\n        <td style=\"font-size:11px;color:#64748b\">≥ 90% Green | 75-90% Amber | < 75% Red</td></tr></tbody>\n  </table>\n\n  <h2>Bank Statement Category Pivot (Top 12 by Volume)</h2>\n  <table>\n    <thead><tr><th>Category</th><th>Month 1</th><th>Month 2</th><th>Month 3</th><th>Avg/Mo</th></tr></thead>\n    <tbody>\n        <tr><td>Salary</td>\n        <td>Rp 15,631,924</td>\n        <td>Rp 16,001,777</td>\n        <td>Rp 13,200,716</td>\n        <td><strong>Rp 14,944,806</strong></td></tr>\n        <tr><td>Loan Payment</td>\n        <td>Rp -5,700,000</td>\n        <td>Rp -5,700,000</td>\n        <td>Rp -5,700,000</td>\n        <td><strong>Rp -5,700,000</strong></td></tr>\n        <tr><td>Z Pegadaian</td>\n        <td>Rp 0</td>\n        <td>Rp 0</td>\n        <td>Rp 7,195,605</td>\n        <td><strong>Rp 2,398,535</strong></td></tr>\n        <tr><td>Miscellaneous - Arisan</td>\n        <td>Rp -500,000</td>\n        <td>Rp -500,000</td>\n        <td>Rp -500,000</td>\n        <td><strong>Rp -500,000</strong></td></tr>\n        <tr><td>Groceries</td>\n        <td>Rp 0</td>\n        <td>Rp -38,000</td>\n        <td>Rp -175,000</td>\n        <td><strong>Rp -71,000</strong></td></tr>\n        <tr><td>Bank Charges</td>\n        <td>Rp -17,000</td>\n        <td>Rp -17,000</td>\n        <td>Rp -17,000</td>\n        <td><strong>Rp -17,000</strong></td></tr></tbody>\n  </table>\n\n  \n  <h2>Occupational &amp; Profile Check\n    <span style=\"font-size:10px;font-weight:400;color:#92400e;background:#fef3c7;\n                  padding:3px 8px;border-radius:4px;margin-left:8px\">\n      LLM knowledge estimate · no live web evidence\n    </span><span style='background:#fef3c7;color:#92400e;padding:2px 6px;border-radius:4px;font-size:10px;margin-left:8px'>⚠ Verify before relying</span>\n  </h2>\n\n  <h3 style=\"font-size:13px;color:#475569;margin-top:12px\">\n    Employer · —\n    &nbsp;<span style='background:#64748b1a;color:#64748b;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600'>Confidence: Unknown</span>\n  </h3>\n  <table>\n    <tbody><tr><td style='color:#64748b;width:40%'>Profile</td><td>LLM error: Error code: 401 - {'error': {'message': 'User not found.', 'code': 401}}</td></tr><tr><td style='color:#64748b;width:40%'>Industry</td><td>—</td></tr><tr><td style='color:#64748b;width:40%'>Industry risk for credit</td><td>—</td></tr><tr><td style='color:#64748b;width:40%'>Headquartered in</td><td>—</td></tr><tr><td style='color:#64748b;width:40%'>Employee count band</td><td>—</td></tr><tr><td style='color:#64748b;width:40%'>Company vintage</td><td>—</td></tr><tr><td style='color:#64748b;width:40%'>Stability signals</td><td>—</td></tr><tr><td style='color:#64748b;width:40%'>Sources known to model</td><td>—</td></tr></tbody>\n  </table>\n\n  <h3 style=\"font-size:13px;color:#475569;margin-top:16px\">\n    Applicant · Evi Meiwatiningsih\n    &nbsp;<span style='background:#64748b1a;color:#64748b;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600'>Confidence: Unknown</span>\n  </h3>\n  <table>\n    <tbody><tr><td style='color:#64748b;width:40%'>Found in training data</td><td>No</td></tr><tr><td style='color:#64748b;width:40%'>LinkedIn signals</td><td>—</td></tr><tr><td style='color:#64748b;width:40%'>Google signals</td><td>—</td></tr><tr><td style='color:#64748b;width:40%'>Estimated seniority</td><td>—</td></tr><tr><td style='color:#64748b;width:40%'>Tenure observation</td><td>—</td></tr><tr><td style='color:#64748b;width:40%'>Declared income (IDR/mo)</td><td>Rp 0</td></tr><tr><td style='color:#64748b;width:40%'>Expected range for role</td><td>—</td></tr><tr><td style='color:#64748b;width:40%'>Plausibility verdict</td><td>—</td></tr><tr><td style='color:#64748b;width:40%'>Comment</td><td>—</td></tr></tbody>\n  </table>\n\n  <h3 style=\"font-size:13px;color:#475569;margin-top:16px\">Policy Implications (high-confidence only)</h3>\n  <table>\n    <thead><tr><th>Category</th><th>Severity</th><th>Note</th></tr></thead>\n    <tbody><tr><td colspan='3' style='color:#64748b;font-style:italic'>No high-confidence policy implications.</td></tr></tbody>\n  </table>\n\n  <p style=\"font-size:11px;color:#92400e;background:#fffbeb;border-left:3px solid #d97706;\n              padding:8px 12px;border-radius:4px;margin-top:12px\">\n    <strong>Disclaimer:</strong> LLM knowledge estimate — call failed. Manual research required.\n  </p>\n  \n\n\n  <h2>Risk Factors</h2>\n  <table>\n    <thead><tr><th>Category</th><th>Severity</th><th>Description</th></tr></thead>\n    <tbody><tr><td colspan=\"3\" style=\"color:#64748b\">No significant risk factors identified.</td></tr></tbody>\n  </table>\n\n  <h2>Executive Summary</h2>\n  <p style=\"line-height:1.7;color:#334155\">Pending.</p>\n\n  <h2>Interview Question Bank (0 questions)</h2>\n  \n\n  <p style=\"margin-top:32px;font-size:10px;color:#94a3b8;border-top:1px solid #f1f5f9;padding-top:12px\">\n    System-generated pre-interview brief. All figures subject to verification.\n    Final decision rests with the credit officer.\n    Generated: 2026-05-05T16:06:27.598260\n  </p>\n</div></body></html>","excel_template_path":"output/credit_template_evi_meiwatiningsih_20260505_1606.xlsx","eligibility_decision":"proceed","eligibility_override_notes":"gr","eligibility_override_rules":[],"reconciliation_decision":"proceed","reconciliation_override_notes":"bgbg","final_decision":"approve","final_decision_notes":"fvdf","final_approved_amount":0.0,"final_approved_tenor":24,"final_conditions":[],"analyst_id":"ninad@flin.co.id","review_timestamps":{"post_eligibility":"2026-05-05T16:05:44.560721Z","post_reconciliation":"2026-05-05T16:06:04.352793Z","final_decision":"2026-05-05T16:06:27.593377Z"},"errors":["bureau_aggregator: Error code: 401 - {'error': {'message': 'User not found.', 'code': 401}}","profile_check: Error code: 401 - {'error': {'message': 'User not found.', 'code': 401}}","risk_and_interview: Error code: 401 - {'error': {'message': 'User not found.', 'code': 401}}"],"completed_agents":["application_parser","eligibility_checker","eligibility_review","bureau_aggregator","bank_statement_pipeline","loan_reconciliation","reconciliation_review","credit_ratio_calculator","profile_check","risk_and_interview","final_decision_review","report_generator","template_generator"],"processing_log":["[2026-05-05T16:04:27.033044] Application normalised","[2026-05-05T16:04:27.036887] Eligibility verdict: PROCEED_WITH_CHECKS","[HITL] Eligibility review: decision=proceed, by=ninad@flin.co.id, overrides=[]","[2026-05-05T16:05:44.574266] Bank pipeline: 18 txns ({'rule_based': 18, 'llm_based': 0, 'fallback': 0})","[2026-05-05T16:05:46.071026] Reconciliation: declared IDR 77,000,000 vs bureau IDR 0 (gap: IDR -77,000,000)","[HITL] Reconciliation review: decision=proceed, gap=-77,000,000 IDR, by=ninad@flin.co.id","[2026-05-05T16:06:04.361853] TOIR: 86.3% | FOIR: 46.0% → PASS","[HITL] Final decision: approve, amount=0 IDR, by=ninad@flin.co.id","[2026-05-05T16:06:27.600508] HTML report → output/credit_report_evi_meiwatiningsih_20260505_1606.html","[2026-05-05T16:06:28.186477] Excel → output/credit_template_evi_meiwatiningsih_20260505_1606.xlsx"],"application_id":"32010141XXXXXXXXXX"}