Proposal for Wirelo-NetSuite Integration

Proposal Summary

This proposal outlines the implementation of a secure and scalable integration

between Wirelo and NetSuite ERP to automate the synchronization of orders,

products, and tracking details.

The solution will ensure:

All orders created in Wirelo are imported into NetSuite as Sales Orders.

Product catalogs between Wirelo and NetSuite are kept synchronized.

Tracking information from NetSuite Item Fulfillments is updated back into

Wirelo.

Requirement Overview

The goal of this integration project is to design and implement a secure, configurable,

and scalable bi-directional integration between Wirelo and Oracle NetSuite ERP for

Balaji Wireless. This integration will eliminate manual data entry, ensure accurate and

timely data synchronization, improve order fulfillment speed, and enhance

operational visibility through synchronized product, order, and tracking data.

Product Sync (NetSuite → Wirelo)

Product master data must be synchronized between Wirelo and NetSuite. The

product synchronization process ensures that product master data, including SKUs,

names, descriptions, pricing, stock quantities, and additional metadata (e.g., GTIN,

manufacturer details), will be synchronized from NetSuite to Wirelo on a scheduled

basis.

Product master data encompasses SKUs, product names, short and full descriptions,

pricing, stock quantities, Global Trade Item Numbers (GTIN), manufacturer details,

and category assignments and fields shared in the saved search by client ‘ Wirelo

Balaji Wireless Product Feed – ALERT’. Synchronization will occur on a configurable

schedule to align with business needs, with the option for real-time updates triggered

by changes in NetSuite.

Order Sync (Wirelo → NetSuite)

The order synchronization process will automate the import of orders from Wirelo

into NetSuite as Sales Orders, ensuring accurate and timely order processing. Orders

placed in Wirelo will be automatically imported into NetSuite as Sales Orders,

reducing manual data entry and errors. The sync process will run on a configurable

schedule basis.

 Automatically import Wirelo orders into NetSuite Sales Orders.

 The synchronization process will operate on a configurable schedule

 Each imported order will be assigned to a predefined default customer in

NetSuite (Customer ID 2613209, “Wirelo Orders”) to ensure consistency in

reporting and accounting processes.

 The billing address for all imported orders will be set to a static address

associated with the default customer in NetSuite.

 The shipping address will be dynamically populated using the address

provided in the Wirelo order data, ensuring accurate delivery information.

 Order details, including SKUs, quantities, and prices, will be accurately

mapped from Wirelo to NetSuite to ensure consistency.

 Orders failing to sync (e.g., due to invalid SKUs, missing data, or connectivity

issues) will be logged in a custom Integration Log record with detailed error

information, including the Wirelo order ID, timestamp, and error type.

 Partial syncs will be prevented to maintain data integrity, with failed orders

queued for retry after resolution of the underlying issue.

 The Wirelo order_id will be stored in the NetSuite custom field for traceability

and reference.

Tracking Sync (NetSuite → Wirelo)

The tracking synchronization process pushes fulfillment details from NetSuite to

Wirelo upon completion of an Item Fulfillment, ensuring customers receive accurate

and timely tracking information.

Upon creation of an Item Fulfillment record in NetSuite, the system will push the

following details to Wirelo:

o Carrier

o Tracking number

o Shipped date

o Fulfilled items (including SKUs and quantities)

 The sync will occur in a scheduled basis to ensure timely updates in Wirelo.

Deliverables

The proposed Wirelo–NetSuite integration solution will deliver a robust, scalable, and

maintainable integration to automate the synchronization of products, orders, and

tracking information between the two platforms.

Below is the breakdown of the functional components, technical architecture, and

record handling mechanisms that will be delivered as part of this engagement:

Custom API Endpoint and Authentication:

The integration utilizes Wirelo’s API endpoints hosted at https://stg.ezkonnect.com to

facilitate secure and efficient data exchange with NetSuite. Authentication is

managed through JSON Web Tokens (JWT) for Wirelo, ensuring secure, encrypted,

and reliable communication. The integration supports product synchronization, order

imports, and tracking updates, with comprehensive error.

Wirelo Authentication:

Endpoint: POST https://stg.ezkonnect.com/api/admincustomer/login

Authenticates the integration to obtain a JWT token, which is used in the Admin-

Token header for subsequent API requests to Wirelo.

Request Payload:

{

“data”: {

“email”: “testwirelo@gmail.com”,

“username”: “testwirelo@gmail.com”,

“password”: “Balaji@4321”

}

}

API Request and Response Structure

 Product Sync:

 POST https://stg.ezkonnect.com/api/a/product/Create: Creates a new

product in Wirelo.

 POST https://stg.ezkonnect.com/api/a/product/Edit: Updates an existing

product in Wirelo.

 POST https://stg.ezkonnect.com/api/a/product/GoToSku: Retrieves product

details by SKU or name for validation or updates.

 POST https://stg.ezkonnect.com/api/a/product/ProductList: Lists products,

optionally filtered by SKU.

Sample Payload:

{

“data”: {

“name”: “iPhone 13 Case Purple”,

“shortDescription”: “iPhone Case”,

“fullDescription”: “High-quality MagSafe compatible iPhone 13 case in purple.”,

“sku”: “CL-RDTMS-IPH2161-PU”,

“gtin”: “1234567890123”,

“manufacturerPartNumber”: “Apple”,

“manageInventoryMethodId”: 1,

“stockQuantity”: 150,

Page I 10

“price”: 19.99,

“oldPrice”: 29.99,

“orderMinimumQuantity”: 0,

“orderMaximumQuantity”: 1000,

“isShipEnabled”: true,

“published”: true,

“weight”: 0.25,

“baseWeightIn”: “oz”,

“selectedCategoryIds”: [12],

“selectedManufacturerIds”: [34],

“compatibleModel”: “iPhone 13”

}

}

Order Sync:

 Endpoint: POST https://stg.ezkonnect.com/api/a/order/List

 Purpose: Retrieves orders from Wirelo within a specified date range for

import into NetSuite as Sales Orders.

Sample Payload

{

“data”: {

“startDate”: “2025-09-11T16:55:02.941292”,

“endDate”: “2025-09-17T10:12:29.313784”

}

}

Tracking Sync:

 Endpoint: https://stg.ezkonnect.com/api/a/order/SetTrackingNumber

 Purpose: Pushes tracking details from NetSuite Item Fulfillments to Wirelo,

including carrier, tracking number, shipped date, and fulfilled items.

Sample Payload

{

“data”: {

“order_id”: “WIRELO_ORD_12345”,

“fulfillment_id”: “NS_FULF_54321”,

“carrier”: “FedEx”,

Page I 11

“tracking_number”: “789012345678”,

“shipped_date”: “2025-09-18”,

“fulfilled_items”: [

{

“sku”: “CL-RDTMS-IPH2161-PU”,

“quantity”: 2

},

{

“sku”: “CL-RDTMS-IPH2161-BK”,

“quantity”: 1

}

]

}

}

Product Sync (NetSuite → Wirelo)

 Source of Data is the NetSuite Saved Search: Wirelo Balaji Wireless Product

Feed – ALERT

 Contains fields mapped to Wirelo’s product schema (e.g., SKU, Title,

Description, Price, Category, Manufacturer, etc.)

 Each product record is processed individually (Wirelo API supports singleitem

sync only).

 For each item in the saved search:

o The system performs a GET call to GoToSku to check if the item exists

in Wirelo.

 If found: Trigger Edit endpoint.

 If not found: Trigger Create endpoint.

 GTIN, manufacturer, and customer segment fields are mapped conditionally,

if available.

 Static values are used where necessary:

o isShipEnabled: true

o published: true

o baseWeightIn: ‘oz’

Error Handling

 Errors during product sync (e.g., invalid SKU, missing required fields) are

logged in Wirelo Integration Log.

 Duplicate or missing fields are flagged, and the item is skipped with proper

logging.

Order Sync (Wirelo → NetSuite)

 Wirelo API Endpoint: /api/a/order/List

 Orders retrieved based on configurable date filters (daily, hourly, etc.).

 All imported orders are associated with default customer (Internal ID:

2613209 – “Wirelo Orders”).

Order Mapping Logic

 Order Header Fields:

o Order Date → trandate

o Status Mapping → Pending Fulfillment

o Location → Based on StoreName

o Shipping Method → Default or from payload

 Shipping Address:

o Fully mapped from Wirelo shipping address structure

 Line Items:

o SKU is matched to NetSuite Item via External ID

o Quantity, Rate, and Amount are mapped directly from Wirelo

 Traceability:

o Wirelo’s order_id is stored in NetSuite custom field

custbody_wirelo_order_id to ensure uniqueness and prevent

duplication.

Error Handling

 If a SKU is not found in NetSuite, the order is rejected and logged.

 Orders are not partially imported to ensure atomicity.

 All failures are recorded in a custom Integration Log with fields:

o Wirelo Order ID, Error Message, Timestamp, Status, Retry Flag

Tracking Sync (NetSuite → Wirelo)

 Triggered upon Item Fulfillment creation in NetSuite.

 API Endpoint: /api/a/order/SetTrackingNumber

 Payload includes order_id, fulfillment_id, and detailed item fulfillment lines.

 Scheduled process runs to push fulfillment details to Wirelo.

Error Handling

 Any failed sync attempt is logged in the Integration Log.

 Orders without tracking numbers are skipped and retried in the next cycle.

Custom Integration Log Record:

 Tracks every API interaction (request & response)

 Status: Success, Failure, Retried

 Includes metadata like operation type (Product, Order, Tracking), timestamps,

and error reasons.

API Role and Permission Setup

A dedicated integration role will be created in NetSuite:

 Create a dedicated NetSuite integration role:

o Role Name: Wirelo Integration Role.

Monitoring and Logging

A custom Integration Log record in NetSuite captures all API interactions, including

request payloads, response statuses, timestamps, and error details.

Data Validation and Error Handling

 Verify SKU consistency before creating orders or products.

 Prevent duplicate imports using custbody_wirelo_order_id.

 Retry mechanism for failed syncs.

 Errors logged in Wirelo Integration Log.

 Order line prices from Wirelo will be imported directly.

 Robust error handling will be implemented to address common issues such

as missing SKUs or duplicate entries.

 If a SKU is missing in Wirelo, the system will log the error in an Integration Log

Record.

 For duplicate SKUs, the system will flag the issue and pause the sync for the

affected product, allowing manual resolution to prevent data corruption.

 Error logs will include detailed information (e.g., SKU, timestamp, error type)

for troubleshooting and audit purposes.

 If an order fails to sync (e.g., due to invalid SKU or missing data), the system

will log the error in the Integration Log and notify administrators for

resolution.

 Partial syncs will be avoided to ensure data integrity; orders with errors will

be queued for retry after resolution.

Notes

The scope and the provided estimate are based on the anticipation, expectation, and

understanding through our discussions and email. If the scope change/additional

feature development identified during actual development will be treated as change

request.

Assumptions

 Wirelo SKUs are assumed to match NetSuite SKUs, ensuring seamless

mapping of product identifiers across both systems.

 A default customer (e.g., Customer ID 2613209, “Wirelo Orders”) exists in

NetSuite and is pre-configured for assigning imported Wirelo orders. This

customer will be used consistently for all Sales Orders created through the

integration.

 Wirelo provides API credentials for staging and production. The integration is

limited in creating and updating pricing in Inventory Items only. Please note

Quantity update thows an error from Wirelo.

 The integration will use JWT Token for secure communication between the

Wirelo and NetSuite.

 Integration covers order import, product sync, and tracking update only.

 Complex product bundles/kits not included in this phase.

 All orders created in Wirelo are imported into NetSuite as Sales Orders in

scheduled basis.

 NetSuite will only process valid API requests. If an error occurs, it logged in a

custom record

Risks

 Inventory quantity updates from NetSuite are not supported by Wirelo and

may throw API errors if attempted.

 Wirelo uses JWT authentication which may expire or become invalid if

credentials change. If the token is not refreshed successfully, integration

syncs will fail until credentials are updated or re-authenticated.

 The integration assumes that all categories, currencies, manufacturers, and

customer roles exist in NetSuite prior to data sync. If any required master

data is missing, the sync will fail and must be corrected manually.

 Future changes in item schema or API payload structure could break the

integration.

Leave a comment

Your email address will not be published. Required fields are marked *