AdvancedInfor M3Inventory / Allocation (MITALO)

Infor M3 Allocation Table: MITALO Reference and Queries

Question
infor m3 allocation table

Also searched as

  • allocation table infor m3
  • m3 MITALO table
  • m3 which table holds allocations
  • m3 allocated quantity item balance

Short answer

M3 records material and stock allocations in the allocation table, MITALO, one row per allocation of an item to a demand such as a customer order line or a manufacturing order material line. The allocated total is also summarised on the item-warehouse balance, which is why the two can disagree when something goes wrong.

Applies to: Infor M3 Business Engine, on-prem database access or Data Fabric / reporting replicas. Column details vary by release, so confirm in your data dictionary.

Investigate allocations for an item

  1. 1Identify the item and warehouse in question, and the demand (order number and line) if you have it.
  2. 2Look at the allocation in the application first: open the demand line (customer order line, MO material line, or similar) and display the allocation or reservation information from it.
  3. 3For a database-level view, query MITALO filtered by company, warehouse and item number, and read the reference order category, order number and line columns to see what each row serves.
  4. 4Compare the sum of allocated quantity in MITALO to the allocated quantity on the item-warehouse balance. A difference points to a stuck or orphaned allocation.
  5. 5Check the demand document status. An allocation against a cancelled or fully delivered line should not exist.
  6. 6Use the standard re-allocation or deallocation function on the demand, not a direct update to MITALO.
  7. 7Re-run the comparison after the fix.

What MITALO represents

MITALO is the detail behind the allocated quantity you see on an item balance. Each row ties a quantity of an item in a warehouse (and, depending on settings, a lot, location or container) to a reference order: a customer order line, a distribution order, or a material line on a manufacturing order. The reference fields, order category, order number, line and sub-line, are how you join it back to the demand.

Because it is per demand line, it is the right table to answer which orders have a claim on this stock, and which order is blocking a shortage.

Query pattern

Treat the SQL below as a pattern. Table and column names differ across M3 releases and database platforms, and the schema qualifier depends on your install. Use read-only access to a replica or reporting copy, never update M3 tables directly.

Group by the reference order category first to see where demand is coming from, then drill into one category.

-- Pattern only: confirm column names in your data dictionary
SELECT MQCONO, MQWHLO, MQITNO, MQRORC, MQRIDN, MQRIDL, MQALQT
FROM MITALO
WHERE MQCONO = 100 AND MQWHLO = 'A01' AND MQITNO = 'ITEM-123'
ORDER BY MQRORC, MQRIDN, MQRIDL;

Why allocated quantities disagree

Common causes are an order cancelled or changed through an interface that skipped the standard deallocation, an interrupted batch allocation job, a manual stock correction made while allocations existed, and customizations that touch the balance fields.

Fix these through the application: deallocate and reallocate from the demand line, or run the standard balance reconciliation functions that your M3 version offers. Direct database changes bypass M3 business rules and are not supportable.

Try it here, free

Infor M3 SQL Query Generator

Open full tool

Fill in company, warehouse and filters to get ready-to-adapt SQL against MITMAS, MITBAL, OOHEAD, OOLINE and MPLINE.

Common pitfalls

  • !Updating MITALO or the balance directly in SQL. It bypasses business logic and can corrupt planning.
  • !Querying without company and warehouse and summing across different scopes.
  • !Assuming every allocation row is a hard reservation. Settings decide how and when allocation happens.
  • !Copying column names from another release without checking them.
  • !Ignoring lot and location allocation, which multiply rows per demand line.

How an ERP-grounded AI assistant handles this

This is a good question for a read-only data assistant: which orders hold the allocation on this item, and does it match the balance. ERPray-style querying over a replica shows the SQL, so the planner can verify it. Netray can host that on-prem next to the M3 database so no inventory data leaves your site.

Frequently asked questions

Which M3 table holds the allocations?

MITALO, the allocation table. The summarised allocated quantity sits on the item-warehouse balance (MITBAL), and location level stock is in MITLOC.

Can I delete rows from MITALO to free stock?

No. Use the application function to deallocate from the demand line. Direct deletes skip the balance updates and can leave the system inconsistent.

Why is allocated quantity higher than on-hand?

Allocations can exist against expected receipts or be left over from a cancelled order. Compare each allocation's demand status and check the source of the stock being allocated.

Related

How-to

Infor M3 manufacturing order material not allocated or short

When an M3 manufacturing order shows components as short or unallocated, the cause is usually available stock that is not allocatable to this order, an allocation method that did not run, or a demand date and warehouse that do not match the stock. Compare the MO materials (MWOMAT) with the allocations (MITALO) and the item-warehouse balance, then fix the stock, the method or the warehouse rather than forcing the allocation.

How-to

Infor M3 negative on-hand balance: how to find it and fix it

Negative stock in M3 almost always comes from an issue or reporting transaction posted against a balance ID that had not yet been received, or from a receipt that was reversed after the stock was consumed. Find the item and warehouse in the item-warehouse balance (MITBAL), compare it with the balance IDs (MITLOC), read the item transactions (MITTRA), and correct with a stock count or a proper receipt rather than a blind adjustment.

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.

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.

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: 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 Supply Chain Planning With AI That Explains the MRP Output

AI for Infor M3 supply chain planning: explain MRP action messages, review planned orders, and trace shortages through MITBAL and MITMAS on private infrastructure.

AI for ERP

Infor M3 Customer Order Management With AI for Status, Allocation and Promise Dates

AI for Infor M3 customer order management: answer order status, allocation and delivery date questions from OOHEAD and OOLINE data without exposing it publicly.

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