Overview
This integration transfers item records from Prophet 21 to iPaaS. The integration ensures that whenever an item is created or updated in Prophet 21, the corresponding product record is transferred and updated in iPaaS, keeping product information consistent across systems.
ID Format
When manually transferring data from Prophet 21 to iPaaS, enter the Prophet 21 Item ID in the iPaaS input field (for example, 12345). The Prophet 21 Item ID is used directly without any suffix.
External ID Format: The Item ID serves as the external ID in iPaaS.com. For example: ABCBH0007.
Mapping Collection Status
Mapping Status: Enabled.
Trigger Events: Create, Update.
Duplicate or Conflicting Mappings
This mapping applies only to Products from Prophet 21. Ensure no other mappings target the same iPaaS.com Product entity to prevent data from being overwritten.
Supported Child Collections
The integration supports the synchronization of the parent Product and its related child collections:
Prophet 21 Product Inventory Add To iPaaS: Maps the inventory and product details.
System Caveats
Prophet 21
ItemId must be unique and non-empty
Price fields (Price1, Price2, Price3) must follow Prophet 21 pricing configuration
Inactive status must be properly maintained in the InActive field for correct iPaaS status mapping.
iPaaS.com
iPaaS requires Sku, Name, and Type for product creation.
Products must follow the "Physical" type format; this mapping uses Physical as a static value
TrackingMethod is statically set to Product.
Setup Requirements
Prophet 21 Configuration
Maintain accurate UPC/EAN codes in UpcOrEan.
Ensure dimension fields (Width, Height, Depth, Weight) are numeric.
Maintain correct tax classes in ItemSalesTaxClass.
iPaaS Configuration
Ensure Product Status values (Active / Inactive) are mapped correctly
Duplicate SKUs must be resolved before enabling sync
Authentication & Security
Prophet 21 uses username and password authentication to access the iPaaS API. These credentials authorize all Prophet 21 API requests during transfer operations.
Integration Flow
The integration processes Prophet 21 item records as follows:
The integration is triggered when an Item is created or updated in Prophet 21.
Item data is fetched from Prophet 21.
Field mappings and dynamic formulas are applied to transform data.
Required fields (Sku, Name) are validated.
The Product is inserted or updated in iPaaS.
Child collections (Product Inventory) are processed for mapped Locations.
Sync results are logged for troubleshooting.
Mappings
Parent Collection: Prophet 21 Add Product To iPaaS
Description
This mapping collection transfers item data from Prophet 21 to iPaaS as Product records.
Mapping Type | Source (Prophet 21) | Destination (iPaaS.com) | Description |
Field | ItemId | Sku | Maps the Prophet 21 ItemId to the iPaaS Sku. This is a required field. |
Field | ItemDesc | Description | Maps the Prophet 21 ItemDesc to the iPaaS Description. This is a required field. |
Static | Physical | Type | Sets the iPaaS Type to the static value Physical. |
Field | Price | DefaultPrice | Maps the Prophet 21 Price to the iPaaS DefaultPrice. |
Field | UpcOrEan | Barcode | Maps the Prophet 21 UpcOrEan to the iPaaS Barcode. |
Field | Dlength | Depth | Maps the Prophet 21 Dlength to the iPaaS Depth. |
Field | Height | Height | Maps the Prophet 21 ItemId to the iPaaS Sku. This is a required field. |
Field | Price2 | MSRP | Maps the Prophet 21 Price2 to the iPaaS MSRP. |
Field | ItemDesc | Name | Maps the Prophet 21 ItemDesc to the iPaaS Name. |
Field | Price3 | SalePrice | Maps the Prophet 21 Price3 to the iPaaS SalePrice. |
Dynamic Formula |
| Status | Checks the InActive flag: returns Active if InActive is N, otherwise returns Disabled. |
Field | ItemSalesTaxClass | TaxClass | Maps the Prophet 21 ItemSalesTaxClass to the iPaaS TaxClass. |
Field | Weight | Weight | Maps the Prophet 21 Weight to the iPaaS Weight. |
Field | Width | Width | Maps the Prophet 21 Width to the iPaaS Width. |
Static | Product | TrackingMethod | Sets the iPaaS TrackingMethod to the static value Product. |
Child: Prophet 21 Add Product Inventory iPaaS
Mapping Filter
var iPaaSLocationId = await GetSpaceportIdAsync(LocationId, "Location", SpaceportSystemId);
return !String.IsNullOrEmpty(iPaaSLocationId.toString()) ? true : false;
This filter checks if the Location exists in iPaaS by looking up the Prophet 21 Location ID. If the Location exists, the inventory proceeds to transfer. If not found, the transfer is skipped.
Description
This mapping collection transfers product inventory data from Prophet 21 to iPaaS. Inventory is only synced for Locations that exist in iPaaS.
Mapping Type | Source (Prophet 21) | Destination (iPaaS.com) | Description |
Field | MovingAverageCost | Cost | Maps the Prophet 21 MovingAverageCost to the iPaaS Cost. |
Dynamic Formula |
| LocationId | Returns the iPaaS Location ID by looking up the Prophet 21 Location ID. Returns null if the Location does not exist. |
Field | QtyInProcess | QtyAvailable | Maps the Prophet 21 QtyInProcess to the iPaaS QtyAvailable. |
Field | QtyOnHand | QtyOnHand | Maps the Prophet 21 QtyOnHand to the iPaaS QtyOnHand. |
Error Handling
Missing SKU
ItemId is missing
Description: iPaaS requires a valid Sku (mapped from ItemId) to create a Product entry.
Resolution: Update Prophet 21 with a valid ItemId
Invalid Status
InActive flag missing or invalid
Description: The Status dynamic formula requires the InActive field to contain N or Y.
Resolution: Ensure Prophet 21 maintains proper N/Y values.
Location Not Mapped
Location does not exist in iPaaS
Description: The inventory mapping filter could not find the corresponding Location in iPaaS.
Resolution: Sync or manually create the Location in iPaaS
Validation & Testing
Before deploying this integration, verify the following configuration items and run the test scenarios to confirm proper operation.
Validation Checklist
ItemId (Sku) is present and unique.
ItemDesc (Name) is populated.
InActive flag contains a valid value (N or Y).
Price values are numeric and valid.
Dimension fields are numeric (if provided).
Location exists in iPaaS before syncing inventory.
Type is set to Physical (static).
TrackingMethod is set to Product (static).
Test Scenarios
Scenario 1: New Product Sync
Create a new Item in Prophet 21 with ItemId, ItemDesc, and pricing fields. Sync to iPaaS and verify the Product appears with the correct Sku, Name, and prices.
Scenario 2: Update Dimensions or Pricing
Modify dimension fields (Width, Height, Dlength) or pricing (Price, Price2, Price3) in Prophet 21. Sync to iPaaS and verify changes are reflected without creating duplicates.
Scenario 3: Status Change
Change the InActive flag from N to Y in Prophet 21. Sync to iPaaS and verify Status changes from Active to Disabled.
Scenario 4: Inventory Sync for Valid Location
Sync inventory for a Location that exists in iPaaS. Verify QtyOnHand, QtyAvailable, and Cost values update correctly.
Scenario 5: Inventory Sync for Invalid Location (Failure Case)
Attempt to sync inventory for a Location that does not exist in iPaaS. Verify the mapping filter blocks the sync, and no inventory record is created.
Additional Notes
TrackingMethod is hardcoded as Product for all items.
