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

> Source: https://netray.co/erp-help/infor-m3-how-to-record-expense-in-general-ledger
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: ERP Help

## 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.

## Kind

how-to

## System

infor-m3

## Erp

Infor M3

## Module

Finance / General Ledger and Accounts Payable

## Query

infor m3 how to record expense in gl

## Alternate Queries

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

## 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.

## Steps

### Record an expense (two common routes)

**Items:**

- Decide 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.
- Supplier 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.
- On 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.
- Journal 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.
- Check that debits equal credits for the voucher. M3 will not let you update an unbalanced voucher.
- Update 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.
- Verify the posting in the general ledger inquiry programs (account balance or voucher display) filtered by voucher number and period.
- If the posting is wrong, reverse with a correcting voucher or a reversal function rather than editing posted data.

## Sections

### Why the accounting string decides everything

**Body:**

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

**Body:**

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

**Body:**

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

**Body:**

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.

**Code:**

-- 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;

## 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.

## Ai Angle

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.

## Faq

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

**Answer:** 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?

**Answer:** 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?

**Answer:** 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?

**Answer:** 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.

## Search terms

infor m3 general ledger, m3 journal voucher, m3 supplier invoice entry, m3 accounting dimensions, m3 finance module, how to post expense m3, m3 GLS040, m3 APS450

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