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

TC-BIL-006: Bulk Operations & Export

Module: Billing & Invoicing - Bulk Operations

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

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: Bulk Generate Dues Invoices - Regular Members

Purpose: Verify bulk creation of dues invoices for all active Regular Members.

StepAction (EXACT clicks/typing)Expected Result (EXACT text/behavior)Test Value
1Open browser, go to:
https://stg-rcme.membervu.com/login
Login page loads.https://stg-rcme.membervu.com/login
2Login as: admin@rcme.membervu.com / Admin123!Admin dashboard displayed.Email: admin@rcme.membervu.com
Pass: Admin123!
3Navigate to "Admin" > "Billing". Look for "Generate Dues Invoices", "Bulk Invoice", or "Dues Management" option.Bulk invoice generation page or modal loads.-
4Select Membership Type: Regular MemberDropdown/selector shows "Regular Member" selected. A preview may show the number of active members of this type.Membership Type: Regular Member
5Verify the dues amount is pre-filled or displayed.Amount shows PHP 15,000.00 per invoice (matching Regular Member annual dues).Amount: PHP 15,000.00
6Set the billing period or description: Annual Dues 2026Period/description accepted.Description: Annual Dues 2026
7Set the Due Date to 30 days from today.Due date set.30 days from today
8Click "Generate Invoices" (or "Create Invoices", "Run").Confirmation dialog: "This will create invoices for X Regular Members. Continue?" Click "Yes" or "Generate".-
9Wait for the process to complete.Success message: "X invoices generated successfully" or progress bar completes. Shows count of invoices created.-
10Navigate to "Admin" > "Billing" > "Invoices". Check the newly created invoices.New invoices appear in the list, one per active Regular Member. Each shows:
- Amount: PHP 15,000.00
- Status: ISSUED
- Description includes "Annual Dues 2026"
- Due date matches selected date
Amount: PHP 15,000.00 each
11Click on one of the generated invoices to verify details.Detail page shows:
- Line item: Annual Dues 2026 — PHP 15,000.00
- Member: correct Regular Member name
- Status: ISSUED
-
WARNING: Bulk invoice generation creates invoices for ALL active members of the selected type. This may generate many invoices. Be prepared to void them during cleanup.
PASS if: Bulk generation creates one invoice per active Regular Member. Each invoice has amount PHP 15,000.00, status ISSUED, correct description and due date.

Test B: Bulk Generate Dues Invoices - Other Membership Types

Purpose: Verify bulk generation works for Associate and Student membership types with correct amounts.

StepAction (EXACT clicks/typing)Expected Result (EXACT text/behavior)Test Value
1Navigate to the bulk invoice generation page. Select Membership Type: Associate Member"Associate Member" selected. Dues amount shows PHP 10,000.00.Type: Associate Member
Amount: PHP 10,000.00
2Set description: Annual Dues 2026. Set due date: 30 days from today. Click "Generate Invoices".Invoices generated for all active Associate Members. Each invoice: PHP 10,000.00.Amount: PHP 10,000.00
3Verify in the invoice list: new Associate Member invoices appear with PHP 10,000.00 amounts.Correct count and amounts.-
4Return to bulk generation. Select Membership Type: Student Member"Student Member" selected. Dues amount shows PHP 5,000.00.Type: Student Member
Amount: PHP 5,000.00
5Set description: Annual Dues 2026. Set due date: 30 days from today. Click "Generate Invoices".Invoices generated for all active Student Members. Each invoice: PHP 5,000.00.Amount: PHP 5,000.00
6Verify in the invoice list: new Student Member invoices appear with PHP 5,000.00 amounts.Correct count and amounts.-
SKIP — If Associate Member or Student Member membership types do not exist in the test environment, or if no active members of those types exist, skip the relevant sub-steps and note in your report.
PASS if: Bulk generation creates correct invoices for each membership type: Regular PHP 15,000, Associate PHP 10,000, Student PHP 5,000.

Test C: Bulk Generate - Duplicate Prevention

Purpose: Verify the system prevents duplicate invoices when running bulk generation again.

StepAction (EXACT clicks/typing)Expected Result (EXACT text/behavior)Test Value
1Navigate to the bulk invoice generation page. Select Membership Type: Regular Member (same as Test A).Regular Member selected.-
2Set the same description: Annual Dues 2026. Same due date. Click "Generate Invoices".System behavior — one of:
a) Warning: "Invoices already exist for this period" and prevents generation
b) Generates new invoices (duplicates allowed)
c) Skips members who already have invoices for this period
-
3Document the behavior observed.Note whether duplicates were created or prevented. Record in test report.-
SKIP — If duplicate prevention is not implemented, note this as a potential improvement. The system behavior should be documented either way.
PASS if: System either prevents duplicates with a warning OR creates them intentionally (both are valid depending on business rules). Document the observed behavior.

Test D: Export Invoice List to CSV/Excel

Purpose: Verify invoice data can be exported to a downloadable file.

StepAction (EXACT clicks/typing)Expected Result (EXACT text/behavior)Test Value
1Navigate to "Admin" > "Billing" > "Invoices". Verify invoices are listed.Invoice list with data is displayed.-
2Look for an "Export" button (may be labeled "Export CSV", "Download", or an export icon).Export button is available on the invoice list page.-
3Click the "Export" button. If a format option appears, select "CSV".File download begins. A CSV (or Excel) file is downloaded to your computer.Format: CSV
4Open the downloaded file in a text editor or spreadsheet application.File opens successfully. Contains tabular data.-
5Verify the CSV file contents — column headers.Headers include: Invoice Number, Member Name, Member Email, Amount, Status, Due Date, Created Date (or similar).-
6Verify the CSV file contents — data rows.Data matches the invoice list in the UI:
- Invoice numbers match
- Amounts are correct (PHP 15,000 for Regular, PHP 10,000 for Associate, PHP 5,000 for Student)
- Statuses match (ISSUED, PAID, VOIDED)
- Member names/emails are correct
-
7Verify the row count: number of rows in CSV matches the total invoice count displayed in the UI.Row count matches (excluding header row).-
8Apply a status filter (e.g., "ISSUED" only) in the UI, then export again.Downloaded file contains only ISSUED invoices (filtered export).Filter: ISSUED
SKIP — If export functionality is not implemented, skip this entire test and note it in your report. If filtered export is not supported (step 8), skip that step only.
PASS if: CSV file downloads successfully with correct headers, data matching the UI, correct amounts per membership type, and accurate row count.

Test E: Bulk Void Multiple Invoices

Purpose: Verify multiple invoices can be voided in a single bulk action.

WARNING: Bulk voiding is a destructive operation and cannot be undone. Only void invoices that were created specifically for testing.
StepAction (EXACT clicks/typing)Expected Result (EXACT text/behavior)Test Value
1Navigate to "Admin" > "Billing" > "Invoices". Filter by status: "ISSUED".Only ISSUED invoices are displayed.Filter: ISSUED
2Look for checkboxes next to each invoice row. Select 3 test invoices by clicking their checkboxes.3 invoices are selected. A bulk action bar or button appears (e.g., "Bulk Actions", "Actions for 3 selected").Select: 3 invoices
3Click the bulk action button. Select "Void Selected" (or "Bulk Void").Confirmation dialog appears: "Are you sure you want to void 3 invoices? This action cannot be undone."-
4Enter void reason: Bulk test cleanup - TC-BIL-006
Click "Confirm" or "Void All".
All 3 invoices voided. Success message: "3 invoices voided successfully".Reason: Bulk test cleanup - TC-BIL-006
5Verify the invoice list. Filter by "VOIDED".The 3 voided invoices now appear with VOIDED status.-
6Click on one of the voided invoices.Detail page shows:
- Status: VOIDED
- Void reason: "Bulk test cleanup - TC-BIL-006"
- Void date: today
-
SKIP — If bulk selection or bulk void is not implemented, skip this test. You can void invoices individually instead during cleanup.
PASS if: Bulk void successfully voids all selected invoices. Confirmation dialog prevents accidental voiding. Void reason and date recorded on each invoice.

Test F: RBAC - Member Cannot Access Bulk Operations

Purpose: Verify regular members cannot access bulk invoice operations.

StepAction (EXACT clicks/typing)Expected Result (EXACT text/behavior)Test Value
1Log out. Login as: testmember@rcme.membervu.com / Member123!Member dashboard displayed.Email: testmember@rcme.membervu.com
Pass: Member123!
2Try navigating to the bulk invoice generation page:
https://stg-rcme.membervu.com/admin/billing/generate
Access denied, redirect, or page not found. Member cannot access bulk generation./rcme/admin/billing/generate
3Try navigating to admin invoices:
https://stg-rcme.membervu.com/admin/invoices
Access denied. No bulk action checkboxes or export buttons visible./rcme/admin/invoices
PASS if: Member role cannot access bulk invoice generation, bulk void, or export functions.

CLEANUP

After completing all tests in this file: