For partners that build or integrate commercially available applications and service solutions with the Oracle Cloud Platform
For partners that provide implementation or managed services around Oracle Cloud Applications
Suppliers can be created and updated using the suppliers REST API.
To get or update the payment attributes of suppliers, their addresses or sites, you need to use the external payees REST APIs.
https://<hostname>:<port>/fscmRestApi/resources/latest/paymentsExternalPayees
The content type of request and response is in the json format
Following table explains each of the parameters which can be used as part of the REST API call which are relevant to suppliers payment attributes.
Sample payload is provided as part of this post.
Body Parameters |
Data Type |
Description |
PayeePartyIdentifier |
Integer |
Corresponds to the SupplierPartyId retrieved using Suppliers GET operation. Required to retrieve PayeeId corresponding to supplier payment attributes. |
PayeePartySiteIdentifier |
Integer |
Corresponds to the SupplierPartySiteID retrieved using Supplier Address GET operation. Required to retrieve PayeeId corresponding to supplier addresses payment attributes. |
SupplierSiteIdentifier |
Integer |
Identifier of a supplier site. Corresponds to SiteId retrieved using Supplier Site GET operation. Required to retrieve PayeeId corresponding to supplier sites payment attributes. |
PayeeId |
Integer |
Application-generated identifier of the external payee. Can be retrieved using the External Payee GET operation. Useful for PATCH operation. Required to PATCH payment attributes. |
DeliveryChannelCode DeliveryChannelName |
String |
Code/Name of the delivery channel for an external payee. |
SupplierNumber |
String |
Application-generated party number in Procurement. |
SupplierSiteCode |
String |
Code of a supplier site. |
SettlementPriority |
String |
Priority with which the financial institution or payment system settles payments for an external payee. |
PaymentTextMessageOne PaymentTextMessageTwo PaymentTextMessageThree |
String |
First, second and third text payment message to an external payee. |
ServiceLevelCode ServiceLevelName |
String |
Code/Name of the service level for an external payee. |
PayEachDocumentAloneOption |
String |
Indicates whether documents payable for an external payee are prevented from being grouped with other like documents payable for payment. |
BankChargeBearerCode BankChargeBearerName |
String |
Code of an external payee who is responsible for paying regular or express bank charges, such as Payee or Payer. Values are from the IBY_BANK_CHARGE_BEARER lookup. Name of an external payee who is responsible for paying regular or express bank charges, such as Payee or Payer. |
PaymentReasonCode PaymentReasonName |
String |
Code/Name of the reason for paying an external payee. |
PaymentReasonComments |
String |
Text field available for entering information about an external payee payment. |
DeliveryMethod
|
String |
Delivery method that is set on the external payee level. If the Override with Payee Delivery Method Preference option on the payment process profile is turned off, the setting is ignored. Values from the IBY_DELIVERY_METHODS lookup include EMAIL, FAX, and PRINTED. |
|
String |
Email address at which an external payee receives remittance advice. |
Fax |
String |
Fax number at which an external payee receives remittance advice. |
DefaultPaymentMethodCode DefaultPaymentMethodName |
String |
Code/Name of the default payment method for an external payee. |
Step 1: Retrieve PayeeId for supplier, address or site level payment records
PayeeId: This is a unique identifier for the set of payment attributes. It is auto generated individually when a supplier, address or site record is created. You need to use this value to identify a payment record to be updated. PayeeId can be retrieved using the external payee GET operation as shown below.
Note: First you need to run the supplier GET operation to get SupplierId and SupplierPartyId.
SupplierId will be used to retrieve supplier site and supplier address PayeeId.
SupplierPartyId will be used to get PayeeId for Supplier payment record.
https://<hostname>:<port>/fscmRestApi/resources/latest/suppliers?q=Supplier LIKE <Supplier Name>
Run the external payee GET operation to get the PayeeId for a supplier payment record
https://<hostname>:<port>/fscmRestApi/resources/latest/paymentsExternalPayees?finder=ExternalPayeeSearch;Intent=Supplier,PayeePartyIdentifier=<SupplierPartyId>
Run the supplier address GET operation to get SupplierAddressId
https://<hostname>:<port>/fscmRestApi/resources/latest/suppliers/<SupplierId>/child/addresses
Run the external payee GET operation to get the PayeeId for a supplier address payment record
https://<hostname>:<port>/fscmRestApi/resources/latest/paymentsExternalPayees?
finder=ExternalPayeeSearch;Intent=Supplier,PayeePartyIdentifier=<SupplierPartyId>&q=PayeePartySiteIdentifier=<SupplierAddressId>
Run the supplier site GET operation to get SupplierSiteId
https://<hostname>:<port>/fscmRestApi/resources/latest/suppliers/<SupplierId>/child/sites
Run the external payee GET operation to get the PayeeId for a supplier site payment record
https://<hostname>:<port>/fscmRestApi/resources/latest/paymentsExternalPayees?
finder=ExternalPayeeSearch;Intent=Supplier,PayeePartyIdentifier=<SupplierPartyId>,SupplierSiteIdentifier=<SupplierSiteId>
Step 2: Update the payment record corresponding to the supplier, address or site using the PATCH operation
PATCH operation URL: https://<hostname>:<port>/fscmRestApi/resources/latest/paymentsExternalPayees/<PayeeId>
Sample PATCH Payload
{
"PaymentReasonName": "143",
"PaymentReasonCode": "BE_143",
"SettlementPriority": "NORMAL",
"DeliveryChannelCode": "CH_DTACHECK",
"BankInstructionCodeOne": "NL_N",
"BankInstructionCodeTwo": "NL_2",
"ServiceLevelCode": "SDVA",
"BankChargeBearerCode": "SHA"
"DeliveryMethod": "EMAIL",
"Email":"alex@hotmail.com"
}
Points to consider:
1. Important to identify the attributes used in these payloads. As already detailed above:
2. As detailed above, a payee row is automatically created for suppliers, supplier addresses or supplier sites, whenever they are created. This implies that you can directly use PATCH operation to update payment attributes for suppliers, their addresses or sites.
3. If a user’s access to patch supplier site payment attributes is denied, you need to review the procurement BU access and maintain supplier site privilege for that user.
References:
Suppliers REST document: Suppliers REST API
External Payees REST document: External Payees REST API
External Payee functional and data security document: Doc ID 2540702.1
Submit your questions for the SCM – Supplier Onboarding: Deep Dive and Best Practices session to have them answered during the live event. Post your questions by posting a new comment to this topic.
Please submit your questions by Wednesday, 20 November 2019.
we would like to setup a rule where supplier creation/user creation errors notification to be sent only to supplier Data Management team orgroup of users Can you let us know whether these error notification rule can be setup/sent only to specific group/users.
The documentation says "If an indirect child resource is provided (Example: Employees.Managers), the missing children will be processed implicitly. "
So, if my parameters say 'fields' : 'Alias,AlternateName,Supplier,SupplierId,SupplierNumber,sites.PaymentTerms' then shouldn't sites.PaymentTerms be valid for Suppliers? However, when I try to use any variation of this (with . or ; or :) it fails with 'URL request parameter fields with value Alias,AlternateName,Supplier,SupplierId,SupplierNumber,sites.PaymentTerms is not valid.'
Is my notation incorrect, or can I not access child items in such a manner for Supplier?
Hello Everyone,
I was doing some research to determine what Oracle supports in terms of Faxing Software. Our organization is utilizing RightFax and we trying to migrate our Enterprise over to using strictly RightFax. I noticed that Oracle doesn't support Rightfax and only uses CUPS for Printing and Faxing capabilities. I wanted to reach out to the community to see if anyone was using software other than CUPS or even RightFax and what the experience has been. For us our Supply Chain team has a requirement to be able to Fax some suppliers that still require Fax.
Thank you,
John Binder
Hopefully I chose the right place to put this question. New to the community and still learning.
Oracle Doc for reference: https://docs.oracle.com/cd/E23943_01/bi.1111/e22255/print_servers.htm#BIPAD510
Hi,
Is there a documentation available on how to configure Broad-Based Black Economic Empowerment (B-BBEE) for South Africa and what Oracle Cloud version is this available?
Topics Requested:
-Documentation on how to configure B-BBEE
-How to enable (PPPFA) Scores Report, BBBEE Rating etc)
-What Oracle CLoud version is this available ?
Is there a method of updating or entering values for Payment Attributes when creating a Supplier via REST API? Documentation does not have anything for that section at all. (documentation in question).
Creating a supplier via REST does not allow Status value to be set. If Status is listed in payload, regardless of value, request fails with status code 400
Example from documentation with added Status line (https://docs.oracle.com/en/cloud/saas/procurement/19d/fapra/op-suppliers-post.html):
{
"Supplier" : "Tall Manufacturing",
"TaxOrganizationType" : "Corporation",
"SupplierType" : "Services",
"BusinessRelationship" : "Prospective",
"DUNSNumber" : "221134568",
"OneTimeSupplierFlag" : false,
"TaxpayerCountry" : "United States",
"TaxpayerId" : "98-03376373",
"Status" : "ACTIVE" # IF THIS LINE IS PRESENT, REST POST FAILS with error: "Attribute Status in view object SupplierVO cannot be set."
}
Use Case:
Capturing supplier bank account information is important for on-boarding suppliers through supplier registration flows. By default, Country and Account Number are required fields. You would like to make additional attributes required during supplier registration. For example, your company policy requires that supplier bank accounts should always include account name information.
How-to:
Follow these steps to use page composer and make Account Name a required field for supplier registration flows.
4. Switch from the default Design View to Source View
5. Click on Create button and click Edit on Confirm Shared Component Edit dialog
6. In the components hierarchy panel (on the right in the screenshot above), locate the first popup component under panelGroupLayout: default. This is the component for the Create Bank Account dialog. The second popup component right below is for the Edit Bank Account dialog. Select the first popup component and right click on Edit.
7. On the Component Properties: popup dialog, change the Content Delivery to immediate. Click OK.
8. You can now edit properties of any of these UI components belonging to the create bank account popup. Since the use case is to make the Account Name required, locate inputText: Account Name in the list of the UI components and click to edit the property of the component.
9. Make the field Required and click OK.
10. Since the configuration on create bank account popup does not reflect on the edit bank account popup, you need to perform same steps for the edit bank account dialog as well. Locate edit popup using details in step 6 above and perform steps 7 to 9 for it.
11. Bank Account Name is then required for both Create and Edit Bank Account dialogs.
12. Publish the sand box changes.
I am using 19C and trying to do the same as is on the documentation :
POST /fscmRestApi/resources/latest/suppliers
{
"Supplier" : "Tall Manufacturing",
"TaxOrganizationType" : "Corporation",
"SupplierType" : "Services",
"BusinessRelationship" : "Prospective",
"DUNSNumber" : "221134568",
"OneTimeSupplierFlag" : false,
"TaxpayerCountry" : "United States",
"TaxpayerId" : "98-03376373"
}
I can do the GET, could be that I am missing any role?
I added all the supplier roles and I am able to create a supplier on the app.
Thank you,
Carlos