File Manager

Path: /home/liffinac1/domains/bank.stellerpay.ca/public_html/resources/views/user/

Viewing File: statement-pdf.blade.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Account Statement</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        body {
            font-family: 'Helvetica', 'Arial', sans-serif;
            font-size: 11px;
            color: #1a1a1a;
            line-height: 1.5;
        }

        /* Header */
        .header {
            border-bottom: 3px solid #1a3a2a;
            padding-bottom: 20px;
            margin-bottom: 25px;
        }
        .bank-name {
            font-size: 22px;
            font-weight: 700;
            color: #1a3a2a;
            letter-spacing: 1px;
        }
        .bank-tagline {
            font-size: 9px;
            color: #777;
            letter-spacing: 0.5px;
            text-transform: uppercase;
            margin-top: 2px;
        }
        .statement-title {
            font-size: 15px;
            font-weight: 700;
            color: #1a3a2a;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            text-align: right;
            margin-top: 5px;
        }
        .statement-period {
            font-size: 10px;
            color: #555;
            text-align: right;
            margin-top: 3px;
        }

        /* Account Info */
        .account-info {
            background-color: #f7f9f8;
            border: 1px solid #e0e7e3;
            border-radius: 4px;
            padding: 15px 18px;
            margin-bottom: 25px;
        }
        .account-info table {
            width: 100%;
        }
        .account-info td {
            padding: 3px 0;
            vertical-align: top;
        }
        .info-label {
            font-size: 9px;
            color: #888;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            font-weight: 600;
            width: 130px;
        }
        .info-value {
            font-size: 11px;
            color: #1a1a1a;
            font-weight: 500;
        }

        /* Summary Row */
        .summary-row {
            margin-bottom: 20px;
        }
        .summary-row table {
            width: 100%;
            border-collapse: collapse;
        }
        .summary-box {
            text-align: center;
            padding: 12px 10px;
            border: 1px solid #e0e7e3;
            background-color: #fafbfa;
        }
        .summary-box .label {
            font-size: 8px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            color: #888;
            font-weight: 600;
            margin-bottom: 4px;
        }
        .summary-box .value {
            font-size: 13px;
            font-weight: 700;
            color: #1a3a2a;
        }
        .summary-box .value.debit {
            color: #991b1b;
        }

        /* Transactions Table */
        .transactions-table {
            width: 100%;
            border-collapse: collapse;
            margin-bottom: 20px;
        }
        .transactions-table thead th {
            background-color: #1a3a2a;
            color: #ffffff;
            font-size: 9px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            padding: 8px 10px;
            text-align: left;
        }
        .transactions-table thead th.right {
            text-align: right;
        }
        .transactions-table tbody td {
            padding: 7px 10px;
            border-bottom: 1px solid #eee;
            font-size: 10px;
            vertical-align: top;
        }
        .transactions-table tbody tr:nth-child(even) {
            background-color: #fafbfa;
        }
        .transactions-table tbody td.right {
            text-align: right;
            font-family: 'Courier New', monospace;
            font-size: 10px;
        }
        .transactions-table tbody td.debit {
            color: #991b1b;
        }
        .transactions-table tbody td.credit {
            color: #065f46;
        }
        .transactions-table tbody td.desc {
            max-width: 200px;
            word-wrap: break-word;
        }
        .transactions-table tbody td.ref {
            font-family: 'Courier New', monospace;
            font-size: 9px;
            color: #666;
        }

        /* No transactions */
        .no-transactions {
            text-align: center;
            padding: 40px 20px;
            color: #888;
            font-size: 12px;
        }

        /* Footer */
        .footer {
            border-top: 2px solid #1a3a2a;
            padding-top: 15px;
            margin-top: 30px;
        }
        .footer-text {
            font-size: 8px;
            color: #999;
            line-height: 1.6;
        }
        .generated-at {
            font-size: 8px;
            color: #aaa;
            text-align: right;
            margin-top: 10px;
        }

        /* Page number */
        .page-number {
            text-align: center;
            font-size: 8px;
            color: #aaa;
        }
    </style>
</head>
<body>

    <!-- Header -->
    <table style="width: 100%;" cellpadding="0" cellspacing="0">
        <tr>
            <td style="width: 60%; vertical-align: bottom;">
                @if($settings->logo)
                    <img src="{{ public_path('storage/app/public/' . $settings->logo) }}" alt="{{ $settings->site_name }}" style="max-height: 45px; max-width: 180px; margin-bottom: 6px; display: block;">
                @endif
                <div class="bank-name">{{ $settings->site_name ?? 'FinCore' }}</div>
                <div class="bank-tagline">{{ $settings->address ?? 'Secure Online Banking' }}</div>
            </td>
            <td style="width: 40%; vertical-align: bottom;">
                <div class="statement-title">Statement of Account</div>
                <div class="statement-period">{{ $from->format('d M Y') }} — {{ $to->format('d M Y') }}</div>
            </td>
        </tr>
    </table>
    <div class="header"></div>

    <!-- Account Information -->
    <div class="account-info">
        <table>
            <tr>
                <td class="info-label">Account Holder</td>
                <td class="info-value">{{ $user->name }} {{ $user->middlename }} {{ $user->lastname }}</td>
                <td class="info-label" style="width: 110px;">Account Number</td>
                <td class="info-value">{{ $user->usernumber }}</td>
            </tr>
            <tr>
                <td class="info-label">Email</td>
                <td class="info-value">{{ $user->email }}</td>
                <td class="info-label">Account Type</td>
                <td class="info-value">{{ $user->accounttype ?? 'Savings Account' }}</td>
            </tr>
            <tr>
                <td class="info-label">Currency</td>
                <td class="info-value">{{ $settings->currency ?? 'USD' }}</td>
                <td class="info-label">Statement Date</td>
                <td class="info-value">{{ $generatedAt->format('d M Y') }}</td>
            </tr>
        </table>
    </div>

    <!-- Summary -->
    <div class="summary-row">
        <table>
            <tr>
                <td style="width: 25%; padding-right: 5px;">
                    <div class="summary-box">
                        <div class="label">Opening Balance</div>
                        <div class="value">{{ $settings->currency }}{{ number_format($openingBalance, 2) }}</div>
                    </div>
                </td>
                <td style="width: 25%; padding: 0 3px;">
                    <div class="summary-box">
                        <div class="label">Total Credits</div>
                        <div class="value">{{ $settings->currency }}{{ number_format($totalCredits, 2) }}</div>
                    </div>
                </td>
                <td style="width: 25%; padding: 0 3px;">
                    <div class="summary-box">
                        <div class="label">Total Debits</div>
                        <div class="value debit">{{ $settings->currency }}{{ number_format($totalDebits, 2) }}</div>
                    </div>
                </td>
                <td style="width: 25%; padding-left: 5px;">
                    <div class="summary-box" style="border: 1px solid #1a3a2a; background-color: #f0f7f3;">
                        <div class="label">Closing Balance</div>
                        <div class="value">{{ $settings->currency }}{{ number_format($closingBalance, 2) }}</div>
                    </div>
                </td>
            </tr>
        </table>
    </div>

    <!-- Transactions -->
    @if($transactions->count() > 0)
        <table class="transactions-table">
            <thead>
                <tr>
                    <th style="width: 12%;">Date</th>
                    <th style="width: 35%;">Description</th>
                    <th style="width: 13%;">Reference</th>
                    <th class="right" style="width: 13%;">Debit</th>
                    <th class="right" style="width: 13%;">Credit</th>
                    <th class="right" style="width: 14%;">Balance</th>
                </tr>
            </thead>
            <tbody>
                @foreach($transactions as $txn)
                <tr>
                    <td>{{ $txn->date->format('d/m/Y') }}</td>
                    <td class="desc">{{ $txn->description }}</td>
                    <td class="ref">{{ Str::limit($txn->reference, 14) }}</td>
                    <td class="right debit">
                        @if($txn->debit)
                            {{ $settings->currency }}{{ number_format($txn->debit, 2) }}
                        @else
                            —
                        @endif
                    </td>
                    <td class="right credit">
                        @if($txn->credit)
                            {{ $settings->currency }}{{ number_format($txn->credit, 2) }}
                        @else
                            —
                        @endif
                    </td>
                    <td class="right" style="font-weight: 600;">
                        {{ $settings->currency }}{{ number_format($txn->balance, 2) }}
                    </td>
                </tr>
                @endforeach
            </tbody>
        </table>

        <div style="text-align: right; font-size: 9px; color: #888; margin-bottom: 10px;">
            Total Entries: {{ $transactions->count() }}
        </div>
    @else
        <div class="no-transactions">
            No processed transactions found for the selected period.
        </div>
    @endif

    <!-- Footer -->
    <div class="footer">
        <div class="footer-text">
            This statement is generated electronically and is valid without a signature. It provides a summary of all processed 
            transactions on your account for the specified period. If you believe any transaction is incorrect, please contact 
            customer support immediately. {{ $settings->site_name ?? 'FinCore' }} is not responsible for discrepancies not reported 
            within 30 days of the statement date.
        </div>
        <div class="generated-at">
            Generated on {{ $generatedAt->format('d M Y \a\t H:i') }} | {{ $settings->site_name ?? 'FinCore' }}
        </div>
    </div>

</body>
</html>