Skip to main content

Epicor Prophet 21 Add/Update Product TO iPaaS

Add or update Prophet 21 product records in iPaaS.com

Updated over a week ago

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:

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:

  1. The integration is triggered when an Item is created or updated in Prophet 21.

  2. Item data is fetched from Prophet 21.

  3. Field mappings and dynamic formulas are applied to transform data.

  4. Required fields (Sku, Name) are validated.

  5. The Product is inserted or updated in iPaaS.

  6. Child collections (Product Inventory) are processed for mapped Locations.

  7. 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

InActive == "N" ? "Active" : "Disabled";

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

return await GetSpaceportIdAsync(LocationId, "Location", SpaceportSystemId);

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

  1. ItemId (Sku) is present and unique.

  2. ItemDesc (Name) is populated.

  3. InActive flag contains a valid value (N or Y).

  4. Price values are numeric and valid.

  5. Dimension fields are numeric (if provided).

  6. Location exists in iPaaS before syncing inventory.

  7. Type is set to Physical (static).

  8. 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.

Did this answer your question?