Step-by-Step Guide — Follow each step exactly as written. All values are provided — do not improvise.

TC-BIL-005: Invoice Notifications & Emails

Module: Billing & Invoicing - Email Notifications

Primary Login: admin@rcme.membervu.com / Admin123! (ADMIN role)

Email Verification: MailHog at https://stg-webmail.membervu.com

URLs for this test:
Frontend: https://stg-rcme.membervu.com
Backend API: https://stg-api.membervu.com
MailHog: https://stg-webmail.membervu.com
Membership Types & Dues Reference:
Regular Member: PHP 15,000/year
Associate Member: PHP 10,000/year
Student Member: PHP 5,000/year

Test A: New Invoice Email Notification

Purpose: Verify that creating an invoice sends an email notification to the member.

StepAction (EXACT clicks/typing)Expected Result (EXACT text/behavior)Test Value
1Open a new browser tab and go to:
https://stg-webmail.membervu.com
MailHog interface loads. Shows list of captured emails.https://stg-webmail.membervu.com
2Note the number of existing emails (or clear the inbox if desired). Leave this tab open.MailHog inbox is visible. Note the current email count.-
3In another tab, go to:
https://stg-rcme.membervu.com/login
Login as: admin@rcme.membervu.com / Admin123!
Admin dashboard displayed.Email: admin@rcme.membervu.com
Pass: Admin123!
4Navigate to "Admin" > "Billing" > "Invoices". Click "Create Invoice".Invoice creation form opens.-
5Fill in the invoice:
- Member: Maria Cruz (testmember@rcme.membervu.com)
- Line item: Annual Dues 2026 - Regular Member / 15000
- Due date: 30 days from today
Click "Create Invoice".
Invoice created successfully. Status: ISSUED.Member: Maria Cruz
Amount: PHP 15,000.00
6Switch to the MailHog tab. Click refresh (or wait a few seconds for auto-refresh).A new email appears in the inbox.-
7Find the email sent to testmember@rcme.membervu.com. Click on it to open.Email found. Recipient: testmember@rcme.membervu.comTo: testmember@rcme.membervu.com
8Verify the email subject line.Subject contains "Invoice" and the amount or invoice number.
Example: "New Invoice: PHP 15,000.00" or "Invoice INV-2026-XXXX from RCME"
Subject contains: "Invoice"
9Verify the email body content.Email body contains:
- Member's name (Maria Cruz)
- Invoice number
- Line items listed: "Annual Dues 2026 - Regular Member" / PHP 15,000.00
- Total amount: PHP 15,000.00
- Due date
- A "Pay Now" or "View Invoice" link/button
- Organization sign-off (e.g., "The RCME Team")
-
10Click the "Pay Now" or "View Invoice" link in the email.Link navigates to the invoice detail page or payment page on the frontend. The correct invoice loads.-
PASS if: New invoice email sent to member with correct subject, line items, total amount, due date, and a working "Pay Now" / "View Invoice" link.

Test B: Invoice Email - Verify Amounts by Membership Type

Purpose: Verify invoice emails show correct amounts for different membership types.

StepAction (EXACT clicks/typing)Expected Result (EXACT text/behavior)Test Value
1Create an invoice for an Associate Member (if one exists in the system):
- Line item: Annual Dues 2026 - Associate Member / 10000
- Save
Invoice created. Status: ISSUED.Amount: PHP 10,000.00
2Switch to MailHog. Find the notification email for this invoice.Email shows: Line item "Annual Dues 2026 - Associate Member" — PHP 10,000.00. Total: PHP 10,000.00.Total in email: PHP 10,000.00
3Create an invoice for a Student Member (if one exists in the system):
- Line item: Annual Dues 2026 - Student Member / 5000
- Save
Invoice created. Status: ISSUED.Amount: PHP 5,000.00
4Switch to MailHog. Find the notification email for this invoice.Email shows: Line item "Annual Dues 2026 - Student Member" — PHP 5,000.00. Total: PHP 5,000.00.Total in email: PHP 5,000.00
SKIP — If Associate Member or Student Member accounts do not exist in the test environment, skip those sub-steps. Note which membership types were tested.
PASS if: Invoice emails show correct amounts corresponding to each membership type.

Test C: Payment Reminder Email for Unpaid/Overdue Invoice

Purpose: Verify that a payment reminder can be sent and the email is received.

StepAction (EXACT clicks/typing)Expected Result (EXACT text/behavior)Test Value
1Navigate to "Admin" > "Billing" > "Invoices". Find an ISSUED (unpaid) invoice for Maria Cruz. Click on it.Invoice detail page loads. Status: ISSUED.-
2Look for a "Send Reminder" button (or "Resend Notification", "Send Payment Reminder").Button is available on the detail page.-
3Click "Send Reminder".Confirmation dialog may appear: "Send payment reminder to Maria Cruz?" Click "Yes" or "Send".-
4Wait for success message.Success: "Payment reminder sent" or "Reminder email sent successfully".-
5Switch to MailHog tab. Click refresh.A new reminder email appears in the inbox.-
6Find and open the reminder email to testmember@rcme.membervu.com.Email found. Recipient: testmember@rcme.membervu.comTo: testmember@rcme.membervu.com
7Verify the reminder email subject.Subject indicates a reminder. Example: "Payment Reminder: Invoice INV-2026-XXXX" or "Reminder: Outstanding Invoice"Subject contains: "Reminder"
8Verify the reminder email body.Body contains:
- Member name
- Invoice number and amount
- Due date (and whether it is past due)
- "Pay Now" or "View Invoice" link
- Organization sign-off
-
SKIP — If the "Send Reminder" feature is not implemented, skip this test and note it in your report.
PASS if: Reminder email sent and received in MailHog with correct subject, invoice details, amount, and payment link.

Test D: Invoice Void Notification Email

Purpose: Verify that voiding an invoice sends a notification email to the member.

StepAction (EXACT clicks/typing)Expected Result (EXACT text/behavior)Test Value
1Navigate to "Admin" > "Billing" > "Invoices". Find an ISSUED invoice for Maria Cruz. Click on it.Invoice detail page loads. Status: ISSUED.-
2Note the invoice number and amount. Click "Void Invoice".Void confirmation dialog opens.-
3Enter void reason: Duplicate invoice - voiding for email notification test
Click "Confirm Void".
Invoice voided. Status changes to VOIDED.Reason: Duplicate invoice - voiding for email notification test
4Switch to MailHog tab. Click refresh.A new email appears (void notification).-
5Find and open the void notification email to testmember@rcme.membervu.com.Email found. Recipient: testmember@rcme.membervu.comTo: testmember@rcme.membervu.com
6Verify the email subject.Subject indicates invoice voided/cancelled. Example: "Invoice INV-2026-XXXX Voided" or "Invoice Cancelled"Subject contains: "Void" or "Cancel"
7Verify the email body.Body contains:
- Invoice number
- Original amount
- Statement that the invoice has been voided/cancelled
- Void reason (may or may not be included)
- "No further action is required" or similar
- Organization sign-off
-
SKIP — If void notification emails are not sent by the system, skip steps 4-7 and note it in your report. The void action itself (steps 1-3) should still work.
PASS if: Void notification email sent to member with correct invoice number and voided status. (Or if void email is not implemented, PASS if void action succeeds and no email is expected.)

Test E: Payment Confirmation Email

Purpose: Verify that a successful payment triggers a confirmation email.

StepAction (EXACT clicks/typing)Expected Result (EXACT text/behavior)Test Value
1Create a new ISSUED invoice:
- Member: Maria Cruz
- Line item: Annual Dues 2026 / 15000
- Save
Invoice created. Status: ISSUED.Amount: PHP 15,000.00
2Record a payment on this invoice:
- Amount: 15000
- Method: Bank Transfer
- Reference: BT-2026-EMAIL-TEST
- Submit/Approve
Payment recorded. Invoice status: PAID.Ref: BT-2026-EMAIL-TEST
3Switch to MailHog tab. Click refresh.A new payment confirmation email appears.-
4Find and open the payment confirmation email to testmember@rcme.membervu.com.Email found.To: testmember@rcme.membervu.com
5Verify the email content.Email contains:
- Subject with "Payment" and/or "Received"/"Confirmed"
- Invoice number
- Payment amount: PHP 15,000.00
- Payment method and reference
- "Thank you for your payment" or similar
- Organization sign-off
Amount: PHP 15,000.00
SKIP — If payment confirmation emails are not implemented, skip steps 3-5 and note it in your report.
PASS if: Payment confirmation email sent with correct invoice number, payment amount, and reference.

CLEANUP

After completing all tests in this file: