Configuration
Learn how to configure purchase order statuses, workflows, reorder settings, deliveries, and automation in Omnium. This guide covers all purchase order configuration options for administrators and developers.
Purchase order statuses
Purchase orders follow a configurable status workflow, similar to order types. Each status defines a step in the purchase order lifecycle, and can be configured with workflow steps that execute automatically when a purchase order enters that status.
Omnium includes a set of built-in status names that are used by default: New, InProgress, Completed, OnHold, OrderCanceled, and Deleted. You can override these or define entirely custom statuses to match your procurement workflow.
Purchase order status model
| Property | Type | Description |
|---|---|---|
| Name * | string | Unique status name identifier |
| Order * | int | Sort order index defining the workflow sequence |
| DisplayName | string | User-facing display name in the UI |
| TranslateKey | string | Translation key for localized display |
| IsMainFilter | bool | Show this status as a main filter option in the purchase order list |
| IsCanceledStatus | bool | Mark orders with this status as canceled |
| IsConfirmedStatus | bool | Mark orders with this status as confirmed with the supplier |
| IsCompleted | bool | Mark orders with this status as completed |
| IsReadOnly | bool | Prevent editing of purchase orders in this status |
| WorkflowSteps | List<WorkflowStep> | Workflow steps to execute when entering this status |
| EnabledForTags | List<string> | Only show this status for purchase orders with these tags. If empty, the status is available for all purchase orders. |
| DisabledForTags | List<string> | Hide this status for purchase orders with these tags. Overrides EnabledForTags. |
Workflow steps
Workflow steps on purchase order statuses follow the same model as order workflow steps.
| Property | Type | Description |
|---|---|---|
| Name * | string | Workflow step name |
| Connector * | string | Connector to use for the workflow step |
| Active | bool | Whether the step should run |
| RunAfterOrderIsSaved | bool | Run the step after the purchase order is saved |
| ContinueOnError | bool | Continue the workflow if this step fails |
| TranslateKey | string | Translation key for the workflow step name |
| IsInvisible | bool | Hide the result from the UI |
Available workflow actions
These are the built-in workflow actions available for purchase order statuses:
| Action | Group | Description |
|---|---|---|
| Notification | Notifications | Send notifications when a purchase order enters a status |
| ReleaseSuggestions | Inventory | Release reorder suggestions associated with the purchase order |
| ExportPurchaseOrder | Export | Export the purchase order to all configured purchase order export connectors |
| SetExpectedDeliveryDate | Enrich | Set the expected delivery date based on supplier settings or default values |
| RecalculateAtpValues | Enrich | Recalculate Available-to-Promise (ATP) values for inventories included in the purchase order |
| ExportDeliveries | Export | Export deliveries connected to the purchase order to configured delivery export connectors |
| ValidateOnErrors | Validation | Check the purchase order for errors. If errors are found, the workflow stops and does not proceed further. |
| CreateOrderFromPurchaseOrder | Modify | Create an order from the purchase order, using the supplier as the store. Only works if the supplier is configured as a store in Omnium. Requires OrderType and MarketId properties. |
| AddSupplierTagsToOrders | Export | Copy all tags from the supplier to the purchase order |
| EnrichLineItemsWithComponents | Enrich | Automatically enrich line items with product components by matching SKUs |
Sample
General settings
These settings control calculations used for reorder planning and inventory cost analysis.
| Property | Type | Default | Description |
|---|---|---|---|
| StorageCostPercent | decimal | 0 | Storage cost as a percentage of inventory value. Used in inventory carrying cost calculations for reorder planning. |
| AverageDailyUsageDays | int | 0 | Number of historical days to use when calculating average daily usage (ADU) for products. A higher value provides a more stable average but is less responsive to recent demand changes. |
| LeadTimeSafetyMarginDays | int | 0 | Additional safety margin in days added to the supplier lead time. Accounts for variability in delivery times to reduce stockout risk. |
| DefaultAverageLeadTimeDays | int | 0 | Default lead time in days for suppliers that do not have a specific lead time configured. Used when calculating reorder points and expected delivery dates. |
Sample
Reorder suggestions
These settings control how reorder suggestions are generated and filtered.
| Property | Type | Default | Description |
|---|---|---|---|
| ReorderSuggestionsMinQuantityRoundUp | bool | false | When enabled, suggested reorder quantities are rounded up to the nearest minimum order quantity defined on the product or supplier. |
| NonPurchasableAssortmentCodes | List<string> | null | Assortment codes that should be excluded from reorder suggestions. Products with any of these assortment codes will not appear in purchase order suggestions. Assortment codes are defined in product settings. |
Sample
Internal transfers
These settings control automatic creation of internal transfer orders for pickup warehouses (e.g., stores that receive stock from a central warehouse).
| Property | Type | Default | Description |
|---|---|---|---|
| CreateInternalTransfersForPickUpWarehouses | bool | false | When enabled, internal transfer orders are automatically created for warehouses configured as pickup locations. This is used when a central warehouse distributes stock to store locations. |
| CreateInternalTransfersForPickUpWarehousesStatus | string | null | The status to assign to automatically created internal transfer orders. If not set, transfers are created with the default initial status. |
Sample
Delivery settings
These settings control how deliveries (goods reception) are handled on purchase orders.
| Property | Type | Default | Description |
|---|---|---|---|
| GoodsReceptionCompletedStatus | string | null | The purchase order status to set when goods reception is completed (all expected items have been received). If not configured, the status is not automatically changed on completion. |
| SetEstimatedTimeOfArrivalFromPurchaseOrder | bool | false | When enabled, the RequestedDeliveryDate from the purchase order is used as the EstimatedTimeOfArrival on deliveries created from the purchase order. Useful for propagating delivery expectations to downstream logistics. |
| IncludePackagesInPurchaseOrders | bool | false | When enabled, package information (bundled products and their components) is included in purchase order data. Enable this if your purchase orders need to track product packaging details. |
| OrderTypesWithAutomaticLineSplitting | List<string> | null | List of order types where order lines are automatically split when customer reservations exceed the available quantity on a delivery. For example, if a delivery has 10 units but 15 are reserved across orders, the order line with excess reservations is split so the available units can be allocated. |
Sample
ETA-based order status updates
When a purchase order's estimated delivery date changes, Omnium can automatically update the status of sales orders that are waiting for stock from that purchase order. This is useful for keeping customers informed about delivery timeline changes.
| Property | Type | Default | Description |
|---|---|---|---|
| UpdateOrderStatusWhenEstimatedDeliveryDateChanged | bool | false | Enable automatic order status updates when the estimated delivery date changes on a purchase order. When enabled, the two properties below become active. |
| UpdateToStatus | string | null | The order status to set on affected sales orders when the estimated delivery date changes. Only applies when UpdateOrderStatusWhenEstimatedDeliveryDateChanged is enabled. |
| DisabledForStatuses | List<string> | null | Order statuses that should be excluded from automatic status updates. Orders in any of these statuses will not be updated even if the estimated delivery date changes. Only applies when UpdateOrderStatusWhenEstimatedDeliveryDateChanged is enabled. |
The UpdateToStatus and DisabledForStatuses settings reference order statuses from your order type configuration, not purchase order statuses.
Sample
Display and printing
| Property | Type | Default | Description |
|---|---|---|---|
| ShowCustomerReservationsOnPurchaseOrderPrint | bool | false | When enabled, customer reservations linked to purchase order line items are included on the printed purchase order document. Useful for suppliers who need to know which customers are waiting for specific items. |
Sample
Properties and tags
Default properties
Default properties are automatically available on purchase orders. They provide structured fields for capturing additional data specific to your procurement process.
| Property | Type | Description |
|---|---|---|
| Key | string | Property identifier |
| Value | string | Default value |
| ValueType | string | Data type (String, Number, Boolean, Date) |
| KeyGroup | string | Grouping category for organizing properties in the UI |
| ValueOptions | List<string> | Available options for dropdown selection |
| IsCustomValueOptionAllowed | bool | Allow free-text values in addition to predefined options |
| IsMultiSelectEnabled | bool | Allow selecting multiple values from options |
| ReadOnly | bool | Make the property read-only after creation |
Highlighted properties
Configure which property keys should be displayed prominently on the purchase order detail page. Properties listed here are shown in a highlighted section for quick reference.
Tags
Tags allow you to categorize and filter purchase orders. Tags can also be used to control which statuses are available for a purchase order (via EnabledForTags and DisabledForTags on statuses).
| Property | Type | Description |
|---|---|---|
| Name | string | Tag identifier |
| TranslationKey | string | Translation key for the tag label in the UI |
Sample
Complete configuration example
Below is a comprehensive example showing all purchase order settings configured together:
