Skip to main content

Syspro to iPaaS.com Sales Order Mapping Documentation

How Syspro sales order status changes are written back to iPaaS.com, including the status translation and despatch tracking.

Summary

Syspro sales order status changes can be written back to the matching iPaaS.com Transaction through Manual Sync or through automatic transfers raised by the Syspro webhook service. The transfer translates the Syspro order status into an iPaaS.com transaction status, records the raw Syspro code alongside it, and carries any despatch tracking details. It updates existing transactions only — it never creates one.

This document covers the Sales Order status writeback collection and its tracking child collection.

ID Format

Manual Sync ID Format

Enter the Syspro sales order number on the iPaaS.com Manual Sync page.

Example: 000000000012345

External ID Format

No new external-ID link is created by this collection. The link between the Syspro order and the iPaaS.com transaction was established when the order was first written to Syspro by Add Syspro Sales Order FROM iPaaS.com. This collection resolves that existing link, which is why it can only update — an order that has never been linked is not brought across.

Deleted Record Support

Outbound delete is not supported for this entity. The integration does not implement a delete operation, delete mappings are not included in the default templates, and deleting a Syspro order will not remove or cancel the iPaaS.com transaction.

Mapping Collection Status

Status: Enabled, with a mapping filter restricting the collection to selected Syspro statuses on records that are not invoices. See the Mapping Filter block below.

Trigger Events: transaction/updated, raised by a database trigger in the subscriber's own Syspro database and enabled by default in the shipped configuration. A companion transaction/created event exists but has no subscription recorded by default, which is appropriate here because this collection only updates existing transactions.

Duplicate or Conflicting Mappings

Add Syspro Sales Order FROM iPaaS.com operates on the same entity in the opposite direction, creating Syspro orders from iPaaS.com transactions. Add/Update Syspro Invoice TO iPaaS.com captures the invoices raised against these orders; the filter on this collection excludes invoices so the two do not process the same records.

The outbound and inbound order collections are complementary — orders flow out, status flows back. Ten of this collection's twelve mappings exist specifically so that the status writeback does not overwrite the order detail the outbound transfer established; see the field table.

This entity does not support collision handling, so there are no selectable collision methods on this collection.

Supported Child Collections

  • Add/Update Syspro Sales Order Shipment TO iPaaS.com: despatch tracking details for the order. Child of this collection.

System Caveats

Syspro Caveats

  • Several Syspro statuses translate to the same iPaaS.com status. The shipped translation collapses four distinct Syspro statuses onto Pending, so iPaaS.com will not distinguish between those stages. The raw Syspro code is preserved separately for subscribers who need the detail.

  • The translation has no default value. A Syspro status with no translation entry produces no iPaaS.com status, and the update fails rather than falling back to a safe value.

  • Carrier names must match configured Shipping Methods. The tracking child collection matches its shipping method by name against the Shipping Methods configured in iPaaS.com.

iPaaS.com Caveats

  • Update only. This collection cannot create a transaction. An order that exists in Syspro but has never been linked to an iPaaS.com transaction is not brought across.

  • Status is a required field. iPaaS.com rejects a transaction update with no status, which is why an untranslated Syspro status causes a failure. Errors appear under Dashboard / Integration Monitoring / Error Logs.

Integration-Specific Caveats

  • A database-level filter applies in addition to the mapping filter. The subscription that raises the update event carries its own SQL filter in the subscriber's Syspro database, restricting which orders are reported at source. An order can therefore be excluded before iPaaS.com ever sees it. Subscribers or their MiSP troubleshooting a missing order should check both filters.

  • Filter and translation coverage do not currently match. One status admitted by the mapping filter has no translation entry, so orders in that state pass the filter and then fail; and one translated status is excluded by the filter, so those orders never transfer. See Additional Notes.

Setup Requirements

Syspro Configuration

  1. Install the Syspro database objects that raise transaction change events, and confirm the update-event subscription is recorded and enabled. It is enabled in the shipped configuration.

  2. Review the SQL filter attached to that subscription against the subscriber's own business rules — the shipped filter carries example values.

  3. Install and run the Syspro webhook service on a Windows server that can reach both the Syspro database and iPaaS.com.

Refer to the Syspro Installation Instructions for the full procedure.

iPaaS.com Configuration

Create a Shipping Method for each carrier used in Syspro, named exactly as Syspro records it, or apply a Lookup Translation on the tracking collection's shipping method mapping. Without this, tracking transfers fail.

Integration Flow

  1. A sales order changes status in Syspro, or a subscriber initiates a Manual Sync using the Syspro sales order number.

  2. For automatic transfers, the change raises a transaction/updated event — subject to the SQL filter on the Syspro subscription — which the webhook service relays to iPaaS.com.

  3. The mapping filter is evaluated. Orders outside the admitted status set, and records that are invoices, are skipped silently.

  4. The integration locates the existing iPaaS.com transaction by its external-ID link.

  5. The Syspro order status is translated to an iPaaS.com transaction status and written, and the raw Syspro code is recorded in a custom field.

  6. Every other mapped field is written back with its existing iPaaS.com value, so no order detail is lost.

  7. Add/Update Syspro Sales Order Shipment TO iPaaS.com records any despatch tracking details.

Mappings

Update Syspro Sales Order TO iPaaS.com

iPaaS.com data type: Transaction

Mapping Filter

(OrderStatus == "S" 
|| OrderStatus == "1" 
|| OrderStatus == "2" 
|| OrderStatus == "4" 
|| OrderStatus == "8"
|| OrderStatus == "9")
&& !IsInvoice

Filter Description. A Syspro record is processed only when both conditions hold. The first admits orders in one of six specific Syspro order statuses — S, 1, 2, 4, 8 and 9 — so orders in any other state are skipped and their status is not written back. The second, !IsInvoice, excludes invoices, which are handled by Add/Update Syspro Invoice TO iPaaS.com; this keeps the two collections from processing the same records.

Records failing either condition are skipped silently — they raise no error and do not appear in the error log.

Important: the statuses admitted here and those covered by the status translation are not the same set. Status S passes this filter but has no translation entry, and because the translation carries no default the update then fails for want of a status. Status 5 has a translation entry but is not admitted here, so those orders never transfer at all. Until this is reconciled, subscribers or their MiSP should not rely on this collection to reflect every Syspro status change, and should contact iPaaS.com Support if orders are seen stalling in a particular status.

Mapping Type

Source Field (Syspro)

Destination Field (iPaaS.com)

Description

Lookup

Lookup Translation: OrderStatus to iPaaS

Status

Required. Translates the Syspro order status to an iPaaS.com transaction status. This is the collection's primary purpose. See the translation table below.

Field

OrderStatus

SysPro Status

Recommended. The raw Syspro status code, stored as a custom field. The only place the original code survives, since several statuses collapse to one iPaaS.com value.

Dynamic Formula

DestinationValue.SystemId

SystemId

Required (protective). Writes the existing value back unchanged so the required field is satisfied without altering which subscription the transaction belongs to.

Dynamic Formula

DestinationValue.TransactionNumber

TransactionNumber

Required (protective). Preserves the key that links the two systems. Re-mapping this to a Syspro value would break the link for that order.

Dynamic Formula

DestinationValue.Type

Type

Required (protective). Preserves the transaction type, so a status change cannot reclassify the order.

Dynamic Formula

DestinationValue.EmailAddress

EmailAddress

Protective. Prevents the status update from clearing the email address already held in iPaaS.com.

Dynamic Formula

DestinationValue.Subtotal

Subtotal

Protective. Prevents the status update from clearing the order subtotal.

Dynamic Formula

DestinationValue.TaxAmount

TaxAmount

Protective. Prevents the status update from clearing the tax already recorded.

Dynamic Formula

DestinationValue.DiscountAmount

DiscountAmount

Protective. Prevents the status update from clearing any discount already recorded.

Dynamic Formula

DestinationValue.ShippingAmount

ShippingAmount

Protective. Prevents the status update from clearing the shipping charge.

Dynamic Formula

DestinationValue.Total

Total

Protective. Prevents the status update from clearing the order total.

Dynamic Formula

DestinationValue.TotalQty

TotalQty

Protective. Prevents the status update from clearing the total quantity.

Lookup Translation Tables

OrderStatus to iPaaS

Source Value

Destination Value

Notes

1

Pending

2

Backorder

4

Pending

5

Pending

Has a translation entry but is not admitted by the mapping filter, so these orders never transfer.

8

Pending

9

Complete

The translation has no default value. A Syspro status not listed above — including S, which the filter admits — produces no iPaaS.com status and the update fails. Four distinct Syspro statuses resolve to Pending, so iPaaS.com does not distinguish between those stages; subscribers needing that distinction should expand the translation using other iPaaS.com statuses.

Add/Update Syspro Sales Order Shipment TO iPaaS.com (Child)

iPaaS.com data type: Transaction Tracking Number

A child of the status writeback collection, dispatched as part of the same transfer. Parent Collection: Update Syspro Sales Order TO iPaaS.com.

Mapping Type

Source Field (Syspro)

Destination Field (iPaaS.com)

Description

Field

CarrierFieldName

ShippingMethod

Required. Must match the name of a Shipping Method configured in iPaaS.com, or the tracking transfer fails. Create matching Shipping Methods or apply a Lookup Translation.

Field

TrackingNumber

TrackingNumber

Recommended. The despatch tracking number. Without it the record carries a carrier but nothing for the customer to track with.

Field

CarrierFieldName

ShippingMethodDescription

Optional. Reads the same Syspro value as ShippingMethod, so by default the description repeats the method name. Free text — it need not match anything configured in iPaaS.com.

Error Handling

Errors raised by this family are catalogued in the Syspro Error Messages article. The two failure modes are an order whose Syspro status has no translation entry, and a tracking record whose carrier does not match a configured iPaaS.com Shipping Method. Both appear under Dashboard / Integration Monitoring / Error Logs.

Orders excluded by the mapping filter or by the Syspro-side SQL filter produce no error — they are skipped silently.

Testing & Validation

Test Scenarios

  1. Move an order through each admitted Syspro status in turn and verify the iPaaS.com transaction status updates according to the translation table.

  2. Verify the raw Syspro status code appears in the SysPro Status custom field on the iPaaS.com transaction.

  3. Confirm that an order value such as the total or tax is not cleared by a status update, verifying the protective mappings.

  4. Move an order to Syspro status S and confirm the behaviour matches the known issue — the order passes the filter and the update then fails for want of a translated status.

  5. Move an order to Syspro status 5 and confirm it is skipped and never transfers.

  6. Record a despatch with a carrier that matches a configured Shipping Method and verify the tracking record appears in iPaaS.com.

  7. Record a despatch with a carrier that has no matching Shipping Method and confirm the tracking transfer fails.

  8. Attempt a status writeback for a Syspro order that was never created from an iPaaS.com transaction, and confirm nothing is created.

Validation Checklist

  • The translation covers every Syspro order status actually used in the subscriber's environment.

  • Order values are preserved across status updates.

  • The raw Syspro status is visible on the transaction.

  • Every Syspro carrier has a matching iPaaS.com Shipping Method, or a Lookup Translation is in place.

  • The SQL filter on the Syspro subscription has been reviewed against the subscriber's business rules.

Additional Notes

  • Status coverage is incomplete. The mapping filter and the status translation do not cover the same set of Syspro statuses, so orders in certain states either fail or never transfer. Subscribers or their MiSP should review the shipped translation against the order statuses actually used in their environment before go-live.

  • Only the header status flows back. Line-level fulfilment progress is not reflected in iPaaS.com.

  • Order value changes are not written back. The value fields are deliberately preserved rather than updated, so an amendment made in Syspro does not reach iPaaS.com through this collection.

  • The description duplicates the shipping method on the tracking child collection by default. Harmless, but it adds no information; re-map it to a different Syspro field for fuller detail.

Related Documents

Did this answer your question?