Qeasy Cloud
Get Started

Sales Outbound Order Cross-System Sync in Practice: A Deep Dive into a Single Strategy from RPA Capture to ERP Posting

· 谢锴斌· Integration Solutions· 17 views· 4 min read
兴宛堂Jushuitan销售订单同步轻易云RPAERP供应链集成Field Mapping

What This Strategy Solves

In a supply-chain unification project for a retail enterprise, the front-end store system generates several hundred sales outbound orders every day, and the back-end ERP needs to post these documents into the finance and inventory modules. On the surface it looks like simple document搬运, but in reality it crosses two systems, spans header and line items, and must reconcile incremental and full-volume traffic.

We use the Qeasy data integration platform to package this sync chain as a single, independent strategy: RPA-Sales Outbound Order → ERP-Sales Outbound Order. Once configured, every order created at the front end shows up in the back end within minutes as a structurally consistent outbound voucher, enabling smooth financial reconciliation, inventory deduction, and batch traceability.

Data Flow and Field Mapping

The pipeline is divided into three segments: source capture → Qeasy middle-tier processing → target write-back.

Business MeaningRPA-Side FieldMiddle-Tier Standardized FieldERP-Side Field
Document numberbill_nodoc_noVKONT_NUM
Store codeshop_codeorg_codeSTORE_ID
Outbound timeout_time (string)out_time (yyyy-MM-dd HH:mm:ss)POSTING_DATE
Material codesku_codematerial_codeMATNR
Quantityqtyqty (DECIMAL(18,4))MENGE
Unit pricepriceprice (tax-inclusive / tax-exclusive toggle)KBETR
Customer codebuyer_idcustomer_codeKUNNR
RemarkremarkremarkTEXT

A typical issue we saw on site: the RPA-side time field is a string like "2024/05/21 14:30", but the target ERP expects a timestamp with timezone. Without normalization in the middle tier, the entire batch fails on the target side. Qeasy's field-mapping node is built exactly for this role—centrally managing codes, dates, and units—reducing hard coding and simplifying later auditing.

How to Configure in Qeasy

Open the Qeasy console, create a new "Sales Order Sync" strategy, and configure the following key points:

  1. Source connection: Choose the data-fetch interface exposed by the RPA side (HTTP or database view, depending on what is available on site), configure credentials, and test by pulling a minimum dataset.
  2. Target connection: Point to the ERP's sales outbound order write interface (typically a BAPI or custom API), and confirm required fields on the ERP side, such as VKONT_NUM and KUNNR.
  3. Field mapping: Map one-to-one based on the table above. Note that code mappings should be extracted into a dedicated mapping table—e.g., store codes mapped to an internal org code.
  4. Data cleansing: Enable the three commonly used actions: "skip nulls", "trim strings", and "unify time format". Force quantity and unit price into DECIMAL to avoid character-type writes being rejected by the ERP.
  5. Deduplication strategy: Use doc_no + material_code as the business key, and dedupe in the middle tier before writing to prevent RPA retransmission from causing duplicate lines in the ERP.
  6. Write-back and logging: Enable write-result callback and store failure details in a log table for troubleshooting.

Implementation Steps

This strategy is not a one-shot switch. We typically roll it out in three phases:

  • Phase 1: Trigger full volume and get the pipeline running. Add a "full-volume catch-up" entry in the strategy and manually trigger a backfill of historical data. The goal is to pressure-test field mapping, error handling, and batch size (usually 200 records/batch) in one pass.
  • Phase 2: Set the incremental starting point. Pick a timestamp (e.g., 00:00:00 of a chosen day) as the incremental anchor, and let the strategy poll on a schedule. The RPA side pulls incrementally using "last-modified-time > last successful time". This is the critical node that determines long-term stability.
  • Phase 3: Stable scheduling and monitoring. Start with a 5-minute schedule, observe write latency and failure rate on the ERP side; if the target allows, tighten to 1–2 minutes. Qeasy's alert channel is wired into enterprise WeCom or DingTalk; failures beyond a threshold are pushed to the ops group.

A common pattern on site is the "dual-track incremental plus full-volume" approach: run incremental day to day, and trigger a scoped full-volume reconciliation every Sunday night to confirm no drift between the two sides. This combination is especially stable in projects where multiple systems run in parallel.

Pitfalls Recap

  1. Code mappings scattered across scripts. In an early version we hardcoded store codes inside the transform script. After a store merge, both sides drifted and finance spent three weeks reconciling. The safe approach is to centralize all cross-system codes in a single mapping table, and let Qeasy look it up dynamically at runtime.
  2. Header and line items not split into phases. Putting header and lines into the same batch and writing in a loop means a single line error rolls back the whole batch, including the header. The safe approach is one batch for headers, another for lines grouped by document, with exponential backoff retries.
  3. Idempotency ignored. RPA-side network jitter causes retransmissions; without dedupe, duplicate lines appear in the ERP. Always dedupe on doc_no + material_code as the business key, and add another layer if the target supports idempotency fields.
  4. Time fields not normalized. This is the easiest place to crash: the source has multiple string formats, the target wants timestamps, and without middle-tier normalization the failure rate spikes at the midnight crossover.
  5. Schedule frequency chosen by gut feel. Starting at 1-minute polling without rate limiting on the source side will knock the source over. The safe approach is to stabilize at 5 minutes first, then gradually compress the interval while monitoring source-side response time.

Where It Applies and Where It Doesn't

Applies to: sales outbound order sync where the document structure is relatively stable, cross-system field differences are mainly in codes and formats, and no complex business rule transformation is required.

Does not apply to: scenarios where the source-side order state machine is complex (frequent amendments, cancellations) or where inventory pre-allocation or credit checks must run in the middle tier. Such requirements are better split into multiple cooperating strategies rather than stuffed into a single strategy.

Original content. Please credit the source when reposting: https://www.qeasy.cloud/insights/solutions/strat-p043c87-jushuitan-0533-rpa-erp-714fa964

Comments