General Ledger (GL)#

Every financial event lands in GL — receipts, ships, adjustments, payments, journal entries. The GL is the source of truth for the P&L, balance sheet, and consolidation.

Structure#

  • GLNBR — chart of accounts. Segmented by division (GLDivision) and, on some tenants, additional analysis segments.
  • GlFiscalYrs — fiscal-year setup and per-period status (open / closed / adjusting).
  • GLTransHeader / GLTransDetail / GLTRANS — journal entries. Each journal entry is a balanced set of debits and credits with a source (module tag) so you can trace back from GL to the originating document.
  • GlJeHdro / GlJeDeto — outstanding / unreleased journal entries.
  • GlReleased — release marker; once released, a JE is immutable and can only be reversed.

Journal-entry types#

  • Auto-generated — from receipts, ships, kitting, cycle-count adjustments, AP / AR posting. The originating helper writes to GL directly.
  • Standard JE — user-entered ad-hoc journal entry (StandardJournalEntryController + GeneralJournalEntryHelper).
  • Recurring JE — scheduled entries generated by the ManExService CalenderTrigger (RecurrenceJournalEntryController).

Release / post#

A journal entry is created in an unreleased state — it’s visible in reports as pending but doesn’t yet affect final balances. Release (GlReleasedHelper + GLReleasePostController) is the point of no return: after release, corrections must be posted as new reversing entries.

Consolidation#

GLConsilidationController and related helpers roll subsidiary divisions into a consolidation entity — inter-company transactions are eliminated per configured rules.

Business rules#

  • Every JE must balance to zero — enforced at save.
  • Cannot post to a closed period.
  • Inventory adjustments (cycle-count writes, standard-cost changes) always post an inventory offset — helpers Invtgls*, InventoryGLDefaultSetupHelper provide the account resolution.
  • Item-to-account mapping (which GL account a receipt for a given part class posts to) is MnxItemAccountMappingHelper. Getting this wrong is the most common cause of miscategorised P&L.

Where it lives#

LayerFile
ControllerGLSettingsController, GLDivisionController, GLReleasePostController, GLConsilidationController, RebuildGLAccountsTableController, StandardJournalEntryController, RecurrenceJournalEntryController
HelperMnxEFModel/Helper/GL/GLTransHelper.cs, GLTransHeaderHelper.cs, GLTransDetailsHelper.cs, GlJeHdroHelper.cs, GlJeDetoHelper.cs, GlReleasedHelper.cs, GLDivisionHelper.cs, GlFiscalYrsHelper.cs, GLSettingsEFHelper.cs, GlNbrsHelper.cs, GlTypesHelper.cs, GlFyrsDetlHelper.cs, GeneralJournalEntryHelper.cs, InventoryGLDefaultSetupHelper.cs, MnxItemAccountMappingHelper.cs, InvtglsHelper.cs
RelatedAP, AR, Cycle Count