Superapp / Product requirements / bank

Harbor Mutual Bank — product requirements

Version 5.09 features29 requirements20 Must Open appJSONMarkdown

Harbor Mutual Online Banking lets retail customers register, sign in and manage their accounts: see balances and activity, open accounts, move money between their own accounts, pay bills, search transactions, request loans and keep contact details current.

Problem. Customers need to self-serve everyday banking without visiting a branch, and must be able to trust that every figure on screen reconciles to the cent.

Users

Goals

Out of scope

Contents

Registration

Self-service sign-up that creates the profile and a first checking account.

FR-REG-01
Must
The registration form requires every field and reports each missing one separately.
  • Submitting an empty form shows "<Field> is required." for each of the 11 fields
  • Values already entered are kept when the form is shown again
FR-REG-02
Must
Password and Confirm must match.
  • A mismatch shows "Passwords did not match." and no profile is created
FR-REG-03
Must
Usernames are unique, compared case-insensitively.
  • An existing username in any letter case shows "This username already exists."
FR-REG-04
Must
A successful registration signs the customer in and opens a checking account with the $515.50 welcome balance.
  • Confirmation "Your account was created successfully. You are now logged in."
  • Accounts Overview lists exactly one account with Balance, Available and Total $515.50

Sign-in and login recovery

Customer login, logout and lookup of forgotten credentials.

FR-LOG-01
Must
Failed sign-ins show a distinct error for missing input and for unknown credentials.
  • Empty fields: "Please enter a username and password."
  • Wrong credentials: "The username and password could not be verified."
FR-LOG-02
Must
Signed-in customers see a welcome with their full name and the Account Services menu; Log Out returns to the public home page.
  • Menu items: Open New Account, Accounts Overview, Transfer Funds, Bill Pay, Find Transactions, Update Contact Info, Request Loan, Log Out
FR-LOG-03
Should
Customer Lookup returns the username and password when name, address, zip and SSN all match, and signs the customer in.
  • This plain-text reveal is accepted behaviour for this product version

Accounts overview and activity

Balances across all accounts and per-account transaction history.

FR-ACC-01
Must
Accounts Overview lists every account with Balance and Available amount, and a Total row equal to the sum of all balances, including negative ones.
  • Available is lower than Balance when funds are on hold
  • An overdrawn account shows a negative Balance and Available $0.00
FR-ACC-02
Should
Account Details shows number, type, balance and available, and the activity list can be filtered by month and by Credit/Debit.
  • A filter with no matches shows "No transactions found."
FR-ACC-03
Could
Each activity row links to a Transaction Details page with ID, date, description, type and amount.

Open new account

Open a CHECKING or SAVINGS account funded from an existing one.

FR-OPN-01
Must
A new account of the chosen type is opened with a $100.00 minimum deposit and its number is shown as a link.
FR-OPN-02
Must
The deposit is debited from the funding account and credited to the new one, so the Total is unchanged.
  • The new account shows one Credit "Funds Transfer Received" $100.00 dated today
FR-OPN-03
Must
Opening is refused when the funding account cannot cover $100.00.
  • Message "Account could not be opened: account <n> does not have the $100.00 minimum deposit."
  • No account is created and balances do not change

Transfer funds

Move money between the customer’s own accounts.

FR-TRF-01
Must
The amount must be a positive number with at most two decimals.
  • Empty, non-numeric, negative, zero or 3-decimal amounts show "Please enter a valid amount." and move nothing
FR-TRF-02
Must
A transfer debits the source and credits the target by the same amount and records both sides in activity.
  • Confirmation "$<amount> has been transferred from account #<from> to account #<to>."
  • Source gains Debit "Funds Transfer Sent", target gains Credit "Funds Transfer Received", both dated today
  • The Total is unchanged
FR-TRF-03
Should
Transfers may exceed the source balance (overdraft is allowed); Available then shows $0.00.
FR-TRF-04
Could
A transfer to the same account is accepted and records a matching debit and credit with net zero.

Bill pay

Pay an external payee from one of the customer’s accounts.

FR-PAY-01
Must
Payee name, address, city, state, zip, phone, account, verify account and amount are required; account numbers must be numeric and the amount valid.
  • Each failing field shows its own message
FR-PAY-02
Must
Account # and Verify Account # must match before anything is paid.
  • A mismatch shows "The account numbers do not match." and no debit occurs
FR-PAY-03
Must
A valid payment debits the chosen account and records "Bill Payment to <payee>".
  • Confirmation "Bill Payment to <payee> in the amount of $<amount> from account <n> was successful."

Find transactions

Search one account’s history by ID, date, date range or amount.

FR-FND-01
Should
Each criterion has its own Find button and searches only the selected account.
  • A transaction of another account is never returned
FR-FND-02
Should
Dates use MM-DD-YYYY and amounts must be valid numbers; invalid criteria show a message instead of results.
  • "Please enter a valid date." / "Please enter a valid amount."
  • No match shows "No transactions found."

Request loan

Instant loan decision funded into a new loan account.

FR-LON-01
Must
A loan is approved only when the down payment is at least 10% of the loan amount and covered by the chosen account’s balance.
FR-LON-02
Must
An approved loan opens a new account holding the loan amount and debits the down payment from the chosen account.
FR-LON-03
Must
A denied loan shows Status Denied with the reason and changes no balances.

Contact info

Keep the customer’s address and phone current.

FR-UPD-01
Could
Update Contact Info is pre-filled with the current profile, requires every field and confirms a successful save.

Non-functional requirements

NFR-01
Must
Money is shown with a $ sign, thousands separators and exactly two decimals; negative amounts are prefixed with "-".
ERR-01
Must
Account Services pages require a signed-in session; signed-out visits return to the home page with the login form.
ERR-03
Should
Unknown or malformed account and transaction ids show the generic error page "An internal error has occurred and has been logged."

Glossary and rules

AvailableBalance minus holds; never below $0.00.
HoldA pending deposit that counts toward Balance but not Available.