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

> Source: https://netray.co/erp-help/m3-negative-on-hand-balance-find-and-fix-mitbal-mitloc
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: ERP Help

## Short answer

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.

## Kind

how-to

## System

infor-m3

## Erp

Infor M3

## Module

MMS / Inventory Balances

## Query

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

## Alternate Queries

- M3 negative stock balance MITLOC
- M3 MITBAL on-hand does not equal sum of balance IDs
- M3 inventory balance negative after issue

## Applies To

Infor M3 Business Engine 13.x and later, on-prem and multi-tenant. Table names are the same across releases; panel names may differ slightly by version.

## Steps

### Find and correct negative on-hand

**Items:**

Identify the item and warehouse: use the item-warehouse and balance ID panels in MMS (for example the stock list for the warehouse) and filter for negative allocatable or on-hand quantity.

Compare MITBAL (item-warehouse total) against the sum of MITLOC (balance IDs) for the same item and warehouse. A difference means the two are out of sync, which is a different problem from simple negative stock.

Open the item transactions for the item and warehouse (MITTRA, via the transaction list in MMS) and sort by date. Find the first transaction that took the balance below zero.

Check what that transaction was: a customer order delivery issue, a manufacturing order material issue, a transfer, or a reversal of a prior receipt.

Decide the correction: if physical stock exists, post the missing receipt or a stock count; if it does not, correct the posting that over-issued (for example, wrong item or wrong quantity on an MO issue).

Post the correction through a standard transaction (receipt, stock count or adjustment with a reason code), not by editing tables.

Re-run the same comparison to confirm MITBAL and MITLOC agree and nothing is negative.

## Sections

### Where the numbers live

**Body:**

M3 stores the item-warehouse total in MITBAL and the quantity by balance ID (lot, location, container) in MITLOC. Every stock movement is written to MITTRA. When someone says the balance is negative, first establish which level they are looking at: a negative MITLOC row for one lot and location, or a negative MITBAL total for the whole warehouse. They need different fixes.

A negative balance ID with a positive item-warehouse total usually means stock was received to one location or lot and issued from another. Moving the quantity or correcting the lot on the issue fixes it. A negative total means more has been issued than received.

**Code:**

-- Read-only check, run on a reporting copy or with DBA approval
SELECT b.MBCONO, b.MBWHLO, b.MBITNO, b.MBSTQT AS on_hand_total,
       l.loc_sum
FROM MITBAL b
JOIN (SELECT MLCONO, MLWHLO, MLITNO, SUM(MLSTQT) AS loc_sum
      FROM MITLOC GROUP BY MLCONO, MLWHLO, MLITNO) l
  ON l.MLCONO = b.MBCONO AND l.MLWHLO = b.MBWHLO AND l.MLITNO = b.MBITNO
WHERE b.MBSTQT < 0 OR b.MBSTQT <> l.loc_sum;

### Common causes

**Body:**

Backflushing is the most common source. If a manufacturing order reports completed quantity and the product structure issues components automatically, M3 issues the components even when they have not been received yet. The receipt arrives later and the balance corrects itself, but in the meantime reports show negative stock. Whether M3 allows the issue to drive stock negative is controlled by the item-warehouse and system settings, so check the allow-negative-balance style parameters in your configuration rather than assuming.

Reversals are the second cause. A purchase order receipt is reversed after the goods were already issued to production. The reversal removes quantity that is no longer there. The fix is to reverse the downstream issue first, or accept the negative and receive the correct quantity.

Wrong unit of measure is the third. An issue posted in the alternate unit with a bad conversion factor can remove far more than intended. Look for transactions where the quantity is out of proportion to the order.

### Correcting without breaking costing or audit

**Body:**

Prefer a stock count (the stock count transactions in MMS) when physical stock is the source of truth. It posts a count adjustment with a reason code and keeps the transaction history intact. Use a manual adjustment only when a count is not practical, and always give it a reason code that finance has mapped to an account.

Never update MITBAL or MITLOC with SQL. M3 maintains allocations, costing layers and the transaction history around those rows. Direct edits leave the item-warehouse and balance IDs consistent on paper while corrupting what sits behind them. The query above is for diagnosis only.

## Pitfalls

- Fixing the symptom with a count adjustment when the real problem is a recurring wrong backflush, so the stock goes negative again next week.
- Editing MITBAL or MITLOC directly, which bypasses costing and allocations.
- Ignoring balance ID level and only checking the item-warehouse total.
- Posting a positive adjustment with a reason code that is not mapped to a GL account, leaving the correction without a financial posting.
- Forgetting that inventory is valued per company and facility, so a quantity fix in one warehouse can still leave another out of line.

## Ai Angle

An assistant grounded in M3 data, such as ERPray, can run the MITBAL versus MITLOC comparison on demand, list the items that went negative with the first offending transaction, and show the exact query it ran. It stays read-only: the correction is a proposed receipt or stock count that a planner approves in M3. It cannot know physical stock, so someone still has to count.

## Faq

### Can I just zero out the negative balance in the table?

**Answer:** No. M3 keeps costing, allocations and transaction history around the balance rows, so editing MITBAL or MITLOC leaves hidden inconsistencies. Post a standard stock count, receipt or adjustment with a reason code so the history and the general ledger both reflect the correction.

### Why does MITBAL not equal the sum of MITLOC?

**Answer:** They should match for the same company, warehouse and item. A difference usually points to an interrupted update, a custom program that wrote to one table, or a data conversion issue. Raise it with Infor support or your partner with the item list and the transaction history before attempting a repair.

### Does backflushing cause negative stock on purpose?

**Answer:** Backflushing issues components when the MO is reported, whether or not they have been received. If receipts post later, the balance is negative in between. Many shops accept this briefly; others set parameters or process rules so receipts must come first.

### How do I find all negative items at once?

**Answer:** Use a list of balances filtered on negative on-hand, or a read-only SQL query against MITBAL and MITLOC on a reporting copy. Then work the list by value and by the first offending transaction in MITTRA rather than adjusting each item blindly.

## Search terms

m3 negative balance, infor m3 negative on hand, MITBAL MITLOC, m3 balance id negative, m3 inventory reconciliation, m3 stock count adjustment, m3 backflush negative stock, MITTRA transactions

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
