Qeasy Cloud
Get Started

Sales Order Sync in Practice: MES Production Issue/Supplement Materials → U8 Material Outbound

· 何海波· Integration Solutions· 4 views· 5 min read

What This Strategy Solves

On the shop floor of a manufacturing enterprise, production staff initiate material issue and supplement operations in MES every day. The workshop supervisor needs to see the corresponding material outbound documents in the ERP (UFIDA U8) before financial accounting and cost allocation can proceed. The seemingly simple "MES issue → U8 outbound" often fails in practice because of inconsistent coding, status timing mismatches, and the mixing of supplements with returns, leading to mismatched numbers on both sides and inventory drift. We use the Qeasy data integration platform to handle this link, with one goal: the moment a shop-floor action occurs, U8 has a material outbound document that is readable and reconcilable.

Data Flow and Field Mapping

The overall link is unidirectional: the MES WEB system → Qeasy middle layer (mapping + validation) → UFIDA U8.

Key field comparison (excerpt, subject to the actual material table):

Business MeaningMES Source FieldU8 Target FieldHandling Notes
Document typeBusiness type (issue / supplement)Document type codeIssue = production issue order, supplement = production supplement order
Document numberMES order numberU8 document number (rewritable)Generated by U8 rules; original MES number written into remarks
Material codeInternal material codeInventory codeUnified via code mapping table to avoid one-material-multiple-codes
QuantityIssue / supplement qty (negative = return)QuantityNegative values must be converted to U8-recognized return logic
WarehouseMES line-side warehouseWarehouse codeWarehouse archive must be pre-created in U8
Batch / production orderBatch / work order numberBatch / order numberPass-through; key for cost allocation
TimestampBusiness event timeDocument dateUse MES business time to avoid time-zone drift

Centralized code mapping is a typical approach we recommend to customers: maintain a "material code mapping table" in Qeasy, shared by all strategies — change once, take effect everywhere.

How to Configure in Qeasy

With the Qeasy data integration platform, the typical configuration has four parts:

  1. Data source connection: The source uses MES business document interfaces (or database views), and the target uses U8's standard material outbound API. Configure both connectors directly in Qeasy; no extra adapter code is needed.
  2. Data transformer: Build two transformers in the middle layer — a header transformer (document type, date, warehouse, operator) and a body transformer (material, quantity, batch, order number). Handling header and body in stages is a common pattern among Qeasy customers, especially when the MES interface returns headers in one call and bodies in a loop — row loss becomes unlikely.
  3. Code mapping: Through Qeasy's "mapping table" component, centrally maintain the MES material code → U8 inventory code mapping. Manually add once for new materials; subsequent strategies reuse it.
  4. Target write strategy: On the U8 side, we recommend a "draft + submit" two-step approach: first write into draft state, validate, then submit. Qeasy's fault-tolerance strategy can route oversized fields or missing required values into an exception queue, instead of pushing dirty data straight into U8.

Implementation Steps

We recommend a three-step rollout:

  • Step 1: Full-volume trigger (historical data initialization). Before go-live, run a one-time full-volume task to backfill the past N days of issue and supplement orders into U8 as the reconciliation baseline. The key here is do not enable incremental sync until the full task completes, otherwise duplicate documents will land.
  • Step 2: Incremental starting point (real-time or near-real-time sync). Use "MES document last-modified time" as the incremental cursor, adopting an incremental and full-volume dual-track strategy — incremental handles daily new orders; full-volume runs weekly during off-peak hours for missing-order compensation. Qeasy's scheduler can configure two Crons that do not interfere with each other.
  • Step 3: Scheduling frequency. We suggest polling every 5–10 minutes for incremental, and every 3 minutes for supplement scenarios. Run full-volume tasks during off-peak hours at night. If U8 has rate limits, set the QPS threshold in Qeasy's rate-limiting component to avoid overwhelming U8.

Pitfall Review

From a real project, the pitfalls we hit:

  1. Supplements treated as issues. In MES, "supplement" and "issue" share one interface, distinguished only by a business-type field. If the transformer does not explicitly map "supplement" to U8's supplement document type, U8 will treat it as a normal issue, causing inventory drift in the opposite direction.
  2. Negative returns not handled separately. Operators tend to express returns as "negative issues," but U8 does not recognize negative issue documents — they must be converted to corresponding red-letter outbound or return logic. This is where projects tend to crash; the safe approach is to explicitly check the sign bit in the middle layer.
  3. Code mapping scattered across multiple strategies. Early on, each customer's sync strategy maintained its own mapping, so adding a material meant modifying five or six places. The problem was only solved after everything was consolidated into Qeasy's shared mapping table.
  4. MES document time inconsistent with server time. The MES server was not using NTP, causing all U8 document dates to be wrong. A typical mistake is "write the document date with the system current time"; the correct approach is to use the MES business event time.
  5. U8 rate limiting caused bulk re-upload failures. A single full-volume backfill of more than 6,000 documents triggered U8's API rate limit, sending many documents into the exception queue. Later, by setting a limit of no more than 60 requests per minute in Qeasy's rate-limiting component, the task completed smoothly.

Applicable and Non-applicable Scenarios

Applicable: MES and U8 are both privately deployed within the same factory, with internal network connectivity; the workshop has clear issue and supplement flows, and U8 is the single source of truth for finance and cost allocation. Not applicable: Cross-legal-entity, cross-account-set multi-factory group scenarios — multi-organization relationships must be confirmed in U8 first and designed separately. It is also not applicable for second-level real-time requirements where U8 does not support APIs (very old versions); in that case, prioritize upgrading U8's interface solution before considering integration.

Original content. Please credit the source when reposting: https://www.qeasy.cloud/insights/solutions/strat-mes-web-u8-0201-mes-u8-63821fcd

Comments