The information in this article only applies to a feature available for the Complete subscription.
Introduction
With Environment Booking Rules you define in one central place how Zenvoices should book invoices for all companies in an environment. One rule per creditor or cost type is sufficient; you do not need to repeat the logic for each company.
The feature replaces the combination of a financial transaction template and assign proposal strategy rules at environment level for assigning a general ledger account and description to a booking. This makes it easier to set up booking logic at scale within your Zenvoices environment. For complex bookings, such as deferred expenses, line item booking logic, or booking to cost centers, you continue to use transaction templates.
Please note: this is a different feature from purchase invoice booking rules.
Creating booking rules
Via Manage / Organisation / Automation you can create and manage booking rules. Click the green 'Create new booking rule' button to add a rule.
You can manage the rules in two ways:
• Web portal: row by row, ideal for individual changes.
• Import/export: via Excel, ideal for large volumes. Both methods are fully equivalent.
Click 'Export all data' to download the current table as an Excel file. Edit the file and click 'Import' to apply the changes.
Available fields
Per rule you can fill in the following fields:
• Description: free description for your own reference. Also serves as the matching key during import together with the VAT percentage.
• Active: turn the rule on or off without deleting it.
• Business classification code: industry code of the administration. For example the SBI or NACE code. The rule is then only executed for administrations with this code.
• Execute for all administrations: switch that bypasses the business classification code and tag filters.
• Execute for administrations with tags: only execute for administrations that have these tag(s).
• Do not execute for administrations with tags: skip administrations with these tag(s).
• Creditors: CoC numbers, VAT numbers, IBAN, Names: the booking rule is executed when a relation with this data is recognized. Multiple values are possible, separated by a semicolon. At least one of these values must produce a match.
• Cost types: recognized cost type as an alternative or supplement to the creditor match. Only works if generative AI is enabled for the administration.
• VAT charged: separate rule for reverse charge VAT situations.
• VAT %: the VAT percentage the rule applies to. Empty means the booking rule applies to all percentages.
• General ledger account: Codes / Classifications / Tags: the target account. Fill in Codes when you want to link a general ledger account via the code (this works with a unified chart of accounts). Use 'Classifications' to match the general ledger account via an RGS classification. Use 'Tags' to match the general ledger account via general ledger tags.
• Line description: the line description used to create the booking proposal. It is also transferred to the general ledger card in your accounting system. Supports variables such as {relatienaam}, {factuurnummer} and {factuurdatummaand|lang}. For the header description of the booking, the line description of the rule with the highest VAT percentage is used.
• Note: internal notes field, no influence on the logic.
Please note: Organisation booking rules only determine the raw booking (general ledger account + description). For cost centers, projects or cost units you use transaction templates.
Creditor or cost type
A rule matches an invoice in two ways:
1. Creditor match (CoC, VAT number, IBAN or name). This takes priority over the cost type.
2. Cost type. Acts as a safety net for creditors without their own rule, or as refinement alongside a creditor match.
You can also combine the cost type with a creditor match. Action with cost type 'Office costs' then books to office supplies, Action with 'Cleaning costs' books to cleaning costs. To do this, you create multiple rules for the same creditor.
VAT splitting
With the fields 'VAT reversed' and 'VAT %' you can create a separate booking rule per VAT stream for the same creditor. For example for fuel stations:
VAT % | General ledger account |
21% | Fuel |
9% | No rule (intentionally empty) |
0% | Packaging |
Or:
VAT % | General ledger account |
Empty | Fuel (Catch-all for all percentages) |
Description variables
In the 'Line description' field you use variables between curly braces. Some useful descriptions are:
• Account: {accountname} or {recognizedaccountname} (the name as it appears on the document, useful for collective creditors)
• Date: {invoicedatemonth|long} (August), {invoicedatemonthyear|short} (08-2025), {invoicedateweeknumber}, {invoicedatequarter}
• Reference: {invoicenumber}, {recognizedreference}, {purchaseordernumbers}
• Summary: {recognizeddocumentsummary} (Zenvoices-generated summary of the document)
Variables also support shifting ({invoicedatemonthyear|short-1} for previous month) and length limitation ({invoicenumber, 6} for the first 6 characters).
Tip: for monthly fixed costs use {accountname} {invoicedatemonth|long}. For other invoices {accountname} {invoicenumber}. For collective creditors {recognizedaccountname} {invoicenumber}.
You can find a complete list of variables in this article.
Import file
The import file has a fixed structure of 19 columns (A to S) with a three-layer header. Data starts on row 4.
Col | Content |
A | Empty (structural) |
B | Description |
C | Active |
D–G | Company selection (Business classification code, execute for all companies switch, Execute for companies with tags, Do not execute for companies with tags) |
H–K | Creditor match (CoC, VAT number, IBAN, name) |
L | Cost types |
M–N | VAT reversed, VAT % |
O–Q | General ledger account (Codes, Classifications, Tags) |
R | Line description |
S | Note |
Please note:
• When the checkbox ‘Remove booking rules absent from the import file' is enabled, rules that are not in the file will be deleted.
• The import matches rules on 'Description' + 'VAT %'.
• The VAT percentage is stored as a decimal (0.21 = 21%).
• Working method: export the current table, edit in Excel, then re-import the complete file.
Points of attention
• Name matching is not case sensitive but exact. Only use 'Various supermarkets' if your creditors are actually named that way.
• Organisation-wide rules work best when general ledger accounts are consistent across administrations, or when you use RGS or general ledger tags.
• Per organisation a maximum of 10,000 rules can be created. This limit can be increased on request via the helpdesk.
Priorities and rule execution order
Zenvoices goes through the following steps for each invoice:
1. Match the relation in the existing way (via automatic account recognition or assign_account rules).
2. Execute booking method assignment rules. If there is a booking method assignment rule, it is executed. Organisation booking rules are then not used.
3. No booking method assignment rule → execute organisation booking rules.
4. Apply administration filter (Business classification code, administration tags).
5. Search creditor rule (CoC, VAT number, IBAN, name). Per VAT subtotal select the correct rule based on 'VAT charged' and 'VAT %'.
6. Cost type rules if no creditor rule can be found.
7. No booking rule → Zenvoices falls back to the set booking method of the account or the journal.
User permissions
A user gets access to organisation booking rules by assigning the permission Pages | Organisation | Booking rules.
Keywords: environment configuration, central booking rules, creditor rules, environment level, booking logic, import file booking rules
Related Articles:

