IP Library Granted Patent US 12664316
Granted Patent B1
US 12664316 · App. 18/067,511 · Granted Jun 23, 2026

Domain-rule-based validation and use of trusted documents by Online Software Platform (OSP)

Inventors: Dhawal Shah (Chennai, IN); Jeremy Martinez (Seattle, WA); Shubham Kanodia (Chennai, IN); Matild Reema (Chennai, IN); Rajesh Muppalla (Chennai, IN); Nick Brown (Durham, NC); Greg Penhaligon (Durham, NC); Abhineythri Venkataraman (Chennai, IN); Brandon Potter (Redmond, WA); Scott Seely (Galesville, WI); Gregory T. Kavounas (Bellevue, WA)
Assignee: Avalara, Inc.
G06F21/64G06F3/0484G06F16/93G06F40/226G06V30/19G06V30/32G06V30/412
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12664316
App. No.
18/067,511
Granted
Jun 23, 2026
Kind
B1
Abstract

An Online Software Platform (OSP) is configured to receive an upload trusted document, input text segments of it, identify from the trusted document a set of requirements for the trusted document, confirm that the requirements are met, and therefore cause to be created a trusted document record that can be used to process a dataset that is received via a network later. The dataset has dataset values that can be used to select a subset of stored digital resource rules. The subset includes a main rule and an override rule, and it can be determined from the trusted document record whether the override rule applies or not. If so, a resource having a value of zero is reported. Else, a resource having a non-zero value is produced by applying the main rule to at least one of the dataset values, and is reported.

Claims (82)

1 . A computer system for including at least:

one or more processors; and

a non-transitory computer-readable storage medium having stored thereon instructions which, when executed by the one or more processors, are designed to result in operations performed by an online software platform (OSP) including at least:

receiving, by an upload to the computer system, a trusted document, the trusted document being a computer file that stores versions of writings, a content of at least one of the writings being associated with a primary entity;

inputting, by the computer system, text segments that have been extracted from the versions of the writings of the trusted document;

storing, by the computer system in a database, known document types and associations between each of the known document types and a corresponding set of requirements;

comparing, by the computer system, the trusted document to the stored known document types by comparing a particular image of at least a portion of the trusted document to respective images of at least portions of each of the stored known document types;

determining, by the computer system based on the comparing, that a certain document type from the stored known document types matches the trusted document above a confidence threshold;

responsive to determining that the certain document type matches the trusted document above the confidence threshold, selecting, by the computer system based on accessing the database, the set of requirements that is associated with the certain document type to be a set of requirements for the trusted document, the set of requirements for the trusted document including a requirement that the received trusted document must include certain required values;

confirming, by the computer system, that at least some of the extracted text segments are indeed the certain required values;

causing, by the computer system and responsive to so confirming, a trusted document record to be created about the trusted document, the trusted document record created from at least some of the extracted text segments that are indeed the required values;

then receiving, by the computer system from a remote device via a network, a dataset having dataset values, at least one of the dataset values associated with the primary entity;

accessing, by the computer system, stored digital resource rules;

selecting, by the computer system and responsive to one or more of the dataset values, a subset of the digital resource rules that includes a main rule and an override rule;

determining, by the computer system and from the trusted document record, whether the override rule applies or not;

producing, by the computer system and responsive to determining that the override rule applies, a resource having a value of zero;

producing, by the computer system and responsive to determining that the override rule does not apply, a resource having a non-zero value by applying the main rule to at least one of the dataset values; and

causing, by the computer system, a notification to be transmitted about an aspect of the resource to one of an output device and another device.

2 . The computer system of claim 1 , in which:

the other device is the remote device.

3 . The computer system of claim 1 , in which:

the at least one of the dataset values is a numerical base value, and

applying the main rule includes multiplying the numerical base value with a number indicated by the main rule.

4 . The computer system of claim 1 , in which the operations further include:

extracting, by the computer system, at least some of the text segments from the versions of the writings of the trusted document prior to the inputting of the text segments.

5 . The computer system of claim 4 , in which:

the extracting is performed by applying an optical character recognition (OCR) process to the trusted document.

6 . The computer system of claim 1 , in which:

the set of requirements for the trusted document defines certain content fields, and

the set of requirements for the trusted document further includes a requirement that the certain required values satisfy the certain content fields.

7 . The computer system of claim 6 , in which the operations further include:

characterizing, by the computer system, at least some of the text segments as actual values, and

in which the requirement is satisfied by at least some of the actual values being the certain required values.

8 . The computer system of claim 1 , in which:

one of the text segments, which is confirmed to be indeed one of the certain required values, is a document type.

9 . The computer system of claim 1 , in which:

one of the text segments, which is confirmed to be indeed one of the certain required values, is a domain of the primary entity.

10 . The computer system of claim 1 , in which:

one of the text segments, which is confirmed to be indeed one of the certain required values, is a document number of the trusted document.

11 . The computer system of claim 1 , in which:

one of the text segments, which is confirmed to be indeed one of the certain required values, is a name of the primary entity.

12 . The computer system of claim 1 , in which:

one of the text segments, which is confirmed to be indeed one of the certain required values, is an address of the primary entity.

13 . The computer system of claim 1 , in which:

one of the text segments, which is confirmed to be indeed one of the certain required values, is an invoked justification for the trusted document.

14 . The computer system of claim 1 , in which:

one of the text segments, which is confirmed to be indeed one of the certain required values, is an expiration date of the trusted document.

15 . The computer system of claim 1 , in which:

one of the text segments, which is confirmed to be indeed one of the certain required values, is an electronic signature of an agent of the primary entity.

16 . The computer system of claim 1 , in which the operations further include:

causing, by the computer system, one of the text segments to be presented via a User Interface (UI); and

receiving, by the computer system, a confirmation input responsive to causing the one of the text segments to be presented.

17 . The computer system of claim 1 , in which:

the trusted document record indicating that the trusted document has been stored in a memory.

18 . The computer system of claim 1 , in which the operations further include:

conducting, by the computer system, an attempt to extract a certain one of the text segments from a certain one of the versions of the writings of the trusted document;

evaluating, by the computer system, that a result of the attempt does not meet an extraction confidence threshold (ECT);

causing, by the computer system and responsive to the result not meeting the ECT, a correction query to be presented via a User Interface (UI); and

receiving, by the computer system and responsive to the correction query, a corrected value, and

in which the confirming includes ascertaining that the received corrected value is indeed one of the certain required values.

19 . The computer system of claim 18 , in which:

the trusted document record is created also from the corrected value.

20 . The computer system of claim 1 , in which the operations further include:

ascertaining that at least one of the extracted segments also meets a preset validity criterion, and

in which the trusted document record is caused to be created responsive also to so ascertaining.

21 . The computer system of claim 1 , in which the operations further include:

deciding, by the computer system, that the trusted document does not include a text segment that satisfies a certain one of required content fields; and

causing, by the computer system and responsive to so deciding, a compliance error message to be presented in a User Interface (UI).

22 . The computer system of claim 1 , in which:

the trusted document is further compared to the stored known document types by comparing one or more of the inputted text segments to one or more of stored text segments previously extracted from the stored known document types.

23 . The computer system of claim 1 , in which the operations further include:

characterizing, by the computer system, at least one of the text segments as a value for a domain field of the trusted document, and

in which the trusted document is further compared to the stored known document types by comparing the value for a domain field to a stored text segment previously extracted from the stored known document types.

24 . The computer system of claim 1 , in which:

if the comparison indicates that none of the stored known document types matches the trusted document above the confidence threshold, then the trusted document is stored as an additional document type.

25 . The computer system of claim 1 , in which:

the sets of trusted document requirements corresponding to the stored known document types are stored as records in a database, and

the set of requirements for the trusted document is identified by using the one or more of the inputted text segments to search the database for sets of trusted document requirements.

26 . The computer system of claim 1 , in which the operations further include:

characterizing, by the computer system, at least one of the text segments as one or more values for domain fields of the trusted document, and

in which the sets of trusted document requirements corresponding to the stored known document types are stored as records in a database, and

the set of requirements for the trusted document is identified by using the one or more of the values for domain fields to search the database for sets of trusted document requirements.