Overview
This article outlines how to implement a flat processing fee on Sales Orders in NetSuite and SuiteCommerce Advanced (SCA), covering end-to-end requirements including:
- Automated fee application for specific customer types
- Display across website, backend, emails, and PDFs
- Support for manual shipping charges
- Tax calculation on the fee
- Modular design for reuse in other projects
This solution is suitable for businesses wanting to add handling, processing, or service charges on customer orders, with optional taxability and flexible display controls.
🧾 Use Case
Many businesses charge a flat processing or handling fee per order for certain customer groups. These fees must be:
- Automatically applied
- Tax-compliant
- Displayed clearly across all order channels and formats
- Occasionally coexisting with other manual charges like shipping
This KB provides a structured method for implementing and extending such a feature.
🔧 Feature Design & Implementation Components
1. Processing Fee Item Configuration
- Create a non-inventory or markup item:
- Rate: Fixed value (e.g., $5.00)
- Taxable: ✅ Yes (based on requirement)
- Display in Web Store: ✅ Yes (for SCA use)
- Tax Schedule: Linked to appropriate nexus logic
2. Customer Scoping Logic
- Apply logic to include only:
- Specific customer segments, roles, or groups
- Customers flagged using a custom field or parent-child relationship
- Implement condition checks within script or SuiteCommerce logic
3. Automation via SuiteScript
- Use a User Event Script on the Sales Order record:
- Inject the markup item if the order matches scoping criteria
- Ensure it’s added once per order
- Do not override tax logic – allow NetSuite’s engine to calculate taxes on the item
- Handle edit, delete, or re-submission edge cases
4. SuiteCommerce (SCA) Frontend Display
Update templates or extensions to display the fee:
- In Checkout and Order Confirmation:
- Place it near shipping or subtotal section
- In My Account > Orders:
- Display it in transaction summaries
5. Support for Manual Shipping Charges
- Sales Orders can include manual shipping fees if configured:
- Either through standard Shipping Methods or as a separate charge
- SCA and templates must distinguish these clearly from the processing fee
6. Email & PDF Template Modifications
Modify templates to reflect the processing fee and its tax:
- Sales Order Confirmation
- Invoices
- Shipping Notifications
- Printable PDFs
Place the fee and applicable tax near the shipping summary section for consistency.
7. Tax Calculation Support
Ensure the fee item is:
- Marked taxable
- Associated with a valid tax schedule
- Positioned in the transaction to follow NetSuite tax rules automatically
Verify tax behavior in:
- UI and frontend
- PDFs and emails
- Summary total breakdown
🧪 QA Checklist
- Fee is applied only to scoped customers
- Tax is calculated and visible on the processing fee
- Manual shipping and processing fees coexist without errors
- All display locations show correct information:
- Checkout
- Order confirmation
- Emails
- PDFs
- Editing/canceling orders retains or removes the fee logically
🔁 Quick Fix Policy
Minor formatting or logic fixes identified during QA should be:
- Handled promptly by the development team
- Not scoped for additional billing if within reasonable effort
- Documented for future reuse or enhancement
🧱 Recommended Project Breakdown (Generic)
TaskEffort EstimateCreate Processing Fee Item1 hrSCA Checkout & My Account Display10 hrsScript for Fee Injection6 hrsEmail & PDF Template Customization14 hrsSupport Manual Shipping Fee2 hrsTax Setup & Validation2 hrsQA & Regression Testing8 hrsProduction Deployment2 hrsProject Management3 hrsTotal~48–63 hours
📦 Reusability Notes
- The approach can be reused for:
- Environmental fees
- Packaging fees
- Regional service fees
- Simply update item configuration, label names, tax setup, and customer scope