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:
Backend API:
MailHog:
Frontend:
https://stg-rcme.membervu.comBackend API:
https://stg-api.membervu.comMailHog:
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
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.
| Step | Action (EXACT clicks/typing) | Expected Result (EXACT text/behavior) | Test Value |
|---|---|---|---|
| 1 | Open browser, go to:https://stg-rcme.membervu.com/login | Login page loads. | https://stg-rcme.membervu.com/login |
| 2 | Login as: admin@rcme.membervu.com / Admin123! | Admin dashboard displayed. | Email: admin@rcme.membervu.comPass: Admin123! |
| 3 | Navigate to "Admin" > "Billing". Look for "Generate Dues Invoices", "Bulk Invoice", or "Dues Management" option. | Bulk invoice generation page or modal loads. | - |
| 4 | Select Membership Type: Regular Member | Dropdown/selector shows "Regular Member" selected. A preview may show the number of active members of this type. | Membership Type: Regular Member |
| 5 | Verify 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 |
| 6 | Set the billing period or description: Annual Dues 2026 | Period/description accepted. | Description: Annual Dues 2026 |
| 7 | Set the Due Date to 30 days from today. | Due date set. | 30 days from today |
| 8 | Click "Generate Invoices" (or "Create Invoices", "Run"). | Confirmation dialog: "This will create invoices for X Regular Members. Continue?" Click "Yes" or "Generate". | - |
| 9 | Wait for the process to complete. | Success message: "X invoices generated successfully" or progress bar completes. Shows count of invoices created. | - |
| 10 | Navigate 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 |
| 11 | Click 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.
| Step | Action (EXACT clicks/typing) | Expected Result (EXACT text/behavior) | Test Value |
|---|---|---|---|
| 1 | Navigate 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 |
| 2 | Set 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 |
| 3 | Verify in the invoice list: new Associate Member invoices appear with PHP 10,000.00 amounts. | Correct count and amounts. | - |
| 4 | Return 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 |
| 5 | Set 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 |
| 6 | Verify 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.
| Step | Action (EXACT clicks/typing) | Expected Result (EXACT text/behavior) | Test Value |
|---|---|---|---|
| 1 | Navigate to the bulk invoice generation page. Select Membership Type: Regular Member (same as Test A). | Regular Member selected. | - |
| 2 | Set 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 | - |
| 3 | Document 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.
| Step | Action (EXACT clicks/typing) | Expected Result (EXACT text/behavior) | Test Value |
|---|---|---|---|
| 1 | Navigate to "Admin" > "Billing" > "Invoices". Verify invoices are listed. | Invoice list with data is displayed. | - |
| 2 | Look for an "Export" button (may be labeled "Export CSV", "Download", or an export icon). | Export button is available on the invoice list page. | - |
| 3 | Click 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 |
| 4 | Open the downloaded file in a text editor or spreadsheet application. | File opens successfully. Contains tabular data. | - |
| 5 | Verify the CSV file contents — column headers. | Headers include: Invoice Number, Member Name, Member Email, Amount, Status, Due Date, Created Date (or similar). | - |
| 6 | Verify 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 | - |
| 7 | Verify the row count: number of rows in CSV matches the total invoice count displayed in the UI. | Row count matches (excluding header row). | - |
| 8 | Apply 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.
| Step | Action (EXACT clicks/typing) | Expected Result (EXACT text/behavior) | Test Value |
|---|---|---|---|
| 1 | Navigate to "Admin" > "Billing" > "Invoices". Filter by status: "ISSUED". | Only ISSUED invoices are displayed. | Filter: ISSUED |
| 2 | Look 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 |
| 3 | Click 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." | - |
| 4 | Enter void reason: Bulk test cleanup - TC-BIL-006Click "Confirm" or "Void All". | All 3 invoices voided. Success message: "3 invoices voided successfully". | Reason: Bulk test cleanup - TC-BIL-006 |
| 5 | Verify the invoice list. Filter by "VOIDED". | The 3 voided invoices now appear with VOIDED status. | - |
| 6 | Click 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.
| Step | Action (EXACT clicks/typing) | Expected Result (EXACT text/behavior) | Test Value |
|---|---|---|---|
| 1 | Log out. Login as: testmember@rcme.membervu.com / Member123! | Member dashboard displayed. | Email: testmember@rcme.membervu.comPass: Member123! |
| 2 | Try 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 |
| 3 | Try 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:
- Bulk-generated invoices: Void ALL invoices created during Tests A and B. Use bulk void (Test E) if available, or void individually:
Open each invoice > Void Invoice > Reason:Test cleanup - TC-BIL-006 bulk generation - Regular Member invoices: Void all PHP 15,000 test invoices.
- Associate Member invoices: Void all PHP 10,000 test invoices.
- Student Member invoices: Void all PHP 5,000 test invoices.
- CSV export file: Delete the downloaded CSV file from your computer.
- Record total number of invoices created and voided in your test report.