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
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.
Review the SQL filter attached to that subscription against the subscriber's own business rules — the shipped filter carries example values.
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
A sales order changes status in Syspro, or a subscriber initiates a Manual Sync using the Syspro sales order number.
For automatic transfers, the change raises a
transaction/updatedevent — subject to the SQL filter on the Syspro subscription — which the webhook service relays to iPaaS.com.The mapping filter is evaluated. Orders outside the admitted status set, and records that are invoices, are skipped silently.
The integration locates the existing iPaaS.com transaction by its external-ID link.
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.
Every other mapped field is written back with its existing iPaaS.com value, so no order detail is lost.
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: | 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 |
| 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 |
| 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 |
| 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 |
| Type | Required (protective). Preserves the transaction type, so a status change cannot reclassify the order. |
Dynamic Formula |
| EmailAddress | Protective. Prevents the status update from clearing the email address already held in iPaaS.com. |
Dynamic Formula |
| Subtotal | Protective. Prevents the status update from clearing the order subtotal. |
Dynamic Formula |
| TaxAmount | Protective. Prevents the status update from clearing the tax already recorded. |
Dynamic Formula |
| DiscountAmount | Protective. Prevents the status update from clearing any discount already recorded. |
Dynamic Formula |
| ShippingAmount | Protective. Prevents the status update from clearing the shipping charge. |
Dynamic Formula |
| Total | Protective. Prevents the status update from clearing the order total. |
Dynamic Formula |
| 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 |
| 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 | Recommended. The despatch tracking number. Without it the record carries a carrier but nothing for the customer to track with. |
Field |
| 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
Move an order through each admitted Syspro status in turn and verify the iPaaS.com transaction status updates according to the translation table.
Verify the raw Syspro status code appears in the SysPro Status custom field on the iPaaS.com transaction.
Confirm that an order value such as the total or tax is not cleared by a status update, verifying the protective mappings.
Move an order to Syspro status
Sand confirm the behaviour matches the known issue — the order passes the filter and the update then fails for want of a translated status.Move an order to Syspro status
5and confirm it is skipped and never transfers.Record a despatch with a carrier that matches a configured Shipping Method and verify the tracking record appears in iPaaS.com.
Record a despatch with a carrier that has no matching Shipping Method and confirm the tracking transfer fails.
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
Syspro Mapping Collection (Help Center subcollection)
