Approval flow for expense invoices
Invoice approval flow for expense invoices is where the invoices are verified, accounted, and authorized. New roles are used such as verifier, invoice administrator, accounting responsible, and authorized user.
Authorization settings are created to set up dynamic rules for the invoice approval flow. This includes what transactions to approve, and who approves the transaction. Each cost or balance accounting transaction on an invoice must have an approval code and an authorized user.
A user can have different approval amount limits depending on what type of cost it is. The invoice is also allocated to an invoice administrator who can monitor the progress of the approval process.
- Set up the general settings for the new supplier invoice approval flow and authorization.
- Create routes and route groups.
- Connect authorized users to different route groups.
- Set amount limits per approval code or type cost, and route groups.
- Set up the authorization settings for dynamic fetching of the approval code and authorized user. Set up the different fields, such as field group, priorities, and from-to values per selected field.
- Set up the authorization settings for dynamic fetching of invoice administrator, verifier, and accounting responsible. Set up the different fields, such as field group, priorities, and from-to values per selected field.
Limitations
- Only supplier expense invoices are considered
- Invoice matching is not considered
- Prepayment functionality is not considered
Basic data and settings for the approval flow of expense invoices
Program | Setup |
---|---|
1. 'Approval Flow General Settings. Open' (CMS715) |
Create general settings for the approval flow, default values, and executive approval setup in (CMS715). These are the basic data and settings:
|
2. 'Approval Routes. Open' (CMS716) |
Create the approval routes to use in the approval process in (CMS716). An example of this approval route is the different reporting structures within the company. It can be the organization structure or the project hierarchy. These are the basic requirements and settings:
|
3. 'Approval Route Groups. Open' (CMS717) |
Create the approval route groups for each route. An example of this route group is the different roles within one organization in the company. You are redirected to this program from (CMS716). These are the basic prerequisites and settings:
|
4. 'Approval Authorized User. Open' (CMS718) |
Set up the authorized users, who can do the approvals, in (CMS718). These are the basic data and settings:
|
5. 'Authorized User Route Groups. Open' (CMS719) |
Connect the authorized users to different route groups in (CMS719). You are redirected to this program from (CMS718). These are the basic prerequisites and settings:
|
6. 'Approval Codes. Open' (CMS720) |
Create the approval codes to use in the approval process and connect them to the approval routes. The approval code is the classification of the type of cost of the invoice lines. It is connected to one approval route. For expense invoices, an approval code is set per each cost accounting transaction and balance account transaction on the invoice. |
7. 'Approval Codes and Amounts. Open' (CMS721) |
Connect the approval codes to different approval route groups in (CMS721). You are redirected to this program from (CMS720). These are the basic data and settings:
|
8. 'Authorization Priorities. Open' (CMS711) |
Set up the different priorities and object fields per approval type in (CMS711). You can have a maximum of 15 priorities and up to seven objects within one priority. These are the basic data and settings:
|
9. 'Authorization Selections. Open' (CMS710) |
Setup per approval type and priority, the different from and to values on the object fields to decide what approval type to use within the different intervals. For example, what approval code, authorized user, and other user types are needed. You can specify the value of several intervals within the same priority and approval type, and if needed, a date to define when the authorization selection starts to be valid. The date that is used as from date is the accounting date. You must first create authorization settings in (CMS711) before the work can start in (CMS710). |
Approval process flow
When an expense invoice is registered, the invoice header is created in ‘Supplier Invoice Header’ (APS260), table (FPLEDH). The Invoice administrator, Verifier, and Accounting responsible are created for the invoice in the approval flow transaction table CSAPRO.
When no suspense accounts exist after the recode or directly on invoice entry, and if the invoice is not payment approved, the approval transactions are created according to the authorization settings. The transactions are created and stored in the approval flow transaction table CSAPRO. The status is set to '9-Completed' on the approval type 5='Accounting responsible' transaction when the recode is done and no suspense accounts exist.
If another recode is done, all approval transactions in approval flow transaction table CSAPRO are deleted for the authorized users that is the approval type '2-Authorized user'. They are created again when no suspense accounts exist.
Similar values on the approval transactions per original authorized user and approval code within the same authorization combination are summarized.
The authorization process starts when the invoice is verified as approved.
All amounts are in the local currency of the division in (MNS100).
The approval, actions, and authorization of the approval lines are performed in 'Approval actions – Per user. Open' (CMS740), 'Approval actions – Per Invoice. Open' (CMS741), and 'Approval actions – Authorization. Open’ (CMS742).
- The 'Status' field on the approval transactions. This field indicates what the status is on a specific user action. These are the alternatives:
- 1: Pending. Pending recode of the invoice or pending authorization. When an approval transaction is pending, you must wait until the transaction becomes approved.
- 2: Active. You can take action or the approval can start.
- 3: Not authorized user. When the parameter 'First authorized user' is set to 1-'First user with authority to approve' on the route in (CMS716), and the first authorizer does not have the authority to approve, status 3 is set on the action. The next level user is used instead.
- 4: Rejected. Another user must take over the action or the invoice.
- 5: Canceled. The invoice is canceled.
- 6: Resolved. A task is resolved.
- 7: Invoice administrator action is needed. The invoice administrator has to take an action.
- 8: Out of office. The authorized user is out of office.
- 9: Completed action or completed approval transaction.
- 10: Incomplete. Something is wrong on the approval transaction.
- The 'Reason code' field indicates the reason why an authorization or action is needed. These are the alternatives:
- 1: Authorized User. The authorized user must do the authorization.
- 2: Limit amount. The next level user must do the authorization due to the amount limit of the authorized user in (CMS721).
- 3: Out of office. An authorized user, which is the substitute user or next level user, gets the approval action due to the fact that another authorized user is out of office.
- 4: The executive user should do the executive approval.
- 5: Number of authorized users. The next level user must do the authorization defined in the parameter 'First authorized user' in (CMS716).
- 6: The approval code is not found in the authorization settings.
- 7: The authorized user is not found in the authorization settings.
- 8: The substitute user is not found in (CMS719).
- 9: The next level user is not found in (CMS718) or in (CMS719).
- 10: The approval route group is not found in (CMS717).
- 11: The approval route is not found in (CMS716).
- 12: The authorized user route group is not found in (CMS719).
- 13: The invoice is for cancellation.
- 14: Rejected by verifier. Another verifier must approve the invoice.
- 15: Rejected by accounting responsible. Another accounting responsible must approve.
- 16: Rejected by authorized user. Another authorized user must approve.
- 17: Authorized user is already selected.
- 18: New task assigned.
- 19: Role changed.
- 20: No accounting responsible found in the authorization settings.
- 21: No verifier found in the authorization settings.
- 23: Segregation of duty. A next-level user has been added as an authorized user to fulfill segregation of duty.
- The 'Authorization combination' field indicates the group of all the authorization transactions belonging together to the same approval code and original authorized user. Next level users may need to provide several authorizations.
- The 'Approval sequence' field is the sequence within one approval authorization combination.
- The 'Role' field is the same as approval types 2 to 5. See the Basic data and settings for the approval flow of expense invoices section.
- The 'Invoice administrator' field indicates the person responsible for the overall work with the invoice. This is a kind of invoice supervisor.
- The 'Verifier' field indicates the person who verifies whether the supplier invoice is a scam. You can set the auto verified user in (CRS624) or in (MFS620.)
- The 'Accounting responsible' field indicates the person who do the recode of the invoice.
- The 'Original authorizer' indicates the user who is set on the accounting transactions in the General Ledger. This is the first user found from the authorization settings in (CMS710).
- The 'Comment' field indicates an optional manual comment that you can include on the approval line.
- The 'Start date - action' field is the start date for an action to be done in the approval process.
- The 'Completed date' field is the completion date for an action.
'Approval actions – Per user' (CMS740)
(CMS740) is the starting point for all users. This is where you can see all the invoices you are involved in and the different roles and statuses on the different invoices. This is also where the verifier and the accounting responsible perform their actions in the approval flow.
You can select the approval type, status, and action start date in the header to see what actions you must do on different supplier invoices. You can see all expense invoices you are involved in and what role you have on each invoice.
In (CMS740), the approval flow includes four actions: 'Approve invoice', 'Reject', 'Cancel invoice', and 'Resolve task'.
You can use 'Approve invoice' and 'Cancel invoice' if you are the verifier.
You can use 'Resolve task' if you are the accounting responsible.
Both the verifier and the accounting responsible can use 'Reject' and 'Change role'.
If the verifier uses 'Approve invoice', the approval process starts for the authorized users. If the verifier uses 'Cancel invoice' because the invoice is spam, the invoice administrator receives an action with reason code '13 – Invoice must be canceled' and must assign someone to complete the cancellation.
The accounting responsible can resolve tasks assigned by the invoice administrator. Active tasks are automatically completed when any action regenerates the authorized users on the invoice. For example, recoding or using 'Generate' in (CMS741). If all authorized users have approved their lines on an invoice, but the accounting responsible has an active task, resolving it approves the invoice for payment.
If the accounting responsible or the verifier rejects an invoice, the Invoice administrator must take action and assign another user by using 'Change role' in (CMS741).
Both the accounting responsible and the verifier can use 'Change role' to assign their role on an invoice to another user. If the verifier role is reassigned, the authorized users for the invoice are automatically regenerated.
'Approval actions – Per invoice' (CMS741)
All the different users who are assigned to and working on an invoice in different roles are displayed in this program. This is where the invoice administrator performs their actions in the approval flow.
You can see the overall picture of the work with the invoice: The different user roles, their actions, and the status on the different approval transactions.
This program is used by the invoice administrators and managers, where they can see the invoice perspective for the overall approval actions. You can set the security settings on this program.
You can access this program from (CMS740) or (APS260).
- The invoice administrator can use the related option 'New task – accounting responsible'.
- The invoice administrator can use the function key 'F14-Generate' to generate the invoice.
- The invoice administrator can use the related option 'Change role' to change which user has the roles of verifier and accounting responsible. When the user assigned to the verifier role is changed, the authorized users for the invoice are automatically regenerated to ensure the correct application of rules such as segregation of duty. Additionally, anyone with access to (CMS471) can use 'Change role' to reassign the invoice administrator role to themselves or another user. This option cannot be used on transactions with approval status 9-'Completed'.
The invoice administrator can also, if needed, regenerate the approval transactions for all authorized users, which are set as approval type = '2-Authorized user', by using 'F14-Generate'. This action is needed, if for example, the settings and selections are changed in the authorization settings. You must regenerate the approval transactions according to new settings in (CMS710) and (CMS711), or new settings in the other basic data programs. You can set the ordinary M3 BE security to have security on the function key F14-'Generate'.
If an invoice is initially entered as an expense invoice and triggered in the supplier invoice approval flow, but later found that the invoice must match a PO instead, you can proceed with PO invoice matching and release the invoice from the approval flow. Start PO invoice matching in 'Supplier Invoice. Recode' (APS110) using option 11-'Invoice control', or in 'Supplier Invoice Batch. Open' (APS450) using standard PO invoice matching and recode. The invoice can then be approved for payment in (APS110).
API transaction: CMS741MI - StopApprFlow. See the metadata for more details.
'Approval actions – Authorization' (CMS742)
In the program (CMS742) is where the authorizers work with their approvals.
An authorized user works with the authorization of one or more approval transactions that they are responsible for and that need an action from them. The authorized user can approve or reject the approval transactions.
You access this function from (CMS740) or (CMS741).
The authorized user can use the related options 'Approve line' and 'Reject line'.
The authorized user can use actions 'Approve all lines' and 'Reject all lines' to approve or reject all their active lines. Lines that are in status 1-'Pending' or already approved are not affected.
If the approval transaction is approved, the status is set to '9-Completed’ on that transaction. If further approval is needed by a next level user, that approval transaction is set to status '2-Active'. The next level user can then do the approval. The user who is first in the sequence must do the approval first before the next level user can do their approval.
If the approval transaction is rejected, the invoice administrator gets an action to investigate what actions are needed.
When all approval transactions are completed, the invoice is updated as payment approved.
More to consider
- 'Voucher. Display' (GLS200)
The original authorized user and the approval code are set on invoice entry or after the recode. They are updated on the accounting transactions in the general ledger (table FGLEDG) and can be displayed in (GLS200).
- Cancel invoice
When an invoice is canceled in (APS110) or in 'Voucher. Reverse' (GLS900), all the approval lines with approval type = '2-Authorized user' are deleted. The approval transactions for the invoice administrator, verifier, and accounting responsible are set to status '5-Cancelled.
- Reverse invoice with new accounting date
When an invoice is reversed with new accounting date in (GLS900), all the approval transactions are re-created. This is because a new accounting date might affect what authorization settings to use when it comes to the from date in (CMS710).
- Display supplier invoice header in (APS260)
Display the supplier invoice header table (FPLEDH). There is one header record against one supplier invoice in accounts payable table (FPLEDG, transaction code (TRCD=40)). From this program the invoice administrator can access (CMS741).
- Security
You can set the security on all the programs and API transactions in ordinary way in the M3 system.
- API transactions
APIs exist for all approval flow programs. Descriptions with further information are found in the meta data for the APIs: APS260MI, CMS710MI-CMS711MI, CMS715MI-CMS721MI, and CMS740MI-CMS742MI.