# SPS Fulfillment

### **1. Overview**

SPS Fulfillment functions as an **EDI-based 3PL integration layer** between XoroERP and multiple downstream warehouse partners. Instead of XoroERP integrating directly with each 3PL, SPS Fulfillment acts as the intermediary that routes files, acknowledgements, and inventory data across systems.

XoroERP communicates with SPS Fulfillment using **FTP-based file exchange**, enabling structured, traceable, and scheduled data flow for warehouse operations.

Through this integration, XoroERP supports:

* Product master synchronization
* Sales order exports
* Shipment confirmations
* ASN exports and confirmations
* Inventory updates and adjustments
* Centralized error handling and reporting

This architecture allows XoroERP to manage multiple fulfillment partners through a **single, standardized integration**.

***

### **2. Workflow (FTP-Based Integration)**

#### **2.1 Data Export & Import**

XoroERP exports **product, order, ASN, and inventory files** to SPS Fulfillment using configured FTP directories and file naming conventions.

* Files are generated based on:
  * Target Directories
  * Archive Directories
  * File Naming Formats
* SPS Fulfillment continuously monitors these directories
* Incoming files are picked up, validated, and processed
* Processed files are archived to prevent duplicate execution

This file-based exchange is the foundation of all SPS Fulfillment communication.

***

#### **2.2 Order Fulfillment**

* Sales orders exported from XoroERP are received by SPS Fulfillment
* SPS routes orders to the appropriate downstream 3PL
* Orders are picked, packed, and shipped based on:
  * Carrier mappings
  * Ship service mappings
  * Shipping terms

After shipment:

* SPS Fulfillment sends **Ship Confirmation files** back to XoroERP
* XoroERP updates:
  * Order status
  * Wave lines
  * Shipped quantities
  * Carrier and service details
  * Tracking information

***

#### **2.3 ASN Processing & Inventory Receiving**

* ASNs exported from XoroERP notify SPS Fulfillment of inbound inventory or returns
* Upon physical receipt, SPS sends **ASN Confirmation files** back
* XoroERP receives inventory into:
  * Configured batch receive locations
  * Separate damaged inventory locations (when applicable)

***

#### **2.4 Inventory Updates & Adjustments**

* Inventory adjustments (shortages, overages, damages, cycle counts) are generated by downstream 3PLs
* SPS Fulfillment transmits these adjustments back to XoroERP
* XoroERP imports adjustments using dedicated directories

**Important Note – Inventory Feed (EDI 846)**

{% hint style="info" %}
SPS Fulfillment inventory feeds **do not support delta-based quantity updates**.
{% endhint %}

XoroERP:

* Pulls the full inventory state
* Pushes full inventory quantities to SPS at regular intervals
* Does not send incremental changes

***

#### **2.5 Automation & Notifications**

* Scheduled jobs ensure continuous synchronization of:
  * Products
  * Orders
  * Shipments
  * ASNs
  * Inventory adjustments
* Email notifications alert stakeholders to:
  * Import/export failures
  * Validation issues
  * Processing errors

***

### **3. Settings**

#### **3.1 Use Archive Directory (Checkbox)**

Stores processed SPS files in an archive directory for audit and troubleshooting.

***

#### **3.2 Export Products to Bleckmann (Checkbox)**

Enables product master export from XoroERP to SPS Fulfillment.

**Target Directory Products (Field)**

FTP directory where product files are generated.

**Product File Name (Field)**

Naming convention for product export files.

**Link item(s) containing following tags (Field)**

Exports only items with selected tags.

***

#### **3.3 Export orders to SPS (Checkbox)**

Enables sales order export from XoroERP to SPS Fulfillment.

**Drop order(s) from the following store(s) (Dropdown)**

Only orders from selected stores are exported.

***

#### **3.4 Block waves created via QuickShip in Xoro from flowing into SPS (Checkbox)**

Prevents QuickShip-generated waves from being exported.

***

#### **3.5 Item Identifier Code (Checkbox)**

Controls which item identifier is used in SPS files.

***

#### **3.6 Split Quantity (Checkbox)**

Splits merged quantities into individual lines before export.

***

#### **3.7 Ship Method Name(s) (Field)**

Ship methods listed here are excluded from SPS exports.

***

#### **3.8 Block waves created via QuickShip in Xoro from flowing into SPS (Checkbox)**

Duplicate setting retained exactly as provided.

***

#### **3.9 Blocked SKU(s) (Field)**

SKUs listed here are excluded from order exports.

***

#### **3.10 Block Non Inventory SKUs (Checkbox)**

Removes non-inventory items from orders before export.

***

#### **3.11 Allowed Customer(s) (Field)**

Only orders for selected customers are exported.

***

#### **3.12 Target Directory Order (Field)**

FTP directory for outbound order files.

***

#### **3.13 Target Directory Ship Confirmation (Field)**

FTP directory from which ship confirmations are imported.

***

#### **3.14 Archive Directory Ship Confirmation (Field)**

Processed ship confirmations are archived here.

***

#### **3.15 Order File Name (Field)**

Format:\
`[ClientId]_ORD_IN_[yyyyMMdd_HHmmssms]`

***

#### **3.16 Disable Multishipment (Checkbox)**

Treats first ship confirmation as final and unallocates remaining quantities.

***

#### **3.17 Disable Multishipment (Checkbox)**

Duplicate retained as provided.

***

#### **3.18 Filter Name (Dropdown)**

Selects order attribute for filtering (e.g., Order Tags, Country).

***

#### **3.19 Operator (Dropdown)**

Defines how the filter is applied.

***

#### **3.20 Value (Field)**

Filter value used for order eligibility.

***

#### **3.21 Default SKU (Field)**

Fallback SKU when none is provided.

***

#### **3.22 Third Party Site Id (Field)**

Identifies the SPS site or downstream 3PL.

***

#### **3.23 Shipping Markup (Field)**

Applies percentage-based shipping markup.

***

#### **3.24 Shipping Markup Order Type (Field)**

Restricts markup to specific order types.

***

#### **3.25 Carrier Name (Field)**

Carrier name sent to SPS.

***

#### **3.26 Third Party Carrier Name (Field)**

Carrier name expected by downstream 3PL.

***

#### **3.27 Ship Service Name (Field)**

Shipping service used.

***

#### **3.28 Third Party Ship Service Name (Field)**

Service name used by 3PL.

***

#### **3.29 Shipping Terms (Field)**

Defines shipping terms.

***

#### **3.30 Third Party Shipping Terms (Field)**

Shipping terms required by downstream 3PL.

***

#### **3.31 Use Ship Date as Transaction Date (Checkbox)**

Uses ship date as transaction date in XoroERP.

***

#### **3.32 Export ASNs to SPS (Checkbox)**

Enables ASN export to SPS.

**Batch Receive Location (Field)**

Format: `StoreName@LocationName`

**Batch Receive Location For Damaged Inventory (Field)**

Format: `DamageCode@StoreName@LocationName`

**Target Directory ASN (Field)**

FTP directory for ASN exports.

**Target Directory ASN Confirmation (Field)**

FTP directory for ASN confirmations.

**Archive Directory ASN Confirmation (Field)**

Archives processed ASN confirmations.

**ASN File Name (Field)**

Format: `[ClientId]_PRA_IN_[yyyyMMdd_HHmmssms]`

**Return ASN File Name (Field)**

Format: `[ClientId]_RMA_IN_[yyyyMMdd_HHmmssms]`

***

#### **3.33 Enable Inventory Adjustment (Checkbox)**

Enables inventory adjustment exchange.

**Display Location Name (Field)**

Includes readable location name in files.

**Target Directory Inventory Adjustment (Field)**

FTP directory for inventory adjustment files.

**Archive Directory Inventory Adjustment (Field)**

Archives processed inventory adjustments.

***

#### **3.34 Time Zone (Field)**

Defines the time zone used for all scheduled SPS import/export jobs.

***

### **4. Operations Page**

The Operations Page is the **central control panel** for monitoring and managing all SPS Fulfillment activity.

***

<figure><img src="/files/WF3fOcwzYKMazQpvexCK" alt=""><figcaption></figcaption></figure>

**Header Options**

**Add Account**\
Adds a new SPS Fulfillment account.

**Change Account**\
Switch or update SPS credentials.

**Remove Account**\
Disconnects SPS Fulfillment integration.

**Settings**\
Opens configuration for exports, filters, scheduling, and notifications.

***

**Import Button**

Manually imports:

* Ship Confirmations
* ASN Confirmations
* Inventory Adjustments
* Transfer Confirmations

Used for reprocessing, testing, or immediate updates.

***

#### **Previous Exports**

View a history of previously exported data with options to manage and reprocess items.

#### **Orders**&#x20;

The **Orders** tab manages the export of sales orders from XoroERP to SPS Fulfillment.

This tab allows users to manually trigger order exports and review execution status for each order.

**Available Actions:**

* **Run** – Initiates export of eligible orders to SPS Fulfillment based on the configured filters and rules.
* **Mark as Resolved** – Marks completed or corrected records as resolved.
* **Mark as Unresolved** – Reopens previously resolved records for reprocessing.

**Filters:**

* **Hide Resolved** – Displays only unresolved or failed records.
* **Show Errors Only** – Displays only records that encountered errors.

**Information Displayed:**

* Order Number
* Last Execution Date
* Execution Status
* Error / Response Message

This tab is used to monitor whether orders are successfully exported and to reprocess failed exports.

***

#### **Ship Confirmations**&#x20;

The **Ship Confirmations** tab processes shipment confirmations received from SPS Fulfillment.

When shipment files are imported, XoroERP updates related order and wave records accordingly.

**Available Actions:**

* **Run** – Manually fetches shipment confirmations from SPS Fulfillment.
* **Mark as Resolved** – Marks processed shipment records as resolved.
* **Mark as Unresolved** – Reopens records for re-import.

**Filters:**

* **Hide Resolved**
* **Show Errors Only**

**Updates Performed in XoroERP:**

* Shipped quantities
* Tracking number(s)
* Order and wave shipment status

***

#### **ASNs**&#x20;

The **ASNs** tab handles the export of Advance Shipping Notices (ASN) from XoroERP to SPS Fulfillment.

ASNs represent inbound inventory shipments being sent to the fulfillment partner.

**Available Actions:**

* **Run** – Exports pending ASN records to SPS Fulfillment.
* **Mark as Resolved / Unresolved** – Controls reprocessing behavior.

This tab ensures that inbound shipment data is correctly communicated to SPS Fulfillment before inventory is received.

***

#### **ASN Confirmations**&#x20;

The **ASN Confirmations** tab imports confirmations received from SPS Fulfillment once inbound inventory is received.

**Available Actions:**

* **Run** – Fetches ASN confirmation files.
* **Mark as Resolved / Unresolved**

**Updates Performed in XoroERP:**

* Received quantities
* Inventory location updates
* ASN and receiving status updates

This ensures that inventory records in XoroERP remain accurate after goods are received at the fulfillment warehouse.

***

#### **SKU**&#x20;

The **SKU** tab manages synchronization of product master data between XoroERP and SPS Fulfillment.

**Available Actions:**

* **Run** – Pushes or fetches SKU records depending on the configuration.
* **Mark as Resolved / Unresolved**

This tab ensures that all SKUs used in fulfillment exist in SPS Fulfillment with correct identifiers and attributes.

***

#### **Logs**

The **Logs** tab provides a complete audit trail of all SPS Fulfillment integration activities.

It includes records for:

* Import executions
* Export executions
* Scheduled jobs
* Errors and warnings

Each log entry captures execution time, process type, status, and system messages, enabling administrators to troubleshoot issues and audit historical activity.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.xorosoft.com/xoroerp-1/3pl-connections/sps-fulfillment.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
