OCR and Invoice Scanning
Scan invoices using Squareworks' classic OCR (Optical Character Recognition) technology
Last updated
Was this helpful?
Scan invoices using Squareworks' classic OCR (Optical Character Recognition) technology
Last updated
Was this helpful?
This guide refers to the older OCR and Invoice Scanning feature. Customers on our latest SuiteApp should refer to the newer Invoice AI guide.
The OCR and Invoice Scanning feature is available as a NetSuite Bundle that can be downloaded and installed in your NetSuite environment after a license has been purchased.
Log into your NetSuite account with the Administrator role
Navigate to Customization > SuiteBundler > Search & Install Bundles
Search for the keyword 340110
Click on the bundle name (SQW Automate: OCR and Invoice Scanning)
Press Install
On the Preview Bundle Install screen, press Install Bundle
You will be redirected to a list of installed bundles in your account. Wait for the bundle to install. Once installed, you will see a green check mark in the status column.
Go to Customization > Plug-ins > Manage Plug-ins. Enable “SquareWorks: ABM Email Upload” if you would like to allow employees to email invoices into NetSuite.
Configuration of Advanced Bill Management will be handled for you by SquareWorks Consulting. Administrators in your NetSuite account can view configuration settings in the Setup > Advanced Bill Management menu.
Settings
OCR Enabled: Indicate if you would like to enable SquareWorks’ OCR services.
OCR Monthly Limit: Enter the maximum number of invoices to process using OCR within a month. Once this limit is reached, 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 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.
Beta Features
Invoice Details Confirmation Screen: When enabled, this feature allows for missing invoice details to be collected before creating a vendor bill. Supported fields are vendor, subsidiary, and purchase order:
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 ABM Documents in the root of your File Cabinet.
Enable Performance Logging: When enabled, ABM will log performance metrics to NetSuite script logs. This should not be enabled unless troubleshooting performance issues.
Invoice Queue Search: Defines the search used by the Invoice Queue. The search can be customized during an implementation (e.g. change filter logic, add columns)
Disable Redirect on Creation: When enabled, ABM 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.
SquareWorks OCR Host: The host name used to scan OCR documents. This will default to netsuite.app.squareworks.com and should not be changed.
SquareWorks OCR API Token: Enter the API token provided by SquareWorks to use OCR services. Once saved, this cannot be retrieved.
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, the trandate will default to today's date.
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 Invoice Queue.
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.
If there are use cases that require overriding default functionality, rules can be added to NetSuite. Rules can be added by going to Lists > ABM > Rules or by clicking on the Create Rule button when viewing a document in the invoice queue. Using the Create Rule button on the invoice document has the added benefit of pre-populating common conditions and giving visibility into the text extracted from a PDF document – this is useful when trying to add 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 OCR extraction. You can view the OCR extracted text of a document by going to the Invoice Queue, clicking on the document name, pressing the Create Rule button, and then clicking on the View Invoice Text button.
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:
Match All (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)
Match Any (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 queue. This subsidiary will be used by default when creating a bill.
Assign Vendor: Assign a specific vendor to the document in the queue. This vendor will be used by default when creating a bill.
Assign Queue Owner: Assign a specific owner (employee) to the document in the queue.
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 (will not consume usage) by still show the document in the invoice queue.
Remove From Queue: Automatically remove the document from the invoice queue. If OCR 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 queue (instead of defaulting to the uploader as the owner)
There is custom information you would like to extract from the document and use as part of your business process when creating bills.
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 ABM Settings page.
When a Vendor Bill is captured and no PO is associated, Advanced Bill Management 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 ABM 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 OCR) 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)