MAY 26, 2026Guides

NetSuite reconciliation: where inventory and the general ledger disagree

NetSuite reconciliations come in two flavors: NetSuite against an outside system, and NetSuite against itself — when the inventory subledger and the general ledger quietly stop agreeing. The second one is what costs accountants their evenings. The good news: it has a short list of usual suspects, and once you know them, it stops being a mystery.

The two reconciliations people call NetSuite reconciliation

The first is external: matching NetSuite records against a storefront, a 3PL feed, a bank, or another ERP. That is ordinary two-system reconciliation — pick a shared key, normalize, compare. The second is internal: confirming that NetSuite inventory subledger (what the item records say you hold and what it is worth) ties to the general ledger (what the inventory asset account says). When those drift, the books are wrong even though every individual transaction looks fine.

Matching item records across systems

For external reconciliations, the key is usually the item identifier, and NetSuite gives you several.

IdentifierNotes
Internal IDNetSuite own record ID — stable, but rarely stored by other systems
Item name/numberHuman key; watch for hierarchy (Parent : Child) in assembly items
UPC / SKUOften the real shared key with storefronts and 3PLs
LocationInventory is per location — almost always part of a composite key

Why the subledger and GL drift apart

When NetSuite inventory valuation report does not match the inventory asset account in the GL, the cause is almost always one of a short list.

  • Direct journal entries to the inventory GL account that bypass the item subledger. The GL moved; the items did not.
  • Transactions posted to the wrong period, so the two reports are effectively as-of different dates.
  • Inventory adjustments or transfers mid-process — counted on one side, not yet posted on the other.
  • Costing timing — average-cost recalculations that have not fully propagated.
  • Items set to the wrong asset account, quietly splitting the balance.

How to track down the gap

  1. Run the inventory valuation report and the GL inventory balance as of the exact same date and time. A date mismatch alone explains most apparent gaps.
  2. Compare totals by location and by item category to localize where the drift lives.
  3. In the suspect slice, list GL transactions against that account and flag any without a corresponding inventory transaction — those are the bypassing journal entries.
  4. Check for transactions dated in the period but entered after the cutoff.

The discipline is the same as any reconciliation: same as-of moment on both sides, then narrow by dimension until the difference is a handful of rows you can name. The subledger does not match the GL almost always resolves to a few manual journal entries and a couple of mis-dated transactions.

Keep external and internal reconciliations separate

It is tempting to chase a storefront mismatch and a subledger-to-GL gap in the same pass. Do not. They have different keys, different sources of truth, and different fixes. Reconcile NetSuite to the outside world on the item-and-location key; reconcile NetSuite to itself on the as-of-date discipline. Mixing them turns two tractable problems into one intractable one.

Frequently asked questions

Why does my NetSuite inventory not match the general ledger?

Usually because of direct journal entries to the inventory asset account that bypass the item subledger, transactions posted to the wrong period, or the two reports being run as of different dates. Run both as of the same moment, then narrow by location and item to find the bypassing entries.

What is the best key to reconcile NetSuite items with another system?

The identifier both systems share — often UPC or SKU — combined with location, since inventory is tracked per location. NetSuite internal ID is the most stable key but only works if the other system stored it.

What is the difference between subledger and GL reconciliation in NetSuite?

The subledger is the detailed inventory record from item transactions; the GL is the summarized inventory asset balance. Reconciling them confirms the detail ties to the summary. They drift when entries hit one but not the other, or when periods and dates do not line up.