IntegrationData Ingestion

Data Ingestion

Import production data into Novo AI from ERP, BDE/MES, or Excel/CSV — connection methods, data requirements, validation rules, and the customer handover package.

Introduction

This guide explains what your organization should provide so Novo AI can integrate with your existing production systems. It is vendor-neutral and applies to ERP, MES, BDE/shop-floor data collection, database, API, and file-based environments.

A successful integration requires more than field names. Before implementation, identify the authoritative source systems, confirm stable identifiers, define units and timestamp rules, provide representative sample data, and agree how Novo AI will access or exchange the data.

Minimum preparation package: provide a representative sample export or interface schema, field descriptions and units, machine/resource identifiers, plant timezone, production-time semantics, access/interface details, and technical plus operational contacts for validation.

Supported integration paths

Integration pathDirectionRecord granularityCustomer providesTypical access
Direct ERP planning importERP -> Novo AIOne planned operation per recordPlanning/order fields and stable resource mappingRead-only source access
Existing BDE/MES importBDE/MES -> Novo AIOne recorded activity/state intervalInterval, machine, state, and order identifiersRead-only source typically sufficient
Temporary Excel/CSV importFile -> Novo AIOne planned operation per rowUpload template with agreed formats and unitsNo live system connection required
Machine & production exportNovo AI -> customer systemOne continuous machine-state intervalWritable target and accepted state/duration fieldsRead/write or equivalent API operations

Customer-side readiness checklist

  • Identify the ERP planning source and the table, view, API, or export containing planned production operations.
  • Identify the machine/resource master and confirm the stable machine/resource code used across systems.
  • Confirm the production-site timezone and daylight-saving-time behavior.
  • Confirm quantity units such as pcs, kg, or m, and the time units used by the source system.
  • Confirm whether planned production time applies per unit or to the complete order quantity.
  • Provide representative test data containing multiple orders, operations, machines, and edge cases.
  • If existing BDE/MES intervals are in scope, provide the state/activity model and order/resource references.
  • If Novo AI data will be written back, provide the target interface/table and required authentication/network access.
  • Provide technical and production-planning contacts who can validate mappings and test results.

Connection methods

Novo AI supports several standard ways to connect to your ERP or BDE/MES system. The right method depends on what your systems already expose and your internal security policies — in every case, Novo AI only needs read-only access for the planning and BDE/MES import flows described in this guide.

Novo AI can pull planning data from a REST API you expose (SAP OData, a custom REST service, or middleware/iPaaS), or you can push data to a Novo AI ingestion endpoint.

  • Best for: ERPs or middleware layers that already expose an API
  • Access: read-only API credentials (API key or OAuth2 client credentials)
  • Update model: polling or webhook push

Exact technology, endpoints, and credentials are still agreed per project — see Access, connectivity, and implementation inputs below. This is a menu of supported options, not a requirement to change your existing systems.

Example: read-only integration table

If you choose the direct-database or single-table/view option, the fastest path is to expose the planning fields already defined in Required ERP -> Novo AI planning fields as one dedicated table or view.

CREATE TABLE novoai_planning_export (
    order_id                          VARCHAR(64)               NOT NULL,
    customer_code                     VARCHAR(64),
    customer_name                     VARCHAR(255),
    order_tags                        VARCHAR(255),
    product_id                        VARCHAR(64)               NOT NULL,
    planned_quantity                  DECIMAL(18,3)              NOT NULL,
    quantity_unit                     VARCHAR(16)                NOT NULL,
    planned_start                     TIMESTAMP WITH TIME ZONE   NOT NULL,
    planned_end                       TIMESTAMP WITH TIME ZONE   NOT NULL,
    operation_sequence                VARCHAR(32)                NOT NULL,
    operation_description             VARCHAR(255),
    planned_preparation_time_seconds  INTEGER,
    planned_production_time_seconds   INTEGER,
    resource_code                     VARCHAR(64)                NOT NULL,
    resource_name                     VARCHAR(255),
    PRIMARY KEY (order_id, operation_sequence, resource_code)
);

Then create a dedicated account for Novo AI and grant it read-only access to just that table:

CREATE USER novoai_reader WITH PASSWORD '...';
GRANT SELECT ON novoai_planning_export TO novoai_reader;

This mirrors the uniqueness rule already used for planning records (order_id + operation_sequence + resource_code) and keeps Novo AI's access limited to exactly the columns and rows required — nothing else in your ERP schema is exposed. The same pattern applies to a read-only view over existing ERP tables if you would rather not duplicate data into a new table.

This table is a starting point, not a fixed schema. Optional fields (see Optional planning fields) can be added as extra nullable columns, and the same approach — one export table, one read-only account — also works for exposing existing BDE/MES intervals.

General data requirements

These principles apply regardless of whether data comes from an ERP, MES/BDE system, database interface, API, or spreadsheet. Most integration issues originate from ambiguous identifiers, inconsistent units, or timestamp interpretation rather than from the transport technology itself.

Stable identifiers

Identifiers used for matching must remain stable over time. Display names may change; matching keys should not. Treat identifiers as strings even when they contain digits only because leading zeros, prefixes, suffixes, and revisions may be meaningful.

ConceptRecommended typeGood exampleWhy it matters
Production order IDStringPO-2026-004582Stable key for the production order
Material/product IDStringMAT-0004711Preserves ERP material-number formatting
Machine/resource codeStringMILL-12Stable machine mapping independent of display name
Operation sequenceStringA10Supports 10, 0010, A10, and similar ERP values
Interval IDStringBDE-20260729-000123Stable identity for source intervals

Preserve identifiers exactly. Do not strip leading zeros, translate identifiers, change capitalization, or recreate IDs from human-readable names. For example, resource code 00012 must not silently become 12.

Accepted logical data types

TypeMeaningExampleGuidance
StringText or identifier0004711, MACHINE-12, A10Preferred for identifiers; preserves formatting
IntegerWhole number900Used for complete seconds and whole-number counters
DecimalNumeric value with optional fraction125.5, 0.85Used for quantities, energy, weight, length
TimestampDate and time representing an instant2026-07-29T08:00:00+02:00Timezone-aware ISO 8601 preferred
DateCalendar date2026-07-29Use YYYY-MM-DD
TimeLocal clock time08:30:00Use HH:mm:ss; site timezone is still required
String[]Zero or more text valuesurgent, exportA spreadsheet may store the list in one cell
Object / MapFlexible key-value attributes{"production_family":"housing"}Use only for agreed additional attributes

Timestamp and timezone rules

For automated interfaces, timezone-aware timestamps are strongly preferred.

Preferred: 2026-07-29T08:00:00+02:00
UTC form:  2026-07-29T06:00:00Z
Avoid:     07/29/26 08:00

If the source provides only local date/time values, the production-site timezone must be explicitly agreed during setup.

Daylight-saving-time caution: never infer timestamps from the browser, laptop, or server timezone. Local times can be ambiguous around daylight-saving-time changes; the plant/site timezone must be known.

Quantities, units, and durations

  • Every planned quantity must have a unit, for example planned_quantity = 250 with quantity_unit = pcs.
  • Canonical duration fields ending in _seconds use non-negative integer seconds. For example, 900 means 15 minutes.
  • Do not send 00:15:00 into a field documented as integer seconds unless the interface explicitly defines a duration-string format.
  • For machine-readable CSV, use a dot as the decimal separator unless another file format is explicitly agreed.
  • Do not assume arbitrary unit conversion. Source units and required normalization must be agreed during mapping.

Empty value vs. zero

A blank or null value and 0 have different meanings:

  • Blank / null: the source did not provide the value.
  • 0: the value is known and is actually zero.

Do not automatically replace unknown optional numeric values with zero. The machine-state export is a deliberate exception: non-applicable state-duration columns are intentionally set to 0 for each interval.

For temporary Excel/CSV imports:

  • Use one header row and one planned operation per data row.
  • Avoid merged cells, hidden semantic information in formatting, and formulas that depend on external workbooks.
  • For CSV, agree the delimiter and encoding; UTF-8 is recommended for international text.
  • Keep identifier columns as text to preserve leading zeros.
  • Use one consistent timestamp representation per import.

Direct ERP integration

For a direct ERP integration, Novo AI reads planned production and order information from the customer system. One record represents one planned operation or production step assigned to a machine/resource. Read-only access to the planning source is sufficient.

Record granularity: one record = one planned operation on one resource. If an order contains Cutting, Drilling, and Inspection, these should normally appear as three operation records with their own sequence, times, and resource assignment.

Required ERP -> Novo AI planning fields

FieldTypeExampleRequirement / notes
order_idStringPO-2026-004582Unique, permanently stable production-order identifier. May also serve as display name when no separate order name exists.
customer_codeStringCUST-0042Stable customer identifier.
customer_nameStringMeyer Automotive GmbHHuman-readable customer name.
order_tagsString[]urgent, exportLabels used to identify, group, or filter orders.
product_idStringMAT-0004711Stable product/material identifier; preserve leading zeros and prefixes.
planned_quantityDecimal250Quantity planned for this order/operation; must not be negative.
quantity_unitStringpcsUnit belonging to planned_quantity, for example pcs, kg, m.
planned_startTimestamp2026-07-29T08:00:00+02:00Planned operation start; timezone-aware value preferred.
planned_endTimestamp2026-07-29T10:30:00+02:00Planned operation end; should be later than planned_start.
operation_sequenceStringA10Operation/routing sequence. Keep as text to support 10, 0010, A10, etc.
operation_descriptionStringCNC milling housingHuman-readable description of the production step.
planned_preparation_time_secondsInteger900Planned setup/preparation duration in seconds.
planned_production_time_secondsInteger7200Planned production duration in seconds; production-time basis must be agreed.
resource_codeStringMILL-12Stable ERP machine/resource identifier used to match the corresponding Novo AI resource.
resource_nameString5-Axis Milling Machine 12Human-readable machine/resource name for display and validation.

Uniqueness rule: order_id + operation_sequence + resource_code should uniquely identify one planned operation unless another agreed stable operation identifier is provided.

Production-time semantics

planned_production_time_seconds is only meaningful when both systems agree whether it represents the complete order quantity or one individual unit.

FieldExample
planned_quantity100
planned_production_time_seconds7200
planned_production_time_basisTOTAL_ORDER

All 100 units are planned to require 7,200 seconds in total.

Where the source ERP can provide it, planned_production_time_basis is strongly recommended with values such as TOTAL_ORDER or PER_UNIT. It remains an extension field unless specifically configured as mandatory.

Optional planning fields

FieldTypeExampleRequirement / notes
priorityInteger50Planning/dispatching priority. Agree whether higher or lower numbers mean higher priority.
product_descriptionStringAluminium pump housing 120 mmHuman-readable product/material description.
order_notesStringCustomer requests complete shipmentGeneral notes belonging to the production order.
operation_notesStringUse fixture F-12Instructions or notes specific to this operation.
order_line_numberString000010ERP order position/line number; keep as text to preserve formatting.
plant_codeStringDE-BER-01Plant/site identifier from the ERP.
revisionStringREV-CProduct, drawing, routing, or order revision.
order_dateDate2026-07-20Order creation/release date where available.
delivery_dateDate2026-08-05Requested or planned delivery date.
additional_attributesObject / Map{"production_family":"housing"}Customer-specific attributes not covered by the standard schema.

These fields are useful extensions when they already exist in the customer source system or help resolve ambiguity. They are not universal mandatory requirements.

FieldTypeExampleWhy useful
operation_idStringOP-000010Stable identifier for a routing/operation record, especially if sequence values may change.
routing_idStringROUTING-PUMP-4711-R3Identifier of the production routing/work plan.
work_center_codeStringWC-MILLINGUseful when work center and physical machine/resource are different concepts.
sales_order_idStringSO-2026-00851Associated sales/customer order where relevant.
customer_order_referenceStringPO-CUSTOMER-77421Customer purchase-order or external reference.
batch_idStringBATCH-20260729-03Batch/lot reference when known during planning.
planned_production_time_basisString / EnumPER_UNITExplicitly states whether production time is per unit or total order.

Example planning record

order_id: PO-2026-004582
customer_code: CUST-0042
customer_name: Meyer Automotive GmbH
order_tags:
  - urgent
  - export
product_id: MAT-0004711
product_description: Aluminium pump housing 120 mm
planned_quantity: 250
quantity_unit: pcs
planned_start: 2026-07-29T08:00:00+02:00
planned_end: 2026-07-29T11:00:00+02:00
operation_sequence: A10
operation_description: CNC milling
planned_preparation_time_seconds: 900
planned_production_time_seconds: 7200
planned_production_time_basis: TOTAL_ORDER
resource_code: MILL-12
resource_name: 5-Axis Milling Machine 12
priority: 50
plant_code: DE-BER-01
revision: REV-C
order_date: 2026-07-20
delivery_date: 2026-08-05
operation_notes: Use fixture F-12

Optional fields may be omitted when unavailable. The example demonstrates a complete and unambiguous record; it does not imply that every optional field must exist in every ERP system.

Data Export: Novo AI also exports machine-state and BDE production data intervals to customer receiving systems. For export fields, interval rules, and write-back design, see Data Export.

ERP + existing BDE/MES integration

Existing shop-floor production data may come from a BDE (Betriebsdatenerfassung), MES, machine-data platform, or another production data collection system. If these systems already record machine, activity, or process intervals, those intervals can optionally be imported into Novo AI and displayed alongside Novo AI-detected machine data.

Minimum interval data

FieldTypeExampleRequirement / notes
interval_idStringBDE-20260729-000123Unique, permanently stable identifier for the source interval.
resource_codeStringMACHINE-12Stable machine/resource identifier; must resolve to the same machine mapping used elsewhere.
resource_nameString5-Axis Milling Machine 12Human-readable machine name for display and validation.
start_timeTimestamp2026-07-29T08:00:00+02:00Interval start including timezone where possible.
end_timeTimestamp2026-07-29T08:23:15+02:00Interval end; must be later than start_time.
state_idStringPROD-01Source or mapped state/activity identifier.
state_nameStringPRODUCTIONSource or mapped state/activity label.
order_idStringPO-2026-004582Must match the order_id supplied in ERP planning data.

Matching logic

Novo AI primarily uses order_id + resource_code to associate an imported interval with the corresponding ERP-planned order and the correct machine. resource_name is descriptive and should not be used as the primary matching key.

Avoid ambiguous operation matching: if one ERP order can contain multiple operations on the same machine, also provide operation_sequence or, preferably, a stable operation_id.

Example activity/state values

Example stateTypical meaning
PRODUCTIONProduction processing
SETUPSetup / preparation
MAINTENANCEMaintenance activity
CLEANINGCleaning
QUALITY_CHECKQuality inspection
MATERIAL_CHANGEMaterial change
TOOL_CHANGETool change
INTERRUPTIONInterruption / unplanned stop

Customer-specific state IDs and names can be mapped during integration. Customers do not need to rename existing MES/BDE statuses to these exact examples.

These fields are optional enrichments unless specifically agreed for a project:

  • operation_id or operation_sequence - improves matching when several operations exist for the same order/resource.
  • reason_id / reason_name - supports downtime analysis and reason mapping.
  • good_quantity / scrap_quantity - useful when the source already records production counts and quality results.
  • shift_id - useful for shift-level reporting where an explicit shift model exists.
  • source_system - useful when intervals can originate from multiple BDE/MES sources.

Temporary ERP import via Excel/CSV

When a direct ERP connection is not yet available, planned production data can be provided through an Excel/CSV upload. This allows planning records and field semantics to be validated before the automated interface is implemented.

Important distinction: the upload template is a supported file schema, not necessarily identical to the final automated ERP interface. Some upload columns are descriptive or legacy-friendly; the direct interface uses the canonical concepts documented above.

Upload template column reference

Upload columnLogical typeExampleCanonical conceptGuidance
orderStringSO-3001order_idProduction-order identifier. Keep as text even if the source contains digits only.
productStringPART-Aproduct_idProduct/material identifier.
countDecimal500planned_quantityPlanned quantity.
quantity_unitStringpcsquantity_unitUnit belonging to count.
description_1StringAluminiumDescriptive textFree descriptive field; exact source meaning is customer-specific.
description_2StringPump housingDescriptive textFree descriptive field; exact source meaning is customer-specific.
description_3StringBlue anodizedDescriptive textFree descriptive field; exact source meaning is customer-specific.
notes_1StringUrgentNotesMap to order/product/operation notes according to source semantics.
notes_2StringCustomer priorityNotesFree-text note; source meaning should be documented.
notes_3StringPartial shipment allowedNotesFree-text note; source meaning should be documented.
planned_startTimestamp2026-03-01 06:00:00planned_startCombined planned start. If no timezone is present, agree the site timezone.
planned_endTimestamp2026-03-01 08:00:00planned_endCombined planned end.
planned_start_dateDate2026-03-01planned_startAlternative split date component.
planned_start_timeTime06:00:00planned_startAlternative split time component.
planned_end_dateDate2026-03-01planned_endAlternative split date component.
planned_end_timeTime08:00:00planned_endAlternative split time component.
customer_nameStringAcme Manufacturing GmbHcustomer_nameHuman-readable customer name.
customer_codeStringCUST-ACMEcustomer_codeStable customer identifier.
order_dateDate2026-02-22order_dateOrder creation/release date where available.
delivery_dateDate2026-03-10delivery_dateRequested or planned delivery date.
priorityInteger50priorityPlanning priority; priority direction must be agreed.
operation_sequenceStringA10operation_sequenceOperation/routing sequence. Treat as text.
operation_descriptionStringCNC cuttingoperation_descriptionHuman-readable production-step description.
planned_preparation_timeDecimal15Setup durationSource duration; unit must be agreed before conversion to canonical seconds.
planned_production_timeDecimal120Production durationUnit and PER_UNIT/TOTAL_ORDER basis must be agreed.
machine_resourceStringMACHINE-12resource_codeMachine/resource identifier. Treat numeric-looking values as text.
tagsString[]Urgent, Exportorder_tagsOne or more labels represented in a spreadsheet cell.

A column appearing in the upload template does not automatically mean it is mandatory for every customer configuration. The direct ERP section describes the target planning information. Temporary-import mandatory/optional behavior follows the importer configuration and agreed mapping.

Combined vs. split planned timestamps

The template supports two alternative representations of the same planning times.

planned_start = 2026-03-01 06:00:00
planned_end   = 2026-03-01 08:00:00

Use planned_start and planned_end.

Timezone for file imports: if the spreadsheet does not include timezone information, the production-site timezone must be configured or agreed. Times must not be interpreted implicitly using the browser, laptop, or server timezone.

Temporary-import time fields

planned_preparation_time and planned_production_time are numeric values, but their source unit is not encoded in the column name. Do not assume seconds. The unit must be agreed for the specific customer export and normalized where required.

Example if the source unit is minutes:
planned_preparation_time = 15

Canonical value after normalization:
planned_preparation_time_seconds = 900

The production-time value also requires a defined basis: either the complete planned order quantity or one individual unit. Both the unit and time basis must be unambiguous before the data is used for planning calculations.

Example CSV row

order,product,count,quantity_unit,planned_start,planned_end,customer_name,customer_code,priority,operation_sequence,operation_description,planned_preparation_time,planned_production_time,machine_resource,tags
SO-3001,PART-A,500,pcs,2026-03-01 06:00:00,2026-03-01 08:00:00,Acme Ltd,CUST-ACME,50,A10,Cutting,15,120,MACHINE-12,"Urgent, Export"

For a production rollout, provide several sample rows containing multiple orders, multiple operations for one order, different machines, and at least one example with optional fields.

Access, connectivity, and implementation inputs

The data dictionary defines what information is exchanged. The following customer-side inputs are also needed to implement the connection reliably. Exact technology choices depend on the customer environment and must be agreed during the project — see Connection methods above for the supported transport options.

Source and target system information

AreaCustomer information to provide
ERP planning sourceSystem name/version; responsible team; table/view/API/export location; update frequency; expected data volume.
Machine/resource masterSource of resource_code and resource_name; mapping to physical machines; handling of inactive or renamed resources.
BDE/MES source (optional)Interval source; state model; order/resource references; historical depth to import.
Novo AI export target (optional)Target table/API; fields accepted; insert/update rules; retention/correction behavior.
Temporary file importFile owner; generation process; delimiter/encoding if CSV; timezone; time units; upload cadence.

Security and network details

Provide or confirm:

  • Connection method and environment: development/test/production endpoints where applicable.
  • Authentication method and credential-management process.
  • VPN, firewall, IP allowlisting, proxy, or certificate requirements.
  • Least-privilege access: read-only for source planning/BDE data wherever sufficient; write capability only for agreed export targets.
  • Credential rotation and an operational contact for connectivity incidents.

This guide does not prescribe a specific API, database, VPN, or authentication technology. These are implementation choices to agree with the customer IT/OT environment.

Mapping decisions to agree

  • Which source field maps to each canonical order, product, customer, operation, and resource field?
  • What is the authoritative resource_code used for machine matching?
  • What timezone applies to local timestamps?
  • Which quantity units can appear, and are any conversions required?
  • What unit is used for setup and production times in the source?
  • Is planned production time PER_UNIT or TOTAL_ORDER?
  • How does ERP priority work: higher number = higher priority, or the reverse?
  • How should customer-specific BDE/MES state IDs/names map to the desired state model?
  • How should corrections, deleted orders, rescheduled operations, and renamed resources be represented?
  • What is the uniqueness/deduplication rule for repeated imports or exported intervals?

Representative test data to provide

Provide representative examples covering:

  • At least one order with multiple sequential operations.
  • Operations assigned to different machines/resources.
  • Numeric-looking identifiers with leading zeros, if they exist in production.
  • An order containing optional notes, tags, and priority fields.
  • A quantity using a non-piece unit such as kg or m, if applicable.
  • A rescheduled operation or changed planned time, if the source supports replanning.
  • If BDE/MES is included: production, setup, interruption, and maintenance intervals.
  • If write-back is included: a non-production test target where interval writes can be verified safely.

Validation rules and common integration errors

The following checks should be performed during mapping and acceptance testing.

Minimum validation rules

  • Required identifiers are present and non-empty.
  • planned_end is later than planned_start.
  • end_time is later than start_time.
  • Durations and quantities are not negative.
  • resource_code resolves to a known machine/resource mapping.
  • BDE/MES order_id values match ERP planning order_id values exactly.
  • Production-time unit and basis are known.
  • Timezone interpretation is explicit.
  • Unknown optional values are not silently replaced with meaningful-looking zeros.

Common integration errors

IssueExampleRiskPreferred correction
Identifier converted to number00012 becomes 12Machine/order matching may failPreserve identifiers as String/text
Machine matched by nameMilling Machine used as keyNames can change or be duplicatedMatch with stable resource_code
Missing timezone2026-10-25 02:30:00Can be ambiguous at DST transitionsProvide UTC offset or agreed plant timezone
Quantity has no unitplanned_quantity=500Meaning is ambiguousAlso provide quantity_unit
Production time has no basisplanned_production_time_seconds=120Could mean per unit or total orderAgree PER_UNIT or TOTAL_ORDER
Unknown optional value sent as zeroenergy_kwh=0 when not measuredZero appears to be a real measurementUse blank/null for unknown optional values
Mixed timestamp formatsSeveral locale formats in one fileParsing becomes unreliableUse one consistent agreed format
Duplicate operation keySame order + sequence + resource repeatedCan create duplicate plansEnsure uniqueness or provide operation_id

Customer handover package

Use this section as the practical integration-kickoff package. Completing these items before implementation reduces mapping iterations and prevents ambiguous assumptions.

Files and documentation to send

  • ERP planning sample file or schema containing representative production orders and operations.
  • Field dictionary from the customer source system, including descriptions and units.
  • Machine/resource master extract showing resource codes and names.
  • Plant/site timezone and local timestamp conventions.
  • Explanation of setup-time and production-time units and production-time basis.
  • Priority semantics if priority is provided.
  • BDE/MES interval sample and state/reason code list, if existing interval integration is in scope.
  • Target interface specification for Novo AI machine-state write-back, if write-back is in scope.
  • Network/security requirements and environment information.
  • Named technical owner and business/production-planning owner for validation.

Integration worksheet

Integration decisionCustomer response
ERP system / sourceTo be provided
ERP planning interface / export locationTo be provided
Plant / site codeTo be provided
Plant timezoneTo be provided
Authoritative resource_code sourceTo be provided
Quantity units usedTo be provided
Setup-time source unitTo be provided
Production-time source unitTo be provided
Production-time basisPER_UNIT / TOTAL_ORDER / varies
Priority semanticsTo be provided
BDE/MES system, if applicableTo be provided
Write-back target, if applicableTo be provided
Technical integration contactTo be provided
Production/business validation contactTo be provided
Test environment availableYes / No / To be confirmed

Confirm sources and semantics

Confirm source systems, owners, identifiers, units, and plant timezone.

Exchange sample data

Exchange representative sample data and map customer fields to the canonical Novo AI model.

Implement planning import

Implement or configure the ERP planning import first. Read-only access is sufficient for this source flow.

Validate planning behavior

Validate order, operation, resource, timestamp, quantity, and duration semantics with business users.

Configure machine-data export

If required, configure machine/production interval export to the customer target, including write permissions and duplicate/update behavior.

Add BDE/MES intervals

Optionally integrate existing BDE/MES intervals and agree state/reason mappings.

Run acceptance tests

Test real-world scenarios including rescheduling, leading-zero identifiers, machine mapping, and time handling.

Finalize operating model

Document the final mapping and establish a change process for future schema or code-list changes.

Recommended starting point: if a full live interface cannot be implemented immediately, begin with the temporary Excel/CSV planning upload. This validates planning data and field semantics before automating the ERP connection.

Final go-live readiness check

  • All required direct-integration fields are available or an agreed alternative mapping exists.
  • Stable order, product, operation, and resource identifiers have been validated.
  • Timestamp timezone behavior has been tested, including local-time edge cases where relevant.
  • Quantity units and all time units are documented.
  • Production-time basis is explicitly known.
  • Resource mapping has been validated against actual machines.
  • ERP update/replanning behavior has been tested.
  • BDE/MES state mapping has been approved if included.
  • Write-back target and permissions have been tested if included.
  • Business users have validated representative records end-to-end.
  • Technical owners know how schema/code-list changes will be communicated after go-live.