When an invoice’s lines need to go to different accounts or cost centres, the information that tells them apart is often in the header rather than on the lines – who ordered it, under which contract or purchase order, and where the goods were delivered. Coding by header already worked when the whole invoice went to a single account and cost centre. What’s new in eFlow 26.6.2: line-based coding rules can now read header fields too, so you can split one invoice across several dimensions using header data.
Why does this matter?
Until now, line rules could read only line data, such as the description. That was enough when each line’s account and dimension could be derived from the line itself. But often the deciding information sits in the header:
- the location (Tallinn, Pärnu) is recorded in the header, not on the line;
- the same service is provided for different vehicles or sites under different contracts, and only the contract number tells them apart;
- the cost dimension depends on the purchase order number or the contact person.
When a single invoice’s lines had to be split across accounts or cost centres on this basis, you previously had to code them by hand. Now line rules can use the header, so these cases are automated too.
What changed?
You can now select the following header fields in a line rule condition:
- Location name and address
- Reference number
- Contract number
- Purchase order number
- Contact person
- Remarks
For each field, you can use the “contains” condition and, as a result, assign the desired dimension (department, project, employee, vehicle, location, etc.).
Examples
A header field does not replace an existing supplier-based rule but refines it: the supplier (or some other field) determines the account, the header field determines the cost dimension.
- Office supplies vendor, different expenses. One invoice has lines going to different accounts (office supplies and IT equipment), but all were ordered by the same person, named only in the header. The account comes from the line, the cost centre from the header: contact person = “Mati Maasikas” → Cost centre = “Sales department”.
- Leasing for different vehicles. A leasing invoice has several lines – the lease payment, insurance, an admin fee – that go to different accounts, but they all relate to one vehicle, identifiable only by the contract number in the header. Existing rule: line description contains “leasing” → Account = “5681 leasing costs”. Additionally: contract number = “54123” → Vehicle = “360MLK”, Department = “Marketing”.
- Facility management for a chain. One invoice covers a single site but splits across several accounts (rent, utilities, cleaning), while the site is named only in the header. The account comes from the line, the location from the header: location contains “Tartu” → Location = “Tartu store”.
- Construction subcontractor on several sites. BuildCo PLC’s lines cover different work types going to different accounts, while the site is identified by the contract number in the header. Existing rule: supplier = “BuildCo PLC” → Account = “5201 subcontracting service”. Additionally: contract number contains “123456” → Project = “Rapla residence”.
Common thread: information that previously required line-by-line manual work is now coded as soon as the invoice arrives.
How to set it up?
- On the next incoming invoice, open the line you want to add a line-based coding rule to.
- Add a condition, select a header field, set the value and the desired dimension.
- Save – Robin will apply the rule automatically from then on.
NB! The rules require invoice lines to be present – either in the e-invoice itself or via the line-based digitization service. Creating and managing coding rules requires the Cost allocator or Super-user role.
What about existing rules?
They continue to work unchanged; nothing needs to be reconfigured. The header fields are simply an additional option for extending your automation.