Processes supplier invoice PDFs from incoming emails (or a test folder), extracts the data using rules and optional Azure AI, validates the totals, and creates purchase invoices in Sapera; invoices that cannot be parsed are moved to manual processing.
The action runs as a step in a SyncTool configuration. You configure the step's settings (e.g. server, login, path, format or SQL depending on the action) and run the configuration. The action fetches the data it needs from Sapera or the external source itself – you do not map source columns as you would for a regular import. Any parameters are described below.
In short: the action reads supplier-invoice PDFs from the digital inbox (or a test folder), extracts data via rules and optional Azure AI, validates the totals and creates purchase invoices in Sapera.
Invoices that cannot be interpreted reliably are not created – they are moved to manual processing, so nothing is posted on a wrong basis.
AzureAiEnable — When enabled, Azure AI is used to extract invoice data instead of relying only on rules.
AzureAiEnabledAsFallback — When enabled, Azure AI is used as a fallback only if rule-based parsing fails.
AzureAiEndPoint — Endpoint URL of the Azure AI service used for invoice extraction.
AzureAiKey — Access key for the Azure AI service.
AzureAiModel — Name of the Azure AI model used for invoice extraction.
Directory — Working directory where attached invoice PDFs are saved during processing; it must already exist.
FirstTryWithFirstPageOnly — When enabled, parsing first tries page one, then two pages, then the whole document before giving up.
ForwardToEnable — When enabled, invoices marked for a forward-to customer are turned into customer invoices instead of purchase invoices.
InputExcludeFileRegEx — Regular expression matching file names that should be excluded and sent to manual processing.
InputTestDirectory — Folder of PDF files to process in test mode instead of reading from incoming emails.
InputTestFilePattern — File pattern selecting which files in the test directory are processed; defaults to *.pdf.
MandatoryPaymentDueDate — When enabled, a payment due date must be detected for the invoice to be considered successfully parsed.
MoveToManualProcessingIfNoSupplierInvoiceNumber — When enabled, invoices without a detected supplier invoice number are moved to manual processing.
MoveToManualProcessingOnFailure — When enabled, any invoice that fails automatic processing is moved to manual processing.
MoveToManualProcessingOnSenderNameNoMatch — When the sender name does not match the sender-name pattern: if disabled (default) the message is left in automatic processing so a later step can process it; if enabled it is moved to manual processing.
SenderNameRegEx — Optional regular expression on the sender name to further filter which incoming emails are processed.
SupplierEmail — Sender email pattern used to collect the incoming emails that belong to this supplier.
SupplierAccountNumber — account number of the supplier (creditor) the invoices in this step are booked to.
SupplierIdentifier — identifier used to look up the supplier; if it cannot be resolved the invoice goes to manual processing.
RequireInstance — require instance/serial-number drafts on purchase lines for instance-tracked products (default on).
IdentifierFormat — format template applied to the extracted product identifier, e.g. to add a prefix/suffix before lookup.
UnknownProductIdentifier — product number of the fallback 'unknown product' used when a line's product cannot be matched.
UnknownProductBlockBooking — block lines that fell back to the unknown product so the invoice cannot be booked without manual review.
EmptyProductIdentifier — product number used for empty/zero-amount text lines (e.g. heading or info lines).
ShippingCostOptionKind — post shipping as a loading/discount slot (1-3) instead of an item line; blank = item line. Ignored in foreign currency.
ShippingCostProductIdentifier — product number shipping is posted to when added as an item line (falls back to unknown product if blank).
DiscountOptionKind — post discount as a loading/discount slot (1-3) instead of an item line; blank = item line. Ignored in foreign currency.
DiscountProductIdentifier — product number discount is posted to when added as an item line (falls back to unknown product if blank).
MarketingCostProductIdentifier — product number marketing/advertising costs are posted to (falls back to unknown product if blank).
EnvironmentalFeeProductIdentifier — product number the environmental fee is posted to (falls back to unknown product if blank).
ExpressFeeProductIdentifier — product number the express/rush fee is posted to (falls back to unknown product if blank).
DecimalSeparator — decimal separator (e.g. ',' or '.') used when parsing amounts and quantities into numbers.
AllowMultipleValuesSeperatedWithSpace — treat space/newline-separated text in an extracted field as multiple values that are summed.
AllowFik — allow an extracted FIK/payment ID to be set as FIK payment on the invoice (default on).
CheckDuplicateSupplierInvoice — when on (default) the invoice is not created if one with the same supplier and supplier invoice number already exists; it is moved to manual processing instead so the same invoice is not imported twice.
TrivialityLimit — amount tolerance (default 3) for rounding differences when validating totals, VAT and line sums against each other.
OcrHighResolution — run Azure document analysis in high-resolution OCR mode for better reading of small/dense invoices (slower/costlier).
ForwardToCustomerAccountNumber — customer account number the invoice is re-invoiced to when forward-to is enabled.
ForwardToInvoiceSubject — subject text set on the customer invoice generated when forwarding (re-invoicing).
LogDebugInfo — log extra debug info (raw parsed data and pre-auto-fill values) on the inbox message.
RegExReplace — per-field regex search-and-replace rules that clean extracted text before it is used.
RegExs — legacy per-field regex patterns; defined but not actively used in the current AI/OCR extraction.
RegExEnable — legacy toggle for regex-based field extraction; not used by the current AI/OCR extraction path.
See also the overview SyncTool – actions.
Want to know more?
Read more in these related articles:
Standard parameters for all actions
The general parameters available on most SyncTool actions: step control, error handling, timeout, etc.