SAP expert series, part 7

SAP Interfaces in Depth: IDocs, BAPIs, Middleware, and DoD Interface Partners

Every interface technology an SAP ERP uses, the anatomy and status model of an IDoc, the standard message types and BAPIs behind financial and logistics postings, and what public sources show about the interfaces of each DoD SAP system.

9

Numbered tables

2 diagrams

1. Why interfaces decide auditability

A DoD SAP system does not originate most of its transactions. Contracts are written elsewhere. Invoices and receiving reports are captured elsewhere. Payroll and travel are computed elsewhere. Most payments are disbursed elsewhere. Each of those events reaches the ledger through an interface, and each interface is a place where a transaction can be lost, duplicated, changed, or delayed.

  • DoD IG reported in 2024 that DoD relied on more than 2,000 interfaces between systems, and that feeder systems add complexity because DoD implemented only portions of its commercial ERP systems.
  • The same report notes that no DoD Component used its ERP to write contracts, so procure-to-pay transactions leave the ERP and come back.
  • When the Marine Corps relied more on its ERP for entitlement, unmatched disbursements fell by tens of millions of dollars, according to that report.

2. Interface technologies

Table SI-1SAP interface technologies
TechnologyHow it worksSynchronousTypical useEvidence
IDoc over ALE or EDIA structured document is stored in the database, then processed by a function moduleNoInvoices, orders, master data, goods movements, accounting documentsEDIDC, EDID4, EDIDS
BAPIA released, stable function module that represents a business object methodYes, or wrapped in an IDocCreate orders, receipts, invoices, accounting documents from another systemReturn table of messages. Application log if written.
RFCRemote call of any enabled function module. Variants: synchronous, transactional, queued, backgroundDepends on the variantSystem-to-system calls, middleware adaptersSM58 for transactional RFC, SMQ1 and SMQ2 for queues
Web services and ODataSOAP or REST calls through the Internet Communication ManagerYesPortals, Fiori apps, modern integrationsWeb service logs, gateway error log
File interfaceA program reads or writes a flat file on the application server or a transfer directoryNoPayment files, trial balance extracts, legacy feedsProgram log, job log, file archive
Batch inputA recorded screen sequence is replayed with data from a fileNoConversions and low-volume loadsSM35 session log
Legacy System Migration WorkbenchA tool that maps a file to batch input, BAPI, or IDocNoData conversion at go-liveProject logs
SLT replicationDatabase triggers capture changes and a replication server applies them to a targetNear real timeAnalytics platformsReplication monitor LTRC
BW extractionDataSources deliver full or delta loadsNoData warehouse reportingRSA3, delta queue monitors
Change pointersMaster data changes are logged and turned into IDocsNoDistributing vendors, materials, cost centersBDCP2, BD21

3. Anatomy of an IDoc

Figure SI-1Inbound IDoc processing from the sending system to a posted document
1 : NsuccessTransport and translationIDoc interface in the ERPApplication posting and evidenceSending systemTravel, invoicing, payroll,contract writing,disbursingGlobal Exchange (GEX)Routes filesTranslates formatsCan validate the line ofaccountingMiddlewareSAP PI/PO or file adapterMaps to an IDoc or a proxycallPort and partnerprofilePort: file, tRFC, or XMLPartner profile names thesender, message type, andprocess codeMonitoringWE02, WE05, BD87Alerts and workflow tointerface ownersEDIDC controlDOCNUMMESTYP, IDOCTPSNDPRN, RCVPRNSTATUS, CREDATEDID4 dataDOCNUM, SEGNUMSEGNAM segment typeSDATA 1000 charactersParent and child segmentsEDIDS statusDOCNUM, LOGDAT,LOGTIM, COUNTRSTATUSSTAMID, STAMNO messageSTAPA1..4 variablesProcess codePoints to the inboundfunction moduleRuns immediately or bybackground job RBDAPP01Application functionSame checks as onlineentry: master data, period,authorization of theinterface user, fundsavailabilityStatus 53Document postedStatus record carries thedocument numberBKPF-AWTYP or XBLNR carriesthe referenceStatus 51Set when the applicationfunction failsNot postedError message storedFix data, then reprocess inBD87ReconciliationCount and amount sentversus posted, in error,and waiting
Table SI-2IDoc building blocks
ElementWhat it isWhere defined
Message typeThe business meaning of the message, for example an invoiceWE81
Basic typeThe structure: an ordered tree of segments with repeat rulesWE30
ExtensionCustomer segments added to a basic typeWE30
SegmentOne record of up to 1,000 characters with named fieldsWE31
Control recordOne per IDoc: sender, receiver, message type, basic type, status, datesEDIDC
Status recordsThe history of every processing stepEDIDS
Partner profilePer partner and message type: the process code inbound, the port and output mode outboundWE20, tables EDP21 and EDP13
PortThe technical channel: file, transactional RFC, XMLWE21
Process codeLinks the message type to the function module that posts itWE42 inbound, WE41 outbound
Logical systemThe name of a system in the distribution modelBD54, BD64
Table SI-3IDoc status codes
StatusDirectionMeaningWhat to do
01OutboundIDoc createdWait for dispatch
02OutboundError passing data to portCheck the port and file system or RFC destination
03OutboundData passed to portDispatched. Confirm receipt at the target.
12OutboundDispatch OKNone
26OutboundSyntax error in IDocFix the mapping or segment definition
29OutboundError in ALE serviceCheck the partner profile and distribution model
30OutboundReady for dispatchCollected. Run the dispatch job.
50InboundIDoc addedBeing created
51InboundApplication document not postedRead the message, correct master data or the IDoc, reprocess
52InboundApplication document not fully postedCheck what posted and what did not
53InboundApplication document postedNone. The status record names the document.
56InboundIDoc with errors addedPartner profile or control data problem
60InboundSyntax errorFix the sending map
62InboundPassed to applicationIn process
64InboundReady to be transferred to applicationWaiting for the processing job
65InboundError in ALE serviceCheck the inbound configuration
66InboundWaiting for predecessor IDocSerialization. Process the earlier IDoc first.
68InboundError, no further processingClosed by a person. Requires a documented reason.
69InboundIDoc was editedThe original is kept as a copy with status 70
70InboundOriginal of an edited IDocEvidence of what was changed

Status 51 and 64 at period end are unrecorded transactions. Status 68 and 69 are manual interventions and belong in the population an auditor tests.

4. Standard message types and BAPIs

Table SI-4Message types and basic types behind common DoD interfaces
Message typeBasic typeBusiness contentTypical direction
ORDERSORDERS05Purchase order or sales orderOut to vendors or contract systems, in as sales orders
ORDCHGORDERS05Order changeBoth
ORDRSPORDERS05Order confirmationIn
PREQCRPREQCR1xxPurchase requisition createIn from requirements systems
PORDCRPORDCR1xxPurchase order create through BAPIIn from contract writing systems
INVOICINVOIC02Vendor invoice or customer billIn from invoicing systems, out to customers
DESADVDELVRY03Shipping notification or deliveryBoth
WMMBXYWMMBID02Goods movements from an external systemIn from warehouse or acceptance systems
MBGMCRMBGMCR0xGoods movement create through BAPIIn
ACC_DOCUMENTACC_DOCUMENT0xAccounting document through the accounting BAPIIn from payroll, travel, and legacy feeders
FIDCC1, FIDCC2FIDCCP02Complete FI documents between systemsBetween SAP systems
PAYEXT, REMADVPEXR2002Payment order and remittance adviceOut to disbursing or banks
FINSTAFINSTA01Bank or account statementIn
MATMASMATMAS05Material masterFrom the master data hub
CREMASCREMAS0xVendor masterFrom the master data hub
DEBMASDEBMAS0xCustomer masterFrom the master data hub
COSMASCOSMAS01Cost center masterBetween finance and logistics ERPs
GLMASTGLMAST01G/L account masterBetween ERPs
INTERNAL_ORDERINTERNAL_ORDER01Internal order masterBetween ERPs
PROJECTPROJECT0xProject and WBS masterBetween ERPs
HRMD_AHRMD_A0xPersonnel master dataFrom personnel systems
EXCHANGE_RATEEXCHANGE_RATE01Exchange ratesIn

These are SAP-delivered message types. A suffix shown as x varies by release. DoD programs also define custom message types and extend basic types with custom segments for line of accounting data. Those definitions are not public.

Table SI-5BAPIs and function modules behind financial and logistics postings
FunctionCreates or changesTables written
BAPI_ACC_DOCUMENT_POSTAccounting document with any mix of G/L, vendor, customer, and tax linesBKPF, BSEG, FM and CO line items. AWTYP is supplied by the caller.
BAPI_ACC_DOCUMENT_REV_POSTReversal of such a documentNew reversing document
BAPI_PR_CREATE, BAPI_PR_CHANGEPurchase requisitionEBAN, EBKN, FMIOI
BAPI_PO_CREATE1, BAPI_PO_CHANGEPurchase orderEKKO, EKPO, EKKN, EKET, FMIOI
BAPI_GOODSMVT_CREATEGoods movementMKPF, MSEG, EKBE, BKPF, BSEG
BAPI_ENTRYSHEET_CREATEService entry sheetESSR, ESLL
BAPI_INCOMINGINVOICE_CREATE, BAPI_INCOMINGINVOICE_PARKLogistics invoiceRBKP, RSEG, EKBE, BKPF, BSEG
BAPI_SALESORDER_CREATEFROMDAT2Sales orderVBAK, VBAP, VBKD
BAPI_BILLINGDOC_CREATEMULTIPLEBilling documentsVBRK, VBRP, BKPF, BSEG
BAPI_FIXEDASSET_CREATE1, BAPI_FIXEDASSET_CHANGEAsset masterANLA, ANLZ, ANLB
BAPI_COSTCENTER_CREATEMULTIPLECost centersCSKS, CSKT
BAPI_INTERNALORDER_CREATEInternal orderAUFK
BAPI_BUS2054_CREATE_MULTIWBS elementsPRPS, PRHI
BAPI_ALM_ORDER_MAINTAINMaintenance orderAUFK, AFIH, AFVC, RESB
BAPI_ALM_NOTIF_CREATEMaintenance notificationQMEL, QMFE
BAPI_0050_CREATEBudget entry document in the Budget Control SystemFMBH, FMBL, FMBDT
BAPI_TRANSACTION_COMMITCommits the work of preceding BAPI callsNone of its own. Without it nothing is saved.

BAPI names are standard SAP. A posting made through the accounting BAPI carries the reference the sender supplied, which is why the interface design decides whether a ledger line can be traced to a feeder record.

5. Middleware and DoD exchange standards

Table SI-6What sits between the feeder and the ERP
LayerRoleNotes
Global Exchange (GEX)DoD file routing and translation serviceDCMA lists trial balance and other files to and from its accounting system as moving through GEX. The SLOA validation service runs as a GEX component.
SLOA validationChecks each line of accounting element against SFIS rules and value listsReturns results in the acknowledgment and feeds a reporting data mart
Procurement Data Standard and Purchase Request Data StandardStandard structures for contract awards and purchase requestsUsed between contract writing systems and accounting systems
Defense Logistics Management StandardsStandard logistics transactions for requisitions, shipment status, receipts, and interfund billingUsed between logistics ERPs, DLA, and financial systems
SAP PI/POMaps external formats to IDocs or proxies and routes themMessage monitoring holds the technical delivery evidence
Master data hubCentral maintenance and distribution of materials, vendors, customers, and organizational dataThe Army Enterprise Systems Integration Program provides this for GFEBS, GCSS-Army, and LMP
Translation service for legacy systemsConverts non-SFIS data elements to SFISAllowed by DoD FMR Volume 1, Chapter 4 to reduce the number of interfaces

6. What public sources show about each DoD SAP system

Figure SI-2GFEBS interface map built from public transaction names and procedures
Inbound sourcesGFEBS business process areasOutbound targetsBudget and fundingApproved funding programretractionFund control moduleContracting andrequirementsContract writing systemsLogistics ERPs for stockprocurementInvoicing andacceptanceInvoices and receivingreports through GEXPay and travelCivilian payrollTravel systemsTransportation paymentTreasury and cashIPACCash accountability dataVendor registration dataFunds ManagementBudget, funds control,status of fundsSpending ChainRequisitions, orders, receipts, invoices, payments, fundscommitmentsCost Management andReimbursablesCost objects, labor, salesorders, billingFinancials and PP&EGeneral ledger, cashbalancing, assets, realpropertyDDRSSFIS and DDRS trial balanceextractsDisbursingPayment filesVendor EFT validationTrading partnersOutbound MIPR, DD Form 448SF 1080 and 1081 filesTreasury reportsReceivables reportForm 1099 dataTreasury offset fileAnalyticsSAP BIAdvana replication

Each box reflects an interface or extract that is named in the public GFEBS role-to-transaction mapping or desktop procedures. It is not the program's interface control inventory.

Table SI-7GFEBS interfaces evidenced in public material
Partner or outputDirectionEvidenceBusiness content
DDRSOutCustom transactions for an SFIS trial balance extract and two DDRS trial balance extractsPeriod trial balance by TAS, account, and attributes
Defense Cash Accountability SystemOut and inCustom extract and identification transactions, SF 1080 and SF 1081 extracts under cash balancingCollections, transfers, cash reconciliation
Civilian payroll systemInCustom payroll error transaction under period-end reportsPayroll expense and liabilities
Defense Travel SystemInCustom travel interface error transaction under reimbursablesTravel obligations and vouchers
Integrated Automated Travel SystemIn and outFunds commitment document type for travel, vendor record for the travel systemTravel settlement payments
Transportation payment systemInFunds commitment document type for transportationTransportation charges
Contract writing systemOut and inRequisition document type for the standard procurement system, contract number and line item fields on the purchase orderPurchase requests out, awards in
Other federal and DoD buyers and sellersOutCustom transaction that prints DD Form 448Military Interdepartmental Purchase Requests
DisbursingOutPayment run step that sends payments to the deployable disbursing system, payment list for the federal payment runPayment files
Electronic funds transfer vendor fileInVendor validation against the corporate EFT filePayee banking data
Treasury IPACBothFederal IPAC transaction, IPAC payment method on sales ordersIntragovernmental collections and payments
Treasury Offset ProgramOut and inOffset file and update programsDelinquent debt referral
Internal Revenue Service reportingOutCustom Form 1099 report and withholding loadVendor income reporting
Fund control moduleIn and outCustom fund control module transactions, legacy commitment document typeLegacy commitments
Budget formulationInCustom retraction transaction, steps to upload data to SAP BIApproved funding program
Entitlement systemInCustom entitlement system reportEntitlement and payment status
GCSS-ArmyNot statedDoD IG lists GCSS-Army as executing standard stock procurementLogistics obligations and expenses
Corps of Engineers Financial Management SystemNoneDoD IG reported no interface sending construction costs to GFEBSConstruction in progress recorded by other means
AdvanaOutArmy article on replication pipelinesTransaction-level replication

Evidence comes from a public role-to-transaction mapping, the Army Financial Management School desktop procedures of 2013, DoD IG reports, and an Army news article. System names behind custom transaction abbreviations are this page's reading of those abbreviations.

Table SI-8Interface facts for the other DoD SAP systems
SystemWhat public sources state
GCSS-ArmyReplaced the tactical supply, property book, and maintenance systems and two tactical financial systems. DOT&E states that the Army Enterprise Systems Integration Program provides hub services, centralized master data, and cross-functional business intelligence for the Army ERPs. Tactical users connect by satellite terminals. Replicates to Advana with GFEBS.
LMPIn July 2025 the Army released an interface between the Army Contract Writing System and LMP for working capital fund purchases: awards and financial data flow to LMP, purchase request updates synchronize in both directions, and users enter data once in the contract system.
Navy ERPDoD IG describes it as a mixed logistics and financial system that prepares Navy General Fund and Working Capital Fund statements. The Navy had not implemented all 70 SFIS data elements as of 2017 and was working on the last nine.
DLA EBSDoD IG reported that EBS could not generate trial balances for direct DDRS reporting. DFAS downloaded EBS data monthly and used manual uploads and journal vouchers. EBS handled about 114,000 requisitions and 11,200 contract actions a day.

7. Interface controls and reconciliation

Table SI-9Controls every interface needs and the SAP evidence for each
ControlQuestion it answersSAP evidence
CompletenessDid everything sent arrive?Count and amount by batch from the sender compared with IDocs created in EDIDC
AccuracyDid it post with the same values?IDoc data in EDID4 compared with the posted document
ValidityWas the sender authorized?Partner profile, RFC destination, interface user and its role
TimelinessWas it posted in the right period?IDoc creation date against document posting date
Error handlingAre failures worked to closure?Aging of status 51 and 64. Reprocessing history in EDIDS.
No duplicatesCould the same record post twice?Duplicate check on reference number, for example vendor invoice number in XBLNR
Restricted changeCan an IDoc be edited before posting?Status 69 and 70. Authorization for WE19 and IDoc editing in production.
TraceabilityCan a ledger line be tied to a feeder record?BKPF-XBLNR, BKTXT, AWKEY, and custom reference fields
RetentionAre messages kept long enough for audit?IDoc archiving and deletion schedule
  1. Get the feeder system population for the period: count and amount by transaction type.
  2. Select EDIDC by message type, partner, and creation date. Count by status.
  3. For status 53, read the application document number from the status record and confirm it exists.
  4. Sum the amounts on the posted documents and compare with the feeder total.
  5. List status 51, 56, 60, 64, and 66. These are received and not posted.
  6. List status 68, 69, and 70. These were handled by a person. Ask for the reason and approval.
  7. List documents posted by the interface user that have no IDoc. These came through a different path.
  8. Compare what the feeder sent with what the ERP received. Records missing on the ERP side never arrived.

Sources

  1. DODIG-2024-047: DoD Plans to Address Longstanding Issues with Outdated Financial Management Systems
  2. GFEBS role to transaction code mapping (public copy)
  3. U.S. Army Financial Management School: GFEBS Desktop SOP (public copy)
  4. SFIS SLOA Validation Service Functional Description Document v1.2.4
  5. DCMA Manual 4301-05, Volume 8: Financial Systems and Interfaces
  6. DOT&E FY2012 annual report: GCSS-Army
  7. Army.mil: Army Contract Writing System interface to LMP (July 2025)
  8. DODIG-2017-068: Strategic Plan Needed for Navy Financial Management Systems
  9. DODIG-2013-057: DLA Enterprise Business System and the USSGL
  10. DODIG-2020-035: Followup audit of GFEBS Acquire-to-Retire and Budget-to-Report

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