IntegrationsEvri Fulfilment Integration

Evri 3PL Fulfilment Integration via Rishvi Services

A secure, scalable, API-driven middleware integration that automates the complete fulfilment workflow between Linnworks and Evri 3PL Fulfilment, powered by Rishvi Services.

Overview

The Evri 3PL Fulfilment Integration, powered by Rishvi Services, automates the complete fulfilment workflow between Linnworks and Evri 3PL Fulfilment. Rishvi Services acts as a secure, stateless, API-driven middleware layer between both systems - handling order submission, cancellation, shipment tracking updates, and stock synchronisation.

Architecture at a glance

Once configured, the integration runs automatically. Most operations require no manual intervention - orders flow from Linnworks to Evri 3PL, and shipment and stock updates flow back, all without manual data entry.


Integration Scope

The integration covers four key areas of the fulfilment workflow.


Installation Guide

Before you can use the Evri 3PL Fulfilment Integration, you need to install the Evri 3PL application in your Linnworks account and sign in to the integration portal. Follow the steps below.

Steps to Install

Open the Installation Link and Log In

  1. Click the Evri 3PL Installation URL provided to you.

  2. Tick I Agree to the terms and conditions.

  3. Enter your Linnworks Master Account Email and Password.

  4. Click Login.

Note: You must use your Linnworks Master Account credentials to install the application. Sub-account credentials will not work.

Step 1 -  Open the installation link and log in with your Linnworks Master Account
Step 1 - Open the installation link and log in with your Linnworks Master Account

How Orders Are Fulfilled

When an eligible order is available in Linnworks, the integration follows a defined sequence to submit it to Evri 3PL Fulfilment.

Step 1 - Tenant configuration validation

Rishvi Services validates the tenant configuration before any order data is processed. This includes confirming that Linnworks credentials, Evri 3PL credentials, and shipping service mappings are present and valid. If configuration validation fails, the order is not submitted and an error is recorded.

Step 2 - Order data mapping

The middleware reads the Linnworks order and maps all required fields to the Evri 3PL Fulfilment request format. Mapped fields include:

  • Customer information - name and contact details

  • Delivery address - full address including postcode and country

  • Shipping service - mapped from the Linnworks service to the configured Evri 3PL service code

  • SKUs - item codes as recognised by Evri 3PL Fulfilment

  • Quantities - ordered quantities per line item

Step 3 - Order submission to Evri 3PL

Once validated and mapped, the order is submitted to Evri 3PL Fulfilment via the Evri 3PL API. The middleware applies retry and backoff handling for transient API errors to ensure reliable delivery.

Step 4 - Order linkage stored

On successful submission, the middleware stores a clear link between the Linnworks order ID and the Evri 3PL fulfilment reference. This linkage is used throughout the order lifecycle for tracking, reconciliation, and cancellation handling.

Step 5 - Linnworks order updated

The Linnworks order is updated to reflect that it has been submitted to Evri 3PL Fulfilment. Relevant notes or identifiers are applied so warehouse and support teams can see the current status at a glance.


Order Cancellation

If an order needs to be cancelled before it is despatched by Evri 3PL, the integration provides cancellation handling.

Cancellation Handling

When a cancellation request is received, Rishvi Services uses the stored Linnworks ↔ Evri 3PL order linkage to identify the corresponding Evri 3PL fulfilment reference. The cancellation request is then passed to Evri 3PL where the order is still eligible for cancellation (i.e. not yet despatched). The result is recorded and Linnworks is updated accordingly.

Cancellation is only possible before Evri 3PL despatches the order. Once despatch has occurred, the shipment tracking update flow applies instead.


Shipment Tracking Updates

After Evri 3PL despatches an order, Rishvi Services receives webhook notifications and updates Linnworks with the latest shipment information.

Evri 3PL sends webhook notifications to Rishvi Services after each despatch event. The middleware:

  • Receives the webhook event securely over HTTPS

  • Validates the event against the expected schema and tenant credentials

  • Logs the event with a correlation ID for traceability

  • Queues the event for processing


Stock Synchronisation

Stock levels in Evri 3PL Fulfilment are kept in sync with Linnworks through a combination of webhook events and reconciliation jobs.

When stock levels change in Evri 3PL Fulfilment (for example, after a despatch, a stock receipt, or an adjustment), Evri 3PL sends a webhook event to Rishvi Services.

The middleware:

  1. Receives and validates the stock update event

  2. Extracts the SKU and latest available stock quantity

  3. Maps the Evri 3PL SKU to the corresponding Linnworks stock item

  4. Sends the updated stock level to Linnworks

Stock updates are applied immediately on receipt of a valid webhook event.


Multi-Tenant Configuration

The integration is designed to support multiple Linnworks tenants from a single middleware platform. Each tenant operates independently with its own configuration.

Per-Tenant Configuration

Each tenant can have its own settings, allowing the same middleware to support different customers, regions, fulfilment rules, and configuration requirements.

Configuration AreaDescription
Linnworks CredentialsAPI credentials for the tenant's Linnworks account, used to read orders and update stock and shipment data.
Evri 3PL CredentialsAPI credentials for the tenant's Evri 3PL Fulfilment account, used to submit orders, receive webhooks, and query stock.
Shipping Service MappingsMaps Linnworks postal services to the corresponding Evri 3PL service codes for each tenant.
Feature TogglesEnables or disables specific integration features per tenant, such as stock sync, shipment tracking, or cancellation handling.
Reconciliation ScheduleConfigures the frequency of reconciliation jobs for each tenant.

Multi-Tenant Benefits


Production-Readiness Features

The integration is built with production-readiness as a core requirement. The following features ensure the middleware is reliable, traceable, scalable, and maintainable.


Support Portal

A support portal provides operational visibility and management tools for the integration.

What Support Users Can Do


Order Lifecycle

Every order that passes through the integration follows a defined progression of statuses visible in the middleware and support portal.

StatusDescription
PendingThe order has been identified as eligible for submission to Evri 3PL Fulfilment and is queued for processing.
ValidatingTenant configuration and order data are being validated before submission.
SubmittedThe order has been successfully submitted to Evri 3PL Fulfilment. A fulfilment reference has been received and stored.
FailedThe order submission failed. The error has been recorded and the order will be retried automatically.
CancelledA cancellation request has been submitted to Evri 3PL. The order will not be despatched.
DespatchedEvri 3PL has despatched the order. Shipment tracking details have been received and written to Linnworks.
Partially DespatchedEvri 3PL has despatched part of the order. Shipped quantities and tracking details for the despatched items have been updated in Linnworks.

Lifecycle flow

Pending

An eligible Linnworks order is identified and queued for processing by the middleware.

Validating

Tenant configuration is validated and order data is mapped to the Evri 3PL request format.

Submitted or Failed

If Evri 3PL accepts the order, the status moves to Submitted and the fulfilment reference is stored. If Evri 3PL rejects the order or the API is unavailable, the status moves to Failed and a retry is scheduled.

Despatched

When Evri 3PL despatches the order, a webhook event is received by the middleware. The status is updated to Despatched and Linnworks is updated with tracking details and shipped quantities.

Cancelled (if applicable)

If a cancellation is requested before despatch, the middleware submits the cancellation to Evri 3PL and the status is updated to Cancelled.


Validation Errors and Common Causes

The following errors can prevent an order from being submitted to Evri 3PL Fulfilment. These are surfaced in the support portal with error details and correlation IDs.

Validation ErrorCause
Tenant configuration not foundNo active configuration exists for this Linnworks account. Create a tenant configuration in the support portal.
Linnworks credentials invalid or expiredThe Linnworks API token stored for the tenant is invalid or has been revoked. Update the credentials in the support portal.
Evri 3PL credentials invalidThe Evri 3PL API credentials stored for the tenant are invalid. Update the credentials in the support portal.
Shipping service mapping missingThe Linnworks postal service on the order has no corresponding Evri 3PL service code mapping. Add the mapping in the support portal.
SKU not found in Evri 3PLOne or more SKUs on the order are not recognised by Evri 3PL Fulfilment. Verify that the SKUs are correctly registered in Evri 3PL.
Delivery address incompleteThe order's delivery address is missing required fields. Address Line 1, Town, Postcode, and Country are required.
Order already submittedThe order has already been submitted to Evri 3PL Fulfilment. Duplicate submission is blocked.
Order already despatchedA cancellation was requested but the order has already been despatched by Evri 3PL.

Troubleshooting Guide

Order not submitted to Evri 3PL

Symptom: Order remains in Pending or Failed status

Likely cause: Tenant configuration is missing or invalid, or the shipping service has no Evri 3PL mapping

Resolution: Open the support portal, verify the tenant configuration, confirm shipping service mappings are complete, and trigger a manual retry

Shipment tracking not updating in Linnworks

Symptom: No tracking number or shipment status on the Linnworks order after Evri 3PL despatch

Likely cause: Webhook event was not received, failed validation, or failed to update Linnworks

Resolution: Check the support portal for failed webhook events, review the error details and correlation ID, and trigger a retry

Stock levels out of sync

Symptom: Linnworks stock quantities do not match Evri 3PL Fulfilment stock levels

Likely cause: A stock update webhook was missed, delayed, or failed to process

Resolution: Trigger a manual reconciliation job from the support portal to compare and correct stock levels between Evri 3PL and Linnworks

Cancellation not processed

Symptom: Order is still showing as active in Evri 3PL after a cancellation request

Likely cause: The order may already have been despatched by Evri 3PL, or the cancellation API call failed

Resolution: Check the order status in Evri 3PL directly. If the order is despatched, cancellation is no longer possible. If the cancellation failed, review the error in the support portal and retry

Tenant configuration validation failing

Symptom: All orders for a tenant are failing at the validation stage

Likely cause: Linnworks or Evri 3PL credentials have expired or been revoked, or a required shipping mapping is missing

Resolution: Open the support portal, navigate to the tenant configuration, update the relevant credentials or mappings, and re-enable the tenant

Duplicate order submission error

Symptom: An order submission is rejected with a duplicate submission error

Likely cause: The order was already successfully submitted to Evri 3PL in a previous cycle

Resolution: Check the order status in the support portal. If the order is in Submitted status with a valid Evri 3PL fulfilment reference, no further action is needed


Deliverables

The final deliverables for this integration are as follows.


Best Practices

Consistent configuration and regular monitoring are key to a reliable and cost-effective fulfilment integration.


FAQ

How does the middleware know which orders to submit to Evri 3PL?

The middleware processes orders that are eligible based on the tenant configuration. Eligibility is determined by the order status in Linnworks and the configured feature toggles for the tenant. Only orders that pass configuration validation and data mapping are submitted to Evri 3PL.

What happens if Evri 3PL is temporarily unavailable?

If the Evri 3PL API is unavailable, order submissions will fail. The middleware applies retry and backoff handling, automatically retrying failed submissions at increasing intervals. If the maximum retry limit is reached, the order is marked as failed and surfaced in the support portal for manual review and retry.

Can the same middleware support multiple Linnworks accounts?

Yes. The integration is multi-tenant by design. Each Linnworks account is configured as a separate tenant with its own credentials, shipping mappings, and feature toggles. Tenants are fully isolated from one another.

How are multi-parcel shipments handled?

When Evri 3PL despatches an order across multiple parcels, the webhook payload contains individual tracking references for each parcel. The middleware extracts all parcel tracking details and writes them to the Linnworks order so each parcel is traceable independently.

What happens if a webhook event is missed?

Reconciliation jobs act as a fallback mechanism. If a stock update webhook is missed or delayed, the reconciliation job will detect the discrepancy between Evri 3PL and Linnworks stock levels and submit a corrective update. For shipment tracking, failed webhook events are surfaced in the support portal and can be retried manually.

Can I cancel an order after it has been submitted to Evri 3PL?

Yes, provided the order has not yet been despatched by Evri 3PL. The middleware will pass the cancellation request to Evri 3PL using the stored fulfilment reference. If the order has already been despatched, cancellation is no longer possible and the shipment tracking flow applies instead.

How do I add a new shipping service mapping?

Shipping service mappings are managed through the support portal. Navigate to the tenant configuration, open the shipping mappings section, and add the new mapping between the Linnworks postal service and the corresponding Evri 3PL service code.

How are errors traced across systems?

Every operation performed by the middleware is assigned a unique correlation ID. This ID is recorded in the structured logs and is visible in the support portal alongside each event. When investigating an issue, the correlation ID allows you to trace the full operation history across the middleware, Linnworks, and Evri 3PL.

What test coverage is included?

The integration includes automated unit tests, integration tests, and contract tests. Unit tests cover core middleware logic. Integration tests verify end-to-end flows in a test environment. Contract tests verify that the middleware correctly implements the API contracts defined by Linnworks and Evri 3PL, protecting against breaking changes in either system.

I installed the app but cannot see it in Linnworks. What should I do?

After installation, the app appears under Apps > My Applications in Linnworks. If it does not appear, try refreshing the page or logging out and back in. If the issue persists, confirm that you used your Linnworks Master Account credentials during installation - sub-account credentials will not complete the installation correctly.

I cannot sign in to the Evri 3PL3PL Integration portal. What should I do?

Ensure you are using the email address and password provided to you for the Evri 3PL3PL Integration - these are separate from your Linnworks credentials. If you have forgotten your password, contact your administrator or the Rishvi support team.


Please review these pages to understand how data is handled and the terms governing the use of this integration.


Summary

The Linnworks ↔ Evri 3PL Fulfilment Integration, powered by Rishvi Services, provides a secure, scalable, and maintainable foundation for automated fulfilment between Linnworks and Evri 3PL Fulfilment.

For any issues that cannot be automatically resolved, the support portal provides the error details, correlation IDs, and retry tools needed to diagnose and correct the problem quickly.