
Warehouse operations depend on speed, accuracy, and clarity. Especially at the receiving doc. Yet many NetSuite WMS users quickly discover a limitation: native WMS labels cannot display all the dynamic data needed for real-world operations.
BTS5 INC. faced this exact challenge. Their receiving process required customer/manufacturer visibility, accurate receipt dates, QR codes, and branded labels, all printed on a consistent 4X6 Zebra format. NetSuite WMS could not support these requirements out of the box.
In this technical + marketing hybrid case study, we explore how GIR Software Services designed a NetSuite WMS ZPL labeling solution that bridges data gaps, supports branding, and delivers fully dynamic receiving labels without compromising system performance or maintainability.
Executive Summary
GIR Software Services successfully implemented a custom ZPL receiving label solution for BTS5 INC., overcoming core limitations in NetSuite WMS printing.
The solution uses a two-layer architecture:
- Data Injection Layer (User Event Script)
- Presentation Layer (Custom ZPL Template)
This architecture allows BTS5 to dynamically print:
- Customer / Manufacturer name
- System-based received date
- QR codes with fallback logic
- A fully branded label with embedded BTS5 logo
All while maintaining strict 4×6 Zebra printer compatibility and long-term flexibility.
Problem Statement: WMS Data Gaps and Design Constraints
Operational Limitations in Native NetSuite WMS
BTS5 identified several critical gaps in the standard WMS receiving label:
Missing Operational Data
- No access to Item Manufacturer (used as Customer Name)
- No dynamic received date
- Limited control over QR code data logic
Design Inflexibility
- Native WMS templates are rigid
- Complete label redesign was not feasible
- Duplicate or unnecessary fields could not be removed
Branding Requirements
- BTS5 required their company logo to appear on all receiving labels for compliance and professionalism
Because NetSuite WMS labels rely only on data available on the Evaluation Record, the client could not achieve a complete, branded, operationally useful label without customization.
Requirement Gathering and Approach Filtering
Requirement Gathering Phase
Working closely with the BTS5 team, GIR validated:
- Replacement of the Pallet Label with a Receiving Label
- Required retained fields (PO, Shipment, SKU, QR Code)
- New dynamic fields (Customer Name / Manufacturer, Received Date)
- Data source confirmation (Manufacturer stored on Item record)
- Printer setup (Zebra, 4×6 format via PrintNode)
This ensured all technical and operational expectations were aligned before development.
Brainstorming and Approach Filtering
The key architectural question was how to make Item-level data available to the WMS print process.
Chosen Strategy: Data Injection Layer
Rather than overloading the ZPL template with logic, GIR implemented a User Event–based data injection approach:
- A synchronous User Event Script executes when printing is initiated
- The script fetches external data using SuiteQL
- Dynamic values are injected into unused WMS User Fields
- The ZPL template remains clean, reusable, and presentation-focused
This separation of concerns dramatically improves flexibility and maintainability.
Detailed Solution Implementation Steps
Step 1: Data Injection Layer (User Event Script)
The User Event Script runs beforeSubmit on the WMS Auto Printing Rule Evaluation record.
Dynamic Data Fetching
- Uses high-performance SuiteQL
- Retrieves Manufacturer (Customer Name) from the Item record
Field Mapping Strategy
Dynamic data is injected into standard WMS User Fields:
- User Field 1: Customer Name / Manufacturer
- User Field 2: Received Date (account timezone–aware)
- User Field 3: QR Code data with fallback logic
Execution Control
- Script parameter limits execution to relevant transaction types (e.g., Purchase Orders)
- Optimizes performance and governance usage
Step 2: Presentation Layer (Custom ZPL Template)
A completely new 4×6 ZPL template was developed.
Custom Design
- Replaced the native layout entirely
- Introduced a clear “Receiving Label” header
- Removed duplicated and unused fields
Logo Integration
- BTS5 logo converted to ZPL Graphics Field
- Embedded directly in the template
- No external image dependencies
Placeholder Mapping
- ZPL placeholders reference injected WMS User Fields
- Keeps logic out of the template and easy to update
Recommended graphic: Final 4×6 receiving label with annotations
Customization and Maintenance
This solution was built for long-term scalability.
Easy Template Updates
- All layout changes handled inside the .txt ZPL file
- Previewable using tools like Labelary
- No script changes required
Expandable Data Model
Adding a new dynamic field requires only:
- Creating a new WMS User Field
- Updating the User Event script
- Adding a placeholder to the ZPL template
QR Code Reliability
Fallback logic guarantees a scannable QR code even when primary barcode data is missing.
Deployment, Testing and Handover Process
Internal QA
- Functional validation of data accuracy
- Non-functional testing for print speed, size, and quality
- Conducted in NetSuite Sandbox
User Acceptance Testing (UAT)
- BTS5 validated operational and design requirements
- Formal sign-off provided
Production Deployment
- User Event Script
- Custom WMS fields
- Final ZPL template
All migrated cleanly to Production.
Conclusion
This NetSuite WMS custom label solution enabled BTS5 to move beyond the limitations of native WMS printing and into a fully dynamic, branded, and operationally optimized receiving process.
By separating data logic from presentation, GIR Software Services delivered a solution that is:
- Accurate at print time
- Easy to maintain
- Scalable for future requirements
Most importantly, BTS5 now receives inventory with clear visibility, professional branding, and zero manual workarounds.
Ready to Upgrade Your NetSuite WMS Labels?
If your warehouse team is constrained by static labels, missing data, or rigid templates, GIR Software Services can help.
We design NetSuite WMS ZPL labeling solutions that:
- Surface the data your team actually needs
- Work seamlessly with Zebra printers
- Stay flexible as your operations evolve
Talk to our NetSuite customization experts today: Link
Why Choose GIR Software Services
NetSuite WMS customization requires more than just scripting, it requires a deep understanding of how NetSuite evaluates data, prints labels, and performs under real warehouse conditions.
What Sets GIR Apart
- Deep NetSuite WMS Expertise
We understand the limitations of native WMS workflows and know how to extend them safely and effectively. - Clean Architecture by Design
Our solutions separate data, logic, and presentation—making them easier to maintain and scale. - Advanced ZPL & Zebra Printer Knowledge
From logo embedding to QR code optimization, we build labels that print fast and scan reliably. - Built for Operations, Not Just IT
Every solution is designed with warehouse efficiency, compliance, and usability in mind. - Proven Customization Experience
From WMS to eCommerce and ERP extensions, we deliver real-world NetSuite solutions that last.
See how we help teams customize beyond standard NetSuite limits: Link
Know a business we could help?




