Skip to main content

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

RoleNameDaily Challenges
Owner/ManagerSarah ChenApproving purchase requests via email, no visibility
Sales RepMike JohnsonCan't see customer loyalty status, manual discounts
WarehouseDavid LeePaper pick lists, no barcode scanning
AdminLisa WongManual data entry from Shopify, reconciliation errors
AccountantTom BrownMonth-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

CategoryCountDescription
SuiteBuilder11Custom lists, records, fields, forms, logging
SuiteScript22All script types + PDF + fulfillment updates
Integration9Push, Pull, Receive, Expose patterns
Workflow5Approvals, notifications, state machine
Total47Complete 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:

RequirementDetails
NetSuite AccessAdministrator role with Full permissions
SuiteScriptSuiteScript 2.1 enabled
FeaturesCustom Records, Advanced PDF, RESTlet enabled
Test DataSample customers, items, vendors created