---
title: "Flux ERP inbound — Messages réception"
tags: [inbound, ERP, ASN, ROR, ROF, REF, ITM, interface]
status: draft
standard_ref: architecture/erp-integration.md
jira_refs: []
confluence_refs: []
sources: [FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5.docx, "CR CONSOLIDES REU ERP LIMAGRAIN V1 - CR.md"]
last_updated: 2026-05-06
author: Arthur
---

# Flux ERP inbound — Messages réception

> **Résumé** : catalogue des messages ERP liés aux processus de réception
> chez Limagrain, avec direction, déclencheur et contenu principal.

> **Standard EasyWMS** : → voir [ERP Integration](../../architecture/erp-integration.md)
> Ce qui suit documente les **spécificités Limagrain** par rapport au standard.

## Contexte projet

La communication ERP se fait via **XML + Webservice** entre SAP EWM et
EasyWMS (service GNA). Tous les messages de réception sont documentés ici.
Pour les messages d'expédition, voir
[Flux ERP outbound](../04-outbound/flux-erp-outbound.md).

## Messages entrants (SAP → EasyWMS)

### ITM — Item Master

| Champ | Description |
|-------|-------------|
| Direction | ERP → WMS |
| Déclencheur | Création/modification article dans SAP |
| Contenu | Code lot SAP, description, propriétaire, UdM, poids brut, conversions, profils, type conteneur, quantité complète, type article (FERT/ZSIZ) |
| [CUSTOM] | Espèce, génération, marque, variété, traitement commercial, packing unit, code GTIN, semences essais, size, field production area |

> ⚠️ Chez Limagrain, les **lots SAP** sont gérés comme des articles (descendus
> via ITM). L'article Limagrain est un attribut du lot SAP.

### ASN — Advanced Shipping Notice

| Champ | Description |
|-------|-------------|
| Direction | ERP → WMS |
| Déclencheur | Création HU avec code SSCC en production |
| Architecture | **1 ASN = 1 palette de production** (pas d'agrégation — permet suppression individuelle en cas d'annulation) |
| Contenu | Numéro HU, article, lot SAP, [CUSTOM] propriétaire Limagrain, statut de stock, quantité (unités de vente) |
| Timing | Envoyé dès création de la HU avec code SSCC |

**Attributs logistiques dans les lignes ASN** :

| Attribut logistique | Champ SAP | Usage |
|---------------------|-----------|-------|
| LotCode | Code produit SAP | Différencie produits pour même lot SAP |
| Color | Propriétaire réel SAP | ≠ "MECALUX" technique |
| Source | Description produit | Désignation courte SAP |
| Size | Destination (Pays) | Peut changer |

**Statuts de stock** : gérés dès l'ASN. Si stock OK : ne PAS envoyer de
statut (champ vide ou absent du JSON).

**Champs NON utilisés** : DivisionType, ReceiptOrderCode, IsSlave,
Height/Volume (recalculé au pesage PIE), dates fabrication/expiration,
numéro de série.

### ROR — Reception Order Request

| Champ | Description |
|-------|-------------|
| Direction | ERP → WMS |
| Déclencheur | Planification réception dans SAP (extérieures, intersites, retours) |
| Contenu | Numéro de réception, articles, lots SAP, quantités (unités de vente) |
| Structure | 1 ROR = 1 livraison SAP (un camion peut contenir plusieurs livraisons) |

**Types de réception (InboundType)** :

| InboundType | Usage | AccountCode/SupplierCode | Tolérance |
|-------------|-------|--------------------------|-----------|
| 0 (Fournisseur) | Livraisons DESADV | SupplierCode = "FOURNISSEUR" | Précisée par SAP (override profil) |
| 1 (Retour) | Retours clients ORDRSP | AccountCode = "CLIENT" | Illimitée (ReceiveLessAllowed=true) |
| 3 (Transfert) | Transferts inter-sites | — | 0% (palettes identifiées) |

**Paramètres clés** : SingleReceipt = true (pas de reliquat WMS),
FreeQuantity non nécessaire. Pas de SSCC dans le ROR (récupéré au scan
RFID en réception).

### [CUSTOM] API Lot SAP (retours clients uniquement)

| Champ | Description |
|-------|-------------|
| Direction | WMS → ERP (requête) puis ERP → WMS (réponse) |
| Déclencheur | Scan lot officiel inconnu sur poste de travail |
| Requête | Lot officiel |
| Réponse OK | Lot SAP, articles possibles, descriptions, destinations + déclenchement ITM |
| Réponse NOK | Message erreur ("lot n'existe pas" ou "lot non vendu") |

## Messages sortants (EasyWMS → SAP)

### REF — Reception Fulfilled

| Champ | Description |
|-------|-------------|
| Direction | WMS → ERP |
| Déclencheur | **Clôture manuelle** de la réception (action opérateur) |
| Contenu | Conteneurs réceptionnés, lignes de stock, [CUSTOM] zone de stockage pour chaque palette, 4 attributs logistiques + lot SAP |
| Structure | Un seul REF par réception (pas de progressif, car SingleReceipt=true). Le ReceiptCode (en-tête) = code réception WMS. Le code de l'ordre d'entrée est au niveau de la **ligne** (`LneRecOrdersPotential`) |
| Contrainte | L'emplacement de rangement n'est connu qu'après le stockage en ASRS → attendre que toutes les palettes soient stockées avant d'envoyer le REF |
| Données | S'appuie sur les données **réelles** (pas théoriques) |

### ROF — Reception Order Fulfilled

| Champ | Description |
|-------|-------------|
| Direction | WMS → ERP |
| Déclencheur | Validation/clôture de l'ordre d'entrée |
| Rôle | Récapitulatif de l'ensemble des stocks reçus. Signale à l'ERP que l'ordre est fermé (même partiellement). Sans ROF, l'ERP ne clôturerait jamais la commande d'achat |
| Reliquats | Pas de gestion de reliquats par EasyWMS. Si réception incomplète, c'est SAP qui gère le reliquat |
| Hors tolérance | ROF bloqué jusqu'à régularisation par le manager dans SAP (customisation requise) |

### [CUSTOM] LOC — Location

| Champ | Description |
|-------|-------------|
| Direction | WMS → ERP |
| Déclencheur | Palette stockée dans l'ASRS (rangement effectif) |
| Contenu | Numéro HU, station départ, station arrivée, workzone arrivée, emplacement arrivée |
| Condition | Généré uniquement si stations départ et arrivée sont différentes |

## Diagramme de séquence — Réception production

```mermaid
sequenceDiagram
    participant SAP
    participant WMS as EasyWMS
    participant GAL as Galileo/PIE

    SAP->>WMS: ITM (article/lot)
    Note over SAP,WMS: En amont
    SAP->>WMS: ASN (pré-notif HU)
    Note over SAP,WMS: À l'expédition source
    GAL->>WMS: Event PIE (RFID + poids)
    WMS->>WMS: Contrôle poids + rangement
    WMS->>GAL: Tâche stockage
    GAL->>WMS: End (palette stockée)
    WMS->>SAP: LOC (emplacement)
```

## Diagramme de séquence — Réception extérieure

```mermaid
sequenceDiagram
    participant SAP
    participant WMS as EasyWMS
    participant PK as Poste travail
    participant GAL as Galileo/PIE

    SAP->>WMS: ROR (ordre réception)
    WMS->>PK: Palette sur poste
    PK->>WMS: Déclaration contenu
    WMS->>GAL: Tâche évacuation → PIE
    GAL->>WMS: Event PIE
    WMS->>WMS: Contrôle + rangement
    GAL->>WMS: End (stockée)
    WMS->>SAP: LOC
    PK->>WMS: Clôture réception
    WMS->>SAP: REF (avec emplacements)
    WMS->>SAP: ROF
```

## Points d'attention

⚠️ Le message REF est retardé jusqu'à validation PIE de tous les conteneurs
(peut prendre du temps si file d'attente PIE longue).

⚠️ Le message LOC n'est pas standard — c'est un [CUSTOM] spécifique
Limagrain pour traçabilité emplacement dans SAP.

⚠️ Les modifications dans les master data ne doivent **pas** être faites
directement dans EasyWMS (risque d'écrasement par prochain ITM).

## Historique des modifications

| Date | Auteur | Modification |
|------|--------|--------------|
| 2026-05-05 | Arthur | Création initiale depuis AF V1.5 |
| 2026-05-06 | Arthur | Enrichissement ASN (1 par palette, attributs logistiques, champs non utilisés), ROR (InboundType, tolérances, SingleReceipt), REF (clôture manuelle, zone stockage, contrainte rangement), ROF (rôle, reliquats, hors tolérance) — depuis CR consolidé ERP |

## Références

| Source | Type | Date |
|--------|------|------|
| FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5 | Analyse fonctionnelle | 28/11/2025 |
| CR CONSOLIDES REU ERP LIMAGRAIN V1 | CR ateliers interfaçage | 23/02/2026 |
