JD Edwards AAI and DMAAI Setup Reference: F0012 and F4095
This reference covers the JD Edwards EnterpriseOne 9.2 automatic accounting instructions that cause most posting questions: financial AAIs in F0012 such as PC, PB, RC and the GLG ranges, and distribution and manufacturing AAIs (DMAAIs) in F4095 such as 4122, 4220, 4240, 4310 and 4320. Each row names the program that uses it, the usual debit or credit and a common setup mistake.
| Table | AAI item / number | Description | Used by | Typical debit/credit | Common setup mistake |
|---|---|---|---|---|---|
F0012 | PB / PByyyy | Payables bank (default bank account for payments) | Voucher entry (P0411), payment processing | Credit bank on payment | Using PByyyy offsets without defining matching PCyyyy items, which the guide requires. |
F0012 | PC / PCyyyy | Payables trade (A/P trade, by G/L offset yyyy) | Voucher post (R09801), payment post | Credit at voucher post, debit at payment | G/L offset on the supplier (F0401) with no PCyyyy for company 00000 or the company: post fails with a missing AAI. |
F0012 | PKD | Payables discount available | Payment post | Credit discount available | Not set up while discounts are taken; required if you take discounts. |
F0012 | PKL | Payables discount lost | Payment post | Debit when discount not taken | Pointing PKD and PKL to different accounts without meaning to; both may point to the same account. |
F0012 | PP | Preliminary expense for voucher logging (with PQ suspense trade) | Voucher logging | Debit preliminary expense, reversed at redistribution | Leaving logged vouchers unredistributed at period end. |
F0012 | RB | Receivables bank (default when the receipt has no bank account) | Receipts entry (P03B102) | Debit bank on receipt | Relying on company 00000 when companies bank separately. |
F0012 | RC / RCxxxx | Receivables trade by G/L offset xxxx | Invoice post, receipt post | Debit at invoice post, credit at receipt | Customer G/L offset in F03012 with no RCxxxx item. |
F0012 | RAxx | Write-off expense by reason code xx (UDC 03B/RC) | Receipts with write-off | Debit write-off expense | Adding a write-off reason in 03B/RC without the RAxx item. |
F0012 | GLG2 | Beginning account range for assets | Financial reports, annual close | Range definition, no entries | Setting up GLGx per company; only GLG4 is set per company, the others for 00000. |
F0012 | GLG3 | Beginning account range for liabilities and equity | Financial reports (sign reversal) | Range definition | Object account ranges not matching the chart of accounts. |
F0012 | GLG4 | Retained earnings account | Annual Close (posts retained earnings) | Credit profit / debit loss at close | Account is not a posting account or the business unit is missing for companies with different balance sheet BUs. |
F0012 | GLG6 | Beginning account range for revenue | Annual close, sign reversal, percent of revenue | Range definition | Revenue accounts below GLG6 are treated as balance sheet. |
F0012 | GLG12 | Ending profit and loss (last income statement account) | Annual close | Range definition | Accounts above GLG12 are not closed to retained earnings; blank uses 999999. |
F0012 | ICH | Intercompany settlement account, hub method | G/L post with intercompany settlements = 1 in G/A constants | Due to / due from | Wrong ICH items produce unbalanced companies on the Companies in Balance report. |
F0012 | ICCC | Intercompany settlement accounts, detail method | G/L post with intercompany settlements = 2 | Due to / due from | Mixing hub and detail setups when switching methods. |
F4095 | 4122 | Inventory: balance sheet inventory valuation account | Issues (P4112), transfers (P4113), adjustments (P4114) | Debit or credit inventory | Missing GL class rows for new G/L classes (41/9). |
F4095 | 4124 | Inventory: expense or cost of goods sold offset | Issues and adjustments | Offset of 4122 | Using 4124 COGS for adjustments that finance wants in a variance account; use document type rows. |
F4095 | 4134 | Item balance cost change: inventory offset | Cost changes (P4105) with G/L | Debit or credit inventory | Changing costs without 4134 and 4136 for the document type used. |
F4095 | 4136 | Item balance cost change: expense or COGS offset | Cost changes | Offset of 4134 | Offset to COGS instead of a revaluation account. |
F4095 | 4152 | Physical inventory update: inventory offset | Cycle count and physical count update | Debit or credit inventory | No row for the count document type. |
F4095 | 4220 | Sales: cost of goods sold | Sales Update (R42800) | Debit COGS | Missing **** GL class fallback; sales update errors out. |
F4095 | 4230 | Sales: revenue | Sales Update (R42800) | Credit sales revenue | Flexible sales accounting (F4096) set up for some companies only. |
F4095 | 4240 | Sales: inventory | Sales Update (R42800) | Credit inventory | Different account from 4122 for the same GL class, so inventory does not reconcile. |
F4095 | 4245 | Sales: A/R trade | Sales Update (R42800) | Debit A/R | Not used when Sales Update is set to bypass the A/R update; check the R42800 version before blaming the AAI. |
F4095 | 4250 | Sales: tax liability | Sales Update (R42800) | Credit tax payable | Tax areas added without a 4250 row for the order type. |
F4095 | 4270 | Advanced pricing: price adjustments | Sales Update (R42800) | Per adjustment | New adjustment names not covered by F4096 flex setup. |
F4095 | 4310 | Purchasing: inventory or expense at receipt | PO Receipts (P4312) | Debit inventory | GL class on the item branch not matching any 4310 row. |
F4095 | 4320 | Purchasing: received not vouchered | PO Receipts (P4312), Voucher Match (P4314) | Credit at receipt, debit at voucher match | Different 4320 accounts by document type, so RNV never clears. |
F4095 | 4385 | Landed costs / expense adjustments (debit), with 4390 for the credit | PO Receipts, Purchase Receipts Inquiry (P43214), Voucher Match | Debit landed cost | Setting 4385 but not 4390. |
F0012 items are keyed by item and company (KGITEM, KGCO) and searched for the company, then company 00000. F4095 rows are keyed by AAI number, company, order type, document type, G/L class and cost type (MLANUM, MLCO, MLDCTO, MLDCT, MLGLPT, MLCOST). For sales AAIs the search is company + order type + G/L class, then G/L class ****, then company 00000, then 00000 with ****, then an error. Financial AAIs are maintained in P0012, distribution AAIs in P40950.
Get your AAI setup reviewed
Export F0012 and F4095 for one company and we will flag missing fallbacks, mismatched inventory accounts and RNV risks.
Optional. The tool and every export work without this. No spam.
Where AAIs live
Financial AAIs are stored in the Automatic Accounting Instructions Master (F0012), keyed by item name and company, and maintained in P0012. Item names are hard coded: A/P items start with P, A/R items with R, general purpose ranges with GLG. Distribution and manufacturing AAIs are stored in F4095, keyed by AAI number, company, order type, document type, G/L class and cost component, and maintained in Distribution AAIs (P40950), form W40950B. Each entry resolves to a business unit, object and optional subsidiary. Sales AAIs 4220, 4230, 4240 and 4250 can also use flexible accounting in F4096.
Search order
For the sales AAIs the system looks for order company + order type + G/L class, then the same with G/L class ****, then company 00000 with the G/L class, then 00000 with ****, and errors if none is found. When product detailed costing is used, cost type is added for 4220 and 4240. A/P trade follows a simpler order: for a voucher in company 00100 with G/L offset 30 it looks for PC30 in 00100, then PC30 in 00000. Knowing the order lets you fix a missing AAI with one row instead of many.
- Company 00000 rows act as the default
- **** is the wildcard G/L class in F4095
- GLGx items are set for 00000, except GLG4 per company when needed
Worked example: a PO receipt
A stock item with G/L class IN30 is received on an OP order in company 00200: 100 units at a PO price of 10.40. P4312 looks up 4310 for company 00200, order type OP and G/L class IN30 (falling back to **** and 00000) and debits inventory 1,040.00, then credits received not vouchered 1,040.00 through 4320. At voucher match, P4314 debits the same 4320 account for 1,040.00 and credits A/P trade through PCxxxx for the supplier G/L offset. Standard cost items and invoice price differences post to variance accounts from their own purchasing AAIs, so list the 43xx items in P40950 for your release before testing.
Common mistakes
Most AAI errors come from new master data: a new G/L class, order type or company with no row and no fallback. Add **** and 00000 rows deliberately so new codes fall back somewhere sensible, then add specific rows where finance needs a different account. Keep 4122 and 4240 pointing at the same inventory account for a G/L class, or inventory will not reconcile to the cardex. After any change, run a test transaction and check the journal in F0911 before telling users it is fixed.
Frequently Asked Questions
What is the JD Edwards AAI table?
Financial AAIs are in F0012, the Automatic Accounting Instructions Master, keyed by item (KGITEM) and company (KGCO), with business unit, object and subsidiary columns. You maintain them in P0012. Distribution and manufacturing AAIs are a separate table, F4095.
What is the DMAAI table in JDE?
DMAAIs are stored in F4095, Distribution/Manufacturing - AAI Values. Rows are keyed by AAI number (MLANUM), company, order type, document type, G/L class (MLGLPT) and cost component, and give a business unit, object and subsidiary. You maintain them in P40950.
How do I set up AAIs in JDE?
Review the existing items in P0012 or P40950, then add rows for the default company 00000 first and company specific rows only where accounts differ. For DMAAIs, add **** G/L class rows as a fallback. Test with a real transaction and check the resulting F0911 lines before closing the change.
What do DMAAI 4310 and 4320 do?
4310 gives the inventory (or expense) account debited by PO Receipts (P4312). 4320 gives the received not vouchered account, credited at receipt and debited when Voucher Match (P4314) creates the voucher. If they use different accounts by document type, RNV will not clear.
If your finance team wants to ask 'which account did this receipt hit and why' in plain English, with the AAI lookup shown, on your own JD Edwards servers, we can build that.
Related Tools
JD Edwards AP and AR Ledger Tables Reference (F0411, F0413, F0414, F03B11, F03B13, F03B14)
Keys and working columns for the JDE 9.2 payables and receivables ledgers, payment and receipt tables, batch input tables and the supplier and customer contact tables.
OracleJD Edwards Inventory Tables Reference (F41021, F4111, F4105, F4108, F4100)
Reference for the JDE 9.2 inventory tables with key columns, the programs that maintain them, joins, and one row per F41021 quantity bucket explaining what drives it.
Developer ToolsJD Edwards F0911 General Ledger SQL Generator
Fill in schema, company, ledger type and a Julian date range to get ready-to-run SQL for F0911 detail and an account summary.
OracleJD Edwards Document Types Reference (OP, SO, OV, PV)
Searchable lookup of common JD Edwards document types such as OP, SO, OV and PV, with the module and the table that normally holds them.
More Oracle tools
See all- JD Edwards EnterpriseOne Private AI Layer Blueprint Generator
- JD Edwards EnterpriseOne AI Assistant Sizing and Value Calculator
- JD Edwards F4211 vs F42119 Sales Order Detail and History Columns Reference
- JD Edwards EnterpriseOne System and Object Librarian Tables Reference
- JD Edwards EnterpriseOne 9.2 Tools Release History Reference
- JD Edwards Security Tables and Security Types Reference (F00950, F95921, F9312)
- JD Edwards Sales Order Status Codes and Order Activity Rules Reference (F40203)
- JD Edwards EnterpriseOne 9.2 Upgrade Retrofit Effort Calculator
- JD Edwards Orchestrator Error Handling and Production Readiness Checklist
Keep exploring
Free tools
- JD Edwards EnterpriseOne Core Table ReferenceSearchable list of the JD Edwards EnterpriseOne tables you query most often, with column prefix and the key fields to filter on.
- JD Edwards System Codes ReferenceLook up what each JD Edwards system code stands for and how it shows up in table, application and UDC names.
- JD Edwards EnterpriseOne AI Assistant Sizing and Value CalculatorEstimate peak load, GPUs, index size, hours saved and payback for an on-prem AI assistant on JD Edwards EnterpriseOne.
ERP fixes and how-tos
- How to Add a Private AI Layer to JD Edwards EnterpriseOne On-PremAdd a private AI layer to JD Edwards EnterpriseOne: AIS data service, Orchestrator, Security Workbench mapping, a local model and human approval.
- JD Edwards table conversion: how it works and how to run oneWhat a JD Edwards table conversion does to a JDE table's structure and data, when it runs in a package build, and how to run or design one manually.
- How to set up JD Edwards Orchestrator (step by step)Set up a working JD Edwards Orchestrator end to end: enable the AIS server, build a form or service request, wire it into an orchestration, and call it over REST.
Runs with your ERP
- Oracle CPQ and JD Edwards EnterpriseOne: quote to sales orderHow Oracle CPQ integrates with JD Edwards EnterpriseOne: customer data into quotes, sales orders created from quotes, and status back, with setup and pitfalls.
- Vertex Tax Connectors with JD Edwards EnterpriseOneHow Vertex calculates sales, use and VAT tax for JD Edwards EnterpriseOne and World, plus Oracle EBS and Cloud ERP: integration model, flows, setup, pitfalls.
- Spreadsheet Server with JD Edwards EnterpriseOne: live Excel reportingHow insightsoftware Spreadsheet Server pulls live JD Edwards GL and transaction data into Excel with drill-down and scheduling: setup, pitfalls, AI options.
AI on your ERP
- AI for JD Edwards Inventory Management and Shop Floor ManufacturingAI on JD Edwards EnterpriseOne inventory and manufacturing: item ledger, work orders, MRP messages and cost variances, answered in plain English on your own servers.
- AI for JD Edwards EnterpriseOne Manufacturing, Without Leaving the F-Tables ExposedGrounded AI over JD Edwards EnterpriseOne Manufacturing: work orders, routings, and Orchestrator data, answered on-prem without sending F-table data to a public model.
Integrations
- How to add AI agents to JD Edwards EnterpriseOneHow to add AI agents to JD Edwards EnterpriseOne: Orchestrator and AIS as the tool layer, read-only first, human approval on writes, on-prem models.
- How to use ChatGPT with JD Edwards EnterpriseOneHow to use ChatGPT with JD Edwards EnterpriseOne: custom GPT actions over AIS, exports versus live access, enterprise data controls, and private alternatives.