Overview
The Approval chains Import process reads files from ./Incoming/ApprovalChains/
in the SFTP. These files will be moved to the archive folder located at ./Incoming/Archive/ApprovalChains/
before being processed in alphanumeric order.
Keys & Validations
Approval Chain Name
and Approval Chain Type
are the keys to update an existing approval chain. Both the keys i.e. Approval Chain Name
and Approval Chain Type
are needed in order to perform an update. You cannot update the type of an existing approval chain.
Since order approval chains have been introduced in R21, it is not possible to create Orders and Requisitions approval chains with the same name. Loading an approval name for orders with the same name of an existing one for requisitions through the bulk loader will cause the Approval Chain Type to change from "requisition" to "order" (it's also true viceversa).
Currently supported conditions and operations:
- Accounts (equals, contains)
- Commodity (equals, contains, not contains)
- Item (equals, contains, not contains)
- Requester (equals, contains, not contains)
Approval chains created through the loader follow the same validations as those created through the UI.
Note
Priority cannot be 50 because 50 is the management hierarchy. This means that a chain that's less than 50 fires before management hierarchy while a chain that's greater than 50 fires after management hierarchy.
Column Name |
Description |
Req'd |
Unique |
Type |
Allowable Values |
Approval Chain Name* |
Unique Approval Chain Name |
TRUE |
FALSE |
string(255) |
any |
Status* |
Active or Inactive. Passing in Active creates/updates an Approval Chain and passing in Inactive deletes an existing Approval Chain. |
TRUE |
FALSE |
|
any |
Approval Chain Type* |
This description is now: "Some possible values: requisition requisition-submission-blocking requisition-approval-blocking requisition-hierarchy expense invoice invoice-submission-blocking invoice-submission-warning invoice-approval-blocking invoice-hierarchy contract-hierarchy contract contract-submission-blocking contract-submission-warning easy-form-user=> Some possible values: requisition requisition-submission-blocking requisition-approval-blocking requisition-hierarchy expense invoice invoice-submission-blocking invoice-submission-warning invoice-approval-blocking invoice-hierarchy contract-hierarchy contract contract-submission-blocking contract-submission-warning easy-form-user contract-round" |
TRUE |
FALSE |
string(255) |
Requisition, Invoice, Expense, invoice-submission-blocking and requisition-submission-blocking |
Priority* |
Order in which to evaluate approval chain. Number from 1 to 49 and 51 to 99 |
TRUE |
FALSE |
integer(11) |
any |
Skip Approvers |
Skip Approvers prior to self if on approval chain |
FALSE |
FALSE |
boolean |
Yes/No, True/False, Y/N, T/F |
Skip Management Hierarchy |
Skip Management Hierarchy if this chain matches |
FALSE |
FALSE |
boolean |
Yes/No, True/False, Y/N, T/F |
Skip Further Approvers |
Skip Further Approvers if this chain matches |
FALSE |
FALSE |
boolean |
Yes/No |
Auto Approve Self |
Auto Approve Self if added to approval chain |
FALSE |
FALSE |
boolean |
Yes/No |
Dedupe OBO User and Auto Approve |
Override On Behalf Of user, keep the approval chain approver and auto approve the approval |
FALSE |
FALSE |
boolean |
Yes/No |
Always Evaluate |
Always Evaluate |
FALSE |
FALSE |
boolean |
Yes/No |
Parallel |
Parallel approvals supported |
FALSE |
FALSE |
|
|
Total Comparator |
The total comparator |
FALSE |
FALSE |
string(255) |
any |
Minimum Total Amount |
Minimum allowed approval total |
FALSE |
FALSE |
decimal(32,4) |
any |
Maximum Total Amount |
Maximum allowed approval total |
FALSE |
FALSE |
decimal(32,4) |
any |
Total Currency |
Currency Code for total currency |
FALSE |
FALSE |
string(6) |
any |
Minimum Approval Limit |
Minimum Approval Limit |
FALSE |
FALSE |
decimal(32,4) |
any |
Maximum Approval Limit Amount |
Maximum Approval Limit Amount |
FALSE |
FALSE |
decimal(32,4) |
any |
Maximum Approval Limit Currency |
Maximum Approval Limit Currency |
FALSE |
FALSE |
string(6) |
Any ISO 4217 three letter currency code |
Maximum Approval Limit |
Maximum Approval Limit |
FALSE |
FALSE |
decimal(32,4) |
any |
Operator |
The conditions operator |
FALSE |
FALSE |
string(255) |
any |
Condition 1* |
Condition 1 - Colon (:) separated list of val:field:condition |
TRUE |
FALSE |
text |
any |
Condition 2 |
Condition 2 |
FALSE |
FALSE |
text |
any |
Condition 3 |
Condition 3 |
FALSE |
FALSE |
text |
any |
Condition 4 |
Condition 4 |
FALSE |
FALSE |
text |
any |
Condition 5 |
Condition 5 |
FALSE |
FALSE |
text |
any |
Condition 6 |
Condition 6 |
FALSE |
FALSE |
text |
any |
Description |
Set custom notification text for the condition(s) you have set above. If you leave this field blank, the system will use the name of the configuration you set as the default text. |
FALSE |
FALSE |
|
|
Approver 1 |
Approver 1 - Colon (:) separated value consisting of user_login, amount, and currency_code. Example: user@login:250.00:usd |
FALSE |
FALSE |
string |
any |
Approver 2 |
Approver 2 |
FALSE |
FALSE |
text |
any |
Approver 3 |
Approver 3 |
FALSE |
FALSE |
text |
any |
Approver 4 |
Approver 4 |
FALSE |
FALSE |
text |
any |
Approver 5 |
Approver 5 |
FALSE |
FALSE |
text |
any |
Approver 6 |
Approver 6 |
FALSE |
FALSE |
text |
any |
Approver 7 |
Approver 7 |
FALSE |
FALSE |
text |
any |
Approver 8 |
Approver 8 |
FALSE |
FALSE |
text |
any |
Approver 9 |
Approver 9 |
FALSE |
FALSE |
text |
any |
Approver 10 |
Approver 10 |
FALSE |
FALSE |
text |
any |
Watcher 1 |
Watcher 1 - User Login to add as watcher |
FALSE |
FALSE |
string(255) |
any |
Watcher 2 |
Watcher 2 |
FALSE |
FALSE |
string(255) |
any |
Watcher 3 |
Watcher 3 |
FALSE |
FALSE |
string(255) |
any |
Watcher 4 |
Watcher 4 |
FALSE |
FALSE |
string(255) |
any |
Watcher 5 |
Watcher 5 |
FALSE |
FALSE |
string(255) |
any |
Approver Params |
Semi-colon (;) separated list of parameters. Each parameter begins with an identifier than any needed values separated by a colon : Example identifiers are first_approver, middle_approvers and last_approver. sample values for these are skip, watcher, or approver. Other examples are escalation:User:<UserLogin>, escalation:ApprovalGroup:<GroupName> where the bracketed values should be replaced by the actual Login or Name. |
FALSE |
FALSE |
text |
any |
Validation Message |
Approval Chain Message / Description |
FALSE |
FALSE |
string(255) |
any |
Signatory 1 |
Signatory 1 - User Login to as signatory |
FALSE |
FALSE |
string(255) |
|
Signatory 2 |
Signatory 2 |
FALSE |
FALSE |
string(255) |
|
Signatory 3 |
Signatory 3 |
FALSE |
FALSE |
string(255) |
|
Signatory 4 |
Signatory 4 |
FALSE |
FALSE |
string(255) |
|
Signatory 5 |
Signatory 5 |
FALSE |
FALSE |
string(255) |
|
Applies to Supplier |
Applies to Supplier |
FALSE |
FALSE |
|
any |