Skip to main content

Syspro to iPaaS.com Product Mapping Documentation

How Syspro stock items, variants and per-warehouse inventory are captured into iPaaS.com as Products, including the six required fields.

Summary

iPaaS.com Products can be transferred from Syspro stock items through Manual Sync or through automatic transfers raised by the Syspro webhook service. A single product transfer also dispatches the item's per-warehouse stock positions and, for variant-parent items, each of its variants and their own stock positions. Together these bring the catalogue and its stock into iPaaS.com so that storefronts and downstream systems can sell from accurate data.

This document covers the parent Product collection and all four of its related collections.

ID Format

Manual Sync ID Format

Enter the Syspro stock code on the iPaaS.com Manual Sync page.

Example: A100

The same stock code is used whether the item is a simple product or a variant parent. Individual variants cannot be synced on their own — transferring the parent re-sends every variant.

External ID Format

After a successful transfer, iPaaS.com saves the Syspro stock code as the external ID on a dedicated external-ID record, which routes subsequent updates to the same Product. Variants carry their own external-ID link based on the variant's own Syspro stock code.

The Sku mapping additionally writes the stock code onto the iPaaS.com product record. That provides visibility, acts as a fallback match when no external-ID record yet exists, and is how sales order and invoice lines resolve which product a line refers to.

Deleted Record Support

Outbound delete is not supported for this entity. The integration does not implement a delete operation for products or product inventory, delete mappings are not included in the default templates, and removing or obsoleting a stock item in Syspro will not propagate to iPaaS.com. Because the product status is also a fixed value, an obsoleted Syspro item continues to arrive in iPaaS.com as Active — see Additional Notes.

Mapping Collection Status

Status: Enabled. None of the collections in this family carries a mapping filter, so every stock item routed to them is processed.

Trigger Events: product/created and product/updated, raised by database triggers in the subscriber's own Syspro database. These are switched off by default — the shipped Syspro database records no subscription for them, so the triggers take no action until one is added. Enabling automatic product transfers is therefore a database configuration step in Syspro, not a setting in iPaaS.com.

Stock quantity changes raise the same product/updated event rather than a separate inventory event, because inventory movements are reported against the product.

Duplicate or Conflicting Mappings

Update Syspro Product Inventory Standalone TO iPaaS.com writes the same four inventory fields as the child inventory collection, but runs independently rather than as part of a product transfer. Both are supported and neither harms the other — the later transfer simply overwrites with the same values — but scheduling both against the same items duplicates work without adding data. Subscribers or their MiSP should decide which is expected to maintain stock levels in normal operation.

Update Syspro Product Variant Inventory Standalone TO iPaaS.com is provisioned but ships with no field mappings, so it transfers nothing. See its own collection description before putting it into service.

No other mapping collection writes to or from iPaaS.com Products. This entity does not support collision handling, so there are no selectable collision methods on any collection in this family. Duplicates are prevented by the external-ID link.

Supported Child Collections

  • Add/Update Syspro Product Inventory TO iPaaS.com: per-warehouse stock quantities and unit costs for the product. Child of the Product collection.

  • Add/Update Syspro Product Variant TO iPaaS.com: the individual variants of a variant-parent item. Child of the Product collection, and itself the parent of the variant inventory collection.

  • Add/Update Syspro Product Variant Inventory TO iPaaS.com: per-warehouse stock quantities and unit costs for each variant. Child of the Product Variant collection.

Update Syspro Product Inventory Standalone TO iPaaS.com carries the same inventory data without re-transferring the product. It is not a child of this collection.

System Caveats

Syspro Caveats

  • Prices are tax-inclusive. The price captured includes tax. Subscribers or their MiSP whose downstream systems expect tax-exclusive prices should re-map the field — bearing in mind it is required and must always resolve to a value.

  • The alternate key is not a dedicated barcode field. What it contains varies by Syspro environment. Confirm it actually holds barcodes before relying on the barcode mappings. Barcodes are more commonly held per-variant than per-product.

  • Weight carries no unit. The item mass is transferred as a number with no conversion, so Syspro and the receiving systems must agree on the unit.

  • Tax codes are transferred as-is. For the value to be meaningful, Syspro tax codes must correspond to the tax classes configured downstream, or a Lookup Translation should be applied.

  • Variants are ordinary stock items. Syspro holds each variant as a stock item in its own right rather than as a structured attribute of the parent, so the variant description is free text and how clearly variants are distinguished depends on Syspro naming conventions.

  • Available quantity can be negative. Syspro allows stock to be committed beyond what is physically present, so the calculated availability can fall below zero. This is a normal Syspro condition, not an error.

iPaaS.com Caveats

  • Six product fields are mandatory. Sku, Name, Type, Tracking Method, Default Price and Status must all resolve to a value, or the product transfer fails with the error appearing under Dashboard / Integration Monitoring / Error Logs. A Syspro stock item with no selling price on file therefore fails.

  • Product type accepts only two values. When creating or updating a product, iPaaS.com accepts Physical and Virtual only — not the wider set of product types visible elsewhere in the platform.

  • Inventory requires a resolvable Location. Every inventory row must resolve to an existing iPaaS.com Location, and the transfer fails if it cannot.

  • A variant SKU must not match its parent. iPaaS.com rejects a variant whose SKU duplicates the parent product's or another variant's. Syspro stock codes are unique, so this is satisfied in normal operation.

Integration-Specific Caveats

  • Locations must exist before any inventory transfers. The location lookup performs an exact, case-sensitive match against the iPaaS.com Location Name. Warehouses must be transferred through Add/Update Syspro Location TO iPaaS.com, or created manually with names matching the Syspro warehouse codes, before inventory will succeed. A warehouse added in Syspro later fails the same way until its Location exists.

  • Variant-level stock is used only when tracking is by variant. The tracking method determines whether stock is held against the product or against each variant.

Setup Requirements

Syspro Configuration

  1. Install the Syspro REST API and configure the subscription's API URL and credentials.

  2. For automatic transfers, install the Syspro database objects that raise product change events, then add a subscription record for the product events — the shipped configuration does not include one.

  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

Transfer the Syspro warehouses first, through Add/Update Syspro Location TO iPaaS.com, so that inventory rows can resolve their Location. No other subscriber-facing setup is required.

Integration Flow

  1. A stock item is created or changed in Syspro, or a subscriber initiates a Manual Sync using the Syspro stock code.

  2. For automatic transfers, the change raises a product/created or product/updated event — provided a subscription for that event has been added — which the Syspro webhook service relays to iPaaS.com.

  3. The integration retrieves the stock item from Syspro.

  4. iPaaS.com matches an existing product by external-ID record, falling back to a match on Sku; otherwise a new Product is created.

  5. The product record is written, including the fixed type and status and the tracking method derived from whether the item is a variant parent.

  6. Add/Update Syspro Product Inventory TO iPaaS.com runs for each warehouse holding the item. Each row resolves its Location by matching the warehouse code against the Location name; a row whose warehouse has no matching Location fails.

  7. Add/Update Syspro Product Variant TO iPaaS.com runs for each variant, where the item is a variant parent.

  8. Add/Update Syspro Product Variant Inventory TO iPaaS.com runs for each variant, writing that variant's per-warehouse stock.

Mappings

Add/Update Syspro Product TO iPaaS.com

iPaaS.com data type: Product

The parent collection. Captures the Syspro stock item as an iPaaS.com Product and dispatches the child collections below.

Mapping Type

Source Field (Syspro)

Destination Field (iPaaS.com)

Description

Field

StockCode

Sku

Required. The Syspro stock code. Also the key that sales order and invoice lines resolve against, and the fallback match when no external-ID record exists.

Field

Description

Name

Required. The Syspro stock item short description.

Static

"Physical"

Type

Required. Fixed by design, because this collection transfers physical inventory-tracked goods. iPaaS.com accepts only Physical or Virtual here.

Dynamic Formula

if(ProductType == "VariantParent") ...

TrackingMethod

Required. Returns Variant for Syspro variant parents and Product for everything else. Determines whether stock is tracked on the product or on its variants.

Field

PrcInclGst

DefaultPrice

Required. The Syspro tax-inclusive selling price. An item with no price on file cannot be transferred.

Static

"Active"

Status

Required. Fixed by design. Because it is static, an obsolete Syspro item still arrives as Active.

Field

LongDesc

Description

Recommended. The Syspro long description. Frequently contains line breaks and internal notes, so review suitability for customer-facing use.

Field

AlternateKey1

Barcode

Optional. The Syspro alternate key, where that field is used to hold a barcode.

Field

TaxCode

TaxClass

Optional. The Syspro tax code, transferred as-is. Apply a Lookup Translation where the two systems use different codes.

Field

Mass

Weight

Optional. The item mass, transferred with no unit conversion.

Dynamic Formula Documentation

The TrackingMethod mapping classifies the item:

if(ProductType == "VariantParent")
return "Variant";
return "Product";

Variant and Product are the only two values iPaaS.com accepts. A product marked Variant carries its quantities on its variant records rather than on the parent, which is why variant parents dispatch the variant and variant-inventory collections instead of holding inventory directly.

Add/Update Syspro Product Inventory TO iPaaS.com (Child)

iPaaS.com data type: Product Inventory

A child of the Product collection, dispatched once per warehouse holding the item. Parent Collection: Add/Update Syspro Product TO iPaaS.com.

Mapping Type

Source Field (Syspro)

Destination Field (iPaaS.com)

Description

Dynamic Formula

LocationIdFromName(Warehouse)

LocationId

Required. Resolves the iPaaS.com Location by exact, case-sensitive match on the warehouse code. The transfer fails if no Location matches — see the caveat above.

Field

QtyOnHand

QtyOnHand

Recommended. The physical stock quantity in this warehouse. Does not account for stock committed to orders.

Dynamic Formula

QtyOnHand - QtyAllocated - QtyAllocatedWip

QtyAvailable

Recommended. Quantity available to sell. Can be negative where Syspro has committed more stock than is physically present.

Field

UnitCost

Cost

Optional. The unit cost for this item in this warehouse. Cost data rather than pricing data — confirm whether it should reach customer-visible systems.

Add/Update Syspro Product Variant TO iPaaS.com (Child)

iPaaS.com data type: Product Variant

A child of the Product collection, dispatched for variant-parent items only. Parent Collection: Add/Update Syspro Product TO iPaaS.com.

Mapping Type

Source Field (Syspro)

Destination Field (iPaaS.com)

Description

Field

StockCode

Sku

Required. The variant's own Syspro stock code, distinct from the parent's. Must not duplicate the parent SKU or another variant's.

Field

Description

Variant Description

Recommended. The text that distinguishes this variant from its siblings. Free text, since Syspro stores variants as ordinary stock items.

Field

PrcInclGst

DefaultPrice

Recommended. The variant's own tax-inclusive price, used in preference to the parent's where variants are priced differently.

Field

AlternateKey1

Barcode

Optional. The variant's alternate key. Often the more useful of the two barcode mappings.

Field

Mass

Weight

Optional. The variant's mass, transferred with no unit conversion.

Add/Update Syspro Product Variant Inventory TO iPaaS.com (Child)

iPaaS.com data type: Product Variant Inventory

A child of the Product Variant collection, dispatched once per warehouse holding the variant. Parent Collection: Add/Update Syspro Product Variant TO iPaaS.com.

Mapping Type

Source Field (Syspro)

Destination Field (iPaaS.com)

Description

Dynamic Formula

LocationIdFromName(Warehouse)

LocationId

Required. Resolves the iPaaS.com Location by exact, case-sensitive match on the warehouse code.

Field

QtyOnHand

QtyOnHand

Recommended. The physical stock quantity of this variant in this warehouse.

Dynamic Formula

QtyOnHand - QtyAllocated - QtyAllocatedWip

QtyAvailable

Recommended. Quantity of this variant available to sell.

Field

UnitCost

Cost

Optional. The unit cost for this variant in this warehouse.

Update Syspro Product Inventory Standalone TO iPaaS.com

iPaaS.com data type: Product Inventory

Carries the same four mappings as the child inventory collection, but runs independently so stock can be refreshed without re-sending the whole product record. Its sync type is Update only — it will not create a product that is not already in iPaaS.com. Field mappings are identical to the child collection above.

Dynamic Formula Documentation

Both inventory collections share two formulas:

LocationIdFromName(Warehouse)

Looks up an existing iPaaS.com Location whose Name matches the Syspro warehouse code. The match is exact and case-sensitive; when nothing matches, no location is resolved and the required field is left unset, so the row fails.

QtyOnHand - QtyAllocated - QtyAllocatedWip

Subtracts stock allocated to sales orders and to work in progress from the on-hand quantity. The result is what downstream systems should treat as sellable. It can be negative; systems that cannot accept that should have the formula adjusted to clamp at zero.

Error Handling

Errors raised by this family are catalogued in the Syspro Error Messages article. The two most common failure modes are a stock item with no selling price, which fails because Default Price is required, and an inventory row whose warehouse has no matching iPaaS.com Location. Both appear under Dashboard / Integration Monitoring / Error Logs.

Testing & Validation

Test Scenarios

  1. Transfer the Syspro warehouses first, then transfer a simple stock item and verify the product and its inventory rows appear with correct quantities against the right Locations.

  2. Transfer a variant-parent item and verify the tracking method is Variant, every variant appears with its own SKU, and each variant carries its own stock rows.

  3. Attempt to transfer a stock item with no selling price and confirm the transfer fails naming the missing field.

  4. Attempt an inventory transfer for a warehouse that has not been transferred as a Location, and confirm it fails with a location-resolution error.

  5. Change a stock quantity in Syspro, re-transfer, and confirm the quantity updates without duplicating the product.

  6. Verify that an item whose committed stock exceeds on-hand produces a negative available quantity rather than an error.

  7. Run the standalone inventory collection against an already-transferred product and confirm quantities refresh without re-sending the product record.

Validation Checklist

  • Every Syspro warehouse in use exists as an iPaaS.com Location with a matching name.

  • Products carry a SKU, name, type, tracking method, price and status.

  • Variant parents show tracking method Variant; simple items show Product.

  • Variant SKUs differ from their parent's.

  • Inventory rows resolve to the expected Locations.

  • Repeat transfers update rather than duplicate.

Additional Notes

  • Status is fixed at Active. An obsolete Syspro item still arrives as Active, and a product previously disabled in iPaaS.com is set back to Active on the next transfer. Subscribers or their MiSP who need obsolete items reflected should replace the static value with a Dynamic Formula reading the relevant Syspro status field.

  • Type is fixed at Physical. A non-stocked or service item still arrives typed as Physical unless the static value is replaced with a formula returning Virtual for those items.

  • Product categories are out of scope. Syspro product classes are not captured as iPaaS.com categories.

  • Units of measure, kits and related products are out of scope. Alternate units, kit components and related-item relationships are not captured.

  • Variant options are out of scope. The structured option data describing what each variant represents is not captured — only the free-text description — so storefronts needing selectable size or colour options may require additional configuration.

  • Bulk initialization is not supported. An existing catalogue cannot be loaded in one operation. Subscribers or their MiSP should use bulk sync using Postman to load products in volume.

Related Documents

Did this answer your question?