Denying Coding Rules
Go to: ExFlow Setup - Overview --> ExFlow Denying Coding Rules
"Denying Coding Rules" can be used to restrict approvers from creating invalid coding in ExFlow Web.
Denying Coding Rules are used to prohibit the approver in ExFlow Web from adding or approve values in certain ways. E.g. to block accounts 5910..5999 in combination with an empty Department value.
| General | |
|---|---|
| ID: | ID numbers are assigned to the coding rule in the order they are created. This has no effect on prioritization |
| Name: | Descriptive name for the rule |
| Active: | If the rule is active or not |
| Rule for: | Add All for all document types or choose from list if this Rule should activate only for Quote, Invoice, Credit Memo, or Order |
| From Amount: | Filter on total amount on the document |
| To Amount: | Filter on total amount on the document |
| From Line Amount: | Specifies if the coding rule should only be applied to document lines in a specific line amount range |
| To Line Amount: | Specifies if the coding rule should only be applied to document lines in a specific line amount range |
| Validation Message: | Add an optional description if needed |
| Applies to Approval Groups: | Specifies if the coding rule only applies to specific Approval Groups |
| Final Approver Only: | Specifies if the coding rule should only be applied to the final approver in the approval flow |

Examples
Use Denying Coding Rules when users should still be able to code, but certain combinations must never be approved.
Examples of setup flow
- Create a new rule and give it a clear name, for example: Block empty Department for 59xx.
- Set Rule for (for example Invoice only, or All).
- Set amount limits if the rule should only apply above a threshold.
- Add a clear Validation Message so the approver knows what to correct.
- Activate the rule and test it in ExFlow Web with a sample document.
Tips
- Keep rule names business-oriented so they are easy to maintain.
- Always add a helpful validation message; it reduces support questions.
- Start with a few high-impact rules first, then add more based on recurring coding errors.
Example 1: Do not allow empty value in a required column code
Use case: Department must always be set on expense accounts.
| Setup | Value |
|---|---|
| Rule Name | Block empty Department on 5910..5999 |
| Rule for | Invoice (or All, if needed) |
| Condition 1 | G/L Account = 5910..5999 |
| Condition 2 | Department = empty |
| Validation Message | Department is mandatory for accounts 5910..5999. |
Result: The approver cannot approve coding where the Department column is blank for those accounts.
Example 2: Require Project Task when Project is entered
Use case: Prevent incomplete project coding.
| Setup | Value |
|---|---|
| Rule Name | Project requires Project Task |
| Condition 1 | Project is not empty |
| Condition 2 | Project Task is empty |
| Validation Message | Project Task is required when Project is used. |
Result: If the approver adds a Project but leaves Project Task blank, approval is blocked until Project Task is filled.
Example 3: Do not book on a predefined account
Use case: A predefined account is used only as a temporary suggestion, but should never be posted without recoding.
| Setup | Value |
|---|---|
| Rule Name | Block posting on predefined account 2999 |
| Rule for | Invoice and Credit Memo |
| Condition | G/L Account = 2999 |
| Validation Message | Account 2999 is a temporary/predefined account and must be replaced before approval. |
| Optional | Enable Final Approver Only if only final approval should enforce this block. |
Result: Documents coded with account 2999 cannot be approved until the line is recoded.
Example 4: Force Cost Center on high-value lines
Use case: Extra control only for large lines.
| Setup | Value |
|---|---|
| Rule Name | High-value lines require Cost Center |
| From Line Amount | 10000 |
| Condition 1 | Cost Center = empty |
| Validation Message | Cost Center is required for line amounts above 10,000. |
Result: Small lines are unaffected, while high-value lines must contain Cost Center.
Example 5: Block empty coding on all line types
Use case: Every document line — regardless of line type — must have a value. Blank coding should never be approved.
| Setup | Value |
|---|---|
| Rule Name | Block empty coding on all line types |
| Rule for | All |
| Condition 1 | G/L Account = empty |
| Condition 2 | Item = empty |
| Condition 3 | Resource = empty |
| Condition 4 | Charge (Item) = empty |
| Validation Message | Every line must have a value for its line type (G/L Account, Item, Resource, or Charge Item). |
Result: If any line has a blank value in its line type column — whether it is a G/L Account, Item, Resource, or Charge Item — the approver cannot approve the document until the coding is completed.