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.
- 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' is indicates the user that 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 'Action start date' 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 invoices you are involved in and the different roles and statuses on the different invoices. Different users work with their different actions on the supplier expense invoices.
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.
The Verifier can approve, reject, or request to cancel the invoice.
When the verifier requests to cancel the invoice because it is a spam invoice, the invoice administrator gets an action with the reason code '13 – Invoice must be canceled' and must assign someone to do the cancellation.
The Accounting responsible can resolve their tasks assigned by the Invoice administrator.
When the Accounting responsible or the Verifier rejects an invoice, the Invoice administrator needs to do an action and find another user by doing change role in (CMS741).
When the invoice is approved by the Verifier, the authorization can start and the first approval transaction in each authorization combination are set to status '2-Active'.
'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.
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 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’.
'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).
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 that 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 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.