# NRI

### **1. Overview**

The **NRI 3PL Integration** in **XoroERP** enables seamless communication between XoroERP and **NRI’s third-party logistics (3PL)** system.\
This integration ensures **real-time synchronization** of products, orders, shipments, and inventory across both platforms — from order creation in XoroERP to final fulfillment and shipping confirmation by NRI.

Through this integration:

* Orders are automatically exported from XoroERP to NRI for fulfillment.
* NRI seamlessly updates Shipment information and Advance Shipping Notice (ASN) details directly into XoroERP.

This automation minimizes manual data entry, eliminates redundancy, and provides a consistent and reliable flow of warehouse information between systems.

***

### **2. Installation**

#### **Step 1: Connect to XoroERP Instance**

* Log in to your **XoroERP** account.
* Go to the **Apps** module from the main dashboard.
* Click on the **3PL Connections** tab.
* Select **Add 3PL Connection**.
* The system will display the available 3PL integrations.
* Choose the one you wish to install to begin the setup process.

#### **Step 2: Install the Integration App**

Click **Install** to add the NRI 3PL integration to your XoroERP instance.\
Once installed, it will be visible under your integrations list.

#### **Step 3: Login Using Credentials**

After installation:

* Log in using your NRI credentials (API endpoint, user and password provided by NRI.).
* Configure your **API credentials**, **default warehouse/store**, and **operational parameters** for export/import automation.\
  Make sure credentials are valid and authorized for 3PL data access.

***

### **3. Workflow**

The NRI 3PL integration automates the **entire fulfillment cycle**:

#### **Step 1: Wave Creation**

* Orders are grouped into **waves** in XoroERP based on defined allocation rules.
* Each wave represents a set of orders ready for fulfillment.
* Wave status is automatically monitored and updated.

#### **Step 2: Automatic Export to NRI**

* Once a wave is ready, orders are **automatically exported** to NRI for fulfillment.
* NRI coordinates picking, packing, and shipping at the assigned store or warehouse.

#### **Step 3: Shipment Fulfillment**

* Orders are picked, packed, and shipped by the 3PL.
* NRI communicates shipment details and tracking numbers back to the client.

#### **Step 4: Ship Confirmation**

* NRI sends **shipping confirmations** to XoroERP.
* XoroERP updates order and wave statuses, marks orders as shipped, and closes pick-pack operations automatically.

#### **Step 5: Invoice Creation**

* After shipment confirmation, **invoices are auto-generated** in XoroERP.
* The fulfillment cycle completes, maintaining full traceability from order to shipment.

> ⚙️ This workflow ensures **real-time data exchange** and **zero manual reconciliation** between XoroERP and NRI.

***

### **4. Settings**

***

#### **4.1** Data Export Settings

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

| Setting                           | UI Element | Description                                                                                                                                                                                                                                                                 |
| --------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Export Products to NRI            | Checkbox   | When enabled, product master data is exported from XoroERP to NRI. **If no tags are selected, all items are exported.** **If one or more tags are selected, only items with those tags are included.** *Example:* selecting **TAG A** exports only items tagged with TAG A. |
| Export Orders to NRI              | Checkbox   | Enables export of sales orders from XoroERP to NRI. **If no store is selected, orders from all stores are exported.** **If a specific store is selected, only orders from that store are sent to NRI.**                                                                     |
| Block Waves Created via QuickShip | Checkbox   | When enabled, **waves created through QuickShip are blocked from export to NRI.** This is typically used to exclude internal, test, or ad-hoc QuickShip waves from the NRI fulfillment flow.                                                                                |
| Split Quantity                    | Checkbox   | When enabled, **partial quantities are allowed to be exported to NRI** instead of waiting for the full order quantity to be available. This supports partial fulfillment scenarios.                                                                                         |

***

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

| Setting               | UI Element | Description                                                                                                                                                                                                                                                                              |
| --------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Ship Method Name(s)   | Text Field | Defines shipping methods that should be excluded from export to NRI. **If one or more ship methods are entered, orders using those methods are not exported.** **If left blank, all ship methods are allowed.** Example: entering *Local Pickup* excludes orders using that ship method. |
| Blocked SKU(s)        | Text Field | Lists item SKUs that should be excluded from export. Use comma-separated values to enter multiple SKUs. **If SKUs are entered, any order containing those SKUs is excluded.** **If left blank, all SKUs are eligible for export.**                                                       |
| Allowed Customer(s)   | Text Field | Restricts export to specific customers. **If customer codes are entered, only orders for those customers are exported.** **If left blank, orders for all customers are eligible.**                                                                                                       |
| Disable Multishipment | Checkbox   | Controls how shipment confirmations from NRI are handled. **When enabled, the first shipment confirmation received from NRI is treated as final.** All wave lines are automatically closed and any remaining unshipped quantities are unallocated.                                       |

***

#### **4.2 Filter Options**

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

| Setting     | UI Element | Description                                                                                                                                                                                                                                                           |
| ----------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Filter Name | Dropdown   | Defines the order field used to filter which orders are exported to NRI. **Supported fields include:** Ship To Country, Order Date, Third Party Source, Order Tags, Ship Service, and Order Type.                                                                     |
| Operator    | Dropdown   | Specifies how the selected filter field is evaluated. **Supported operators include:** Contains, Does Not Contain, Equals, Greater Than, and Less Than.                                                                                                               |
| Value       | Text Field | Defines the value used for comparison based on the selected filter and operator. **Text fields accept keywords; date and numeric fields accept corresponding values.** *Example:* setting **Order Tag → Contains → NRI** ensures only NRI-tagged orders are exported. |

***

#### **4.3 Pricing and Markup Settings**

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

| Setting                               | UI Element | Description                                                                                                                                                                                                                                                  |
| ------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Default SKU                           | Text Field | Used when SKU information is missing in shipment confirmations received from NRI. **If a shipment confirmation does not contain a SKU, the system automatically applies the Default SKU specified here** to complete shipment processing and avoid failures. |
| Shipping Markup                       | Text Field | Adds a percentage-based markup to the shipping cost received from NRI. **Entering a value applies that percentage as an increase** (for example, entering **10** adds a 10% markup). **If left blank, no markup is applied.**                                |
| Shipping Markup Order Type            | Text Field | Restricts the shipping markup to specific order types. **If one or more order types are specified, the markup is applied only to those orders.** **If left blank, the markup applies to all order types.**                                                   |
| Auto Create Carrier and Ship Services | Checkbox   | When enabled, **any carrier or ship service received from NRI that does not already exist in XoroERP is automatically created**. This prevents shipment processing failures caused by missing carrier or ship service configuration.                         |

***

#### **4.4 ASN (Advanced Shipping Notice) Settings**

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

| Setting                                      | UI Element | Description                                                                                                                                                                                                    |
| -------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Export ASNs to NRI                           | Checkbox   | Enables or disables the export of Advance Shipping Notices (ASNs) from XoroERP to NRI. **When enabled, ASN data is sent to NRI for inbound inventory processing. When disabled, no ASN records are exported.** |
| Batch Receive Location                       | Text Field | Defines the default store and location where inventory received via ASN is posted in XoroERP. **The value must be entered in the format `StoreName@LocationName`.**                                            |
| Batch Receive Location for Damaged Inventory | Text Field | Specifies the default store and location used when receiving damaged inventory. **The value must be entered in the format `DamageCode@StoreName@LocationName`.**                                               |
| Send Single ASN for Multiple POs             | Checkbox   | Controls how ASNs are generated for purchase orders. **When enabled, a single combined ASN is exported for multiple purchase orders. When disabled, a separate ASN is generated for each purchase order.**     |
| Restrict Transfer Purchase Order ASN         | Checkbox   | When enabled, **ASNs created for transfer purchase orders are blocked from being exported to NRI**, preventing internal transfers from entering the NRI flow.                                                  |
| Restrict Return ASN                          | Checkbox   | When enabled, **ASNs generated via RMA or Credit Memo are excluded from export to NRI**, ensuring only valid inbound ASNs are sent.                                                                            |
| Use Ship Date as Transaction Date            | Checkbox   | When enabled, **the shipment date is used as the transaction date** for ASN and inventory-related records, ensuring consistency in operational and financial reporting.                                        |
| Enable Inventory Adjustment                  | Checkbox   | When enabled, **inventory adjustment messages received from NRI are automatically applied in XoroERP**, keeping stock levels synchronized without manual intervention.                                         |

<figure><img src="/files/9YjxHnULdiCFeYTNQBEB" alt=""><figcaption></figcaption></figure>

| Setting               | UI Element | Description                                                                                                                                                                                                                                             |
| --------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Third Party Warehouse | Dropdown   | Selects the warehouse that represents NRI’s 3PL fulfillment center in XoroERP. **Orders exported to NRI and shipment confirmations received from NRI are associated with this warehouse**, ensuring correct inventory tracking and fulfillment mapping. |

***

#### **4.5 Inventory Sync Settings**

<figure><img src="/files/3ckt7zhXWsWq3sBUCEY0" alt=""><figcaption></figcaption></figure>

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

| Setting                     | UI Element    | Description                                                                                                                                                                                                                               |
| --------------------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Enable Full Inventory Sync  | Checkbox      | Enables scheduled inventory synchronization between XoroERP and NRI. **When enabled, inventory levels are regularly fetched from NRI and compared with XoroERP.** Enabling this option reveals additional inventory configuration fields. |
| Inventory Identifier Code   | Text Field    | Defines the identifier used to match inventory records between XoroERP and NRI. **This is typically an item number or SKU that must match in both systems** to ensure inventory is synchronized correctly.                                |
| Xoro Inventory Level        | Text Field    | Specifies which inventory quantity in XoroERP is used during synchronization. **The selected level is compared against the inventory data received from NRI** to determine updates.                                                       |
| Third Party Inventory Level | Text Field    | Defines the inventory quantity reported by NRI that XoroERP should align with. **This determines which stock level from NRI is treated as the source of truth during sync.**                                                              |
| Inventory Sync Schedule     | Configuration | Controls how often inventory synchronization runs. **You can configure the schedule to run once per day or at recurring intervals using hours and minutes**, allowing flexibility based on operational needs.                             |

***

#### **4.6 Import/Export Setting**

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

| Setting                               | UI Element     | Description                                                                                                                                                                                                                                          |
| ------------------------------------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Time Zone                             | Dropdown       | Selects the operational time zone used for scheduling all NRI-related import, export, and inventory sync jobs. **All automated jobs run according to this selected time zone.**                                                                      |
| Enable Auto Import / Export           | Checkbox       | When enabled, XoroERP automatically fetches and pushes data to and from NRI without manual intervention. **Jobs run based on the configured integration start date, interval (hour/minute), and whether the schedule is recurring or once per day.** |
| Integration Start Date                | Date Field     | Defines the date from which automated import and export jobs begin executing for NRI.                                                                                                                                                                |
| Hour / Minute (Interval)              | Numeric Fields | Specifies how frequently automated jobs run when recurring execution is selected. **The system executes jobs at the defined hour and minute interval.**                                                                                              |
| Recurring / Once Per Day              | Radio Option   | Controls whether import and export jobs run repeatedly at the defined interval or once per day.                                                                                                                                                      |
| Auto Import Start Time Offset         | Numeric Field  | Adjusts the import execution time earlier by the specified number of minutes. **For example, if the interval is 30 minutes and the offset is 5 minutes, the system fetches data every 25 minutes.**                                                  |
| Enable Pending Ship Confirmation Sync | Checkbox       | When enabled, **pending shipment confirmations from NRI are automatically fetched** at scheduled intervals, ensuring shipment status remains up to date without manual action.                                                                       |
| Receive Import Error Notifications    | Checkbox       | When enabled, **instant email notifications are sent whenever an import error occurs** for NRI-related jobs.                                                                                                                                         |
| Instant Error Email(s)                | Text Field     | Specifies one or more email addresses that receive immediate error notifications. **Multiple email addresses must be separated by commas.**                                                                                                          |
| Send Daily Error Email                | Checkbox       | When enabled, **a daily summary email containing all import and export errors is sent** to the configured recipients.                                                                                                                                |
| Daily Error Email(s)                  | Text Field     | Specifies the email addresses that receive the daily error summary. **Multiple addresses must be separated by commas.**                                                                                                                              |
| Exclude Logs                          | Text Field     | Allows filtering of log entries included in email notifications. **Keywords can be entered to exclude matching logs, and wildcards (such as `*error*`) are supported** to reduce notification noise.                                                 |

***

### **5. Operations Page**

This page provides tools to monitor, control, and manually trigger data syncs.

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

**Header Options**

* **Add Account** – You can use this to add another NRI account to your NRI 3PL account with XoroERP.
* **Change Account** – Clicking this will display a dropdown of all added accounts, allowing you to select or switch between them. You can update or change the linked NRI account as needed.
* **Remove Account** – Disconnect the NRI integration from XoroERP for that particular account.
* **Settings** – Access configuration options to control how data is exchanged between XoroERP and NRI.

**Sync Xoro Data to NRI**

Automatically push orders, ASNs, and shipment data.

* **Start Date / End Date:** Define the sync period.
* **Search Query:** Filter specific orders or records.

***

**Automatic Adjustments**

* Orders and ASNs are pushed instantly.
* Ship and ASN confirmations are received automatically from NRI.

***

#### **Previous Exports**

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

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

* View pending or completed order exports.
* **Options:**

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

* **Run:** Push orders manually(used when there is an issue with the order).
* **Mark as Resolved:** Marks as processed and no further action will be performed on the Resolved Order.
* **Mark as Unresolved:** Makes order available for reprocessing.
* **Checkboxes:**
  * *Hide Resolved Exports* → Hides completed orders.
  * *Show Errors Only* → Displays only failed exports.

***

#### **5.2 Ship Confirmations**

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

The **Ship Confirmations** section provides a comprehensive view of all shipment confirmations received from NRI(3PL provider). This allows you to track which shipments have been successfully confirmed, identify errors, and take necessary actions to ensure smooth order fulfillment.

**Key Actions:**

* **Run:** Execute the shipment confirmation process in XoroERP to update the status of pending shipments.
* **Mark as Resolved:** Mark specific confirmations as resolved once the issues are addressed.
* **Mark as Unresolved:** Revert a confirmation to unresolved if further attention is needed.

**Filter Options:**

* **Hide Resolved:** Exclude resolved confirmations from the view to focus on pending or problematic shipments.
* **Show Errors Only:** Display only the confirmations that encountered errors during processing, helping you quickly identify and resolve issues.

***

#### **5.3 ASNs**

* Lists all exported ASNs.
* Options: Run, Mark as Resolved, Mark as Unresolved.

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

***

#### **5.4 ASN Confirmations**

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

The **ASN Confirmations** tab displays all processed **Advance Shipment Notice (ASN)** confirmations sent by NRI to **XoroERP,** and XoroERP has processed successfully.

**Purpose**

To track and manage shipment confirmations received from NRI, ensuring shipment data stays synchronized.

**Options**

* **Run:** Runs the fetched ASN confirmations for that particular order displayed in the log.&#x20;
* **Mark as Resolved:** Marks selected confirmations as processed.
* **Mark as Unresolved:** Reopens a previously resolved record for reprocessing.

**Usage Example**

* Shows all ASN confirmations including erroneous.
* Options: Run, Mark as Resolved, Mark as Unresolved.

***

#### **5.5 SKU**

The **SKU tab** in the NRI Integration module is designed to manage and monitor the synchronization of product SKUs (Stock Keeping Units) between **XoroERP** and **NRI**. This ensures that item data remains consistent across both systems, reducing manual intervention and preventing discrepancies during order or inventory operations.

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

**Purpose:**

To ensure that every product (SKU) created or updated in XoroERP is properly reflected in NRI. It helps users track which SKUs are successfully synced, and which needs reprocessing.

* Manages SKU synchronization between systems.
* Options: Run, Mark as Resolved, Mark as Unresolved.

#### **Action Buttons / Options:**

**a) Run**

This triggers the synchronization process for SKUs.

* When clicked, XoroERP attempts to send SKU details (like product name, description, pricing, etc.) to NRI.
* If successful, the sync status updates to **Resolved**.
* Useful for bulk or manual re-sync operations when SKUs weren’t automatically updated earlier.

**b) Mark as Resolved**

This option is used when a synchronization issue has been manually addressed or verified as complete outside of the automated process.

* It tells the system to treat that SKU as successfully synced, even if the earlier attempt had failed.
* Helpful in cases where the SKU already exists in NRI but was flagged as not synced due to minor data mismatches.

**c) Mark as Unresolved**

Marks the selected SKU(s) as **Unresolved**, signaling that there is still a pending issue requiring attention.

***

#### **Example Use Case:**

Let’s say a new SKU was added in XoroERP — *SKU: ABC123*.\
During integration:

* The **Run** option pushes ABC123 to NRI.
* If successful → status = *Resolved*.
* If there’s a mismatch (say, missing UOM or invalid category), it will show as *Unresolved*.&#x20;
* After manually fixing the error, you can click **Run** again or mark it as **Resolved** if already corrected in NRI.
* If a data inconsistency is detected on Xoro’s end, an error message will be displayed. Once the item is updated in Xoro, a new log entry will be generated for the same item, which will then be automatically pushed to the system.

***

#### **5.6 Inventory Adjustment**

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

The **Inventory Adjustments** tab is used to monitor and manage inventory adjustment records received from NRI and applied in XoroERP.

***

#### Actions

* **Run** – Manually processes pending inventory adjustment records.
* **Mark as Resolved** – Marks selected adjustment records as processed.
* **Mark as Unresolved** – Reopens resolved records for review or reprocessing.

***

#### Search

**Search By** options include:

* **Adjustment #** – Locate a specific adjustment record.
* **Keyword** – Search using text from system messages.

***

#### Filters

* **Hide Resolved Exports** – Hides adjustment records already marked as resolved.
* **Show Errors Only** – Displays only records that encountered errors.

***

#### Displayed Information

Each record shows:

* **Adjustment #** – Adjustment reference number.
* **Last Execution Date** – Most recent processing attempt.
* **Message** – Status or error details related to the adjustment.

#### **5.7 Logs**

The **Logs** tab tracks all synchronization activities between **XoroERP** and **NRI**, providing visibility into exports, updates, and potential errors.

**Purpose**

To monitor and troubleshoot integration events such as SKU, Order, Shipment, and Inventory syncs.

**Columns**

* **Export Date:** Date and time of the export activity.
* **Type:** Data type exported (e.g., Order, SKU, Inventory, Shipment).
* **Keyword:** Identifier used for quick reference (e.g., SKU or order number).
* **Order Ref#:** Order reference number related to the export.

#### **Filters**

* **Hide Resolved Exports:** Displays only unresolved or pending exports for easier issue tracking.
* **Show Errors Only:** Filters the list to show only failed exports, simplifying troubleshooting.

#### **Usage Example**

If an order fails to sync, apply the **Show Errors Only** filter, locate the entry using **Order Ref#**, review the error, and retry the export once corrected.

* Displays integration activities.
* Filters: Hide Resolved Exports, Show Errors Only.
* Columns: Export Date, Type, Keyword, Order Ref#.

***

### **6. Summary**

The **NRI 3PL Integration** in **XoroERP** provides a **complete, automated, and configurable bridge** between XoroERP and NRI’s fulfillment system.\
It handles **order exports, shipment and ASN imports, inventory synchronization, and carrier management** — all from a single unified interface.

With fine-grained filters, automatic scheduling, and error handling, this integration ensures:

* **Faster fulfillment**
* **Fewer manual errors**
* **Accurate inventory visibility**
* **Smooth 3PL collaboration**

> ⚡ *In short, NRI 3PL Integration transforms manual logistics into an automated, error-free, and transparent workflow within XoroERP.*


---

# 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/nri.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.
