Platform reference

Oracle E-Business Suite and Federal Financials: Architecture, Data Model, and Tables

How Oracle EBS Release 12 is built, how ledgers, operating units, and the Accounting Flexfield work, how Subledger Accounting links every transaction to the GL, and which tables hold the data behind DAI, DEAMS, and GCSS-MC.

13

Numbered tables

5 diagrams

1. What runs on Oracle in DoD

Three systems in this suite run on Oracle E-Business Suite: DAI, DEAMS, and GCSS-MC. DAI and DEAMS use the Oracle U.S. Federal Financials extension for budget execution, Treasury reporting, and prompt payment. CEFMS is a custom Army Corps of Engineers application. It does not use the EBS data model, and the public sources reviewed for this site do not confirm its database product.

Table O-1Oracle-based systems in this suite
SystemOwnerMain Oracle scopeRole in the reporting chain
DAIDefense agencies, hosted by DLAGeneral Ledger, Federal Financials, Purchasing, Payables, Receivables, Projects, Assets, Time and Labor, with OBIEE and HyperionGeneral ledger for most Fourth Estate agencies. Sends daily and month-end trial balances to DDRS through GEX.
DEAMSAir Force and USTRANSCOMGeneral Ledger, Federal Financials, Purchasing, Payables, Receivables, Projects, AssetsAir Force general fund and transportation working capital accounting. Runs in parallel with GAFS-R.
GCSS-MCMarine CorpsSupply chain, maintenance, and service management on Oracle E-Business Suite, upgraded to R12 in 2015Marine Corps logistics ERP. Its financial effect posts to the Marine Corps accounting system.

The DAI module list follows DCMA Manual 4301-05, Volume 8. The GCSS-MC platform follows the DOT&E fiscal year 2015 annual report. Other scope lines summarize public program descriptions.

2. Technical architecture

Oracle EBS is a three-tier system. A browser or Forms client talks to the application tier. The application tier runs web pages, forms, and batch programs. All business data sits in one Oracle database.

Figure O-1Oracle E-Business Suite Release 12.2: tiers and components
files, loadsJDBCimportcutover swaps bothClient tierApplication tierDatabase tierWeb browserHTML pages built on OracleApplication FrameworkSelf-service and workflowapprovalsForms clientJava-based professional formsUsed by most accounting screensExternal systemsFiles through GEXWeb servicesData loads into interface tablesOracle HTTP ServerEntry point for all web requestsRoutes to WebLogicOracle WebLogic ServerManaged servers: oacore, oafm,forms, forms-c4wsAdmin server controls the domainConcurrent ProcessingInternal Concurrent ManagerStandard and specialized managersConflict resolution managerRuns imports, Create Accounting,reportsApplication file systemfs1 and fs2: run and patch copiesfs_ne: logs, output, import filesAutoConfig context fileOracle DatabaseAPPS schema: synonyms, views, and PL/SQL packages that all code connects throughProduct schemas own the tables: GL, AP, AR, PO, FA, XLA, FV, INV, PAAPPLSYS owns the FND foundation tables: users, responsibilities, flexfields,concurrent requestsOpen interface tablesGL_INTERFACEAP_INVOICES_INTERFACEPO_HEADERS_INTERFACEFV_BE_INTERFACEDatabase editionsRun, patch, and old editionsOnline patching with adop:prepare, apply, finalize,cutover, cleanup

Dual file system, editions, and the adop phases follow the Oracle E-Business Suite Concepts guide. WebLogic managed server names are the Release 12.2 defaults.

Table O-2Application tier components
ComponentWhat it doesWhy a financial manager should care
Oracle HTTP ServerAccepts web requests and passes them to WebLogic.Single sign-on and CAC authentication attach here.
WebLogic managed serversoacore runs self-service pages. forms runs Forms sessions. oafm runs web services and maps.Explains why forms and self-service pages can fail separately.
Concurrent ProcessingRuns batch programs as concurrent requests under managers.Journal Import, Create Accounting, AutoInvoice, and payment batches are all concurrent requests. FND_CONCURRENT_REQUESTS is the run log.
WorkflowRoutes approvals for requisitions, purchase orders, invoices, and journals.Approval history is audit evidence. See WF_ITEM_ACTIVITY_STATUSES and PO_ACTION_HISTORY.
Application file systemTwo full copies, fs1 and fs2, plus fs_ne for logs and data files.Online patching applies to the patch copy while users work on the run copy.
AutoConfigGenerates configuration files from one context file.Change control scope for technical settings.

Schemas, editions, and patching

  • Each product owns its tables in its own schema: GL, AP, AR, PO, FA, XLA, FV, and so on. All programs connect as APPS, which holds synonyms to every table and the PL/SQL code.
  • APPLSYS owns the foundation tables. FND_USER holds users. FND_RESPONSIBILITY holds responsibilities. FND_USER_RESP_GROUPS_DIRECT holds assignments. These support an access review.
  • Release 12.2 uses edition-based redefinition. Users work in the run edition while a patch is applied to the patch edition. Cutover swaps both the file system and the edition. The adop utility runs five phases: prepare, apply, finalize, cutover, cleanup.
  • Because of editions, queries should read tables through the APPS synonym. Reading the physical table directly can return obsolete columns.

3. Organizational model

Oracle separates who owns the books from who does the transactions. A ledger owns balances. An operating unit owns subledger transactions. An inventory organization owns stock.

Figure O-2Ledger, legal entity, operating unit, and inventory organization
primary ledgerdefault legal contextchart of accountsgrants accessBusiness groupHR_ALL_ORGANIZATION_UNITSTop of the HR organization modelLedgerGL_LEDGERSChart of accounts, calendar, currency,accounting methodBudgetary control switchLegal entityXLE_ENTITY_PROFILESOwner of the booksAccounting FlexfieldGL_CODE_COMBINATIONSSEGMENT1 to SEGMENT30One row per valid account stringOperating unitHR_OPERATING_UNITSORG_ID on every _ALL tablePartitions AP, AR, PO, and ProjectsdataResponsibilityFND_RESPONSIBILITYMenu, data group, request groupProfile MO: Security Profile setswhich operating units a user seesInventory organizationMTL_PARAMETERSORGANIZATION_ID on item, stock, andreceiving tables
Table O-3Organizational objects and their tables
ObjectTableKeyMeaning in a DoD implementation
LedgerGL_LEDGERSLEDGER_IDOne set of books defined by chart of accounts, calendar, currency, and subledger accounting method. Budgetary control is enabled here.
Legal entityXLE_ENTITY_PROFILESLEGAL_ENTITY_IDThe agency or reporting entity that owns the ledger.
Operating unitHR_OPERATING_UNITSORGANIZATION_ID, stored as ORG_IDPartitions Payables, Receivables, Purchasing, and Projects. Tables that end in _ALL hold every operating unit.
Inventory organizationMTL_PARAMETERSORGANIZATION_IDA warehouse, depot, or receiving location.
Accounting calendarGL_PERIODS, GL_PERIOD_STATUSESPeriod set, period nameFiscal periods and their open or closed status by application.
ResponsibilityFND_RESPONSIBILITYRESPONSIBILITY_IDWhat a user can do: a menu, a data group, and a request group.

The Accounting Flexfield

The chart of accounts is a key flexfield with up to 30 segments. Each program defines its own segments. A federal chart usually has a fund segment as the balancing segment, a natural account segment that holds the USSGL account, and segments for organization, program, object class, and budget year. Every distinct combination that has been used is one row in GL_CODE_COMBINATIONS, identified by CODE_COMBINATION_ID. Every transaction table stores that ID, not the segment values.

Table O-4Flexfield and value tables
TableHoldsUse it to
GL_CODE_COMBINATIONSOne row per account string: CODE_COMBINATION_ID, SEGMENT1 to SEGMENT30, account type, enabled flagTranslate any transaction account ID into segment values.
FND_ID_FLEX_STRUCTURESFlexfield structures. The Accounting Flexfield has code GL#.Find the chart of accounts ID for a ledger.
FND_ID_FLEX_SEGMENTSSegment definitions: name, column, value setLearn which SEGMENTn column holds fund, account, or organization.
FND_FLEX_VALUE_SETS, FND_FLEX_VALUES, FND_FLEX_VALUES_TLValue sets, values, and descriptionsValidate segment values and read descriptions.
FND_FLEX_VALUE_HIERARCHIESParent and child value rangesRoll accounts up for reports.
Descriptive flexfieldsATTRIBUTE1 to ATTRIBUTE15 columns on most tablesFind program-specific data such as contract numbers or SLOA elements stored on a transaction.

4. General Ledger data model

Table O-5General Ledger tables
TableHoldsKey fieldsUse it to
GL_JE_BATCHESJournal batchesJE_BATCH_IDSee batch status, approval, and posting date.
GL_JE_HEADERSJournal headersJE_HEADER_IDIdentify source and category. JE_SOURCE says which subledger or whether it was manual.
GL_JE_LINESJournal linesJE_HEADER_ID, JE_LINE_NUMRead each debit and credit by account.
GL_BALANCESPeriod balances by accountLEDGER_ID, CODE_COMBINATION_ID, CURRENCY_CODE, PERIOD_NAME, ACTUAL_FLAGBuild the trial balance.
GL_INTERFACEStaging for Journal ImportGROUP_ID, USER_JE_SOURCE_NAMECheck what was loaded from outside and what was rejected.
GL_IMPORT_REFERENCESLink from journal line to subledger journal lineJE_HEADER_ID, JE_LINE_NUM, GL_SL_LINK_ID, GL_SL_LINK_TABLEDrill from a GL line to Subledger Accounting.
GL_BC_PACKETSFunds check and reservation packetsPACKET_IDSee why a transaction passed or failed budgetary control.
GL_JE_SOURCES, GL_JE_CATEGORIESJournal source and category definitionsSource name, category nameSeparate system-generated journals from manual ones.
GL_PERIOD_STATUSESOpen and closed periods per applicationAPPLICATION_ID, LEDGER_ID, PERIOD_NAMEProve cutoff control.
GL_BUDGET_VERSIONS, GL_ENCUMBRANCE_TYPESBudget and encumbrance definitionsVersion ID, type IDInterpret ACTUAL_FLAG B and E balances.

ACTUAL_FLAG separates three kinds of balance in the same tables. A is actual. B is budget. E is encumbrance. In a federal ledger, the USSGL budgetary accounts in the 4000 series are posted as actual journals to budgetary accounts, so a federal trial balance reads ACTUAL_FLAG = A for both proprietary and budgetary accounts.

5. Subledger Accounting: the bridge from transaction to GL

In Release 12 no subledger writes to the GL directly. Each transaction raises an accounting event. The Create Accounting program reads the event, applies the rules in the subledger accounting method, and writes a subledger journal entry in the XLA tables. A second step transfers those entries to the GL. The link IDs written at each step are what allow a drill from a GL balance to the source transaction.

Figure O-3Entity relationships: source transaction, Subledger Accounting, and General Ledger
invoice idENTITY_IDEVENT_IDAE_HEADER_IDGL_SL_LINK_IDhdr + linedistribution idJE_HEADER_IDJE_BATCH_IDpostingCCIDSubledger transaction and Subledger Accounting (XLA)Link from subledger journal to GL journalGeneral LedgerAP_INVOICE_DISTRIBUTIONS_ALLINVOICE_DISTRIBUTION_IDINVOICE_IDPO_DISTRIBUTION_IDDIST_CODE_COMBINATION_IDACCOUNTING_EVENT_ID(example source table)XLA_TRANSACTION_ENTITIESENTITY_IDAPPLICATION_IDENTITY_CODE AP_INVOICESSOURCE_ID_INT_1 invoice idLEDGER_IDXLA_EVENTSEVENT_IDENTITY_IDEVENT_TYPE_CODEEVENT_DATEEVENT_STATUS_CODEPROCESS_STATUS_CODEXLA_AE_HEADERSAE_HEADER_IDEVENT_ID, ENTITY_IDLEDGER_IDACCOUNTING_DATEBALANCE_TYPE_CODE A, B, EGL_TRANSFER_STATUS_CODEXLA_DISTRIBUTION_LINKSAPPLICATION_ID, EVENT_ID,AE_HEADER_ID, AE_LINE_NUM,TEMP_LINE_NUMSOURCE_DISTRIBUTION_TYPESOURCE_DISTRIBUTION_ID_NUM_1GL_JE_LINESJE_HEADER_ID, JE_LINE_NUMCODE_COMBINATION_IDENTERED_DR, ENTERED_CRACCOUNTED_DR, ACCOUNTED_CRGL_SL_LINK_IDGL_IMPORT_REFERENCESJE_HEADER_ID, JE_LINE_NUMGL_SL_LINK_IDGL_SL_LINK_TABLEJE_BATCH_IDXLA_AE_LINESAE_HEADER_ID, AE_LINE_NUMCODE_COMBINATION_IDACCOUNTING_CLASS_CODEENTERED_DR, ENTERED_CRACCOUNTED_DR, ACCOUNTED_CRGL_SL_LINK_IDGL_BALANCESLEDGER_ID, CODE_COMBINATION_ID,CURRENCY_CODE, PERIOD_NAME,ACTUAL_FLAG, ...BEGIN_BALANCE_DR / CRPERIOD_NET_DR / CRGL_JE_HEADERSJE_HEADER_IDJE_BATCH_ID, LEDGER_IDJE_SOURCE, JE_CATEGORYPERIOD_NAME, STATUSACTUAL_FLAG A, B, EGL_JE_BATCHESJE_BATCH_IDNAME, STATUSPOSTED_DATEAPPROVAL_STATUS_CODEGL_CODE_COMBINATIONSCODE_COMBINATION_IDCHART_OF_ACCOUNTS_IDSEGMENT1 .. SEGMENT30ACCOUNT_TYPEENABLED_FLAG

XLA_DISTRIBUTION_LINKS also carries AE_HEADER_ID and AE_LINE_NUM, which join it to XLA_AE_LINES. That edge is omitted from the drawing for legibility.

Table O-6Subledger Accounting (XLA) tables
TableHoldsKey fieldsUse it to
XLA_TRANSACTION_ENTITIESOne row per accountable transactionENTITY_ID, APPLICATION_IDGo from a subledger transaction ID (SOURCE_ID_INT_1) to its accounting.
XLA_EVENTSAccounting events for an entityEVENT_IDSee whether each event has been accounted. Unprocessed events are unposted activity.
XLA_AE_HEADERSSubledger journal entry headersAE_HEADER_IDCheck accounting date, ledger, and GL transfer status.
XLA_AE_LINESSubledger journal entry linesAE_HEADER_ID, AE_LINE_NUMRead the debit and credit lines with accounting class.
XLA_DISTRIBUTION_LINKSLink from each journal line to the source distributionAPPLICATION_ID, EVENT_ID, AE_HEADER_ID, AE_LINE_NUM, TEMP_LINE_NUMTie a journal line to one invoice distribution, receipt, or payment line.
XLA_ACCOUNTING_ERRORSErrors from Create AccountingEVENT_IDWork the accounting exception queue.
XLA_TRIAL_BALANCESOpen account balances by source, used for the payables trial balanceDefinition code, source entityReconcile the liability account to open invoices.
  1. Start from a balance in GL_BALANCES. Find the lines in GL_JE_LINES for that CODE_COMBINATION_ID and period.
  2. Join GL_JE_LINES to GL_IMPORT_REFERENCES on JE_HEADER_ID and JE_LINE_NUM.
  3. Join GL_IMPORT_REFERENCES to XLA_AE_LINES on GL_SL_LINK_ID and GL_SL_LINK_TABLE.
  4. Join XLA_AE_LINES to XLA_AE_HEADERS on AE_HEADER_ID, then to XLA_EVENTS and XLA_TRANSACTION_ENTITIES.
  5. Read ENTITY_CODE and SOURCE_ID_INT_1. For AP_INVOICES the ID is AP_INVOICES_ALL.INVOICE_ID. For AP_PAYMENTS it is AP_CHECKS_ALL.CHECK_ID. For receiving it is the receiving transaction.
  6. Use XLA_DISTRIBUTION_LINKS when the test needs one specific distribution line and not the whole transaction.

Journals with a JE_SOURCE of Manual or Spreadsheet have no rows in GL_IMPORT_REFERENCES. That absence is how an analyst separates subledger-supported postings from manual journals in the universe of transactions.

6. Procure-to-pay document flow

Figure O-4Oracle procure-to-pay: steps, tables, and accounting effect
Business stepTables writtenAccounting effect through Subledger AccountingRequisitioniProcurement or PurchasingformFunds reserved on approvalPurchase orderAutoCreate or contractinterfaceApproval workflowReceiptReceiving transactionAccept, deliverInvoicePayables invoice or openinterfaceMatch to PO or receipt,validatePaymentPayment process requestTreasury confirmation inFederalPO_REQUISITION_HEADERS_ALLLINES_ALLPO_REQ_DISTRIBUTIONS_ALLDISTRIBUTION_IDPO_HEADERS_ALLPO_LINES_ALLPO_LINE_LOCATIONS_ALLPO_DISTRIBUTIONS_ALLPO_DISTRIBUTION_IDRCV_TRANSACTIONSRCV_SHIPMENT_HEADERSRCV_SHIPMENT_LINESTRANSACTION_IDPO_DISTRIBUTION_IDAP_INVOICES_ALLAP_INVOICE_LINES_ALLAP_INVOICE_DISTRIBUTIONS_ALLINVOICE_DISTRIBUTION_IDAP_CHECKS_ALLAP_INVOICE_PAYMENTS_ALLIBY_PAYMENTS_ALLFV_TREASURY_CONFIRMATIONS_ALLCommitmentUSSGL 4610 to 4700Funds check inGL_BC_PACKETSObligationUSSGL 4700 to 4801Requisition commitmentreversedAccrued expenditureUSSGL 4801 to 4901Expense or asset andaccrued liabilityPayableUSSGL 2110 accountspayableAccrual cleared on matchOutlayUSSGL 4901 to 49022110 to 1010 FBWT atconfirmation

USSGL accounts show the standard budgetary progression. Accounting timing for receipts depends on whether the program accrues at receipt or at period end.

Table O-7Purchasing and receiving tables
TableHoldsKey fieldsLink forward
PO_REQUISITION_HEADERS_ALLRequisition headerREQUISITION_HEADER_ID, number in SEGMENT1Lines
PO_REQUISITION_LINES_ALLRequisition linesREQUISITION_LINE_IDLINE_LOCATION_ID once placed on an order
PO_REQ_DISTRIBUTIONS_ALLRequisition accounting distributionsDISTRIBUTION_IDPO_DISTRIBUTIONS_ALL.REQ_DISTRIBUTION_ID
PO_HEADERS_ALLPurchase order or agreement headerPO_HEADER_ID, number in SEGMENT1Lines, shipments, distributions
PO_LINES_ALLOrder linesPO_LINE_IDItem, quantity, price
PO_LINE_LOCATIONS_ALLShipment schedulesLINE_LOCATION_IDQuantity received and billed, match option
PO_DISTRIBUTIONS_ALLOrder accounting distributionsPO_DISTRIBUTION_IDCharge account, budget account, encumbered flag and amount
PO_ACTION_HISTORYApproval and action historyObject ID, sequenceWho submitted, approved, or rejected
RCV_SHIPMENT_HEADERS / RCV_SHIPMENT_LINESReceipt header and linesSHIPMENT_HEADER_ID, SHIPMENT_LINE_IDReceipt number
RCV_TRANSACTIONSReceive, accept, deliver, return, correctTRANSACTION_IDPO_DISTRIBUTION_ID and parent transaction
Table O-8Payables and payment tables
TableHoldsKey fieldsLink forward
AP_SUPPLIERS / AP_SUPPLIER_SITES_ALLSupplier and pay siteVENDOR_ID, VENDOR_SITE_IDParty in HZ_PARTIES
AP_INVOICES_ALLInvoice headerINVOICE_IDLines, distributions, payment schedules
AP_INVOICE_LINES_ALLInvoice linesINVOICE_ID, LINE_NUMBERMatched order line and receipt
AP_INVOICE_DISTRIBUTIONS_ALLInvoice accounting distributionsINVOICE_DISTRIBUTION_IDPO_DISTRIBUTION_ID, ACCOUNTING_EVENT_ID
AP_HOLDS_ALLInvoice holdsINVOICE_ID, hold codeWhy an invoice could not be paid
AP_PAYMENT_SCHEDULES_ALLAmounts due by dateINVOICE_ID, PAYMENT_NUMDue date used for prompt payment
AP_CHECKS_ALLPaymentsCHECK_IDPayment number, date, Treasury pay number in Federal
AP_INVOICE_PAYMENTS_ALLWhich payment paid which invoiceINVOICE_PAYMENT_IDINVOICE_ID, CHECK_ID
IBY_PAYMENTS_ALL / IBY_PAY_INSTRUCTIONS_ALLOracle Payments records and payment instructionsPAYMENT_ID, PAYMENT_INSTRUCTION_IDPayment file sent to the disbursing office
AP_INVOICES_INTERFACE / AP_INVOICE_LINES_INTERFACEStaging for Payables Open Interface ImportINVOICE_ID in the interfaceInvoices arriving from WAWF or another feeder

7. Other module data models

Table O-9Receivables and reimbursable billing tables
TableHoldsKey fields
HZ_PARTIES / HZ_CUST_ACCOUNTS / HZ_CUST_SITE_USES_ALLCustomer party, account, and bill-to sitePARTY_ID, CUST_ACCOUNT_ID, SITE_USE_ID
RA_CUSTOMER_TRX_ALLInvoice, credit memo, debit memo headerCUSTOMER_TRX_ID
RA_CUSTOMER_TRX_LINES_ALLTransaction linesCUSTOMER_TRX_LINE_ID
RA_CUST_TRX_LINE_GL_DIST_ALLRevenue and receivable distributionsCUST_TRX_LINE_GL_DIST_ID
AR_PAYMENT_SCHEDULES_ALLOpen balance by transactionPAYMENT_SCHEDULE_ID
AR_CASH_RECEIPTS_ALLReceipts, including IPAC collectionsCASH_RECEIPT_ID
AR_RECEIVABLE_APPLICATIONS_ALLApplications of receipts and creditsRECEIVABLE_APPLICATION_ID
RA_INTERFACE_LINES_ALLAutoInvoice stagingInterface line context and attributes
Table O-10Assets, Projects, Inventory, and time tables
TableHoldsKey fields
FA_ADDITIONS_BAsset masterASSET_ID
FA_BOOKSFinancial rules per book: cost, date placed in service, methodASSET_ID, BOOK_TYPE_CODE, TRANSACTION_HEADER_ID_IN
FA_DISTRIBUTION_HISTORYAssignment to account, location, and employeeDISTRIBUTION_ID
FA_TRANSACTION_HEADERSAsset transactions: addition, adjustment, transfer, retirementTRANSACTION_HEADER_ID
FA_DEPRN_SUMMARY / FA_DEPRN_DETAILDepreciation by period, total and by distributionASSET_ID, BOOK_TYPE_CODE, PERIOD_COUNTER
FA_MASS_ADDITIONSStaging for assets created from Payables or ProjectsMASS_ADDITION_ID
PA_PROJECTS_ALL / PA_TASKSProjects and work breakdownPROJECT_ID, TASK_ID
PA_EXPENDITURE_ITEMS_ALLCost transactions charged to a projectEXPENDITURE_ITEM_ID
PA_COST_DISTRIBUTION_LINES_ALLAccounting for each expenditure itemEXPENDITURE_ITEM_ID, LINE_NUM
PA_AGREEMENTS_ALL / PA_PROJECT_FUNDINGSCustomer agreements and funding, used for reimbursable ordersAGREEMENT_ID
MTL_SYSTEM_ITEMS_BItem masterINVENTORY_ITEM_ID, ORGANIZATION_ID
MTL_MATERIAL_TRANSACTIONSEvery stock movementTRANSACTION_ID
MTL_ONHAND_QUANTITIES_DETAILOn-hand quantity by location and lotONHAND_QUANTITIES_ID
MTL_TRANSACTION_ACCOUNTSAccounting distributions for stock movementsTRANSACTION_ID
OE_ORDER_HEADERS_ALL / OE_ORDER_LINES_ALLSales and internal ordersHEADER_ID, LINE_ID
HXC_TIME_BUILDING_BLOCKSTime and Labor timecard entriesTIME_BUILDING_BLOCK_ID, version

Projects charge accounts are built from project, task, expenditure type, and expenditure organization. Project programs often call this set POET, or POETA when an award is added.

8. Oracle U.S. Federal Financials

Federal Financials is an add-on product with its own schema, FV. It adds what a commercial ledger lacks: Treasury Account Symbols, multi-level budget execution, Treasury reporting attributes, prompt payment, Treasury payment confirmation, and federal year-end closing.

Figure O-5Federal Financials: fund identity, budget execution, and reporting
TAS idfund valuelevelDOC_IDeventsimportattributesFund identityBudget execution transactionsLoad and reportFV_TREASURY_SYMBOLSTREASURY_SYMBOL_IDTREASURY_SYMBOLAgency, main account, subPeriod of availabilityExpiration and cancel datesFV_FUND_PARAMETERSFUND_VALUE, ledgerTREASURY_SYMBOL_IDFund categoryFund attributes forbudgetary reportingGL_CODE_COMBINATIONSCODE_COMBINATION_IDBalancing segment = fundNatural account = USSGLOther segments: org,program, object classFV_FACTS_ATTRIBUTESUSSGL account attributesrequired for Treasuryreporting (GTAS, formerlyFACTS I and II)FV_BUDGET_LEVELSBUDGET_LEVEL_ID, ledgerAppropriationApportionmentAllotmentLower distribution levelsFV_BE_TRX_HDRSDOC_IDDOC_NUMBERBUDGET_LEVEL_IDFUND_VALUEApproval statusFV_BE_TRX_DTLSTRANSACTION_IDDOC_IDTransaction type, sub typeBUDGETING_SEGMENTSAMOUNT, GL_DATEIncrease or decrease flagSubledger Accounting to GLCreate Accounting builds the4000-series entryPosts to GL_JE_LINES andGL_BALANCESFV_BE_INTERFACESOURCE, GROUP_IDRECORD_NUMBERBUDGET_LEVEL_IDFUND_VALUE, AMOUNTSTATUS, ERROR_CODEFV_BE_INTERFACE_CONTROLFederal reportsSF-133 budget executionGTAS bulk fileFund Balance with TreasuryFunds availabilityYear-end closing

Column lists for FV tables other than the interface tables are abbreviated and descriptive. Confirm exact column names in the eTRM.

Table O-11Federal Financials setup objects, in the order Oracle lists them
StepSetupWhat it defines
32Federal seed dataLoads lookups and predefined federal values.
33Federal optionsAgency-wide choices for payables, receivables, and reporting behavior.
34Treasury Account SymbolsEach component of the TAS under the Common Government-wide Accounting Classification: agency, main account, sub-account, period of availability.
35Budget codesBudget codes and their link to a TAS.
36Fund attributesExtra attributes for each value of the balancing segment, which is the fund.
37Trading partner TASTAS components for intragovernmental partners.
38TAS and BETC mappingBusiness Event Type Codes assigned to agency and trading partner TAS.
41Budget executionBudget levels, transaction types, and budget users for distributing funds.
42Federal report definitionsFunds availability, USSGL account, GTAS attribute, and reimbursable activity report tables.
54Year-end closing definitionsClosing sequences for expired, cancelled, and unexpired funds.

Step numbers and descriptions follow the setup checklist in the Oracle U.S. Federal Financials Implementation Guide, Release 12.2.

Table O-12Federal Financials (FV) tables
TableHoldsBasis
FV_BE_INTERFACEOpen interface for budget execution transactions: source, group, record number, budget level, fund value, amount, GL date, public law code, status, error codeNamed and described in the Oracle Federal Financials User Guide
FV_BE_INTERFACE_CONTROLOne row per source and group to be imported, with status and processed dateNamed in the User Guide
FV_BE_TRX_HDRSBudget execution document headers. Destination of the import.Named in the User Guide
FV_BE_TRX_DTLSBudget execution transaction detail linesNamed in the User Guide
FV_BUDGET_LEVELSBudget levels such as appropriation, apportionment, and allotmentNamed in the User Guide
FV_TREASURY_SYMBOLSTreasury Account Symbol masterStandard product table. Confirm in eTRM.
FV_FUND_PARAMETERSFund attributes: links each fund value to a TAS and fund categoryStandard product table. Confirm in eTRM.
FV_FACTS_ATTRIBUTESReporting attributes by USSGL accountStandard product table. Confirm in eTRM.
FV_FACTS_USSGL_ACCOUNTSUSSGL account list used for Treasury reportingStandard product table. Confirm in eTRM.
FV_TREASURY_CONFIRMATIONS_ALLTreasury confirmation of payment batchesStandard product table. Confirm in eTRM.
FV_INTERAGENCY_FUNDS_ALLInteragency transfer records for IPAC and similar transactionsStandard product table. Confirm in eTRM.
FV_YE_GROUPS, FV_YE_GROUP_SEQUENCES, FV_YE_SEQUENCE_ACCOUNTSYear-end closing definitionsStandard product tables. Confirm in eTRM.

How budget execution works

  1. An appropriation is entered at the top budget level. The transaction type decides which USSGL budgetary accounts are debited and credited.
  2. Funds are distributed down through apportionment, allotment, and any lower levels the agency defined. Each distribution is a document in FV_BE_TRX_HDRS with lines in FV_BE_TRX_DTLS.
  3. External budget tools can load the same transactions through FV_BE_INTERFACE. The import validates every record in a group and loads the group only when all records pass.
  4. Approved transactions raise accounting events. Create Accounting posts them to the budgetary accounts in the GL.
  5. Budgetary control in the GL then checks every requisition, order, and invoice against the allotted balance for its fund and budget segments.

In Release 11i, federal postings were driven by USSGL transaction codes entered on each transaction. In Release 12 that logic moved into Subledger Accounting rules, so the proprietary and budgetary lines are both derived when accounting is created.

9. Interfaces and open interface tables

Table O-13Open interfaces used by feeder systems
Interface tableImport programDestinationTypical DoD feeder
GL_INTERFACEJournal ImportGL_JE_BATCHES, GL_JE_HEADERS, GL_JE_LINESPayroll summaries, legacy conversions, external accruals
AP_INVOICES_INTERFACE, AP_INVOICE_LINES_INTERFACEPayables Open Interface ImportAP_INVOICES_ALL and childrenWAWF invoices and receiving reports, travel settlements
PO_HEADERS_INTERFACE, PO_LINES_INTERFACE, PO_DISTRIBUTIONS_INTERFACEImport Standard Purchase OrdersPO_HEADERS_ALL and childrenContract awards and modifications from contract writing systems
PO_REQUISITIONS_INTERFACE_ALLRequisition ImportPO_REQUISITION_HEADERS_ALL and childrenPurchase requests from external request systems
RCV_HEADERS_INTERFACE, RCV_TRANSACTIONS_INTERFACEReceiving Transaction ProcessorRCV_SHIPMENT_HEADERS, RCV_TRANSACTIONSAcceptance from WAWF
RA_INTERFACE_LINES_ALLAutoInvoiceRA_CUSTOMER_TRX_ALL and childrenReimbursable billings from Projects
FV_BE_INTERFACEBudget Execution Open Interface ImportFV_BE_TRX_HDRS, FV_BE_TRX_DTLSFunding documents from budget distribution systems
FA_MASS_ADDITIONSPost Mass AdditionsFA_ADDITIONS_B and childrenCapital assets from Payables and Projects
PA_TRANSACTION_INTERFACE_ALLTransaction ImportPA_EXPENDITURE_ITEMS_ALLLabor and usage from time systems

Every interface follows one pattern: load rows, run the import as a concurrent request, review the error report, correct, rerun. Rows left in an interface table at period end are unrecorded activity.

10. Security and controls

  • Access is granted by assigning responsibilities to users. A responsibility fixes the menu of functions, the operating units through MO: Security Profile, and the ledgers through a data access set.
  • Segregation of duties is tested at the function level: for example, holding both supplier entry and payment functions. Oracle Advanced Controls or a GRC tool applies the rule set.
  • Flexfield security rules limit which segment values a responsibility can use. Cross-validation rules block invalid account combinations at entry.
  • Standard WHO columns on every table record CREATED_BY, CREATION_DATE, LAST_UPDATED_BY, and LAST_UPDATE_DATE. They show the last change only.
  • Full history needs AuditTrail, which writes shadow tables for chosen columns, or database auditing.
  • Journal approval, purchase order approval, and invoice approval run on Oracle Workflow. The approval hierarchy and limits are configuration and belong in the control documentation.

11. Trial balance and universe of transactions queries

  1. Read GL_BALANCES for the ledger and period with ACTUAL_FLAG = A and the ledger currency. Join to GL_CODE_COMBINATIONS for the segments.
  2. Compute the ending balance as beginning balance plus period net, debits less credits.
  3. Group by fund segment, USSGL account segment, and the other segments that carry SFIS attributes. Join the fund to FV_FUND_PARAMETERS and FV_TREASURY_SYMBOLS to add the TAS.
  4. For the universe of transactions, read GL_JE_LINES joined to GL_JE_HEADERS for the same ledger and period with status posted. The sum by account must equal the period net in GL_BALANCES.
  5. Extend each line to its source through GL_IMPORT_REFERENCES and the XLA tables as described in section 5.
  6. List XLA_EVENTS that are not processed and interface rows that are not imported. Those are transactions that exist in the system and are not yet in the trial balance.

Sources

  1. Oracle E-Business Suite Concepts, Release 12.2: patching and management tools
  2. Oracle U.S. Federal Financials Implementation Guide, Release 12.2
  3. Oracle U.S. Federal Financials User Guide: Budget Execution Open Interface
  4. Oracle U.S. Federal Financials User Guide: Budget Execution Open Interface Tables
  5. Oracle E-Business Suite Technology blog: eTRM for Release 12.2
  6. DOT&E FY2015 annual report: GCSS-MC
  7. DCMA Manual 4301-05, Volume 8: Financial Systems and Interfaces (DAI modules and interfaces)

Educational reference. Standard product tables and public sources only. Not an official DoD, DFAS, SAP, or Oracle publication.