---
title: "Keeping stock, prices and orders consistent between ERP and commerce — Orvun Labs"
description: "Consistency begins by naming the authority for each business fact. Stock, sellable availability, price and order status are not necessarily owned by the same system. Define direction, update"
canonical: "https://orvunlabs.com/en/journal/erp-commerce-stock-consistency"
language: "en"
last_modified: "2026-09-13"
---

# Keeping stock, prices and orders consistent between ERP and commerce

Consistency begins by naming the authority for each business fact. Stock, sellable availability, price and order status are not necessarily owned by the same system. Define direction, update

![Keeping stock, prices and orders consistent between ERP and commerce](https://orvunlabs.com/images/blog/integrations.svg)

- Published: 2026-09-13T09:00:00.000Z

- [Connected systems](https://orvunlabs.com/en/journal/topic/integrations.md)

## The decision

Consistency begins by naming the authority for each business fact. Stock, sellable availability, price and order status are not necessarily owned by the same system. Define direction, update timing and conflict handling separately instead of promising that everything is “two-way synced”.

## A worked example

Imagine an illustrative shop with 10 physical units, 2 already reserved and 1 held for inspection. Under the example rule, sellable availability is 7. A return does not become sellable merely because a refund completed; inspection may still be pending. Write those business rules before implementing stock messages.

## Alternatives worth weighing

Event-driven updates can reduce delay but require handling duplicates and missed events. Scheduled batches are easier to inspect but leave a visibility gap. Reconciliation compares the systems and identifies unexplained differences. Use the combination that matches how much delay the business can tolerate.

## Where the plan breaks

Do not use a product name as the only matching key. Map stable identifiers, units, variants and currency explicitly. Decide how a delayed price update affects an order already accepted and who may resolve a conflict. Avoid correcting discrepancies by blindly overwriting both systems.

## Model each stock movement before writing the connector

Extend the illustrative seven-unit availability example with an order, cancellation and return. Define whether checkout reserves stock immediately, how long an unpaid reservation remains valid and which event releases it. A cancellation after dispatch is different from cancelling an unshipped order. The returned item should enter the agreed inspection state before any rule makes it sellable again. These transitions should be explained by operations, then encoded and tested by the integration team.

Map a stock keeping unit to its variant, location and unit of measure. A carton and a single item must not share an unqualified quantity. Decide how bundles consume component stock and how a missing mapping is quarantined. For price updates, define currency, tax treatment and the point at which an accepted order’s price is fixed. Do not apply a delayed catalogue update retrospectively unless the business explicitly calls for that behaviour.

## Accept the integration during a connection gap

Test a fictional sequence in which two orders compete for the last available units while ERP connectivity is interrupted. The business must choose its rule: stop accepting affected orders, allow an explicitly managed backorder, or use another approved reservation arrangement. The connector cannot invent that policy safely. Show stale availability clearly to operators and set an age threshold that creates an actionable exception rather than silently advertising old stock as current.

After reconnection, compare source and destination using the same cut-off time and identifiers. Separate timing differences from genuinely missing movements. A reconciliation report should identify who resolves each discrepancy and retain the reason for a correction. Replay missed work with the original event identity, then verify the resulting balance. Include duplicate events and a return arriving before its related refund in the test set; an orderly happy-path demonstration does not establish inventory consistency.

## Before you commission the work

Which system reserves stock? What happens when connectivity fails during checkout? Who sees an unresolved difference? Bring sample order, cancellation and return cases to the integration design so the operating rules can be tested.

## System integration

Make your tools work together.

- [Discuss this service](https://orvunlabs.com/en/services/system-integration.md)

## Related reading

- [CRM synchronisation needs field ownership and conflict rules](https://orvunlabs.com/en/journal/crm-sync-data-ownership.md)
- [Why webhooks need idempotency, retries and reconciliation](https://orvunlabs.com/en/journal/webhooks-idempotency-retries.md)

## Let's make something useful.

A first product, a difficult workflow or software that needs a fresh start. Tell us where you are.

- [Tell us about your project](https://orvunlabs.com/en/contact)

## Structured data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://orvunlabs.com/#organization",
      "name": "Orvun Labs",
      "url": "https://orvunlabs.com",
      "logo": "https://orvunlabs.com/orvunlabs-icon-512.png",
      "description": "Custom software, SaaS products and AI-powered tools — designed around your business.",
      "knowsAbout": [
        "Custom software",
        "SaaS product development",
        "AI integration"
      ]
    },
    {
      "@type": "WebSite",
      "@id": "https://orvunlabs.com/#website",
      "name": "Orvun Labs",
      "url": "https://orvunlabs.com",
      "inLanguage": [
        "en",
        "es",
        "de",
        "fr",
        "pt",
        "ja",
        "hi",
        "ar",
        "id",
        "tr",
        "pl"
      ],
      "publisher": {
        "@id": "https://orvunlabs.com/#organization"
      }
    },
    {
      "@type": "WebPage",
      "@id": "https://orvunlabs.com/en/journal/erp-commerce-stock-consistency#webpage",
      "url": "https://orvunlabs.com/en/journal/erp-commerce-stock-consistency",
      "name": "Keeping stock, prices and orders consistent between ERP and commerce",
      "description": "Consistency begins by naming the authority for each business fact. Stock, sellable availability, price and order status are not necessarily owned by the same system. Define direction, update",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://orvunlabs.com/#website"
      },
      "about": {
        "@id": "https://orvunlabs.com/#organization"
      },
      "breadcrumb": {
        "@id": "https://orvunlabs.com/en/journal/erp-commerce-stock-consistency#breadcrumb"
      }
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://orvunlabs.com/en/journal/erp-commerce-stock-consistency#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Orvun Labs",
          "item": "https://orvunlabs.com/en"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Keeping stock, prices and orders consistent between ERP and commerce",
          "item": "https://orvunlabs.com/en/journal/erp-commerce-stock-consistency"
        }
      ]
    },
    {
      "@type": "BlogPosting",
      "headline": "Keeping stock, prices and orders consistent between ERP and commerce",
      "description": "Consistency begins by naming the authority for each business fact. Stock, sellable availability, price and order status are not necessarily owned by the same system. Define direction, update",
      "datePublished": "2026-09-13T09:00:00.000Z",
      "dateModified": "2026-09-13T09:45:03Z",
      "inLanguage": "en",
      "author": {
        "@id": "https://orvunlabs.com/#organization"
      },
      "publisher": {
        "@id": "https://orvunlabs.com/#organization"
      },
      "image": [
        "https://orvunlabs.com/images/blog/integrations.svg"
      ],
      "mainEntityOfPage": {
        "@id": "https://orvunlabs.com/en/journal/erp-commerce-stock-consistency#webpage"
      }
    }
  ]
}
```
