Skip to content

Structs

A struct describes the line-item table on a supplier’s document. In most cases one struct per invoice format is entirely enough.

Name — a working name.

Rowspan — how many table rows to analyse at once. It helps when one line’s data is split across several rows: the name in one, the quantity in another. The module then merges the rows and reads the line as a whole.

Minimum columns and Maximum columns — the column-count bounds. They keep the module from processing tables that are not a line list (headers, summaries, address blocks).

Ordinal numbering resets per page — switch it on when the supplier restarts item numbering on every page (1–6, then 1–X again). Leave it off for continuous numbering.

Use assisted line recognition — opts this struct into re-analysis by a language model, which verifies item boundaries on top of the usual heuristics. Off by default. → AI import

Every struct must map at least one identifier, either Identifier or Supplier identifier, together with Stock. Without an identifier the product cannot be recognised; without a quantity there is nothing to import. → Mappings

  1. Create a struct for the supplier.
  2. Describe the columns → Columns.
  3. Set the mappings → Mappings.
  4. Upload a test document and check the result → Import jobs.

The struct, columns and mappings form one set: a change in the supplier’s invoice layout usually requires a correction in all three.