Oracle Fusion Supplier Onboarding Integration — Key Patterns
Primary integration surface: Oracle Supplier Portal REST APIs under the /fscmRestApi/resources/11.13.18.05/suppliers family. The core endpoints you’ll work with:
POST /suppliers — creates the supplier header (party, org profile)
POST /suppliers/{supplierId}/contacts — adds contact persons
POST /suppliers/{supplierId}/bankAccounts — attaches payment instruments
GET /suppliers/{supplierId}/registrations — polls registration/approval status
All require OAuth 2.0 (3-legged or client credentials depending on your middleware trust model). Verify exact endpoint path structure in your version — minor revisions ship frequently in Fusion quarterly updates.
Data Mapping Strategy
Supplier header maps relatively cleanly: your portal’s legal name → supplierName, country → countryOfOrigin, DUNS/tax ID → taxRegistrationNumber. The friction appears in:
Multi-contact handling: The contacts sub-resource accepts an array, but each contact needs partyId resolution if the person already exists in the Trading Community Architecture (TCA). Pre-call GET /contacts?q=emailAddress={email} to check for duplicates before posting. Sending duplicate emails without deduplication causes silent merge failures in some tenants (verify behavior in your version).
Country-specific banking: The bankAccounts payload requires countryCode-specific fields. IBAN-based countries (EU, UK) use ibanNumber; US/CA expect bankAccountNumber + routingNumber. Build a routing table in your middleware that switches payload shape based on the supplier’s primary country. Don’t attempt to post both IBAN and account number fields simultaneously — Fusion’s validation rejects hybrid payloads.
Tax registration numbers: Use the taxRegNumbers child collection. Each record needs taxRegCountryCode + taxRegistrationNumber + taxTypeCode. The taxTypeCode lookup values are tenant-configured, so pull the valid set via GET /taxRegTypes before mapping.
Workflow Status Synchronization
Avoid polling on short intervals — use Fusion’s Business Events (Oracle Integration Cloud/OIC) or FBDI callbacks rather than REST polling. Configure a Business Event on oracle.apps.prc.pos.supplier.registration to push state changes to your portal via webhook or OIC integration flow. This eliminates the race condition between portal display and actual Fusion approval state.
If OIC isn’t in scope, implement a scheduled GET /suppliers/{id}/registrations poll at a 15–30 minute cadence and map registrationStatus values (PENDING_APPROVAL, APPROVED, REJECTED) to your portal states.
Error Handling Pattern
REST failures return structured JSON with o:errorDetails[].message. Capture these at the middleware layer:
{
"o:errorDetails": [
{ "o:errorCode": "PRC_POS_SUP_REG_DUP_TAX_REG", "message": "Duplicate tax registration" }
]
}
Route error codes to differentiated notifications — supplier-correctable errors (duplicate tax ID, invalid bank details) should bounce back to the portal UX with actionable messaging; system errors (Fusion service unavailable, auth failure) should route to your integration ops queue, not the supplier.
Version Compatibility
REST API behavior on supplier banking and TCA deduplication changed meaningfully between 23B and 24A releases — validate your payload contracts against your tenant’s current API catalog via /fscmRestApi/resources introspection before hardcoding field names.
This draft is based on general Oracle Fusion Cloud knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.