Skip to main content

Epicor Prophet 21 Add Product Inventory To iPaaS

Transfer inventory records from Prophet 21 to iPaaS.com

Updated over a week ago

Overview

This integration transfers item inventory records from Prophet 21 to iPaaS.com. The integration ensures that whenever an item inventory is created or updated in Prophet 21, the corresponding Product Inventory record is transferred and updated in iPaaS, keeping inventory information consistent across systems.

Mapping Collection Status

  • Mapping Status: Enabled.

  • Trigger Events: The sync is triggered by the creation or update of item in Prophet 21.

ID Format

When manually syncing, the correct Prophet 21 item inventory ID must be entered concatenated with the item ID (e.g., item ID is 12 and item inventory with ID 12345 then β€œ12|12345” must be entered).

Duplicate or Conflicting Mappings

This mapping applies only to Product Inventory. Ensure no other mappings target the same iPaaS.com entity to prevent data from being overwritten.

Conflicting Mappings

This mapping applies only to Product Inventory from Prophet 21. Ensure no other mappings target the same iPaaS Product Inventory entity to prevent data from being overwritten.

System Caveats

Prophet 21

  • Item must already exists in iPaaS.com.

iPaaS.com

  • Valid Product exists in iPaaS.com.

Setup Requirements

Prophet 21 Configuration

  • Ensure item Id is valid.

iPaaS Configuration

  • Ensure Product already exists in iPaaS.com

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 inventory records as follows:

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

  2. Item inventory data is fetched from Prophet 21.

  3. The mapping filter validates that the Location exists in iPaaS.

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

  5. Required fields (LocationId, ParentId) are validated.

  6. The Product Inventory is inserted or updated in iPaaS.

  7. Upon successful transfer, the inventory record is linked to the Product in iPaaS.

Mappings

Product Inventory to iPaaS.com

Mapping Filter

var iPaaSLocationId = await GetSpaceportIdAsync(LocationId, "Location", SpaceportSystemId);
if(String.IsNullOrEmpty(iPaaSLocationId.toString())) {
return false;
}
return true;

Description

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.

Mapping Type

Source (Prophet 21)

Destination (iPaaS.com)

Description

Dynamic Formula

return await GetSpaceportIdAsync(Id.Split("|")[0], "Product", SpaceportSystemId);s

ParentId

Returns the iPaaS Product ID by looking up the Prophet 21 Product ID. Returns null if the Product does not exist in iPaaS.

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

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

Location Not Mapped

Location does not exist in iPaaS.

  • Description: The mapping filter could not find the corresponding Location in iPaaS for the given Prophet 21 Location ID.

  • Resolution: Sync or manually create the Location in iPaaS before syncing inventory for that location.

Validation & Testing

Before deploying this integration, verify the following configuration items and run the test scenarios to confirm proper operation.

Validation Checklist

  1. Product must exist in iPaaS before syncing inventory.

  2. Location must exist in iPaaS (mapping filter validates this).

  3. ParentId resolves to a valid iPaaS Product.

  4. LocationId resolves to a valid iPaaS Location.

  5. QtyOnHand and QtyInProcess are valid numeric values.

  6. MovingAverageCost is a valid numeric value.

Test Scenarios

Scenario 1: New Product Inventory Sync

Create a new item inventory record in Prophet 21 with valid Item ID and Location. Sync to iPaaS and verify the Product Inventory appears with correct quantity and cost values.

Scenario 2: Inventory Update for Valid Location

Update quantity values (QtyOnHand, QtyInProcess) in Prophet 21. Sync to iPaaS and verify QtyOnHand and QtyAvailable update correctly without creating duplicate records.

Scenario 3: 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 record is created.

Scenario 4: Missing Product (Failure Case)

Attempt to sync inventory for a Product that does not exist in iPaaS. Verify the system returns an appropriate error for ParentId resolution failure.

Additional Notes

  • Ensure Products are synced to iPaaS before syncing their inventory records.

  • Ensure Locations are synced to iPaaS before syncing inventory for those locations.

Did this answer your question?