SILGOLD SACCO - LOAN PRINT DESIGN + SCHEDULE CONSISTENCY
15 October 2026

WHAT IS INCLUDED
- Professional print and PDF layouts for loan repayment schedules, loan
  statements, borrower loan statements and the policy-loan statement.
- A shared centered logo and company name, pulled from the SACCO's existing
  company_logo and company_name settings. No new image or logo required.
- Clean white A4 layouts, clear headings, borrower and loan details,
  repayment/ledger tables, and readable account summaries.
- Consistent print and PDF presentation with only business-relevant footer
  details; no marketing or AI-generated wording in the documents.
- The PREVIOUS loan-schedule consistency fix is INCLUDED: policy schedules
  use the same data source as the current details screen, and the legacy
  repayment schedule subtracts waived interest in its due calculations.
- Print controls are hidden when the documents are printed or exported.

INSTALL VIA CPANEL FILE MANAGER
1. BACK UP the existing app/ and resources/views/loan/ files before changes.
2. Locate the Laravel PROJECT ROOT (directory containing app/, resources/,
   artisan and routes/). Extract this ZIP there with overwrite. Do not
   extract into public_html unless public_html really is the Laravel root.
3. Open the application's existing /clear-cache page while logged in, or
   run these commands if you have terminal access:
      php artisan view:clear
      php artisan cache:clear
      php artisan route:clear
4. In Settings, confirm the company logo and company name are saved.
   The layouts use these existing values and the uploaded logo file under
   public/uploads/. If the logo is missing from the server, no image appears.
5. Check a rescheduled policy loan and a legacy loan in Print Schedule and
   Download PDF. Compare the amounts to the current system screen.
6. Test Loan Statement and Borrower Statement in browser print and PDF.
   Check multi-page schedules and, if applicable, a multi-loan borrower.

NO SQL CHANGES OR DATABASE MIGRATIONS.

FILES INCLUDED
  app/Http/Controllers/LoanController.php
  app/Http/Controllers/ClientController.php
  app/Http/Controllers/SilgoldPolicyLoanController.php
  app/Services/SilgoldLoanScheduleViewService.php (added earlier)
  resources/views/loan/partials/document_brand.blade.php (new)
  resources/views/loan/partials/document_styles.blade.php (new)
  resources/views/loan/partials/legacy_schedule_table.blade.php (new)
  resources/views/loan/partials/legacy_loan_statement_content.blade.php (new)
  resources/views/loan/partials/policy_details_schedule.blade.php
  resources/views/loan/print_schedule.blade.php
  resources/views/loan/pdf_schedule.blade.php
  resources/views/loan/policy_details_print_schedule.blade.php
  resources/views/loan/print_loan_statement.blade.php
  resources/views/loan/pdf_loan_statement.blade.php
  resources/views/loan/print_borrower_statement.blade.php
  resources/views/loan/pdf_borrower_statement.blade.php
  resources/views/loan/policy_statement.blade.php

VALIDATION
- Blade templates compiled using the application's bundled Laravel
  Blade compiler; the generated PHP passed php -l checks.
- All modified PHP controllers/services passed php -l checks.
- A live database and server-side DomPDF rendering environment were not
  available. Please verify the documents on your installation before
  using them as customer-facing official printouts.
