Vendure plugin to sync orders, stock and catalogue with Picqer.com order pick platform.
The plugin follows these principles:
Add the plugin to your vendure-config.ts
Start the server and set the fulfillment handler to picqer: Fulfill with Picqer for all shipping methods that should be handled via Picqer.
Stock levels are updated in Vendure on
/picqer/pull-stock-levels/<channeltoken>.This plugin will mirror the stock locations from Picqer. Non-Picqer stock locations will automatically be deleted by the plugin, to keep stock in sync with Picqer. Vendure's internal allocated stock will be ignored, because this is handled by Picqer.
You can use a custom StockLocationStrategy to control how available stock is calculated based on multiple locations.
You can call the endpoint /picqer/pull-stock-levels/<channeltoken>, with your Picqer API key as bearer token, to trigger a full stock level sync. This will pull stock levels from Picqer, and update them in Vendure.
curl -H "Authorization: Bearer abcde-your-apikey" `http://localhost:3000/picqer/pull-stock-levels/your-channel-token`
This plugin requires the default order process to be configured with checkFulfillmentStates: false, so that orders can be transitioned to Shipped and Delivered without the need of fulfillment. Fulfillment is the responsibility of Picqer, so we won't handle that in Vendure when using this plugin.
processing when an order is placed in Vendure.order.completed event from Picqer, the order is transitioned to Shipped.Delivered based on Picqer events, so we automatically transition to Delivered.ProductVariant.Product when pushing products to Picqer, so that consumers can use Product to populate Picqer custom fields.pushPicqerOrderLineFields strategyShipped state first (#504)invoicename to Picqer. Fallback to customer email address to make sure orders are sent to Picqer.checkFulfillment: false to prevent overriding other custom order processes in the consuming projects.unlimitedstock=true in Picqerorders.status_changed webhooks, instead of picklists.closed hooks. (#281)