How-toInfor M3Finance / General Ledger and Accounts Payable

How to record an expense in the general ledger in Infor M3

Question
infor m3 how to record expense in gl

Also searched as

  • infor m3 finance module pdf
  • m3 post expense to general ledger voucher
  • m3 journal voucher entry GLS040

Short answer

In M3 an expense reaches the general ledger as a voucher: either a supplier invoice entered in Accounts Payable (the APS450 family) that debits an expense account and credits the AP control account, or a manual journal voucher entered in General Ledger (GLS040 in most installations). Either way the voucher needs a valid accounting string, a balanced total, and must be updated to the ledger.

Applies to: Infor M3 (H5 client) 13.x and Infor CloudSuite Distribution/Industrial M3 tenants. Program numbers can differ slightly by version and bookmark set, so confirm with the program search.

Record an expense (two common routes)

  1. 1Decide the route first. A bill from a vendor goes through Accounts Payable as a supplier invoice. A non-vendor item (accrual, reclass, petty cash, correction) goes through a General Ledger journal voucher.
  2. 2Supplier invoice route: open the supplier invoice entry program (APS450 supplier invoice batch/entry), select the division, supplier, invoice number, invoice date, currency and total amount.
  3. 3On the invoice lines enter the expense account in the accounting string, plus whichever dimensions your chart requires (cost centre, project, department and so on). Add tax codes if the line is taxable.
  4. 4Journal voucher route: open GLS040, choose the voucher number series, accounting date and journal type, then add lines with account, dimensions, debit or credit and text.
  5. 5Check that debits equal credits for the voucher. M3 will not let you update an unbalanced voucher.
  6. 6Update the voucher or the batch so that it moves from open to the ledger. In AP this is the invoice update/approval step; in GL it is the voucher update.
  7. 7Verify the posting in the general ledger inquiry programs (account balance or voucher display) filtered by voucher number and period.
  8. 8If the posting is wrong, reverse with a correcting voucher or a reversal function rather than editing posted data.

Why the accounting string decides everything

M3 books every financial line against an accounting string made of an account (dimension 1, often called AIT1) plus up to six further accounting dimensions. Which dimensions are mandatory for a given account is defined in the chart of accounts setup, so an expense line that works for one account may be rejected for another because a cost centre or project is missing.

Most invalid-posting errors on entry are really missing or invalid dimension values, a closed period, or a dimension that is not allowed on that account. Fix the string, not the amount.

Supplier invoice versus journal voucher

Use the AP route whenever a vendor is involved. It maintains the supplier ledger, payment proposals, due dates and tax reporting, none of which a plain journal voucher does. A manual voucher straight to an expense account bypasses all of that and is a classic audit finding.

Use a journal voucher for items that have no supplier: month-end accruals, allocations, depreciation corrections, and reclassing an expense to another cost centre. Many companies also auto-reverse accruals in the next period using the voucher type or reversal setting.

Accounting control objects and automatic postings

Not every line is typed by hand. For AP invoices M3 generates the credit to the AP control account and tax postings from accounting control objects, which map transaction types to accounts. If the generated lines land on the wrong account, the issue is in the control object setup, not in your voucher.

Treat control object changes as a controlled finance change with a test division, because they affect every posting of that type from then on.

Approval, period and currency checks

Before update M3 checks that the accounting date falls inside an open period for the division and that the currency has an exchange rate for the date. Many sites add invoice approval, so the voucher waits in an approval step before it can be updated.

If you cannot find your voucher after posting, check the period and the division first. Vouchers are division scoped and a user working in the wrong division sees nothing.

-- illustrative reconciliation idea (read-only reporting copy, not the live M3 database)
-- Expense for one account and period, grouped by voucher
SELECT voucher_no, accounting_date, SUM(amount) AS total
FROM gl_postings_reporting
WHERE account = '6100' AND period = 202610
GROUP BY voucher_no, accounting_date;

Try it here, free

Infor M3 AI Assistant Sizing and Value Calculator

Open full tool

Size the GPUs and estimate the monthly value and payback of a private, on-prem AI assistant for Infor M3.

Common pitfalls

  • !Booking vendor bills as journal vouchers, which skips the supplier ledger and payment run.
  • !Entering the expense in the wrong division, then not finding it in the ledger inquiry.
  • !Missing a mandatory dimension such as cost centre, so the line is rejected or lands in a suspense account.
  • !Posting to a closed period or a period with no exchange rate for the date.
  • !Editing control objects to fix one posting and changing every future posting of that type.
  • !Leaving the voucher open in a batch and assuming it reached the ledger.

How an ERP-grounded AI assistant handles this

An assistant grounded in M3 can explain why a voucher was rejected, show which dimension is missing for an account, and draft the voucher lines for a user to review. With ERPray the question 'which expenses hit account 6100 last month without a cost centre' is answered read-only from live data, with the query shown. Any posting stays a human-approved action in M3, never an automatic write.

Frequently asked questions

Which M3 program do I use to post a general ledger journal?

In most installations GLS040 is the journal voucher entry program. Search the program list for voucher entry in your bookmark if your version differs. Always enter a balanced voucher and update it so it reaches the ledger.

Why will M3 not let me update my voucher?

The usual reasons are an unbalanced voucher, a closed accounting period, an invalid or missing accounting dimension, or a missing exchange rate. The message on the voucher usually points to the failing line.

Can I record a vendor expense without AP?

Technically you can with a journal voucher, but it bypasses the supplier ledger, due dates, payment proposals and tax handling. Use supplier invoice entry for anything a supplier billed you.

Where is the Infor M3 finance module PDF?

Infor publishes the M3 Financials user and administration guides in the Infor Documentation Central library for licensed customers. Search it for the General Ledger and Accounts Payable user guides that match your version.

Related

How-to

Infor M3 chart of accounts: structure and setup

In Infor M3 the chart of accounts is the list of values for the first accounting dimension (the account, AIT1), and it sits alongside up to six more accounting dimensions such as cost centre, project or department. Together they form the accounting string every posting carries. You set it up in the finance constants (CRS-series programs), then link transactions to it through accounting control objects.

How-to

How to Run Period End Close in M3

M3 period end close is not a single button - it is a sequence: close sub-ledger activity in inventory, purchasing and sales first, reconcile and post any pending vouchers, then close the accounting period in the financials basic data so no further postings can hit it without explicit reopening. Doing the steps out of order is the most common reason a company has to reopen a period after close.

How-to

How to Enter an AP Voucher in SyteLine

A SyteLine AP voucher records a vendor invoice. For purchased goods, build it from received purchase order lines so quantity and price match; for services or expenses, enter the distribution accounts directly. Post it, then pay it through payment processing. Price and quantity differences are the usual source of trouble.

How-to

Infor M3 order to cash: the flow and the programs

M3 order to cash runs customer order entry (OIS100), allocation, picking and delivery in warehouse management (MWS410 delivery handling), then invoicing, which transfers the invoice to Accounts Receivable and the general ledger, and finally cash application. The customer order line status shows where each line is stuck.

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.

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.

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

Runs with your ERP

Guides

AI on your ERP

Integrations

Comparisons

Software