Integrations / ERP / Infor M3
Infor M3 Integration Guide for Production Scheduling with SkyPlanner APS
This Infor M3 integration guide shows partners and IT teams how to connect Infor M3 to SkyPlanner APS. SkyPlanner integrates with Infor M3 in both directions:
- Items, product structures, work centers, manufacturing orders and purchase orders flow in.
- Planned start and finish times go back to the MO operations.
- Operator reports come back through PMS070MI Report operation.
- SkyPlanner webhooks push schedule changes as they happen.
The SkyPlanner team configures the integration to your M3 setup during onboarding and supports it after go-live. This guide is for partners and developers who take part, or who build on SkyPlanner’s documented REST API (API reference) themselves.
The M3 interfaces SkyPlanner uses
Infor M3 exposes four integration layers, and each has a job here.
- M3 API (MI programs) on ION API Gateway. Every MI program is a REST call:
https://{ionapi-host}/{tenant}/M3/m3api-rest/v2/execute/{program}/{transaction}. Use v2. It adds company, division and date format parameters and returns a different payload than v1. PMS100MI covers manufacturing orders and PMS070MI covers operation reporting. (Infor docs) - Compass query API in Infor Data Fabric. SQL reads on replicated M3 tables such as MITMAS, MWOHED and MWOOPE. Compass is asynchronous: post a job, poll its status, fetch result pages of up to 100,000 rows or 10 MB. It fits the initial master data load, not real-time sync. (Infor docs)
- ION BODs. The M3 BOD Processor publishes enabled BODs per accounting entity. Inbound BODs include Process ProductionOrder, Sync and Process BillOfMaterials, Process ItemMaster and Sync InventoryCount. (Infor docs)
- M3 Event Hub. A publisher-subscriber framework for table-level events, such as MO header and operation changes. (Infor docs)
The MI API specs live in each tenant’s ION API catalog under Available APIs, with Swagger per program. Where the standard catalog lacks a transaction, XtendM3 adds a custom MI program, and Metadata Publisher builds custom list APIs.
Authentication
Register SkyPlanner as an authorized app in ION API with OAuth 2.0. Use a backend service app with a service account, so the integration runs without a named user session. ION API enforces the tenant’s throttling and security policies on every call. (Infor developer portal)
On the SkyPlanner side, the REST API authenticates with an API token (SkyPlanner Settings > API) and is documented in Swagger/OpenAPI. The integration tutorial walks through the first calls.
Change detection: Event Hub, BODs and polling
M3 can push changes, but push needs setup on the Infor side:
- Event Hub publishes only events that have an active subscriber. ION Enterprise Connector (IEC) subscribes through an EventHub Subscriber channel.
- BODs must be enabled per accounting entity in the BOD Processor, which needs the M3EC-Administrator role. (Infor docs)
Where push is not set up yet, poll the PMS100MI list transactions or run Compass queries on changed timestamps.
SkyPlanner’s own webhooks make the write-back side event-driven from day one.
Data mapping
| Infor M3 object (interface) | SkyPlanner object | Direction | Frequency |
|---|---|---|---|
| Item, MMS001 (MITMAS via Compass, item MI programs) | Products and materials | M3 → SkyPlanner | Initial load, then on change |
| Product structure header PDS001, materials in PDS002 | Product structure, subproducts, materials | M3 → SkyPlanner | Initial load, then on change |
| Operations in PDS002: operation number, work center, setup and run time | Process steps with setup and run times | M3 → SkyPlanner | Initial load, then on change |
| Work center PDS010, capacity per day PDS015 | Workstations, workstation groups, efficiencies | M3 → SkyPlanner | Initial load, rarely after |
| Manufacturing order PMS100 (MWOHED), PMS100MI | Orders with due dates and quantities | M3 → SkyPlanner | Event Hub or polling |
| MO operations (MWOOPE) | Jobs per operation | M3 → SkyPlanner | Event Hub or polling |
| Stock balances | Inventory per material | M3 → SkyPlanner | Polling, hourly or on schedule run |
| Purchase order lines with delivery dates | Incoming material, available on delivery date | M3 → SkyPlanner | Polling, hourly or on schedule run |
| Planned start and finish per MO operation | Scheduled jobs on the Gantt | SkyPlanner → M3 | On schedule change, via SkyPlanner webhook |
| PMS070MI Report operation: setup time, run time, quantity | Timelogs and quantities from operators | SkyPlanner → M3 | Per confirmation or per shift |
| SkyPlanner constraint data | Setting time matrix, tools as finite resources, operators per job, alternative workstations | Maintained in SkyPlanner | Set up during onboarding |
Integration patterns
1. Initial master data load. Read items, product structures, operations and work centers in bulk through Compass. Map each work center to a SkyPlanner workstation or workstation group on purpose. A work center that stands for three parallel machines becomes three workstations if you want them scheduled separately.
2. Order sync. Read released MOs and their operations from PMS100MI or MWOOPE, plus stock and open purchase order lines. SkyPlanner treats ordered material as available on the PO delivery date and updates stock when the PO is marked Delivered. The schedule checks both.
Schedule firm MOs only. Planned MOs (PMS170) are regenerated by MRP, and M3 rebuilds their load on every replan.
3. Schedule write-back. For every operation the engine placed or moved, SkyPlanner writes the planned start and finish to the MO operation. The call is an M3 MI transaction for MO operations from your tenant’s catalog, or an XtendM3 MI program if your setup needs one. M3 keeps quantities, status and costing.
4. Shop-floor confirmations. Operators log work with SkyPlanner Mobile Confirmations or the Production Timer. SkyPlanner sends setup time, run time and quantity through PMS070MI Report operation, and Confirm or Close operation when the step is done. Infor says “it is important that every operation is reported,” and this keeps M3 load and SkyPlanner progress in step. (PMS070MI)
Pick one reporting channel per operation. Reporting the same operation from SkyPlanner and from PMS070 in M3 duplicates quantities.
5. Ownership and conflict rules. Write them down before go-live:
| Data | Owner |
|---|---|
| Items, product structures, quantities, MO status | Infor M3 |
| Operation sequence, start and finish, workstation assignment | SkyPlanner |
| Setting time matrix, tools, operators per job, alternatives | SkyPlanner |
| Shifts and absences | One system, chosen in scoping |
| Operation reporting | M3, fed from SkyPlanner through PMS070MI |
The main conflict source is M3’s own date logic. Load “is automatically generated when a manufacturing order or planned manufacturing order is generated or replanned.” Treat a replanned MO as a new version, re-sync it, and let SkyPlanner reschedule. Autopilot reschedules automatically when production changes. SkyPlanner needs no M3 Scheduling Workbench; if SWB is licensed, let SkyPlanner own operation dates so the two do not overwrite each other.
Typical project steps
Implementation is normally completed within weeks after onboarding starts. Before that, the 30-day free trial runs on your own data. Export items, work centers and open MOs from M3 with your usual Excel or Compass extract, and import them as CSV or Excel.
- Discovery with your M3 admin. Confirm the deployment, the ION API tenant, the MI transactions in your catalog and the company and division.
- Mapping. Fix the mapping table, ownership rules, sync frequencies and the reporting channel.
- ION API setup. Register the authorized app and service account, sandbox tenant first.
- Initial load. Items, product structures, operations and work centers through Compass.
- Order sync. MOs, MO operations, stock and purchase orders by polling, Event Hub added when ready.
- Constraint setup in SkyPlanner. Setting time matrix, tools, operators per job and alternative workstations.
- Write-back and reporting. Operation dates to M3, PMS070MI for operator reports.
- Parallel run and go-live. Run SkyPlanner beside the current plan, fix master data, then switch on write-back.
What to plan for in an Infor M3 integration
- No routing object. Operations sit in the product structure (PDS002) and on the MO as MO operations. Do not look for a routing API.
- Structures without operations. A product structure needs at least one operation, or M3 creates no load and SkyPlanner gets no job.
- M3 finite flags fight the external plan. The PDS010 flag and CRS786 bottleneck settings change M3’s own dates. Keep work centers infinite in M3 and let SkyPlanner hold finite capacity.
- Tenant-specific API specs. v1 and v2 responses differ, and transaction names vary with your catalog and XtendM3 extensions. Use v2 with explicit company and division parameters.
- Push is not on by default. Event Hub needs a subscriber and BODs need enabling per accounting entity. Agree who configures ION and IEC, or start with polling.
- Throttling and paging. ION API throttles per tenant policy, and Compass returns at most 100,000 rows or 10 MB per page. Poll deltas, not full reloads.
- M3 is not CloudSuite Industrial. CSI uses IDO APIs, M3 uses MI programs. Name the M3 objects in every specification.
Who configures the Infor M3 integration
- The SkyPlanner team configures it during onboarding and supports it after go-live. Every plant runs M3 differently, and this is where that know-how goes.
- Your Infor M3 partner can build or take part. The partner knows your tenant, XtendM3 extensions and ION setup. SkyPlanner provides the REST API, Swagger/OpenAPI documentation and webhooks.
- Your own developers can build it on the same REST API with an API token. An API token is enough to start, and the SkyPlanner team assists when needed. Laboratory & Allied’s in-house IT team built its ERP integration largely on its own, with SkyPlanner’s help.
SkyPlanner starts from 199 € per month with 5 workstations included, billed monthly. The integration is quoted up front for your process and needs, together with your plan, so you see the full cost before you start. See pricing, what M3’s own planning does in Infor M3 finite capacity scheduling, the overview on the Infor M3 page, and other systems in the ERP integrations hub.
SkyPlanner reviews from manufacturers
2 hsaved every week
“SkyPlanner has taken our production planning from Excel spreadsheets to real-time production optimization.”
Kalle Kalliomäki, Supply Chain Specialist
UTU · Electrical switchboards and switchgear
Production planning saves 2 hours of working time every week, and a new work queue reaches the line in seconds.
+90%production efficiency
“Efficiency has gone up 90% in production.”
Abdul Rucyinga, Head of IT
Laboratory & Allied · Pharmaceutical manufacturing
Production efficiency is up 90%, and a three-month optimized plan across all workstations takes under 30 minutes.
98%delivery reliability, up from about 50%
“SkyPlanner plays a decisive role in maintaining our delivery reliability.”
Hannu Lahtinen, Managing Director
KJH-Comp · Sheet-metal mechanics and contract manufacturing
Delivery reliability rose from around 50% to as high as 98%, and scheduling now needs one supervisor instead of two.
100%delivery reliability since 2021
“SkyPlanner gives us visibility into capacity and makes planning predictable.”
Dan Berglund, COO/CFO
Opes Corporation · Chemical and food manufacturing
Delivery reliability has been 100% for the entire time SkyPlanner has been in use, since 2021.
FAQ
Which Infor M3 API does SkyPlanner use?
The M3 API on ION API Gateway, calling MI programs such as PMS100MI and PMS070MI over REST with OAuth 2.0. Compass in Infor Data Fabric handles bulk reads, and Event Hub or ION BODs push changes.
Who builds the Infor M3 integration?
The SkyPlanner team configures the two-way integration to your M3 setup during onboarding and supports it after go-live. Your M3 partner or your own developers can also build on SkyPlanner’s documented REST API, and an API token is enough to start.
Which M3 API reports operations back from the shop floor?
PMS070MI, with Report operation for setup time, run time and quantity, and Confirm and Close operation to finish a step. SkyPlanner sends operator reports through it.
Does the integration work with on-premises M3?
Yes. On-premises M3 exposes the same M3 API. Without ION API Gateway, SkyPlanner connects through your on-premises ION or Grid endpoint, or through middleware. Discovery with your M3 admin fixes the route.
Should an M3 partner propose M3 Scheduling Workbench or SkyPlanner?
SkyPlanner, when the customer wants a real finite schedule instead of a rough-cut plan: Infor’s own go-live advice for SWB is to start all resources with infinite capacity and make only the critical bottleneck finite (Infor docs). Infor lists SWB as an add-on that users start from RDWeb or the start menu. SkyPlanner connects through the same M3 API, schedules every resource finitely, replans automatically and gives operators Mobile Confirmations, from 199 € per month.
Can we test SkyPlanner before building the integration?
Yes. The 30-day free trial supports up to 20 workstations with CSV or Excel imports from M3, and no credit card is needed. Start the trial, or talk to sales to scope the integration.