Automatic coding suggestions
When you code invoices, AP Essentials can make your job easier by suggesting accounting codes, coding dimensions, and amounts. Each time you code an invoice, AP Essentials remembers the accounts and coding dimensions you select and the percentages of the amounts on each accounting line. Then, the next time you code an invoice from the same supplier, AP Essentials automatically suggests the account codes, coding dimensions and amounts based on the choices you made previously.
Example
Assume you enabled automatic coding suggestions and code an invoice on account "456" with 100% of the amount in the debit column and zero in the credit column. You also specify "1044" as the cost center and "003" as the project.

Then you click OK to complete the approval process and send the invoice to the target system.
The next time you code an invoice from the same supplier, the coding row is automatically filled in for you. In this example, 100% of the invoice amount is in the debit column. Likewise, the account, cost center and project are the same as the previous coding.

Enabling automatic coding suggestions
You enable the Automatic coding suggestion setting on the Coding tab in Admin Center. Then make sure Include in coding suggestion is selected for each coding field that should utilize coding suggestions.
To populate the account list in the Accounting view with general-ledger account master data, the internal name of the account type must be GeneralLedger.
How it works
AP Essentials
creates an accounts-payable coding history for each supplier. For every invoice that has been completely processed, a
coding template is created based on the invoice coding data. The ten most recent templates are stored and used to suggest account
codes and amounts during coding.
To determine the suggestion, the system uses a weighted approach. The system assigns 10 times more weight to templates that include coding dimensions. The template with the highest combined weight is used as the suggestion. In the event of a tie, the most recent template with the highest combined weight is used. If all ten templates are unique and occur only once, the most recent one is used.
Only one template is required to receive a coding suggestion.
Each coding template is characterized by:
- The number of lines it contains. Each template can contain up to 100 coding lines.
- Which accounts are specified.
- The order the lines occur, using the account as an index.
- The coding dimension values.
- The amounts as a calculated percentage of the total amount.
If any of these characteristics differ between templates, they are considered unique.
Example
Consider the table below, which represents a chronological coding history from one supplier. The coding history stores at most ten templates, with the most recent at the top and the oldest at the bottom. When a document is completely processed, its coding template is added to the top of the list. If the list already has ten entries, the oldest template is removed. This ensures the history always reflects the ten most recent templates.
In this example, each template is labeled with a letter for clarity. Templates that include coding dimensions are assigned a higher weight. The template with the highest total weight is used as the suggestion for the next invoice from the same supplier. If multiple templates share the highest weight, the most recent template is selected.
Processing Sequence | Template | Account | Percentage | Coding dimensions | Weight |
---|---|---|---|---|---|
10 | C |
Debit 1234 Credit 5678 |
100 100 |
Special 20 | 10 |
9 | C |
Debit 1234 Credit 5678 |
100 100 |
Special 20 | 10 |
8 | B |
Debit 1234 Credit 5678 |
100 100 |
Special 15 | 10 |
7 | B |
Debit 1234 Credit 5678 |
100 100 |
Special 15 | 10 |
6 | C |
Debit 1234 Credit 5678 |
100 100 |
Special 20 | 10 |
5 | A |
Debit 1234 Debit 1234 Credit 5678 |
50 50 100 |
1 | |
4 | A |
Debit 1234 Debit 1234 Credit 5678 |
50 50 100 |
1 | |
3 | B |
Debit 1234 Credit 5678 |
100 100 |
Special 15 | 10 |
2 | A |
Debit 1234 Debit 1234 Credit 5678 |
50 50 100 |
1 | |
1 | A |
Debit 1234 Debit 1234 Credit 5678 |
50 50 100 |
1 |
In this scenario:
-
Templates B and C each occur three times.
-
Template A appears four times but has a lower combined weight.
-
Both B and C have a total weight of 30 (3 occurrences × 10), while C totals 4 (4 × 1).
Since templates B and C are tied in weight, and template C is the most recent of the two, it is selected as the coding suggestion for the next invoice from the supplier.
Submitting invoices without coding lines also updates the template history. In other words, "no coding lines" can become a valid coding suggestion if the majority of invoices in the coding history were submitted without coding lines.
The coding history can be shared on different levels: partner, customer and buyer. The level determines how coding suggestions are shared. For example:
- If you share the coding history on the partner level, all customers of the
partner
account contribute to and use the same coding suggestions. This can be useful if the customers use the same account codes
and have many invoices from the same suppliers.
If you share the coding history on the partner level, all customers must have the same selection in the Balancing amount setting.
Balancing against the gross amount is the default behavior when Allow balancing against total amount is not selected. Read more about amount balancing.
- If you share coding history on the customer level, the code-suggestions stay within the customer and is only shared amongst the buyers of the customer (if the customer has multiple buyers).
- If you share coding history on the buyer level, the code-suggestions stay within the buyer.
The coding history is only shared behind the scenes. There is no way for one customer to see the coding data of another customer.
Automatic coding suggestions are available only for accounting lines with a general ledger account type.
To provide coding suggestions for other fields, such as coding dimensions, the field must be connected to master data.
For automatic coding suggestions to work, at least one of these fields must be specified in the supplier master-data (ordered below from highest to lowest priority):
- Organization number.
- Tax registration number.
- Supplier number.
Changing any of the fields above (Organization number, Tax registration number, Supplier number) may cause automatic coding suggestions to stop working.
These special characters are not allowed in the organization number, VAT registration number and supplier number fields:
- Forward slash (/).
- Backslash (\).
- Number sign (#).
- Question mark (?).
- Control characters from U+007F to U+009F.
- Control characters from U+0000 to U+001F, including:
- Tab (\t).
- Linefeed (\n).
- Carriage return (\r).
When are coding suggestions applied?
The application of coding suggestions is dependent on two settings and whether the settings are enabled () or disabled ():
Perform registration step | Allow account coding during verification | Result |
---|---|---|
| |
No coding rows are added automatically; however, you can click Refresh () during approval to get coding suggestions. |
| |
Coding suggestions are applied during registration and displayed during approval. |
| |
Coding suggestions are applied during extraction and displayed during verification. |
| |
Coding suggestions are applied during extraction and displayed during verification. |
Refreshing coding suggestions
Sometimes you make changes which require you to refresh () coding suggestions. AP Essentials prompts you to refresh your coding suggestions when the:
- Buyer is changed.
- Supplier is changed.
- Invoice/Credit field is changed.
- Net/Gross amount is changed.
In addition to the points above, if you use line items as your coding-suggestion source, AP Essentials also prompts you to refresh your coding suggestions when:
- Line items are added or removed.
- The line-item table is redrawn.
- A line-item amount is changed.
Sharing coding data across multiple levels
It is possible to share the coding history across multiple levels. When you select multiple levels in the Coding settings, the coding history is shared upwards through the hierarchy. For example, assume you select all three levels. This has several implications:
- When you code an invoice on the buyer level, AP Essentials checks if there is a suitable coding suggestion on the buyer level. If no suggestion is found there, AP Essentials checks the customer level, and if no suggestion is found there, AP Essentials checks the partner level.
- When you code an invoice on the buyer level, the coding history is updated on the parent customer and partner.
- When you code an invoice on the customer level, the coding history is updated in its own customer level and in the parent partner level.
In order to share coding data between partners, customers and buyers, the suppliers must have a value for:
- the supplier number field.
- the VAT registration field or the organization number field.
Choosing a source
Automatic coding suggestions can come from one of three sources, which you specify in the Coding configuration settings:
- Online coding - Uses historical data from AP Essentials to determine the default coding suggestions.
- Line items - Inserts each line item as a coding row and uses historical
data from
AP Essentials
to determine the default coding suggestions.
When your default account type is general ledger, coding suggestions are made for account fields if you used the same account for all rows when coding previous invoices from the same supplier.
Coding amounts for invoices are placed in the debit column, whereas coding amounts for credit notes are placed in the credit column.
If the current document type does not have any line items, Online coding is used. If the current document type does have line item fields, but no line items are captured, no coding suggestions are created.
- External system - Uses coding suggestions provided by an external system. This option is only supported when you use AP Essentials with Visma Business.