{"asOf":"2026-09-28","size":"demo","counts":{"sap_suppliers":63,"sap_purchase_orders":800,"pim_products":1200,"wms_facilities":12,"wms_stock":3600,"tms_shipments":800,"aps_forecasts":3600,"srm_suppliers":60,"qms_nonconformities":400,"wms_movements":3000,"tms_deliveries":1001,"oms_order_lines":3000,"lake_sales":4000},"sources":{"sap":{"label":"SAP S/4HANA (OData v2)","role":"Achats, fournisseurs, finance (maître fournisseurs)","keys":{"supplier":"Supplier (LIFNR)","purchaseOrder":"PurchaseOrder (EBELN)"},"endpoints":["/sap/opu/odata/sap/API_BUSINESS_PARTNER/A_Supplier","/sap/opu/odata/sap/API_PURCHASEORDER_PROCESS_SRV/A_PurchaseOrderItem","/sap/opu/odata/sap/API_PURCHASING_SOURCE_SRV/A_PurchasingSource","/sap/opu/odata/sap/API_INFORECORD_PROCESS_SRV/A_PurgInfoRecdOrgPlantData","/sap/opu/odata/sap/API_PRODUCT_SRV/A_ProductSupplyPlanning","/sap/opu/odata/sap/API_PRODUCT_SRV/A_ProductValuation","/sap/opu/odata/sap/API_SLSPRICINGCONDITIONRECORD_SRV/A_SlsPrcgConditionRecord","/sap/opu/odata/sap/API_PURCHASEORDER_PROCESS_SRV/A_PurchaseOrder","/sap/opu/odata/sap/API_MATERIAL_DOCUMENT_SRV/A_MaterialDocumentItem","/sap/opu/odata/sap/API_PURCHASEORDER_PROCESS_SRV/A_PurOrdSupplierConfirmation"]},"pim":{"label":"PIM produits (REST)","role":"Maître produits","keys":{"product":"productId","ean":"ean (EAN-13)","supplier":"supplierTaxId (SIRET/TVA/DUNS en saisie libre)"},"endpoints":["/api/sources/pim?resource=products"]},"manhattan":{"label":"Manhattan Active WM (REST)","role":"Stocks et entrepôts","keys":{"item":"ItemId (GTIN-14)","facility":"FacilityId (sans tiret)"},"endpoints":["/api/sources/manhattan?resource=inventory","/api/sources/manhattan?resource=movements","/api/sources/manhattan?resource=facilities","/api/sources/manhattan?resource=outbound-deliveries"]},"tms":{"label":"TMS (REST)","role":"Transport, expéditions, transporteurs","keys":{"shipment":"ShipmentId","po":"PurchaseOrderRef (PO-…)","item":"ItemId (GTIN-14)","supplier":"OriginName (raison sociale libre)"},"endpoints":["/api/sources/tms?resource=shipments","/api/sources/tms?resource=deliveries","/api/sources/tms?resource=routes","/api/sources/tms?resource=customs-cbam","/api/sources/tms?resource=shipment-emissions","/api/sources/tms?resource=shipment-stages","/api/sources/tms?resource=events"]},"aps":{"label":"APS (REST)","role":"Planification, prévisions, S&OP","keys":{"material":"Material (référence interne)","site":"Site","week":"Week (ISO)"},"endpoints":["/api/sources/aps?resource=forecasts","/api/sources/aps?resource=demand-signals","/api/sources/aps?resource=supply-positions","/api/sources/aps?resource=lead-time-review","/api/sources/aps?resource=atp-checks"]},"srm":{"label":"SRM · portail fournisseurs (REST)","role":"Évaluation, risques, certifications","keys":{"supplier":"SrmId","tax":"TaxId (TVA « FR-12-… » ou DUNS)"},"endpoints":["/api/sources/srm?resource=suppliers","/api/sources/srm?resource=certificates","/api/sources/srm?resource=country-exposure","/api/sources/srm?resource=eudr-statements","/api/sources/srm?resource=risk-assessments"]},"qms":{"label":"QMS (REST)","role":"Qualité, non-conformités, retours","keys":{"nc":"NcId","item":"Ean","supplier":"SupplierTaxId"},"endpoints":["/api/sources/qms?resource=nonconformities","/api/sources/qms?resource=inspection-lots","/api/sources/qms?resource=supplier-quality"]},"oms":{"label":"OMS commandes clients (REST ou fichier)","role":"Commandes clients","keys":{"product":"ProductRef (référence interne, casse libre)","site":"FulfillmentSite"},"endpoints":["/api/sources/oms?resource=order-lines","/api/sources/oms?resource=order-history","/api/sources/oms?resource=order-lines&format=csv"]},"hr":{"label":"SIRH · SAP SuccessFactors Employee Central (simulé)","role":"Effectifs et absences (EmpJob, EmployeeTime)","keys":{"employee":"userId","site":"location (code site du WMS)"},"endpoints":["/api/sources/hr?resource=emp-job","/api/sources/hr?resource=employee-time"]},"lake":{"label":"Data lake ventes (SQL / Parquet / CSV)","role":"Historique : ventes magasin et flux J-1 des applications (OMS, WMS, ERP, TMS, APS, QMS)","keys":{"product":"Ean (EAN-13)","store":"StoreCode (minuscules, underscore)","feeds":"mêmes identifiants que l'application d'origine"},"endpoints":["/api/sources/lake?resource=sales&format=csv","/api/sources/lake?aggregate=1&groupBy=Ean,month","/api/sources/lake?resource=orders","/api/sources/lake?resource=stock","/api/sources/lake?resource=movements","/api/sources/lake?resource=purchases","/api/sources/lake?resource=transport","/api/sources/lake?resource=deliveries","/api/sources/lake?resource=forecasts","/api/sources/lake?resource=quality","/api/sources/lake?resource=demand-history","/api/sources/lake?resource=purchase-history","/api/sources/lake?resource=absenteeism"]}},"deliberateErrors":[{"id":"dup-supplier","source":"sap","count":3,"description":"Fournisseur en double : autre LIFNR, raison sociale en majuscules + « SAS », SIRET/TVA avec espaces."},{"id":"orphan-product","source":"pim","count":6,"description":"Produit dont l'identifiant fiscal fournisseur (FR99…) n'existe pas dans SAP."},{"id":"dup-ean","source":"pim","count":4,"description":"Deux produits PIM partagent le même EAN."},{"id":"tax-format","source":"pim","count":null,"description":"TVA saisie en minuscules avec espaces (« fr 12 345678901 »), DUNS avec tirets : à normaliser."},{"id":"orphan-stock","source":"manhattan","count":5,"description":"Ligne de stock sur un GTIN inconnu du PIM (préfixe 0399)."},{"id":"unknown-facility","source":"manhattan","count":2,"description":"Code site WHXXX inconnu."},{"id":"gtin14","source":"manhattan","count":null,"description":"ItemId en GTIN-14 (zéro de tête) à ramener en EAN-13 ; FacilityId sans tiret (WHPAR → WH-PAR)."},{"id":"oms-case","source":"oms","count":60,"description":"Référence produit saisie en minuscules."},{"id":"store-code","source":"lake","count":null,"description":"Code magasin en minuscules avec underscore (btq_par_fsh → BTQ-PAR-FSH)."},{"id":"origin-name","source":"tms","count":8,"description":"Raison sociale fournisseur saisie autrement dans le WMS (MAJUSCULES + « Ltd ») : rapprochement par ressemblance, soumis à validation."},{"id":"country-divergence","source":"pim","count":3,"description":"Pays du fournisseur différent entre le PIM et SAP (maître) : écart de fond, signalé dans la preuve des alertes."},{"id":"aps-unknown-material","source":"aps","count":7,"description":"Prévision sur une référence inconnue du PIM (ML-9…)."},{"id":"srm-expired-certification","source":"srm","count":5,"description":"Certification fournisseur expirée."},{"id":"srm-tax-format","source":"srm","count":null,"description":"TVA au format « FR-12-345678901 » et nom de groupe « (groupe) » : à normaliser et rapprocher."},{"id":"qms-unknown-ean","source":"qms","count":4,"description":"Non-conformité sur un EAN inconnu (préfixe 399)."},{"id":"po-prefix","source":"tms","count":null,"description":"Référence de commande « PO-4500000001 » côté TMS, « 4500000001 » côté SAP."}],"auth":"Authorization: Bearer <jeton passerelle> (démo : lucie_aura_gateway_demo_token)","scale":{"onTheFly":"Ajouter size=scale à toute ressource : pages générées à la volée (pagination seule), sans stockage.","counts":{"sap_suppliers":5025,"sap_purchase_orders":1000000,"pim_products":1000000,"wms_facilities":500,"wms_stock":5000000,"tms_shipments":1000000,"aps_forecasts":1200000,"srm_suppliers":5000,"qms_nonconformities":200000,"wms_movements":10000000,"tms_deliveries":3333334,"oms_order_lines":10000000,"lake_sales":50000000},"parquet":"npm run generate:scale → Parquet dans /tmp/maison-lucie-scale (mêmes lignes, vérifié par test)."}}