Integration between Ongoing WMS and Transsmart
Transsmart is a cloud-based delivery management system made by nShift. Ongoing WMS has built the integration with Transsmart and automates booking/printing/tracking, and returns the delivery data needed to improve the customer experience. Suitable both for 3PL workflows and for merchants running their own warehouse with Ongoing WMS.
Features
Make transport bookings directly from Ongoing WMS
You can create a shipment in Transsmart based on an order in Ongoing WMS. All information about the shipment (address and number of packages) can be entered into Ongoing WMS, and then transferred to Transsmart at the click of a button.
Make shipment information visible in Ongoing WMS
When the shipment in Transsmart has been booked, Ongoing WMS will receive a response from Transsmart which contains tracking information for the shipment.
Printing
The labels can be saved to Ongoing WMS in PDF format and printouts can be triggered from Ongoing WMS. Using Ongoing Printer Service you can print the labels automatically on demand.
Transporters and services
It is possible to see all available transporters and services in Ongoing WMS. It is also possible to install them on demand without any need to find out corresponding codes.
Default setup
The order is sent to Transsmart when the Send button is pressed in Ongoing WMS.
If the shipment validates, tracking information will be returned to Ongoing WMS immediately and documents will be printed.
Getting started
You will need a user account (username and password) and an account code to set up Transsmart in Ongoing WMS.
After you have gathered this information, please see this guide on how to set up an integration between Ongoing WMS and Transsmart.
Mapping
None* = those fields are not in the default setup, but can be mapped from Ongoing WMS if needed.
Mapping Transsmart Shipment - Ongoing WMS Order
| Transsmart | Ongoing WMS | |
|---|---|---|
| Reference | Order-ID + "_" + Guid (truncated to 32 chars) | |
| Carrier | Transporter=>TransporterCode (uppercased, max 3 chars) or TransporterId | |
| Instruction | OrderInfo=>DeliveryInstruction | |
| PickupDate | DateTime.Now ("yyyy-MM-dd") | |
| PickupTime | DateTime.Now ("HH:mm") | |
| RequestedDeliveryDate | OrderInfo=>DeliveryDate ("yyyy-MM-dd") | |
| Insurance | false | |
| ServiceLevelTime | Transporter=>ServiceCode | |
| Service | "NON-DOCS" | |
| Inbound | 1 for return shipments, 0 otherwise | |
| NumberOfPackages | Sum of parcel NumberOfPackages | |
| AdditionalReferences | ||
| Customerorder | OrderInfo=>GoodsOwnerOrderId | |
| YourReference | OrderInfo=>ConsigneeReference | |
| Other | OrderInfo=>OrderNumber | |
| Addresses | Receiver + Sender (+ optional additional addresses) | |
| Receiver.Type | "RECV" | |
| Receiver.Name | Consignee=>Name | |
| Receiver.AddressLine1 | Consignee=>Address | |
| Receiver.AddressLine2 | Consignee=>Address2 | |
| Receiver.AddressLine3 | Consignee=>Address3 | |
| Receiver.ZipCode | Consignee=>PostCode | |
| Receiver.City | Consignee=>City | |
| Receiver.Country | Consignee=>CountryCode | |
| Receiver.TelNo | Consignee=>MobilePhone, otherwise Consignee=>Telephone | |
| Receiver.Email | Consignee=>Email | |
| Sender.Type | "SEND" | |
| Sender.Name | GoodsOwner sender address=>Name | |
| Sender.AddressLine1 | GoodsOwner sender address=>Address | |
| Sender.AddressLine2 | GoodsOwner sender address=>Address2 | |
| Sender.AddressLine3 | GoodsOwner sender address=>Address3 | |
| Sender.ZipCode | GoodsOwner sender address=>PostCode | |
| Sender.City | GoodsOwner sender address=>City | |
| Sender.Country | GoodsOwner sender address=>CountryCode | |
| Sender.TelNo | GoodsOwner sender address=>MobilePhone, otherwise Telephone | |
| Sender.Email | GoodsOwner sender address=>Email | |
| Measurements | Shipment-level measurements from parcel data | |
| Weight | Sum(parcels=>Weight), KG | |
| Length | Max(parcels=>Length) * 100, CM | |
| Width | Max(parcels=>Width) * 100, CM | |
| Height | Max(parcels=>Height) * 100, CM | |
| LinearUom | "CM" | |
| MassUom | "KG" | |
| Packages | Mapped from non-TA pallet items, otherwise pallets | |
| LineNo | Parcel.Id (for pallet items), otherwise None* | |
| PackageType | Parcel=>TransporterPackageTypeCode | |
| Description | Parcel=>GoodsCategory | |
| Quantity | Parcel=>NumberOfPackages | |
| Measurements.Height | Parcel=>Height * 100 (rounded), CM | |
| Measurements.Width | Parcel=>Width * 100 (rounded), CM | |
| Measurements.Length | Parcel=>Length * 100 (rounded), CM | |
| Measurements.Weight | Parcel=>Weight (rounded), KG | |
| DeliveryNoteInformation (customs) | Generated when customs-filtered picked order lines exist | |
| DeliveryNoteId | OrderInfo=>OrderNumber, otherwise ShippingIdentifier.Id | |
| Currency | First non-empty PickedOrderLines=>CurrencyCode | |
| Price | Sum(DeliveryNoteLines=>Price * Quantity) | |
| DeliveryNoteLines[] | Grouped by OrderLineSystemId from picked article items | |
| LineNumber | 1..N | |
| Quantity / QuantityOrder | Rounded sum of item quantity | |
| QuantityUom | "PCS" | |
| ArticleId | Article=>ArticleNumber | |
| ArticleName | Article=>Name | |
| Description | Article=>ArticleCustomsDescription, otherwise Article=>Description | |
| HsCode | Article=>StatisticsNumber | |
| CountryOrigin | Article=>CountryOfOriginCode | |
| Price | Unit customs value (rounded int) | |
| Currency | Delivery note currency | |
| CustomerOrder | OrderInfo=>GoodsOwnerOrderId | |
None* = those fields are not in the default setup, but can be mapped from Ongoing WMS if needed.