PrestaPicqer Module User Guide
1. Introduction
Welcome to the PrestaPicqer User Guide! This module seamlessly integrates your PrestaShop store with Picqer, a powerful warehouse management system. It automates the synchronization of orders and product stock levels, streamlining your e-commerce operations.
With PrestaPicqer, you can:
- Automatically send new PrestaShop orders to Picqer.
- Update order statuses in PrestaShop based on Picqer's fulfillment process.
- Keep product stock levels synchronized between PrestaShop and Picqer.
2. Installation
Follow these steps to install the PrestaPicqer module on your PrestaShop store:
- Download the latest version of the PrestaPicqer module from here.
- Log in to your PrestaShop admin panel.
- Navigate to Modules > Module Manager.
- Click on the "Upload a module" button in the top right corner.
- Drag and drop the downloaded module zip file, or click to select it.
- Once uploaded, click "Install" next to the PrestaPicqer module.
- After successful installation, you will find the module under the Administration section in the module list. Here you click "Configure".
If you encounter any issues during installation, please refer to the Troubleshooting section or contact support.
3. Configuration
After installation, you need to configure the module to connect to your Picqer account and set up synchronization preferences.
If you have multiple stores you can choose whether to activate PrestaPicqer for each of your PrestaShop stores individually with the option at the bottom of the Configuration screen.
General Settings
To connect PrestaPicqer with your Picqer account, you need to provide your Picqer Subdomain and API Key.
General Settings in PrestaPicqer Configuration.
Picqer Subdomain
Here you enter the subdomain of your Picqer URL (e.g., yourcompany.picqer.com – only yourcompany is needed).
Picqer API Key
- Log in to your Picqer account.
- Go to Settings > API Keys. You can go to this page directly by clicking here.
- Generate a new API key. Ensure it has write permissions.
- Copy and paste the API key.
Shop Identifier Prefix
This is used to uniquely identify your PrestaShop store. You can choose a 1–3 characters long prefix. If you have a single PrestaShop store you can leave the default 'PS'. Do not change the shop prefix on a running system; if changed, existing orders will no longer be updated.
Webhook URL
Picqer will try to communicate with PrestaShop by calling the Webhook URL shown. It is important that this URL is accessible from the internet.
Orders
Set up the way PrestaPicqer handles orders.
Apply tags to new orders
Choose from the tags available in Picqer. If you create new tags in Picqer while the PrestaPicqer Configuration is open you need to refresh the page to be able to see the new tags.
Use PrestaShop product price
Use this to send the PrestaShop product price with the order to Picqer. PrestaPicqer will try to find the matching VAT in Picqer.
Create missing products
Use this to automatically create a new product in Picqer when no matching product in a PrestaShop order can be found in Picqer. The product will be created in Picqer with the name, price, image and the reference from the PrestaShop product as product code and with 0 stock. The product will be created before the order is created in Picqer; this means when the order is created the available stock will immediately become negative.
Create new order in Picqer
Choose the PrestaShop order status(es) that will create a new order in Picqer. These are typically the PrestaShop statuses you use as first status for new orders.
Allocate stock for "Concept" orders
Picqer offers the option to allocate stock for "Concept" orders; choose here whether PrestaPicqer makes use of this or not.
Change Picqer order status to "Processing"
New orders in Picqer are always created with the status "Concept". Choose the PrestaShop order status(es) that will update the status of the Picqer order to "Processing". To update the Picqer order status directly after creating a new order (usually after payment has been accepted successfully and the first PrestaShop status is "Payment accepted") add the status both to create and update orders. When the Picqer order status changes to "Processing" stock will be allocated for the order if that has not already been done in "Concept" status.
Change Picqer order status to Cancelled
Choose the PrestaShop order status(es) that will cancel the order in Picqer. The Picqer order will be forcefully cancelled; this means that even when the order has already shipped the status will still be updated to "Cancelled".
Picqer orders Webhook status
In order for Picqer to update the status of an order in PrestaShop it needs an active webhook. Here you can see the status of the webhook that handles changes made to orders in Picqer. If the webhook status is "Inactive" you can use the button to create a webhook. Active webhooks can be deactivated in Picqer but never removed. If a webhook fails repeatedly in a certain time frame Picqer will automatically deactivate it.
Order status mapping
This table is used to match a status in PrestaShop to a status in Picqer. When an order's status changes in Picqer (e.g., "Completed"), PrestaPicqer can update the status of the corresponding order in PrestaShop. You can add multiple lines to the table. The first column is optional and can be used to ensure that the status of a PrestaShop order will only be updated when the order currently has the status selected in the first column. Select "Any" to apply the mapping regardless of the current PrestaShop status.
Stock
Set up the way PrestaPicqer updates product stock levels.
Full catalogue stock sync on Webhook
This setting enables you to have the full product catalogue synchronised every time a single product's stock changes. This option ensures a fully synchronised stock but can take too much time on a big product catalogue, a lesser internet connection or a resource-constrained PrestaShop server. It may be better to have this option disabled so only the stock for the product that changed gets updated, and use a scheduled update to make sure no differences arise in case of a failed webhook trigger.
Full stock sync URL
This is the URL you can call to make an update of your full catalogue. This can be handy for a scheduled stock update, e.g. using Curl in a Cron job.
Picqer stock Webhook status
In order for Picqer to update the stock in PrestaShop it needs an active webhook. Here you can see the status of the webhook that handles stock changes in Picqer. If the webhook status is "Inactive" you can use the button to create a new webhook. Active webhooks can be deactivated in Picqer but never removed. If a webhook fails repeatedly in a certain time frame Picqer will automatically deactivate it.
4. Usage
Once configured, PrestaPicqer will largely automate the integration. Here's how to monitor and manage its operations. Please note that Picqer does not offer the possibility to choose a user when using the API; all actions in Picqer will be done under the name of the first user made in Picqer.
Order Synchronization
When a new order is created in Picqer a reference to the PrestaShop order will be added in the Picqer reference field; this takes the form of Prefix #PSorderId / PSreference (DEV #73 / ITQRFWVHT).
The Picqer order number will be added to the PrestaShop Order note, thus ensuring two-way traceability between PrestaShop orders and Picqer orders.
To find the order in Picqer you can search for the PrestaShop order reference. Use the PSReference that is in the Picqer reference field to find the order in PrestaShop.
Products
To match products PrestaPicqer uses the "Reference" field in PrestaShop and the "Product code" field in Picqer. These need to match exactly; this is case-sensitive.
If not all of the products can be matched, an order will be created in Picqer for the matching products and a warning message listing the missing products will be added both as an internal Message to the PrestaShop order and as a Comment to the Picqer order.
If none of the products in a PrestaShop order can be matched in Picqer, a warning message will be added as an internal Message to the PrestaShop order and no order will be created in Picqer.
If you have chosen to use the option to automatically create new products in Picqer, the "Reference" field in PrestaShop and the "Product code" fields in Picqer will match correctly. Missing products will be created before the order is created in Picqer; this means when the order is created the available stock will immediately become negative. The product will be shown in the Picqer order with a stock-level warning. If you have product stock updates enabled (and correctly configured) the stock change will trigger Picqer's stock webhook and the stock in PrestaShop will be set to 0.
Shipping
To match shipping carriers and be able to display the tracking code PrestaPicqer uses the "Name" field in both PrestaShop and Picqer. These need to match exactly; this is case-sensitive.
When PrestaPicqer receives a trigger from Picqer that an order status has been updated it will check if there is a shipping tracking code available. When a code is available PrestaPicqer will add it to the Tracking number field in Carriers in the PrestaShop order. This tracking code can then be used in an email by adding {shipping_number} to the template. Please refer to the PrestaShop documentation for further information on how to customize email templates.
Logs
PrestaPicqer logs its actions in the PrestaShop Logs, including any errors that may occur. Picqer logs all webhook calls. Open a webhook to see the logs for that individual webhook. You can find more information about an individual call, including the request and response, by clicking on "Show details".
Stock Updates
Picqer is considered the master for stock levels. Any changes in stock within Picqer will be reflected in your PrestaShop store to prevent overselling.
5. Troubleshooting
Common issues and their solutions:
Connection Failed:
Double-check your API Key and Subdomain. Ensure your server can reach Picqer's API.
Orders Not Syncing:
Verify "Enable order status updates" is enabled and the "Picqer orders Webhook status" is active in the Orders tab; ensure order statuses are correctly mapped.
Stock Not Syncing:
Confirm "Enable product stock updates" is enabled and the "Picqer stock Webhook status" is active in the Stock tab. Check product SKUs match between systems. Try calling the Full stock sync URL by hand (copy the URL and paste it in a browser).
For more detailed error messages, check the PrestaPicqer entries in your PrestaShop Logs or your server's error logs.
6. FAQ
Q: Does this module support multiple PrestaShop stores on a Picqer account?
A: Yes, you can use multiple PrestaShop instances; it is important to use a unique shop prefix for each PrestaShop store.
Q: Why does it occasionally take a long time to create a new order in Picqer?
A: Some caching plugins for WooCommerce also cache the API. As a result, Picqer does not receive the most up-to-date version of an order but instead gets an outdated version from a few minutes or hours ago. Data in the API should never be cached; Picqer requires the latest data to function correctly.
Q: How often does stock synchronization occur?
A: Synchronization is event-driven. For stock synchronization you can choose to update all products when a change happens; this can lead to longer processing times. The option to only update the product stock that changed can lead to stock differences in case of a network failure.
Q: Can I use the status "Expected" for new orders in Picqer?
A: No, it's not possible to use the status "Expected" via the API. You can activate the option to automatically reserve stock for "Concept" orders though, which is effectively the same as using the status "Expected".
Q: Can I trigger a sync myself?
A: Yes, the Full stock sync URL in the Stock tab can be used to manually trigger a full stock synchronisation. You can also use the Full stock sync URL to schedule a synchronisation with a Cron job.
7. Support
If you need further assistance, do not hesitate to contact our support team: softernl@protonmail.com
Please provide your PrestaShop version, PrestaPicqer version, and a detailed description of your issue.