How-toInfor M3Master data (items, customers, suppliers, product structure)

Infor M3 Master Data: The Core Objects and the Programs That Maintain Them

Question
infor m3 master data

Also searched as

  • M3 master data programs
  • Infor M3 item customer supplier BOM routing setup
  • which M3 program maintains product structure

Short answer

Infor M3 master data is a small set of linked objects: items (MMS001), item-warehouse records (MMS002), customers (CRS610), suppliers (CRS620), product structures (PDS001) and the operations and work centers that make up routings. Everything transactional, from customer orders to manufacturing orders, reads these records, so load them in dependency order and treat them as governed data.

Applies to: Infor M3 Business Engine, on-premise and CloudSuite; program numbers are standard but menus and field sets vary by version and configuration

How to approach M3 master data in the right order

  1. 1Set up the foundation first: company, division, facility, warehouse, currency, units of measure and the CRS settings tables. Master data refers to these and fails to save without them.
  2. 2Create items in MMS001 (Item. Open). Choose item type, responsible, unit of measure and planning policy, then connect the item to warehouses in MMS002 (Item. Connect Warehouse).
  3. 3Create suppliers in CRS620 (Supplier. Open) and customers in CRS610 (Customer. Open), including payment terms, currency and delivery terms.
  4. 4Link purchasing data: supplier-item relationships in the purchase price and supplier item programs, so purchase orders pick up price and lead time.
  5. 5Build manufacturing data: work centers and operations first, then the product structure in PDS001 and the operation sequence for the same product and facility.
  6. 6Verify with the display programs and the MI interface before releasing to planners; run MRP on a test item and look for planning errors.
  7. 7Put change control around it: who may create items, who approves product structure changes, and how loads from other systems are validated.

The objects and where they live

Items are the center. The general item record sits in the MITMAS table and the item-warehouse record in MITBAL. Planning behavior, order policy and lead times mostly live at the item-warehouse level, which is why an item that looks fine in MMS001 can still produce no planned orders until MMS002 is complete.

Customers and suppliers share the business partner structure. Customer basics are in OCUSMA and supplier basics in CIDMAS, with addresses held separately so one partner can have several ship-to or order-from addresses. Product structures are stored as a header (MPDHED) with material lines (MPDMAT) and operation lines (MPDOPE), keyed by facility and product number.

Typical program map (verify against your version):
Item                  MMS001 / MMS002
Customer              CRS610
Supplier              CRS620
Product structure     PDS001
Operations/work ctr   PDS002 / PDS010 family
Tables: MITMAS MITBAL OCUSMA CIDMAS MPDHED MPDMAT MPDOPE

Load order and why it matters

Master data has dependencies, so loading it in the wrong order is the most common cause of rejected records. A product structure cannot reference an item that does not exist, and an item cannot be connected to a warehouse that has not been created. Plan the load as layers: settings, partners, items, item-warehouse, structures, then prices.

For bulk loads, most teams use the M3 API (MI programs such as MMS200MI for items) through the standard interface instead of typing records or writing to tables. The API runs the same validations as the screen, which is slower but protects the integrity of the data. Direct database inserts bypass those checks and are not supported.

Governing master data after go-live

Most operational pain in M3 traces back to master data drift: items with the wrong planning policy, duplicated suppliers, product structures that were changed without a date or an approval. Use structure change dates and revision control rather than overwriting live structures, and restrict who can change planning parameters.

A periodic data-quality check pays for itself. Look for items without a warehouse connection, structures with no operations, customers without a credit limit and suppliers with no payment terms. These are simple queries on the tables above, ideally run read-only against a reporting copy.

Try it here, free

Infor M3 Item Master Upload Worksheet

Open full tool

Collect and validate item master data for an M3 load, with status checks and a ready-to-export Excel or CSV layout.

Common pitfalls

  • !Creating the item in MMS001 and forgetting the MMS002 warehouse connection, then wondering why MRP ignores it.
  • !Loading product structures before work centers and operations exist.
  • !Overwriting a live structure instead of using a new effective date.
  • !Writing straight to M3 tables for a bulk load and skipping business validations.
  • !Letting every buyer create suppliers, which leads to duplicates and split spend.

How an ERP-grounded AI assistant handles this

A grounded assistant can run the data-quality checks above on request: items with no warehouse, structures missing operations, duplicate supplier names. ERPray reads M3 data read-only, shows the query it used and respects M3 roles, so a planner gets a worklist without needing table knowledge. Fixes are still made by people in the M3 programs or through approved API calls.

Frequently asked questions

What are the main master data objects in Infor M3?

Items, item-warehouse records, customers, suppliers, product structures, operations and work centers, plus supporting settings such as warehouses, facilities, units of measure and payment terms. Transactions in sales, purchasing, inventory and manufacturing all read these records.

Which M3 program creates an item?

MMS001, Item. Open, creates and maintains the general item record. The item must then be connected to a warehouse in MMS002 before it can be stocked, purchased or planned there.

How do I bulk load master data into M3?

Use the M3 API (MI programs) so the standard validations run, either through a script or an integration tool. Avoid direct table inserts. Load in dependency order and test with a small batch first.

Why does MRP ignore my new item?

The usual cause is a missing or incomplete item-warehouse record, or a planning policy that excludes MRP. Check MMS002 for the facility and warehouse and confirm the order policy and planning fields.

Related

How-to

How to Create a New Item in M3 (MMS001)

A new item in M3 is created in two stages: item basic data in MMS001 (Item. Open), which defines company-wide attributes such as description, item group and unit of measure, then facility-level data in MMS002 (Item/Facility. Connect), which attaches the item to a specific warehouse or plant with purchasing, planning and costing parameters. An item is not usable for orders, purchasing or MRP until both stages are complete.

Advanced

How to Call M3 API (MI Programs) Through ION API

Calling M3 from an external system today almost always means going through ION API rather than the older direct MvxAPI SOAP endpoint: you create an ION API authorized app or service account in the ION API portal, download its .ionapi credential file, obtain an OAuth 2.0 access token, and call the M3 MI program transaction through the m3api-rest execute endpoint with that token.

How-to

Infor M3 MRP not creating planned orders: what to check

If M3 planning does not suggest an order for an item, the item-warehouse is usually not set up to be planned, the demand is not visible to planning in the horizon, existing supply already covers it, or the planning run did not include the item. Check the item-warehouse planning parameters first, then supply and demand, then the run itself.

Advanced

Paging M3 API MI List Transactions Past the Default Record Limit

M3 List transactions (the read/browse transaction most MI programs expose, such as CRS610MI.LstByNumber or OIS100MI.LstOrderHead) cap the rows returned per call using the MaxReturnedRecords input field, and by default many clients leave it low or unset, which looks like the API silently truncating results. Set MaxReturnedRecords explicitly, then loop the call using the last key values from the previous page as the starting position until fewer rows than the limit come back.

Error fix

M3 API Error: Record already exist

Record already exist means the MI Add transaction you called is trying to insert a key that is already present in the target M3 table, most often because a prior call succeeded and was retried, or because the key fields you built do not match what you think they match. Read the errorField and errorFieldGroup attributes on the response to see exactly which key field M3 flagged, then either switch to the matching Chg (change) transaction or fix the key construction in the caller.

Error fix

M3 API Error: Not Authorized to Program

Not authorized to program (or the equivalent transaction-level authorization error) means the M3 user ID the integration authenticates as can log in fine but has not been granted access to that specific MI program, transaction, or company/division through its authority group. Fixing it means adding the program/transaction to the integration user's authority group in M3, not changing anything in the calling code.

AI for ERP

Infor M3 AI: A Practical Path from MI Programs to a Private Assistant

Infor M3 AI explained: grounded natural-language answers over MI programs and MEC, agents for distribution and manufacturing, on-prem or EU private cloud.

AI for ERP

AI Agents Over Infor ION API, BODs, and the Infor Data Lake

Build AI agents on Infor ION API Gateway, BODs, and Data Lake, alongside or instead of Infor's own GenAI features, with your choice of model and hosting.

Stuck on Infor M3?

Talk to engineers who work inside Infor M3 every week, and who build private AI that answers these questions from your own ERP data.

Keep exploring

Free tools

ERP fixes and how-tos

Guides

AI on your ERP

Integrations

Comparisons

Software