Invoice AI
Scale invoice processing with high-accuracy AI that adapts to your vendor formats without manual template setup
Last updated
Was this helpful?
Scale invoice processing with high-accuracy AI that adapts to your vendor formats without manual template setup
Last updated
Was this helpful?
Invoice AI is the latest version of OCR and Invoice Scanning available on SuiteApp. Existing customers on bundle should refer to our older guide.
If Automate is not installed yet, review our Installation Guide. Administrators in your NetSuite account can view Invoice AI configuration settings in Automate by navigating to SquareWorks > Automate > Settings > Invoice AI > Settings
Invoice AI Directions: Set up extraction rules using natural language to prompt Invoice AI where to grab data from the invoice.
Invoice AI Rules: Set up conditional rules using traditional if/then business logic.
Advanced Invoice AI Settings: Configure a variety of Invoice AI's configuration settings such as purchase order matching, line item consolidation, custom field auto-fill, and subsidiary and vendor matching.
Enable Invoice AI: Indicate if you would like to enable SquareWorks’ Invoice Scanning AI. If this is turned off, we will not scan your uploaded bills.
Invoice AI allows you control how the invoice is extracted into Vendor Bill fields using natural langua ge directions. To get started with AI Directions:
Navigate to Settings > Invoice AI > AI Directions
You can review all AI Directions in the table below. Review whether a direction is active or not by referencing the Enabled column
Create AI Direction to create a new direction. The following fields are applicable:
Direction Name: Provide a name that references the rule. Must be unique.
Identifying Document Keyword(s): Provide a keyword that must be contained in the invoice that you would like to apply to the AI Direction. For example, you may refer to a vendor's name, account number, or tax ID.
If there are multiple keywords, you may use a comma to delimit the keywords
Multiple keywords will be applied using "and" logic. All the keywords must match for a direction to be applied.
Tips
If you'd like to apply an AI direction to all your invoices, you can input the '.' character value (without quotes). This will apply to all invoices because the character '.' is found in nearly all invoices.
However, avoid using keywords that are broadly applied if you'd like the AI direction to only apply to a certain invoice template. You may also use multiple keywords to narrow in on keyword conditions, as all keywords must be found in an invoice to apply the AI direction.
Page Start & End (optional): You may choose to limit which pages are scanned using the page start and end fields. The setting is only recommended if you'd like to ignore pages (for example, I only want to scan the first page of my invoice).
Create AI Direction OR Custom Field Extraction: AI Direction applies to all fields, Custom Field Extraction applies to specific fields.
AI Directions: Input using clear and concise language how you'd like Invoice AI to extract the invoice for all fields. Use AI Direction when the action is more broadly applied and less field-specific.
For example, you may input 'Translate all words from Spanish to English' if you'd like to translate everything into English.
You can specify "Sort line items from highest amount to lowest amount" if you'd like the highest amount items to come first in Bill Review.
Custom Field Extraction: Input using clear and concise language how you'd like Invoice AI to extract the invoice for a specific field. Use Custom Field Extraction when the action is more field-specific and less broadly applied.
Add Field to get started with a Custom Field Extraction. You can add multiple fields for one rule (for example, I want one "Memo" rule and one "Invoice Number" rule).
Ensure the direction is Enabled
Select the Field that you would like to target the extraction
Input Field Extraction Directions specifying desired business logic. For example, if I'd like to extract the identifier into the memo, I might create a rule specifying "Grab the string after 'ID' or 'Identifier'" for memo field.
A vendor may put the vendor name in the top right hand corner instead of the left or center. A Custom Field Extraction Direction to extract Vendor Name more accurately could be "The vendor name, located in the top right hand corner of the first page".
If there are use cases that require structured conditional rules using if/then logic, you can use Invoice AI rules. Rules can be added by clicking on New Automate OCR Rule in Invoice AI Rules.
Rules are evaluated in the order in which they are created within NetSuite. Inactive rules are not used.
Rules may apply to multiple documents depending on the conditions selected. If no conditions are selected, the rule will apply to all uploaded documents. If one or more conditions are selected, all selected conditions must be true for a rule to apply.
Email From Address Contains: If a document is emailed to NetSuite, the From address contains a keyword or pattern.
Email To Address Contains: If a document is emailed to NetSuite, the To address(s) contains a keyword or pattern.
Email CC Address Contains: If a document is emailed to NetSuite, the CC address(s) contains a keyword or pattern.
Email Reply To Address Contains: If a document is emailed to NetSuite, the Reply To address(s) contains a keyword or pattern.
Email Subject Contains: If a document is emailed to NetSuite, the email subject contains a keyword or pattern.
Email Body Contains: If a document is emailed to NetSuite, the email body contains a keyword or pattern.
Document File Name Contains: The file name of the document contains a keyword or pattern.
Document Text Contains: The document contains a keyword or pattern based on invoice extraction.
Transaction Vendor Is: The vendor selected on the bill is a specific vendor.
Transaction Subsidiary Is: The subsidiary selected on the bill is a specific subsidiary.
There are three types of matching options available:
All Match (Comma Separated): All text specified must match (separated by commas). The matching logic is case insensitive, will ignore whitespace, new lines, and commas when matching. Regular expressions are not supported.
Example: The following example conditions would match against the text “SquareWorks Consulting, Inc.”
SQUAREWORKS
Square Works
WORKS
SquareWorks,Works,Inc (Since SquareWorks, Works and Inc all match against the text)
squareworksconsultinginc (Since the commas in the example text are ignored when matching)
Any Match (Comma Separated): Any (at least one) text specified must match (separated by commas). The matching logic is case insensitive, will ignore whitespace, new lines, and ignore commas when matching. Regular expressions are not supported.
Example: The following example conditions would match against the text “SquareWorks Consulting, Inc.”
SQUAREWORKS
SquareWorks,NetSuite,Other (Since SquareWorks matches against the text even though NetSuite and Other do not)
Advanced Match (RegEx): The regular expression pattern must match. The regular expression is case insensitive. All new lines are ignored when matching. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions for more details about how to write regular expressions.
Example: The following regular expressions would match against the text “SquareWorks Consulting, Inc.”
SQUAREWORKS
SquareWorks.+?Inc
Square.+?Consulting, Inc
If a rule applies, the following actions can be executed. If multiple actions are selected, all actions will execute:
Assign Subsidiary: Assign a specific subsidiary to the document in the inbox. This subsidiary will be used by default when creating a bill.
Assign Vendor: Assign a specific vendor to the document in the inbox. This vendor will be used by default when creating a bill.
Assign Queue Owner: Assign a specific owner (employee) to the document bills inbox.
Extract PO Number from Email: Override the logic used to extract the PO number from the email body. The pattern specified must be a regular expression. The first group (defined using parentheses) will be extracted.
Extract PO Number from Document: Override the logic used to extract the PO number from the document. The pattern specified must be a regular expression. The first group (defined using parentheses) will be extracted.
Extract Invoice Number from Email: Override the logic used to extract the invoice number from the email body. The pattern specified must be a regular expression. The first group (defined using parentheses) will be extracted.
Extract Invoice Number from Document: Override the logic used to extract the invoice number from the document. The pattern specified must be a regular expression. The first group (defined using parentheses) will be extracted.
Extract Vendor Name from Document: Override the logic used to extract the vendor name from the document. The pattern specified must be a regular expression. The first group (defined using parentheses) will be extracted.
Extract Field from Email: Extract text from the email body and use the extracted text to set a field value on the bill. The pattern specified must be a regular expression. The first group (defined using parentheses) will be extracted.
Extract Field from Document: Extract text from the document and use the extracted text to set a field value on the bill. The pattern specified must be a regular expression. The first group (defined using parentheses) will be extracted.
Set Field Value: Set a field value on the bill to a specific static value.
Disable OCR: Disable OCR/Invoice Scan (will not consume usage) but still show the document in the bills inbox.
Remove From Queue: Automatically remove the document from the bill inbox. If OCR/Invoic Scanning is not disabled, this will still consume usage.
Remove Document Line Containing: Overrides line-level document extraction by removing extracted lines whose description contains the specified keyword or pattern. This is not commonly used.
Merge Document Line Containing: Overrides line-level document extraction by merging lines (with the previous line) whose description contains the specified keyword or pattern. This is not commonly used.
Documents need to be assigned to specific subsidiaries based on keywords in the document (e.g. legal entry name)
The automated vendor name extraction logic finds a vendor name that applies to multiple vendors (within a single subsidiary) in your account. You can use rules to pre-define the vendor.
You would like to assign specific owners to the documents in the Bills Inbox (instead of defaulting to the uploader as the owner)
OCR Monthly Limit: Enter the maximum number of invoices to process using Invoice Scanning/OCR within a month. Once this limit is reached, Invoice Scanning/OCR will no longer be used and usage will not be charged. Manual entry will be required. If no value is specified, there is no limit to the number of invoices that will process using Invoice Scanning/OCR. Not that due to timing, it's possible to go over this limit if uploading a large batch of invoices.
Non-PO Bill Capture
Default Consolidated Line Memo: When invoice lines are consolidated, enter the memo that should be captured on the consolidated line.
Default Vendor Bill Line Type: Select the default line type to use when populating lines from a scanned invoice document. This will be ignored when the Vendor Bill is associated to a PO:
Auto Select Bill Line Type: When enabled, the line type that's populated (when not associated to a PO) will be determined based on the line type used in the prior Vendor's Vendor Bill. If no prior Vendor Bill exists, the Default Bill Line Type will be used.
Consolidate Invoice Lines: When enabled, a single consolidated line will be captured, regardless of the number of lines extracted from the invoice document. This does not apply if the Vendor Bill is associated to a PO. Freight will still be shown on a separate line if a Default Shipping Expense or Item have been defined.
Copy Lines From Prior Bill: When enabled, all lines will be copied from the prior bill (for the selected Vendor and Subsidiary) when entering non-PO bills. The lines will not be modified based on information in the invoice document. This setting will take priority over the Consolidate Invoice Lines setting.
Override Default Auto Fill Fields: When enabled default fields will not be auto filled. Only fields specified in Auto Fill Fields below will be automatically filled.
Auto Fill Fields: This field can be used to enter a comma separated list of body or line field ids to auto fill when creating a Bill (in addition to the standard fields auto-filled at the line level, unless Override Default Auto Fill Fields is enabled) (example format: body_field_id, expense.expense_line_field_id, item.item_line_field_id).
Default Subsidiary: Optionally select a default Subsidiary to assign to uploaded invoices if a subsidiary cannot be identified automatically.
PO Bill Capture
Associate Bills to Purchase Orders: Indicate if you would like to associate Vendor Bills to POs in NetSuite. If you don’t use POs, uncheck this box. Note: When this setting is enabled, Vendor Bills can still be entered without an associated PO if required.
Auto Match PO Lines: When enabled, lines on the invoice document will be auto-matched to open lines on the selected PO. Non-matching lines will set quantity/amount to zero.
Prioritize PO over Rules: When enabled, subsidiary and vendor set using rules will be ignored when searching for a PO. The subsidiary and vendor defined on the PO will always take priority over rules.
Auto Match PO Override Items: If enabled, item lines copied from the PO will not have their quantity and amount zeroed out and will be ignored by matching logic. This feature is only applicable if the Auto Match PO Lines feature is enabled.
Attach Invoice Documents to POs: When enabled, the uploaded invoice document will be automatically attached to the related PO when a Vendor Bill is created. Invoice documents will still be attached to the Vendor Bill.
Blanket PO Matching: When enabled, if a blanket PO is detected when entering a Vendor Bill, the invoice's total (less tax if applicable) will be entered into the line's quantity field. Blanket POs are automatically detected when a PO has a single billable item line with a rate of 1. This functionality is enabled by default unless this setting is set to Disabled.
Freight Capture
Default Shipping Expense: If shipping costs should be captured as a single expense line on the Vendor Bill, select the expense account to use. This applies regardless of if a Vendor Bill has an associated PO.
Default Shipping Item: If shipping costs should be captured as a single item line on the Vendor Bill, select the item to use. If defined, this will take priority over the Default Shipping Expense setting. This applies regardless if a Vendor Bill has an associated PO.
Tax Capture
Default Tax Expense: If tax costs should be captured as a single expense line on the Vendor Bill, select the expense account to use. This applies regardless if a Vendor Bill has an associated PO.
Default Tax Item: If tax costs should be captured as a single item line on the Vendor Bill, select the item to use. This applies regardless if a Vendor Bill has an associated PO.
Advanced Settings
Custom PO Name Formula: Optionally enter a saved search formula (text) to override the format of PO names which appear in the "Purchase Order (Cannot Change After Create)" drop down when creating Vendor Bills.
Custom PO Number Field: This optional setting allows you to specify the PO field ids (comma separated) to additionally use when looking up a PO on the Vendor Bill. This is useful if Vendors include a PO number on invoices that is stored in a custom field on your PO record.
Invoice Document Folder Id: Override the File Cabinet folder ID to store invoices uploaded by users (either via drag and drop or email). A folder will be automatically generated for named documents in the root of your File Cabinet.
Enable Performance Logging: When enabled, Invoice AI will log performance metrics to NetSuite script logs. This should not be enabled unless troubleshooting performance issues.
Disable Redirect on Creation: When enabled, Invoice AI will no longer attempt to redirect you to the Vendor Bill after creation. This should only be disabled when using Approval Workflow Automation's auto-submission feature.
Find Vendor By Currency: When enabled, the currency of the invoice will be used when determining the vendor associated to the invoice. This feature should be enabled if your account has one vendor entity for each currency (vs a single vendor entity associated to one or more currencies).
Date Field Mapping Override: The date field will be populated to the field (field id) specified. When this setting is enabled, default to today's date.
OCR Email Exception Notification: Optionally, specify an employee to receive an email notification if a message is received by the Automate email capture address that does not contain a valid PDF document.
Subsidiary Settings
The following settings are available to be set for specific Subsidiaries. All settings defined at a Subsidiary level will override the account-level settings defined above.
Default Vendor Bill Form: Select the default Vendor Bill form to use for the Subsidiary. This setting only applies when the subsidiary is selected on the Bills Inbox
Vendor Settings
The following settings are available to be set for specific Vendors. All settings defined at a Vendor level will override Subsidiary and account-level settings defined above.
Consolidate Invoice Lines: When enabled, a single consolidated line will be captured, regardless of the number of lines extracted from the invoice document. This does not apply if the Vendor Bill is associated to a PO. Freight will still be shown on a separate line if a Default Shipping Expense or Item have been defined.
Copy Lines From Prior Bill: When enabled, all lines will be copied from the prior bill (for the selected Vendor and Subsidiary) when entering non-PO bills. The lines will not be modified based on information in the invoice document.
Vendor Bill Lookback: Optionally specify the number of prior bills to search when auto-filling line fields. This is only applicable when consolidation is disabled, lines are not copied from the prior bill and no PO is associated to the Vendor Bill. If not specified, the lookback is 5.
Body Fields
Reference No. (Invoice Number)
Vendor
Amount
Date
Purchase Order (If Applicable)
Additional body fields will auto-populate based on the Vendor and PO selected using native NetSuite functionality.
Item Line Fields
Item
Description
Quantity
Rate
Amount
Department
Class
Location
If a PO is selected on the body, additional fields will be populated depending on what has been entered on the PO line.
Expense Lines Fields
Category
Expense Account
Memo
Amount
Department
Class
Location
If a PO is selected on the body, additional fields will be populated depending on what has been entered on the PO line.
Note: In addition to the fields above, additional fields (body and line) can be added by using the Auto Fill Fields setting on the Invoice AI Advanced Settings page.
When a Vendor Bill is captured and no PO is associated, Invoice AI will auto-populate item or expense lines based on the lines extracted from the invoice document. The line type selected can be controlled using the Default Vendor Bill Line Type and Auto Select Bill Line Type settings. If the wrong types of lines are populated automatically, there’s a button shown under the other line type subtab to change line types.
If no Vendor Bills have been entered before for the selected Vendor & Subsidiary, the expense account selected (if entering expense lines) will be determined from the Vendor’s native Default Expense Account field. Once at least one Vendor Bill has been entered, the expense account / item will be determined automatically based on historical Vendor Bills for the selected Vendor & Subsidiary.
When the Associate Bills to Purchase Orders setting is enabled, the Vendor Bill form will show a drop down of all open POs associated to the selected Vendor. If the invoice document has a reference to a PO, the PO with the matching number will be auto-selected in the drop down.
If the Vendor Bill needs to be associated to a PO and a PO was not automatically selected, you can use the PO drop down to manually select the correct PO. Once a PO has been selected, the lines on the Vendor Bill will be populated based on open PO lines.
Blanket POs
If the PO selected is determined to be a blanket PO (PO has a single billable item line with a rate of 1) and the Invoice AI Advanced setting is enabled to support banket POs, the quantity on the item line will be set to the extracted invoice’s total (less tax if applicable).
Non-Blanket POs
If the Auto Match PO Lines setting is enabled, the following logic is used to auto-match the lines in the invoice document to the open lines from the PO:
All open lines copied from the PO to the Vendor Bill will default to a quantity/amount of 0.
The lines from the invoice document (extracted via Invoice AI) will be auto-matched to the Vendor Bill’s lines (based on item MPN, item name, item vendor name and PO line description). If a match is found, the quantity/amount extracted from the invoice document will be set accordingly on the Vendor Bill’s line.
For any lines on the Vendor Bill not matching to any lines on the invoice document, their quantity/amount remains set to 0. This allows the Vendor Bill to be saved without having to delete non-applicable lines. It also allows users to edit the line quantities/amounts after a Vendor Bill has been saved.
If the Auto Match PO Lines setting is disabled, the PO’s open lines will be copied to the Vendor Bill and will default to the quantity available to be billed (similar to pressing the native Bill button on a PO)
Enabled: Must be toggled on to be active. To delete a rule, toggle off.