Skip to main content

iPaaS.com To Jasper PIM Product Variant Inventory Mapping

Updated yesterday

Summary

Jasper PIM Product Variant Inventory can be transferred from iPaaS.com Product Variant Inventory through manual sync. Jasper PIM supports the manual synchronization of Product Inventory records from iPaaS.com using its Inventory API.

Mapping Collection Status

Product Variant Inventory Mapping

  • Status: Enabled

  • Trigger Events: Create, Update

Id Format

Description

When manually transferring a product variant inventory from iPaaS.com to Jasper, you must accurately input the iPaaS.com Product Variant Inventory ID (e.g., 12345|23453) into the designated field on the manual sync page.

System Caveats

iPaaS.com Caveats

  • Location Conversion Issues: If ConvertIpaasLocationIdToJasperLocationName fails, inventory records may not map to valid Jasper locations.

  • Partial Data in Required Fields: Missing Name, Sku, or CountOnHand in iPaaS may block product/variant creation or inventory sync.

Jasper Caveats

Inventory Rules

  • Location must be a valid Jasper-defined location.

  • CountOnHand must be numeric ≥ 0.

  • QtyAvailable updates are only accepted via inventory API, not directly on product.

Setup Requirements

Authentication & Security

  • API Key/OAuth token

    Jasper PIM: Requires an API key generated in the Jasper admin console with Product Inventory read/write permissions.

    iPaaS.com: Requires an access token for the Product Inventory API endpoint with create/update permissions.

Integration Flow

Product Variant Inventory Flow

  • When variant inventory updates occur in iPaaS.com, a sync triggers.

  • iPaaS.com fields (Id, ProductId, Location, QtyAvailable) are mapped to Jasper’s inventory fields.

  • The inventory record is created or updated in Jasper PIM against the corresponding product.

Mappings

Jasper Product Variant Inventory Updates From iPaaS (Standalone)

Mapping Type

Source Field (iPaaS.com)

Destination Field (Jasper PIM)

Description

Dynamic Formula

return await GetExternalIdAsync(Id, "Product Variant Inventory", SpaceportSystemId);

Id

Unique identifier for the product variant inventory record in Jasper PIM. Dynamically retrieved via GetExternalIdAsync to ensure consistency across systems.

Dynamic Formula

return await GetExternalIdAsync(ParentId, "Product Variant", SpaceportSystemId);

ProductId

Links the inventory record to its parent product variant in Jasper PIM. Uses GetExternalIdAsync on the parent product variant’s ID.

Dynamic Formula

return await ConvertIpaasLocationIdToJasperLocationName(LocationId);

Location

Converts the iPaaS LocationId into the corresponding Jasper PIM location name. Ensures stock is tied to the correct fulfillment or warehouse location.

Field

QtyAvailable

CountOnHand

Maps the available inventory quantity from iPaaS to Jasper PIM. Represents the number of units available at the specified location.

Error Handling

Product Variant Inventory

  • Missing Inventory Link

    • Description: ProductId not found in Jasper.

    • Resolution: Ensure parent product exists before inventory sync.

  • Invalid Location

    • iPaaS location not correctly converted to Jasper location name.

    • Resolution: Apply ConvertIpaasLocationIdToJasperLocationName and validate mapping.

  • Negative Quantities

    • CountOnHand or QtyAvailable < 0.

    • Resolution: Normalize to zero or reject record.

Testing & Validation

Test Scenarios

Negative Inventory

  • Action: Transfer inventory with negative QtyAvailable.

  • Expected Outcome: Normalized to 0 or rejected with error.

Validation Rules

Product Variant Inventory Validation

  • Id: Required, unique per inventory record.

  • ProductId: Required, must exist in Jasper.

  • Location: Required, must match valid Jasper location name.

  • CountOnHand (QtyAvailable): Required, integer ≥ 0.

Validation Checklist

  • Validate inventory link: ProductId must exist.

  • Confirm inventory quantities are non-negative integers.

  • Log and return errors for duplicates, invalid formats, missing fields.

Did this answer your question?