Ongoing WMS
Comprehensive technical documentation for the Omnium Ongoing Warehouse Management System integration. Learn how to configure, sync orders, inventory, products, and deliveries with Ongoing WMS.
The Omnium Ongoing integration provides a bidirectional synchronization between Omnium OMS and Ongoing Warehouse (WMS). This integration enables automated warehouse fulfillment workflows including order export, inventory synchronization, product management, delivery tracking, and return processing.
Overview
The integration supports:
- Order Export: Exports orders to Ongoing for warehouse fulfillment
- Order Sync: Receives order status updates (shipped, picked, canceled) from Ongoing
- Inventory Sync: Synchronizes stock levels from Ongoing warehouses
- Product Export: Exports product/article data to Ongoing
- Delivery Export: Exports purchase orders (inbound deliveries) to Ongoing
- Purchase Order Sync: Receives goods reception updates from Ongoing
- Return Sync: Processes returns registered in Ongoing
Architecture
Configuration
Connector Options
The Ongoing integration is configured via connector options in the tenant settings. Add a connector with the name Ongoing.
| Property | Type | Description |
|---|---|---|
| Host | string | The Ongoing API base URL (e.g., https://api.ongoingwarehouse.com/) |
| Username | string | API username for authentication |
| Password | string | API password for authentication |
| SyncOrders | bool | Enable order status synchronization from Ongoing |
| SyncPurchaseOrders | bool | Enable purchase order/delivery synchronization |
| SyncInventory | bool | Enable inventory level synchronization |
| SyncReturns | bool | Enable return synchronization |
Example Configuration
Store/Warehouse Configuration
For each warehouse that should integrate with Ongoing, configure the following properties on the Store entity:
| Property | Type | Description |
|---|---|---|
| IsOngoingStore | bool | Set to true to mark the store as an Ongoing warehouse |
| OngoingGoodsOwnerId | ExternalId | The Goods Owner ID in Ongoing (numeric) |
| OngoingWarehouseId | ExternalId | The Warehouse ID in Ongoing (numeric) |
Example Store Configuration
Order Export
Orders are exported to Ongoing when the order workflow triggers the OngoingOrderExporter.
Export Flow
- Order enters a status that triggers the Ongoing export workflow step
- The system checks if the shipment's warehouse is marked as an Ongoing warehouse (
IsOngoingStore is true) - Each shipment is exported as a separate order to Ongoing (format:
{OrderNumber}-{ShipmentId}) - The Ongoing Order ID is stored as an external ID on the shipment
- Shipment status is updated to
InProgressWarehouse
Order Mapping
| Omnium Field | Ongoing Field | Description |
|---|---|---|
| OrderNumber + ShipmentId | OrderNumber | Combined as {OrderNumber}-{ShipmentId} |
| OrderType | OrderType.Code | Order type code |
| CustomerEmail | EmailNotification.Value | Customer email for notifications |
| CustomerPhone | SmsNotification.Value | Customer phone for notifications |
| ShippingAddress | Consignee | Delivery address details |
| OrderNotes | OrderRemark | Combined order notes |
| ShippingTotal | FreightPrice | Shipping cost |
Transporter Mapping
The integration supports multiple transporter integrations:
- Unifaun: Maps
transporterCode,transporterServiceCode, andservicePointCode - Porterbuddy: Special handling with
ONGOING_PORTERBUDDYtransporter code - Ingrid: Maps TOS ID to
PreparedTransportDocumentId
Order Cancellation
When an order or shipment is canceled in Omnium, the integration updates the Ongoing order status to 1000 (Canceled).
Order Synchronization
The OngoingSyncScheduledTask periodically fetches order updates from Ongoing and synchronizes them back to Omnium.
Sync Flow
- Scheduled task queries Ongoing for orders changed since last sync
- For each changed order, the system matches it to an Omnium order
- Order status is mapped from Ongoing status to Omnium status (via
OngoingStatusproperty on OrderStatus) - Tracking information (waybill, tracking URL) is updated on shipments
- Shipping labels are downloaded and stored in blob storage
- For partial deliveries, new shipments are created in Omnium
Status Mapping
Configure status mapping via the OngoingStatus property on your order status configuration:
Tracking Information
The following tracking data is synchronized from Ongoing:
| Field | Source | Description |
|---|---|---|
| ShipmentTrackingNumber | Waybill or ParcelNumber | Tracking number |
| ShipmentTrackingLink | TrackingUrl | Link to carrier tracking page |
| LabelLink | Order files (label*.pdf) | Shipping label PDF (stored in blob) |
| ReturnLabelLink | Order files (return*.pdf) | Return label PDF (stored in blob) |
Return Synchronization
Returns registered in Ongoing are automatically synchronized to Omnium and create return records.
Return Flow
- Scheduled task queries Ongoing for orders with unreported returned items
- For each return, the system creates a return in Omnium with:
- Line items matching the returned quantities
- Return type from Ongoing's return cause
- Stock updates marked as completed
- After processing, Ongoing's
ReportedReturnedNumberOfItemsis updated
Return Properties
| Property | Description |
|---|---|
| ReturnedByOngoing | Set to true on returns created by sync |
| OngoingReturnError | Contains error details if return sync fails |
Inventory Synchronization
Inventory levels are synchronized from Ongoing to Omnium.
Sync Methods
- Delta Sync: Fetches inventory changes since last sync (limited to 24 hours lookback)
- Full Sync: Scrolls through all articles for a specific warehouse
Inventory Flow
- Query Ongoing for inventory per warehouse
- Match Ongoing warehouse ID to Omnium warehouse via
OngoingWarehouseIdexternal ID - Calculate inventory change (delta between Ongoing sellable quantity and current Omnium inventory)
- Apply inventory updates to Omnium
Configuration Note
The inventory sync uses SellableNumberOfItems from Ongoing, which represents the available-to-sell quantity.
Product Export
Products are exported to Ongoing as "Articles"
Export Flow
- For products with variants, each variant is exported as a separate article
- The Ongoing Article System ID is stored as an external ID
Product Mapping
| Omnium Field | Ongoing Field | Description |
|---|---|---|
| SkuId | ArticleNumber | SKU identifier |
| SkuId | ProductCode | Product code |
| Weight | Weight | Weight in kilograms |
| Ean | BarCodeInfo.BarCode | EAN barcode |
| Description | Description | Product description |
| Name + Color | ArticleName | Combined article name |
| Color | ArticleColor | Color attribute |
| Size | ArticleSize | Size attribute |
| Brand | SupplierInfo.SupplierName | Brand/supplier name |
| SupplierSkuId | SupplierInfo.SupplierArticleNumber | Supplier article number |
| MainImageUrl | LinkToPicture | Product image URL |
Deleted Products
When a product is deleted in Omnium:
IsActiveis set tofalse- Barcode is cleared (to avoid duplicate barcode conflicts in Ongoing)
Delivery/Purchase Order Export
Deliveries (inbound goods) are exported to Ongoing as Purchase Orders.
Export Flow
- Delivery triggers export workflow
- System retrieves associated purchase order lines
- Delivery is mapped to Ongoing Purchase Order
- Purchase Order ID is stored as property on the delivery
Delivery Mapping
| Omnium Field | Ongoing Field | Description |
|---|---|---|
| Delivery.Id | PurchaseOrderNumber | Delivery ID |
| Supplier.Name | SupplierInfo.SupplierName | Supplier name |
| Supplier.Id | SupplierInfo.SupplierNumber | Supplier ID |
| InvoiceNumber | ReferenceNumber | Invoice reference |
Purchase Order Status Sync
Purchase order status updates are synchronized from Ongoing to update delivery status in Omnium.
Status Constants
| Status | Code | Description |
|---|---|---|
| Ankommet | 199 | Arrived |
| Varslet | 200 | Notified |
| Inkommende | 300 | Incoming |
| Avvik | 400 | Deviation |
| Mottatt | 500 | Received |
| Makulert | 900 | Voided |
| Avbrutt | 1000 | Canceled |
Goods Reception
When items are received in Ongoing, the integration:
- Calculates newly delivered quantities
- Creates goods reception lines
- Updates delivery line item quantities
- Processes inventory transactions
Scheduled Tasks
OngoingSyncScheduledTask
Main synchronization task that runs all enabled sync operations.
| Configuration | Description |
|---|---|
| Task Name | OngoingSyncScheduledTask |
| Group | Plugins |
| Type | Delta (time-based) |
Runs the following operations based on connector settings:
SyncPurchaseOrders: Sync purchase order statusesSyncOrders: Sync order statuses and shipping infoSyncReturns: Process returns from OngoingSyncInventory: Sync inventory levels
OngoingProductSyncScheduledTask
Scheduled task for bulk product export to Ongoing.
| Configuration | Description |
|---|---|
| Task Name | OngoingProductSyncScheduledTask |
| Group | Plugins |
| Type | Delta (time-based) |
Exports products with available inventory that have been modified since the last sync.
External IDs and Properties
External ID Providers
| Provider | Entity | Description |
|---|---|---|
OngoingOrderId | Order, Shipment | Ongoing order system ID |
OngoingArticleId | Product, Variant | Format: {ArticleSystemId}_{GoodsOwnerId} |
OngoingPurchaseOrderId | Delivery | Ongoing purchase order ID |
OngoingGoodsOwnerId | Store | Goods owner ID in Ongoing |
OngoingWarehouseId | Store | Warehouse ID in Ongoing |
Properties
| Property Key | Entity | Description |
|---|---|---|
IsOngoingStore | Store | Marks store as Ongoing warehouse |
IsDeliveredShipment | Shipment | Marks shipment as delivered from Ongoing |
IsOrderLineDelivered | OrderLine | Marks line as delivered |
OngoingPurchaseOrderStatus | Delivery | Current Ongoing PO status |
ReturnedByOngoing | Order | Return created by Ongoing sync |
OngoingReturnError | Order | Error details for return sync |
Workflow Integration
Order Export Workflow Step
To enable order export to Ongoing, add a workflow step using the Ongoing connector:
Delivery Export Workflow Step
Configure delivery export in the delivery workflow:
Error Handling
The integration implements comprehensive error handling:
- Export Failures: Errors are logged and stored on the entity
- Sync Failures: Individual sync operations continue even if one fails
- Return Sync Errors: Errors are stored in
OngoingReturnErrorproperty andReportedReturnedNumberOfItemsis updated to prevent repeated failures
Troubleshooting
Common Issues
| Issue | Possible Cause | Solution |
|---|---|---|
| Orders not exporting | Warehouse not configured | Verify IsOngoingStore property |
| No Goods Owner ID | Missing external ID | Add OngoingGoodsOwnerId to store |
| Inventory not syncing | Warehouse ID mismatch | Verify OngoingWarehouseId mapping |
| Return sync fails | Line item mismatch | Check OngoingReturnError property |
Debugging Tips
- Verify connector options are correctly configured
- Ensure store has both
OngoingGoodsOwnerIdandOngoingWarehouseId - Check scheduled task execution logs for sync errors
