JDE F0911Z1 Journal Entry Batch Input SQL Generator
This generator writes a balanced pair of INSERT statements for the JD Edwards EnterpriseOne F0911Z1 batch journal entry table, a verification query, and the steps to process the batch with R09110Z. It is for 9.2 developers loading journal entries from a spreadsheet, a payroll system or a sub-ledger.
Fill in
Groups the lines of one journal entry.
126295 = 22 Oct 2026.
Business unit.object.subsidiary in your account input format.
1,250.00 in a 2-decimal currency is stored as 125000.
Insert a balanced journal entry
-- Line numbers: VNEDLN has 3 implied decimals, so line 1.000 is stored as 1000.
-- Amounts: stored without the decimal point; 125000 = 1,250.00 for a 2-decimal currency.
-- VNEDSP = '0' (unprocessed), VNEDTC = 'A' (add), VNEDTR = 'J' (journal entry).
-- VNAM = '2' means VNANI holds business unit.object.subsidiary (1 = short ID, 3 = third account number).
INSERT INTO CRPDTA.F0911Z1
(VNEDUS, VNEDTN, VNEDLN, VNEDBT, VNEDSP, VNEDTC, VNEDTR,
VNKCO, VNDCT, VNDGJ, VNANI, VNAM, VNAA, VNLT, VNEXA, VNCRCD)
VALUES
('GLLOAD', 'JE20261022001', 1000, 'GL261022', '0', 'A', 'J',
'00100', 'JE', 126295, '30.6110', '2', 125000, 'AA', 'Accrual reclass Oct 2026', 'USD');
INSERT INTO CRPDTA.F0911Z1
(VNEDUS, VNEDTN, VNEDLN, VNEDBT, VNEDSP, VNEDTC, VNEDTR,
VNKCO, VNDCT, VNDGJ, VNANI, VNAM, VNAA, VNLT, VNEXA, VNCRCD)
VALUES
('GLLOAD', 'JE20261022001', 2000, 'GL261022', '0', 'A', 'J',
'00100', 'JE', 126295, '1.1110', '2', -125000, 'AA', 'Accrual reclass Oct 2026', 'USD');
COMMIT;Check the rows before processing
SELECT VNEDUS, VNEDBT, VNEDTN, VNEDLN / 1000 AS line_no, VNEDSP,
VNDGJ, VNANI, VNAA, VNLT, VNEXA
FROM CRPDTA.F0911Z1
WHERE VNEDUS = 'GLLOAD'
AND VNEDBT = 'GL261022'
ORDER BY VNEDTN, VNEDLN;
-- The entry must net to zero per transaction:
SELECT VNEDTN, SUM(VNAA) AS net_amount
FROM CRPDTA.F0911Z1
WHERE VNEDUS = 'GLLOAD' AND VNEDBT = 'GL261022'
GROUP BY VNEDTN
HAVING SUM(VNAA) <> 0;Then in EnterpriseOne
-- 1. Review or correct the lines in the batch journal entry revisions program (P0911Z1). -- 2. Run R09110Z (Journal Entries Batch Processor) with a data selection on -- VNEDUS = 'GLLOAD' and VNEDBT = 'GL261022'; check its processing options before the first run. -- 3. Successful lines get VNEDSP = '1'; errors go to the Work Center. -- 4. Review and post the created batch as with any manual journal entry.
Any column you leave out of the INSERT is NULL or the database default, while JD Edwards expects blanks and zeros. Before loading in bulk, compare your rows with one created through P0911Z1 in the same environment and populate every remaining column with blank or zero as your table definition requires. Confirm the decimals of EDLN and AA in the data dictionary (P92001) and the currency decimals for your company.
Get your GL load mapping checked
Send us one sample journal and your F0911Z1 column mapping and we will check decimals, defaults and blank handling for your release.
Optional. The tool and every export work without this. No spam.
Where this lives in EnterpriseOne
F0911Z1 is the batch input (Z file) for journal entries: external systems write rows into it, and the Journal Entries Batch Processor R09110Z validates them and creates real F0911 lines and an F0011 batch header through the same logic as manual entry. Rows are grouped by user ID (VNEDUS), batch number (VNEDBT) and transaction number (VNEDTN), with VNEDLN as the line within a transaction. The processed flag VNEDSP starts at 0 and becomes 1 when the line is processed. Rows can be reviewed and corrected in P0911Z1 before processing. The same Z file pattern is used by other batch inputs, such as F0411Z1 for vouchers.
How to use it
Enter the schema, a user ID you reserve for loads, a batch number and a transaction number per journal entry. Give the G/L date in JDE Julian (CYYDDD: 126295 is the 295th day of 2026). Enter accounts in your account input format, for example business unit.object or business unit.object.subsidiary. Enter the amount as stored, without a decimal point. The generator writes a debit line 1.000 and a credit line 2.000 for the same amount, so the entry balances. For multi-line entries, copy an INSERT and increase VNEDLN in steps of 1000.
- One VNEDTN per journal entry; one VNEDBT can hold many entries
- Ledger type AA for actuals unless you load budgets or statistics
- Use proof mode or a test environment on the first run
Worked example: implied decimals
A reclass of 1,250.00 USD from 1.1110 to 30.6110 on 22 October 2026: VNDGJ is 126295, VNAA is 125000 on the debit line and -125000 on the credit line, VNEDLN is 1000 and 2000. JD Edwards stores numbers without the decimal point and applies the display decimals from the data dictionary and the currency, so a value of 1250 would load as 12.50. The check query shows line numbers divided by 1000 and flags any transaction whose lines do not net to zero before you run the processor.
Common mistakes
Leaving columns NULL is the most frequent cause of odd behaviour, because EnterpriseOne expects blanks and zeros; compare with a row created in P0911Z1 and fill the rest. Second, a G/L date in a closed period or the wrong fiscal pattern makes R09110Z reject every line. Third, reusing a VNEDTN from an earlier load merges lines into one entry. Fourth, the account mode VNAM must match what is in VNANI; a business unit.object account sent with mode 1 (short ID) fails validation. Finally, purge processed rows regularly so the Z file does not grow forever.
Frequently Asked Questions
What are the minimum fields to populate in F0911Z1?
In practice: user ID VNEDUS, transaction number VNEDTN, line number VNEDLN, batch number VNEDBT, processed flag VNEDSP = 0, transaction action VNEDTC = A, transaction type VNEDTR = J, G/L date VNDGJ, account VNANI with its account mode VNAM, and amount VNAA, plus ledger type, document type and company where you do not want defaults. Check the full field list in Oracle's batch journal entry documentation for your release.
Which program processes F0911Z1?
R09110Z, the Journal Entries Batch Processor. It reads unprocessed rows by your data selection, validates them with the same rules as manual entry, creates the F0911 lines and the batch header, and sets VNEDSP to 1 on success. Errors are sent to the Work Center so you can correct them in P0911Z1 and rerun.
Why did my amounts load 100 times too small?
Because JD Edwards stores amounts without the decimal point. For a currency with two decimals, 1,250.00 must be written as 125000. The display decimals come from the data dictionary item and the currency code, so check both if you load currencies with zero or three decimals.
Is F0111Z1 the same kind of table?
Yes, F0111Z1 is the batch input table for who's who (contact) records in the address book, and it follows the same Z file pattern: you load rows with user ID, batch, transaction number and action code, then run its batch processor. The columns are different, so do not reuse this F0911Z1 template for it.
If you want finance to load, check and explain JD Edwards journal entries in plain English on your own servers, with human approval before anything posts, we can build that.
Related Tools
JD 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 Julian Date (CYYDDD) SQL Converter
Build SQL that converts the CYYDDD Julian dates stored in JD Edwards files into real dates, converts a date back, and filters by date range.
OracleJD Edwards Julian Date Converter
Turn a calendar date into the CYYDDD Julian number JDE stores in tables such as F0911 and F4801, with leap years handled.
Developer ToolsJD Edwards Orchestrator and AIS REST Call Generator
Fill in your AIS host, orchestration name and inputs to get a working Python requests script and curl commands that call a JD Edwards EnterpriseOne 9.2 orchestration.
More Developer Tools tools
See all- JD Edwards Orchestrator Groovy Custom Request Script Generator
- JD Edwards UDC Lookup SQL Generator (F0004, F0005)
- JD Edwards Received Not Vouchered SQL Generator (F43121, F4311)
- JD Edwards C Business Function Skeleton Generator
- JD Edwards F3002 Multi-Level BOM Explosion SQL Generator
- SAP Sales Order ABAP SELECT Generator (VBAK, VBAP, VBFA)
- SAP Sales Order Create BAPI ABAP Generator (BAPI_SALESORDER_CREATEFROMDAT2)
- SAP ABAP Open Items SELECT Generator
- SAP ACDOCA SQL Query Generator
Keep exploring
Free tools
- JD Edwards SQL Query Generator (Open Sales Order Lines)Generates a read-only SQL Server query for open JDE sales order lines, with Julian date conversion, implied decimal handling and branch filters.
- JD Edwards EnterpriseOne Private AI Layer Blueprint GeneratorFill in your JD Edwards EnterpriseOne version, database, hosting and users to get a shareable architecture plan for a private, on-prem AI assistant.
- JD Edwards F4801 Work Order SQL GeneratorBuild SQL for open JDE work orders by branch plant, status and date, plus the parts list for one work order.
ERP fixes and how-tos
- JD Edwards GL Post: Batch in Error or Out of BalanceFix a JD Edwards batch that will not post: read the R09801 post report, check batch status in P0011, correct F0911 rows, and reset a batch stuck in posting.
- 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.
- How to Add a Private AI Layer to JD Edwards World on IBM iAdd AI to JD Edwards World without moving data: DB2 for i access, journal-based replication, rebuilt row security, local GPUs and approved batch write-back.
Runs with your ERP
- 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.
- RF-SMART and JD Edwards EnterpriseOne: Barcode Scanning and Mobile WMSHow RF-SMART connects barcode scanning to JD Edwards EnterpriseOne and World: integration method, data flows, setup steps, pitfalls and where private AI helps.
- 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.
AI on your ERP
- 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.
- 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.
Integrations
- How to automate email into JD Edwards WorldTurn inbound POs, RFQs and supplier confirmations into JD Edwards World transactions: IMAP or Graph intake, extraction, review queue and batch input to IBM i.
- 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.