Home >

Netsuite Integrations

> Shipping & Logistics

ZTO Express + NetSuite Integration

ZTO moves parcels across China. NetSuite tracks what shipped and what it cost. Without a sync, logistics and finance watch separate portals.

Oracle ERP Expertise CertifiedTransparent PricingPost Go-Live Support

ZTO Express logo

The Problem

ZTO handles delivery across mainland China, but NetSuite needs those events to post revenue and allocate costs.

If you're shipping domestically or cross-border out of mainland China, ZTO is probably moving your goods. Their tracking data, shipping charges, and delivery confirmations don't land in NetSuite on their own. Logistics watches ZTO's portal. Finance waits for someone to update the ERP. Orders show shipped in one system and pending in the other until someone manually closes the loop.

When a ZTO Express + NetSuite Integration Makes Sense

WAYBILLS COPIED BY HAND ALL DAY

At 200+ shipments a day, someone is doing nothing but transcribing ZTO waybill numbers into NetSuite. That's a full-time data entry job, not a logistics operation.

WAYBILLS WRITTEN TO NETSUITE AUTOMATICALLY

Each ZTO waybill maps to the originating sales order and fulfilment record in NetSuite. No copying, no spreadsheet bridge.

DELIVERY STATUS IS ALWAYS HOURS BEHIND

ZTO marks a parcel delivered at 2pm. NetSuite still shows it in transit at 5pm. Your customer service team is working off stale data.

STATUS UPDATES HIT NETSUITE IN NEAR REAL TIME

ZTO delivery scans trigger status updates on the matching NetSuite fulfilment records. Your team sees current status without logging into ZTO's portal.

SHIPPING COSTS DON'T RECONCILE

ZTO's monthly invoice is a wall of charges. Finance spends days matching each line to a NetSuite transaction — and the numbers still don't tie out cleanly.

EACH SHIPMENT COST POSTS AGAINST THE RIGHT ORDER

When ZTO's invoice arrives, reconciliation is a spot-check, not a multi-day project. Costs are already allocated to the correct sales orders in NetSuite.

EXCEPTIONS SURFACE WHEN CUSTOMERS COMPLAIN

Failed deliveries, refused parcels, reroutes. ZTO flags them in their system. Your team finds out three days later when a customer emails asking what happened.

EXCEPTIONS CREATE RECORDS IN NETSUITE IMMEDIATELY

Delivery failures and return-to-sender events surface as exception records in NetSuite so your team can act before the customer calls.

DOMESTIC AND CROSS-BORDER RUN AS SEPARATE WORKFLOWS

ZTO's domestic and cross-border services use different tracking systems, so your team maintains two parallel workflows for what should be one view of outbound logistics.

ONE VIEW FOR ALL ZTO SHIPMENTS

Domestic and cross-border ZTO shipments feed into the same NetSuite fulfilment workflow. One saved search shows everything in transit, regardless of destination.

RETURNS SHOW UP UNANNOUNCED

A customer ships something back via ZTO. The parcel arrives at your warehouse, but the NetSuite RMA sits unupdated while your team figures out what came in.

RETURN WAYBILLS LINKED TO NETSUITE RMAS

ZTO return waybills connect to RMA records in NetSuite. When the parcel arrives at your warehouse, the receipt triggers automatically.

ZTO Express + NetSuite Integration

What We'd Confirm Before Scoping

Your shipping corridors and parcel data requirements shape the ZTO Express integration.

CORRIDORS AND WAYBILLS

Domestic China, cross-border, or both, and whether the integration needs to generate waybills with Chinese-language address formatting.

CUSTOMS, COD, AND TRACKING

Cross-border shipments may need customs declarations from NetSuite data. COD amounts need reconciliation. Tracking events can auto-update fulfillment records.

VOLUME, PEAKS, AND API ACCESS

Daily shipment counts, peak-season spikes (Singles' Day, CNY pre-rush), and whether you access ZTO directly or through a logistics aggregator.

Crash illustration

We can then define the integration approach and walk you through the build.

Mattia

ONE Pacific built a custom wholesale portal powered by Workato, allowing distributors to enter order details on their own without involving our staff.

Mattia Lolli

Chief Operating Officer

D1 Milano

ZTO EXPRESS + NETSUITE

How the Integration Works

ZTO Express shipment data flows into NetSuite automatically — waybills, status scans, costs, and exceptions all map to the fulfilment records they belong to.

Waybills Map to NetSuite Fulfilments
Each ZTO waybill is matched to the originating sales order and fulfilment in NetSuite using order reference data exchanged at shipment creation.
Scan Events Trigger Status Updates
ZTO scan events are polled via API and written to the corresponding NetSuite fulfilment record, keeping status current without manual portal checks.
Invoice Lines Post to Originating Orders
ZTO charges are parsed from the carrier invoice and posted to the correct NetSuite orders so cost-per-shipment is available without manual matching.
Exceptions Surface as NetSuite Records
Failed deliveries, refused parcels, and reroutes from ZTO create exception records in NetSuite, flagged for team action before the shipment ages.
Domestic and Cross-Border Under One Workflow
ZTO domestic and cross-border shipments share one NetSuite fulfilment workflow, with tracking prefixes and service codes normalised in transit.
Return Waybills Link to RMA Records
ZTO return waybills are matched to open RMA records in NetSuite. Receipt is triggered automatically when the return parcel is scanned as delivered.

Most ZTO Express + NetSuite integrations are scoped in under two weeks and live within 6 to 8 weeks. Let's figure out yours.

ZTO Express + NetSuite Integration

FAQ's

The main cost drivers for ZTO Express integration center on the lack of a public API—you'll need to go through aggregators like AfterShip or TrackingMore, which means ongoing subscription fees on top of development costs. Since there's no pre-built SuiteApp for ZTO, you're looking at custom SuiteScript development to handle tracking updates via webhooks or polling, plus the complexity of normalizing ZTO's tracking statuses (especially when they hand off to other carriers for international delivery).

Cross-border shipments add another layer: you'll need to handle CNY currency conversion, Chinese timezone differences, and customs documentation within NetSuite's multi-subsidiary framework. Higher shipment volumes will push up both your third-party service costs and the SuiteScript resources needed to process all those tracking events.

Typically 6 to 8 weeks. The first couple of weeks are mapping: which ZTO tracking events matter to your workflow, how shipping charges should post in NetSuite, and whether you need domestic only or cross-border as well. Build and testing fills the remaining time, including a parallel run where automated records are checked against your current manual process.

ZTO bills in RMB. If your NetSuite books run in HKD, USD, or another currency, the integration records the RMB charge and applies the exchange rate at transaction date. FX differences post automatically at settlement.

Each shipment's cost is captured and posted against the originating sales order in NetSuite. When ZTO's monthly invoice arrives, you're comparing it against costs already recorded per-order rather than starting from scratch. Discrepancies show up as exceptions you can investigate individually.

That depends on your workflow. At minimum, most clients sync pickup confirmation, in-transit updates, delivery confirmation, and exception events like failed delivery attempts. Some clients also pull sorting facility scans for more granular visibility. We'll map the events that actually matter to your operations during scoping.

Yes. ZTO's domestic and cross-border services both feed into the same NetSuite fulfilment workflow. The tracking event formats differ between the two, but the integration normalizes them so your team sees one consistent view.

Hero background

Ready to connect ZTO Express and NetSuite?

Our engineers will review your setup, map your systems, and, if it makes sense to move forward, provide a clearly scoped proposal. No pressure.