Test Cases - QuickMart Supplies
A complete set of hands-on test cases demonstrating SuiteBuilder, SuiteScript, Integration Patterns, and Workflow using a realistic SME business scenario.
The Scenario Story
Meet QuickMart Supplies
QuickMart Supplies is a small trading company that sells office supplies, hardware, and equipment to local businesses. They're growing fast and need to modernize their NetSuite implementation.
COMPANY PROFILE
-------------------------------------------------------------------------------
Business: Office & Hardware Supplies Retailer
Size: 15 employees (SME)
Channels: Physical store + Online store (Shopify)
Customers: ~500 active B2B customers
Orders: 30-50 orders per day
Challenges: Manual processes, no loyalty program, paper-based approvals
The Team
| Role | Name | Daily Challenges |
|---|---|---|
| Owner/Manager | Sarah Chen | Approving purchase requests via email, no visibility |
| Sales Rep | Mike Johnson | Can't see customer loyalty status, manual discounts |
| Warehouse | David Lee | Paper pick lists, no barcode scanning |
| Admin | Lisa Wong | Manual data entry from Shopify, reconciliation errors |
| Accountant | Tom Brown | Month-end invoicing takes 2 days |
The Business Requirements
Sarah's Problem: "I approve purchases via email printouts"
CURRENT PROCESS (MANUAL)
-------------------------------------------------------------------------------
1. Employee writes purchase request on paper
2. Walks to Sarah's desk
3. Sarah reviews and signs
4. Paper goes to Admin
5. Admin creates PO in NetSuite
6. Original paper filed in cabinet
Problems:
- Requests get lost
- No audit trail
- Sarah approves from memory (no budget check)
- Takes 2-3 days to process
Solution: Custom Purchase Request records with Workflow approval
Mike's Problem: "I don't know if customer deserves a discount"
CURRENT PROCESS (MANUAL)
-------------------------------------------------------------------------------
1. Customer calls to place order
2. Mike asks "Are you a VIP customer?"
3. Customer says "Yes, I should get 10% off"
4. Mike has no way to verify
5. Mike gives discount anyway (or argues)
6. Manager finds out later, not happy
Problems:
- No loyalty tracking
- Discounts given incorrectly
- Lost margin
- Customer frustration
Solution: Customer Loyalty records with automatic discount calculation
Lisa's Problem: "I manually copy orders from Shopify"
CURRENT PROCESS (MANUAL)
-------------------------------------------------------------------------------
1. Customer places order on Shopify
2. Lisa gets email notification
3. Lisa logs into Shopify, copies order details
4. Lisa creates Sales Order in NetSuite
5. Sometimes Lisa makes typos
6. Sometimes Lisa misses orders (busy day)
Problems:
- 10-15 minutes per order
- Data entry errors
- Orders missed on busy days
- Inventory mismatch
Solution: RESTlet integration to receive orders automatically
David's Problem: "My pick list is hard to read"
CURRENT PROCESS (MANUAL)
-------------------------------------------------------------------------------
1. Standard NetSuite packing slip printed
2. Small font, no bin locations
3. David walks around warehouse guessing
4. Items missed, wrong items picked
5. Customer complaints
Problems:
- Wrong items shipped (returns)
- Takes too long to pick
- No way to verify picks
Solution: Custom Packing Slip PDF with barcodes and bin locations
Tom's Problem: "Month-end invoicing takes forever"
CURRENT PROCESS (MANUAL)
-------------------------------------------------------------------------------
1. End of month arrives
2. Tom searches for all fulfilled orders
3. Opens each one, creates invoice
4. 200+ orders = 2 full days of work
5. Errors from fatigue
Problems:
- 2 days of repetitive work
- Errors increase toward end
- Delayed billing = delayed cash
Solution: Map/Reduce script for bulk invoice generation
Solution Architecture
QUICKMART NETSUITE SOLUTION
===============================================================================
+------------------+
| SHOPIFY STORE |
| (E-commerce) |
+--------+---------+
|
| Webhook (Order Created)
v
+------------------+ +------------------+ +------------------+
| POS SYSTEM |--->| RESTLET |<---| WAREHOUSE APP |
| (Stock Query) | | (Receive/Expose) | | (Order Status) |
+------------------+ +--------+---------+ +------------------+
|
v
+-----------------------------------------------------------------------+
| NETSUITE |
| |
| +------------------+ +------------------+ +------------------+ |
| | SUITEBUILDER | | SUITESCRIPT | | WORKFLOW | |
| | | | | | | |
| | - Loyalty Tier | | - Client Script | | - PR Approval | |
| | (List) | | - User Event | | - Refund Request | |
| | - Customer | | - Scheduled | | - Complaint | |
| | Loyalty (Rec) | | - Map/Reduce | | Handling | |
| | - Purchase Req | | - RESTlet | | - Credit Alert | |
| | (Header) | | - Suitelet | | | |
| | - Purchase Req | | - Advanced PDF | | | |
| | Line (Detail) | | - Suitelet PDF | | | |
| +------------------+ +------------------+ +------------------+ |
| |
+-----------------------------------------------------------------------+
|
v
+------------------+
| EXTERNAL SYSTEMS |
| (Accounting, |
| Warehouse App) |
+------------------+
Test Case Summary
| Category | Count | Description |
|---|---|---|
| SuiteBuilder | 11 | Custom lists, records, fields, forms, logging |
| SuiteScript | 22 | All script types + PDF + fulfillment updates |
| Integration | 9 | Push, Pull, Receive, Expose patterns |
| Workflow | 5 | Approvals, notifications, state machine |
| Total | 47 | Complete implementation |
Implementation Order
Follow this sequence for proper dependency management:
PHASE 1: FOUNDATION (SuiteBuilder)
-------------------------------------------------------------------------------
Week 1:
1. Create Custom List: Loyalty Tier
2. Create Master Record: Customer Loyalty
3. Create Header Record: Purchase Request
4. Create Detail Record: Purchase Request Line
5. Add Custom Fields to standard records
6. Create Custom Form: Sales Order - Online
7. Add External Order ID field (Shopify link)
8. Create Integration Log record
PHASE 2: AUTOMATION (SuiteScript)
-------------------------------------------------------------------------------
Week 2-3:
9. Deploy Client Scripts (real-time validation)
10. Deploy User Events (after-save automation)
11. Deploy Scheduled Scripts (daily jobs)
12. Deploy Map/Reduce (bulk processing)
13. Deploy RESTlets (API endpoints)
14. Deploy Suitelets (custom UIs)
15. Create Advanced PDF templates
16. Create Suitelet PDF reports
17. Create Packing Slip PDF with barcodes
18. Deploy Fulfillment Status Push
PHASE 3: INTEGRATION (External Systems)
-------------------------------------------------------------------------------
Week 4:
19. Configure Push Out (to Warehouse App)
20. Configure Pull In (Exchange Rates)
21. Configure Receive (from Shopify)
22. Configure Expose (to POS)
23. Configure Push Out (Fulfillment Status to Shopify)
PHASE 4: WORKFLOWS
-------------------------------------------------------------------------------
Week 5:
24. Deploy Purchase Request Approval
25. Deploy Refund Request Approval
26. Deploy Complaint Handling
27. Deploy Credit Alerts
28. Deploy Discount Approval Workflow
Prerequisites
Before starting the test cases, ensure:
| Requirement | Details |
|---|---|
| NetSuite Access | Administrator role with Full permissions |
| SuiteScript | SuiteScript 2.1 enabled |
| Features | Custom Records, Advanced PDF, RESTlet enabled |
| Test Data | Sample customers, items, vendors created |