https://github.com/fostercommerce/shipments-veeqo
https://github.com/fostercommerce/shipments-veeqo
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/fostercommerce/shipments-veeqo
- Owner: FosterCommerce
- License: other
- Created: 2026-06-17T01:38:39.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-06-17T16:32:32.000Z (about 2 months ago)
- Last Synced: 2026-06-22T12:27:12.679Z (about 2 months ago)
- Language: PHP
- Size: 71.3 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
- Roadmap: docs/roadmap.md
Awesome Lists containing this project
README
# Shipments Veeqo
A **Veeqo provider** for the Foster Commerce Shipments plugin, plus product sync between Craft Commerce and Veeqo.
## What it does
- Adds Veeqo to the Shipments plugin's integration list, so shipments can be pushed to Veeqo from the control panel or queue.
- Pushes the completed order to Veeqo as a single Veeqo order, matched back by the order number (Veeqo auto-allocates it for fulfilment).
- Polls Veeqo on a schedule (Veeqo has no webhooks) and mirrors each Veeqo allocation back as a Craft shipment, writing that allocation's carrier and tracking. When Veeqo splits an order across warehouses, Craft reflects the split.
- Syncs Commerce products and variants to Veeqo as products and sellables when they are saved.
- Pulls stock from Veeqo into Commerce on a schedule, keeping inventory-tracked variants in step (Veeqo is the inventory source of truth).
## Requirements
- Craft CMS `^5.0`
- Craft Commerce `^5.0`
- [Foster Commerce Shipments](https://github.com/fostercommerce/shipments) `dev-main`
- PHP `^8.2`
- A Veeqo account and API key
## Install
```sh
composer require fostercommerce/shipments-veeqo
./craft plugin/install shipments-veeqo
```
See [`docs/installation.md`](./docs/installation.md) for the full guide, including Veeqo account setup and how to add the integration.
## Veeqo integration
Veeqo registers as a provider on the Shipments plugin. You add it under **Shipments -> Settings -> Integrations -> New**, choosing Veeqo as the provider and entering your API key and channel id. From there the Shipments plugin owns the shipment lifecycle (status, history, emails); this plugin only talks to the Veeqo API.
## Product sync
When a Commerce product is saved, the plugin queues a job that creates or updates the matching Veeqo product and its sellables, keyed by SKU. Variants without a SKU are skipped. You can mutate the outgoing payload from your own code before it is sent. See [custom product payloads](./docs/dev-guide/custom-product-payload.md).
## Polling
Veeqo does not offer webhooks, so inbound tracking arrives by polling. You run the pull command on a cron schedule. See [`docs/installation.md`](./docs/installation.md) for the commands and example crontab.
## Stock sync
Veeqo is built to own inventory and dictate stock to its sales channels. This plugin treats Commerce as one of those channels: `shipments-veeqo/stock/pull` reads Veeqo's available stock and writes it onto inventory-tracked Commerce variants. Non-tracked variants are left untouched. Turn it off with the "Let Veeqo adjust Commerce inventory" setting.
## License
Proprietary.