Usage Reference · Confidential

First Faro Banking Platform
Usage Documentation

Two-part reference guide — Part A covers Admin back-office operations, Part B covers the customer-facing experience. Both share the same underlying platform.

Stack: Laravel 12 + Bootstrap 5 (Vyzor) Prepared by: First Faro
Part A

Admin Operations

Back-office reference for bank staff

A01

Overview

The Admin panel is the operational back-office for bank staff. It covers customer management, account operations, transfers, loans, investment products, and transaction oversight. Admin staff log in at /admin/login and have access to all day-to-day banking operations.

No 2FA for Admin loginsAdmin accounts log straight into the dashboard after a correct email and password. Two-factor authentication is required for customers only.

A02

Logging In

  1. Go to /admin/loginThis is the dedicated admin login page — separate from the customer login at /login.
  2. Enter your email and passwordBoth are required. Suspended admin accounts are blocked with a clear message at this step.
  3. Dashboard loads immediatelyNo OTP step. You land on the admin dashboard showing key metrics, pending transfers, and recent activity.
If you see a "Page Expired" noticeYour session timed out. The system redirects you back to the login form automatically with your email pre-filled — just enter your password and sign in again.

A03

Managing Customers

Sidebar → Customers lists all registered users. Click any row to open a customer's full detail page showing their profile, KYC status, accounts, transactions, loans, and investments.

Opening a new account for a customer

  1. Open the customer detail pageCustomers → click the customer name.
  2. Click "Open New Account"Select the account type: Checking, Savings, Business, Investment, or Fixed. The daily transfer limit defaults automatically by type.
  3. SubmitAccount number is generated and the account opens in Active status immediately.

Funding a customer account

Use the Fund Account button on the customer detail page to credit any of their accounts directly. A Transaction record is created with channel admin_manual_entry (displayed as "Bank Transaction" on the statement). An email is sent to the customer automatically.

Freezing and unfreezing an account

From any account's detail page (Accounts → show), use the Freeze / Unfreeze button. Frozen accounts block all customer-initiated transfers. Admin operations on frozen accounts still work.


A04

Bank Accounts

Five account types exist. Checking, Savings, and Business are transactional — customers can transfer from them freely. Investment and Fixed are non-transactional holding accounts — funds only move through Liquidation.

TypeTransactionalDefault daily limitCustomer can transfer out
CheckingYes₦10,000Internal, ACH, Wire
SavingsYes₦5,000Internal, ACH, Wire
BusinessYes₦50,000Internal, ACH, Wire
InvestmentNo₦0 (blocked)Liquidation only
FixedNo₦0 (blocked)Liquidation only

A05

KYC & Verification

Customers must have KYC approved before the system allows them to submit ACH or Wire transfers. Internal transfers between their own accounts do not require KYC. Approve or reject KYC from the customer detail page — the customer receives an email for both outcomes (rejection includes a reason field).


A06

Running Transfers for Customers

Sidebar → Banking → Run Transfer. Initiate any transfer type on behalf of a customer. The customer is notified by email. The transaction appears in their history as Bank Transaction. Admin-run transfers bypass daily limits and KYC checks.

STEP 1Select customer
STEP 2Choose transfer type
STEP 3Fill details & submit

Internal transfer

Moves funds instantly between two of the customer's own accounts. Settles immediately — no approval queue. Two Transaction records are created (transfer_out and transfer_in).

Interbank / ACH transfer

Submits an outbound ACH to an external bank. Goes into Pending — no funds move until approved via the Transfer Approvals queue.

Wire transfer

Domestic or international wire. Also goes into Pending. International wires require a SWIFT/BIC code; domestic wires require a routing number.

Admin transfers bypass customer restrictionsDaily transfer limits, 2FA, and KYC checks apply only to customer self-service. When you run a transfer on their behalf, none of these restrictions apply.

A07

Transfer Limits

Every account has a daily transfer limit that caps how much a customer can move out in a single calendar day. The counter resets automatically at midnight. When a customer's transfer would exceed the limit, it is blocked and they receive a limit-exceeded email.

Editing a limit

  1. Open the account detail pageAccounts → show, or Customer detail → click account number.
  2. Find the "Daily Transfer Limit" cardShows the current limit, used today, and remaining capacity as a colour-coded progress bar.
  3. Enter a new amount and click SaveSet to 0 to block all self-service transfers. Takes effect immediately and is audit-logged with old and new values.

A08

Approving Transfers

All ACH and Wire transfers — whether submitted by the customer or by staff on their behalf — arrive in Pending status and must be manually approved before funds move. Find them under Banking → Interbank or Banking → Wire Transfers.

  1. Open the pending transferClick the reference number to view full details.
  2. Review amount, recipient, and source account balanceConfirm all details are correct before acting.
  3. Approve or RejectApprove → funds are debited immediately, status → Approved, customer emailed. Reject → enter a reason, no funds move, customer emailed the reason.
Approval is irreversibleOnce approved, the debit is applied immediately. Reversals must be handled as a separate manual credit entry.

A09

Loans

Admin staff can create loans directly (without a customer application), approve or reject submitted applications, and disburse approved loans.

Manually creating a loan

Sidebar → Loans → Create Loan. Select the customer, choose an active loan plan, enter the amount, repayment type (Installment or Bullet), and start date. The loan is created in Approved state immediately and the customer is emailed.

Approving, rejecting, and disbursing

Customer applications arrive in Submitted status. From the loan detail page: Approve moves it to Approved; Reject requires a reason (emailed to the customer); Disburse credits the loan amount to the customer's selected account and sets status to Disbursed. Each action sends an automatic email.


A10

Liquidation

Sidebar → Liquidation. Liquidation closes or partially withdraws from a customer's investment asset. Always follows a 3-step flow.

STEP 1Pick customer
STEP 2Pick asset
STEP 3Amount & reason
  1. Select the customer and click ContinueAll active investment assets load: Investment/Fixed accounts, Investment Plan subscriptions, and Fixed Deposits.
  2. Select the assetRadio-select from the table — all three asset types appear together.
  3. Enter the amountLeave blank for a full liquidation, or enter a specific amount for a partial withdrawal. Use the 25% / 50% / 75% / Full quick buttons. A live preview shows what remains after the withdrawal.
  4. Enter a reason and submitThe reason goes into the audit log and the customer's notification email. The email is sent immediately.
Asset typeFull liquidationPartial liquidation
Investment AccountBalance → 0, account closedBalance reduced, account stays open
Fixed AccountBalance → 0, account closedBalance reduced, account stays open
Investment Plan subscriptioncurrent_value → 0, status → liquidatedcurrent_value reduced, plan stays active
Fixed DepositPrincipal returned (penalty if early)Partial payout, remainder stays active
Early FD withdrawal penaltyIf the Fixed Deposit has not reached its maturity date, an early-withdrawal penalty is automatically deducted from the payout. This is shown in the form preview and in the customer email.

A11

Stock Depreciation

Sidebar → Depreciation. Records a downward value adjustment on a customer's investment asset — reducing its balance to reflect a drop in market value. Unlike Liquidation, no funds are paid out to the customer. A Transaction record is created and the customer receives a depreciation notice email.

STEP 1Pick customer
STEP 2Pick asset
STEP 3Amount, date & reason
  1. Select customer → ContinueAll active investment accounts and plan subscriptions are listed.
  2. Select the asset using the radio buttons → Continue
  3. Enter the depreciation amount, effective date, and reasonThe date can be backdated to the actual event date. The reason appears in the customer's email and the audit log.
  4. SubmitAsset value is reduced, Transaction record created, audit log updated, customer emailed.

A12

Fixed Deposits

Sidebar → Fixed Deposits lists all FDs across all customers. Click any FD to view its detail page where you can also initiate liquidation directly via the Liquidate button.

StatusMeaning
activeRunning — earning interest, locked until maturity
maturedTerm complete — ready for full payout at no penalty
liquidatedClosed — funds returned to customer

A13

Investment Plans

Investment Plans are product templates that customers subscribe to. Sidebar → Investment Plans → Subscriptions shows all active subscriptions across all customers. Liquidations can also be initiated from this list directly, without going through the dedicated Liquidation flow.


A14

Email Notifications

The platform sends automatic emails to customers for every significant event. All emails are sent in a try/catch — a delivery failure never rolls back a completed operation.

EmailSent when
Login NotificationCustomer logs in successfully (after 2FA)
Two-Factor CodeCustomer login + ACH/Wire transfer submission
Transfer SubmittedAny transfer created (internal/ACH/wire)
Transfer Limit ExceededCustomer attempts a transfer above their daily limit
Loan StatusLoan submitted / approved / rejected / disbursed
Liquidation ConfirmationAny liquidation processed by admin or customer
Stock Depreciation NoticeDepreciation applied to any investment asset
Password ResetCustomer requests a password reset

A15

Audit Log

Every significant action taken by Admin staff is recorded — who acted, when, what changed, and old/new values where applicable. The log is append-only. Access it from Sidebar → Reports → Audit Log, where you can filter by actor, action type, date range, or subject record.

Logged actions include: account funding, transfer execution, approval/rejection, loan creation and lifecycle, liquidation, stock depreciation, transfer limit changes, and account freeze/unfreeze.


A16

Transaction Channels

Every Transaction record carries a channel code indicating how it was created. The code is stored internally but displayed as a readable label on the customer's statement.

Channel codeDisplayed asCreated by
self_serviceSelf ServiceCustomer — internal transfer
admin_transferBank TransactionAdmin — Run Transfer
admin_manual_entryBank TransactionAdmin — Fund Account
admin_depreciationStock DepreciationAdmin — Depreciation
interbank_approvalInterbank TransferAdmin approving an ACH
wire_approvalWire TransferAdmin approving a wire

A17

Key Rules & Gotchas

Things that cannot be undone from the UI

  • Approving an ACH or Wire transfer (debit is applied immediately)
  • Full liquidation of an account (account is closed, status → liquidated)
  • Disbursing a loan (funds credited to customer account)

Admin operations bypass customer restrictions

Daily transfer limits, 2FA, and KYC checks only apply to customer self-service actions. When staff run transfers, fund accounts, or liquidate on behalf of customers, none of these restrictions apply.

Transfer limit resets at midnight

The daily counter resets automatically when the customer's first transfer of the new day is processed. There is no manual reset. If a same-day override is needed, run the transfer yourself via Run Transfer.

Mail failures never roll back operations

A failed email delivery does not reverse any banking operation. Check mail configuration and contact the customer directly if an email is critical.

SupportContact First Faro for platform bugs or feature requests. Include the transaction reference (format: INT-YYYYMMDD-XXXXXX) when reporting transaction-specific issues.
Part B

Customer Guide

How to use the First Faro Banking customer portal

B01

Overview

The customer portal gives you access to your accounts, transaction history, transfers, investments, fixed deposits, and loans — all in one place. You log in at /login and everything is protected by two-factor authentication on every login.


B02

Logging In & Two-Factor Authentication

Every customer login requires a second verification step. After entering your email and password correctly, a 6-digit code is sent to your registered email address. You must enter this code before accessing the dashboard.

  1. Go to /loginEnter your email address and password.
  2. Check your email for a 6-digit codeThe code arrives from the bank's email address. It is valid for 10 minutes.
  3. Enter the code on the verification screenType or paste all six digits. The form submits automatically once all six boxes are filled.
  4. Dashboard loadsYou are now fully logged in. A login notification email is also sent to your address for security.
Didn't receive the code?Click Resend Code on the verification screen. The resend button has a 60-second cooldown. Check your spam folder if the email doesn't arrive. The code expires after 10 minutes — if it expires, go back to the login page and sign in again to request a new one.
Received a login notification you didn't expect?This means someone accessed your account. Contact the bank immediately to have your account secured.

B03

Dashboard

The dashboard gives you a snapshot of your finances at a glance:

  • Bank Balance — total across your Checking, Savings, and Business accounts
  • Investments — total value across your Investment accounts and active Investment Plan subscriptions
  • Fixed Deposits — total principal in active Fixed Deposit products
  • Net Worth — sum of all the above categories

Recent transactions and quick-action links are also shown on the dashboard for fast access to the most common tasks.


B04

Accounts

Sidebar → Accounts lists all your bank accounts. Click any account to view its full transaction history and current balance.

Account typeWhat it's forCan transfer from it?
CheckingDay-to-day spending and receivingYes
SavingsShort-term savingYes (lower daily limit)
BusinessBusiness transactionsYes (higher daily limit)
InvestmentInvestment holdingsNo — contact the bank to withdraw
FixedFixed-term depositsNo — contact the bank to withdraw

Investment and Fixed accounts appear separately on your dashboard in the Investments and Fixed Deposits cards — they are not included in your Bank Balance total.


B05

Transfers

Sidebar → Transfers. Three types of transfer are available depending on where you want to send money.

Internal transfer (between your own accounts)

Moves money instantly between two of your own accounts. No verification code required. The transfer settles immediately and both account balances update straight away.

  1. Select the "Internal" tab
  2. Choose the From and To accountsBoth must be active. They cannot be the same account.
  3. Enter the amountMust not exceed the available balance or your daily transfer limit.
  4. Click TransferFunds move immediately. A confirmation email is sent to you.

Interbank / ACH transfer (to another bank)

Sends money to an account at another bank within the same country. Requires KYC approval and a 6-digit verification code before the transfer is submitted.

  1. Select the "Interbank (ACH)" tab
  2. Fill in the recipient's detailsName, account number, routing number, and optional bank name and memo.
  3. Click SubmitA 6-digit code is sent to your email.
  4. Enter the verification codeThe transfer is submitted only after the code is confirmed. It goes into Pending status and is reviewed by bank staff before funds move.

Wire transfer (domestic or international)

Sends money via wire — domestic within the same country, or international across borders. Also requires KYC and a verification code. International wires require a SWIFT/BIC code.

  1. Select the "Wire Transfer" tab
  2. Select Domestic or International
  3. Fill in the beneficiary's detailsName, account number, routing number (domestic) or SWIFT/BIC (international), bank name, country, and purpose.
  4. Click Submit — enter the verification codeThe wire is submitted after the code is confirmed. Goes into Pending for bank review.
Pending transfersACH and Wire transfers do not settle immediately. They are reviewed by bank staff, usually within 1–3 business days for ACH and same or next business day for domestic wires. You will receive an email when your transfer is approved or rejected.

B06

Daily Transfer Limits

Each of your transactional accounts has a daily transfer limit set by the bank. This is the maximum total amount you can transfer out of that account in one calendar day across all transfer types.

On the transfer form, the live summary panel shows your selected account's daily limit, how much you have already transferred today, and how much you have remaining. If a transfer would push you over the limit:

  • The transfer is blocked and you see a clear error message showing the remaining capacity
  • You also receive an email notifying you that the transfer was blocked and why
Limits reset at midnightYour daily used amount resets automatically at the start of each new day. If you need to transfer more than your limit allows, contact the bank — staff can increase your limit or run the transfer on your behalf.

B07

Investments

Sidebar → Investments shows your active Investment Plan subscriptions — products you have enrolled in that grow your money over a set term.

For each subscription you can see the plan name, your amount invested, the current value (which grows over time), the subscription start date, and its status.

StatusMeaning
activeRunning — your investment is growing
maturedTerm complete — contact the bank to withdraw
liquidatedClosed — funds have been returned
Withdrawing from an investmentYou cannot withdraw from an Investment Plan or Investment Account directly. Contact the bank or request a liquidation — bank staff will process it and you will receive a confirmation email with the amount credited.

B08

Fixed Deposits

Sidebar → Fixed Deposits shows all your fixed-term deposit products. A Fixed Deposit locks your money for a set period and earns a guaranteed interest rate over that term.

  • Before maturity — your money is locked. Early withdrawal is possible but a penalty fee is deducted from your payout. Contact the bank to request early closure.
  • After maturity — the deposit is ready for full withdrawal with no penalty. Contact the bank to receive your principal plus interest.

You will receive an email when your Fixed Deposit matures, and another when it is liquidated and the funds are credited to your account.


B09

Loans

Sidebar → Loans shows all your loan applications and active loans.

Applying for a loan

  1. Click "Apply for a Loan"Choose from the available loan plans.
  2. Enter the amount and repayment detailsThe form shows the minimum and maximum for the selected plan.
  3. SubmitYour application goes to the bank for review. You receive a confirmation email.

Loan statuses

StatusMeaning
submittedApplication received — awaiting bank review
approvedApproved by the bank — awaiting disbursement
disbursedFunds have been credited to your account
rejectedApplication declined — reason sent by email

You receive an automatic email at every status change — approval, rejection (with reason), and disbursement.


B10

Email Notifications

The platform sends you automatic emails for every significant event on your account. Keep your registered email address up to date so you receive all security and transaction alerts.

Email you receiveWhen it is sent
Login verification codeEvery time you log in
Login notificationAfter you successfully log in — shows IP and device
Transfer verification codeWhen you submit an ACH or Wire transfer
Transfer confirmationWhen any transfer is created
Transfer limit blockedWhen a transfer is blocked by your daily limit
Transfer approved / rejectedWhen bank staff act on your pending ACH or Wire
Loan updateWhen your loan application is approved, rejected, or disbursed
Liquidation confirmationWhen funds are withdrawn from an investment asset
Depreciation noticeWhen the bank applies a value adjustment to your investment
Password resetWhen you request a password reset link
Security alertIf you receive a login notification or a transfer verification code that you did not initiate, contact the bank immediately. Do not share your 6-digit codes with anyone — bank staff will never ask for them.
First Faro Banking Platform Usage Documentation
Built by First Faro  ·  Confidential