IP Library Granted Patent US 10,318,901
Granted Patent B2
US 10,318,901 · App. 13/837,300 · Granted Jun 11, 2019

Systems and methods for business management using product data with product classes

Inventors: Arnold Bellini, III (Tampa, FL); Linda Brotherton (Tampa, FL); Robert Isaacs (Tampa, FL)
Assignee: Connectwise, LLC
G06Q10/06313
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 10,318,901
App. No.
13/837,300
Granted
Jun 11, 2019
Kind
B2
Abstract

Systems and methods of the present disclosure facilitate managing a business. In some embodiments, the system includes a product data module and a plurality of business process modules executing on at least one processor of a server. The product data module may be configured to store at least one product description. Responsive to a first user, the system may associate a product class with a first description. Responsive to a second user, the system may associate a first product description with a first of the business process modules. The system may be configured to select a second business process module based on the product class and update the second business process module with the first product description.

Claims (118)

1. A system to reduce data propagation errors between modules via a shared resource, comprising:

a first device comprising at least one processor and memory;

at least one additional device comprising at least one processor;

a product data module executed by the first device to manage a data structure, in the memory of the first device, configured with a labor class to describe services performed by an entity, a parts class to describe items to be purchased and delivered to a customer, and an agreements class to describe actions performed periodically for the customer;

the product data module executed by the first device to manage, in one or more line items of the data structure, a first product having a first product description and a product class corresponding to at least one of the labor class, the parts class or the agreements class, the product class indicating product association with one or more processing modules;

the first device interfacing with a first application interface program (API) to convey information between the product data module and a first external processing module executed by one or more additional devices, a second API to convey information between the product data module and a second external processing module executed by one or more additional devices, a third API to convey information between the product data module and a third external processing module executed by one or more additional devices, and a fourth API to convey information between the product data module and external databases, wherein each of the first external processing module, second external processing module, third external processing module, and external databases are configured to convey information between one another via a respective API that interfaces with the product data module to reduce a number of APIs used to communicate information and reduce data propagation errors;

a quoting module of a plurality of process modules executed by the first at least one additional device to:

retrieve, via an interface of the quoting module, from the data structure in memory managed by the product data module and communicatively coupled to the at least one processor, the one or more line items comprising the first product description of the first product managed by the product data module, the first product description including quoting information in a first format;

identify, based on the first product description, that the product class includes an agreements product;

select, from the plurality of process modules, based on the product class including the agreements product, an invoicing and collection module of the plurality of process modules configured to interface with the product data module;

transmit, to the invoicing and collection module, the first product description of the first product in the first format to enable the invoicing and collection module to create an invoice; and

the invoicing and collection module executed by the at least one additional device to:

create, responsive to receiving the first product description of the first product, the invoice;

access, via an interface of the invoicing and collection module, the data structure in memory managed by the product data module executed by the first device;

modify, via the interface of the invoicing and collection module, the one or more line items for the first product in the data structure in memory managed by the product data module executed by the first device with an updated product description including invoicing information from the invoice,

wherein the interface of the quoting module executed by one or more of the additional device(s) and the interface of the invoicing and collection module executed by one or more of the additional device(s) are both configured to reduce data propagation errors by accessing and updating the same one or more line items in the same data structure in memory managed by the product data module executed by the first device to cause the quoting module executed by one or more of the additional device(s) to synchronize with the invoicing and collection module executed by one or more of the additional device(s) such that the quoting information matches the invoicing information.

2. The system of claim 1 , wherein a second product class comprises a parts product and further comprises a product sub-class, and the at least one processor is further configured to:

identify, based on a second product description, a product sub-class for the parts product, the product sub-class including at least one of an inventory parts products and a non-inventory parts product.

3. The system of claim 1 , wherein:

the plurality of process modules comprise at least one of:

a sales management module;

a procurement module;

a delivery and setup module;

a project planning module;

an invoicing and collection module;

a payables module;

a contract management module;

a maintenance module;

a support module; and

a customer relationship management module.

4. The system of claim 1 , wherein:

the first product description includes the quoting information associated with the quote generated by the quoting module; and

invoicing and collection module generates a second product including a second product description, the second product including the invoice and the second product description including the invoicing information, wherein the quoting information matches the invoicing information.

5. The system of claim 1 , further comprising an application programming interface to an external process module, wherein the application programming interface is communicatively coupled to the product data module and the at least one processor is further configured to:

transmit, via the product data module to the external process module, a second product;

receive, from the external process module, an external product, the external product comprising an external product description;

select, based on a product class of the external product, a third process module of the plurality of process modules;

transmit, to the selected third process module, the external product description; and

control the third process module to execute a third process based on the external product description and external product class, the third process generating a third product description that substantially matches the external product description.

6. The system of claim 5 , wherein the external process module comprises at least one of:

an external sales management system;

an external quoting system;

an external accounting system; and

an external product database system.

7. The system of claim 1 , wherein the at least one processor is further configured to:

receive a first plurality of products, each of the first plurality of products comprising a product description;

store the first plurality of products in the product data module; and

obtain a second plurality of products from the product data module, the second plurality of products comprising at least a subset of the first plurality of products and further comprising the first product description.

8. The system of claim 7 , wherein the at least one processor is further configured to:

identify, based on the execution of the invoicing and collection module, a second product of the second plurality of products, the second product comprising a second product description;

identify, based on the second product description, a second product class, the second product class including at least one of a labor product, a parts product, and the agreements product;

select, based on the second product class, a third process module of the plurality of process modules, the third process module configured to interface with the product data module;

transmit, to the selected third process module, the second product description of the second product; and

control the third process module to execute a third process based on at least one of the second product description and the second product class.

9. The system of claim 8 , wherein the at least one processor is further configured to:

receive a user identifier corresponding to a user of the system;

set, responsive to a hiding policy, a hiding status for at least one product description of the second plurality of products;

generate a document based on the at least one product description associated with the third process module; and

omit, from the document, based on the hiding status, at least one of a price and a product number of a third product description generated by the third process module.

10. A method of reducing data propagation errors between modules via a shared resource, comprising:

managing, by a product data module executed by at least one processor of a first device, a data structure, in memory of the first device, configured with a labor class to describe services performed by an entity, a parts class to describe items to be purchased and delivered to a customer, and an agreements class to describe actions performed periodically for the customer;

storing, by the product data module executed by the first device, in one or more line items of the data structure in memory communicatively coupled to the at least one processor and managed by the product data module, a first product description of a first product having a product class corresponding to at least one of the labor class, the parts class or the agreements class, the first product description in a first format associated with at least one of a plurality of process modules, the product class indicating product association with one or more processing modules;

interfacing, by the first device, with a first application interface program (API) to convey information between the product data module and a first external processing module executed by one or more additional devices;

interfacing, by the first device, with a second API to convey information between the product data module and a second external processing module executed by one or more additional devices;

interfacing, by the first device, with a third API to convey information between the product data module and a third external processing module executed by one or more additional devices,

interfacing, by the first device, with a fourth API to convey information between the product data module and external databases, wherein each of the first external processing module, second external processing module, third external processing module, and external databases are configured to convey information between one another via a respective API that interfaces with the product data module to reduce a number of APIs used to communicate information and reduce data propagation errors;

retrieving, by a quoting module of the plurality of process modules executed by a second device, via an interface of the quoting module, the one or more line items comprising the first product description of the first product from the data structure in memory managed by the product data module, the first product description including quoting information in the first format;

identifying, by the quoting module executed by the second device, based on the first product description, a product class that includes an agreements product;

selecting, by the quoting module from the plurality of process modules, based on the product class including the agreements product, an invoicing and collection module of the plurality of process modules, the invoicing and collection module configured to interface with the product data module;

transmitting, by the quoting module to the invoicing and collection module executed by the second device, the first product description of the first product in the first format to enable the invoicing and collection module to create an invoice;

creating, by the invoicing and collection module executed by the second device serve responsive to receiving the first product description of the first product, the invoice;

accessing, via an interface of the invoicing and collection module executed by the second device, the data structure in memory managed by the product data module; and

modifying, by the invoicing and collection module via the interface of the invoicing and collection module, the one or more line items for the first product in the data structure in memory managed by the product data module with an updated product description including invoicing information from the invoice,

wherein the interface of the quoting module executed by the second device and the interface of the invoicing and collection module executed by the second device are both configured to reduce data propagation errors by accessing and updating the same one or more line items in the same data structure in memory managed by the product data module executed by the first server to cause the quoting module to synchronize with the invoicing and collection module such that the quoting information matches the invoicing information.

11. The method of claim 10 , wherein a second product class comprises a parts product and further comprises a product sub-class, and the method further comprises:

identifying, based on a second product description, a product sub-class for the parts product, the product sub-class including at least one of an inventory parts products and a non-inventory parts product.

12. The method of claim 10 , wherein:

the plurality of process modules comprise at least one of:

a sales management module;

a procurement module;

a delivery and setup module;

a project planning module;

an invoicing and collection module;

a payables module;

a contract management module;

a maintenance module;

a support module; and

a customer relationship management module.

13. The method of claim 10 , wherein:

the first product description includes the quoting information associated with the quote generated by the quoting module; and

the invoicing and collection module generates a second product including a second product description, the second product including the invoice and the second product description including the invoicing information,

wherein the quoting information matches the invoicing information.

14. The method of claim 10 , further comprising:

transmitting, via an application programming interface communicatively coupled to the product data module and an external process module, the first product updated with the invoice;

receiving, from the external process module, an external product, the external product comprising an external product description;

selecting, based on a product class of the external product, a third process module of the plurality of process modules;

transmitting, to the selected third process module, the external product description; and

controlling the third process module to execute a third process based on the external product description and external product class, the third process generating a third product description that substantially matches the external product description.

15. The method of claim 14 , wherein the external process module comprises at least one of:

an external sales management method;

an external quoting system;

an external accounting method; and

an external product database method.

16. The method of claim 10 , further comprising:

receiving a first plurality of products, each of the first plurality of products comprising a product description;

storing the first plurality of products in the product data module; and

obtaining a second plurality of products from the product data module, the second plurality of products comprising at least a subset of the first plurality of products and further comprising the first product description.

17. The method of claim 16 , further comprising:

identifying, based on the execution of the invoicing and collection module, a second product of the second plurality of products, the second product comprising a second product description;

identifying, based on the second product description, a second product class, the second product class including at least one of a labor product, a parts product, and the agreements product;

selecting, based on the second product class, a third process module of the plurality of process modules, the third process module configured to interface with the product data module;

transmitting, to the selected third process module, the second product description of the second product; and

controlling the third process module to execute a third process based on at least one of the second product description and the second product class.

18. The method of claim 17 , further comprising:

receiving a user identifier corresponding to a user of the method;

setting, responsive to a hiding policy, a hiding status for at least one product description of the second plurality of products;

generating a document based on the at least one product description associated with the third process module; and

omitting, from the document, based on the hiding status, at least one of a price and a product number of a third product description generated by the third process module.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded Oct 6, 2021
From: OWL ROCK CAPITAL CORPORATION
To: CONNECTWISE, LLC; CONTINUUM MANAGED SERVICES HOLDCO, LLC
Reel/Frame 057718/0617 →
SECURITY INTEREST Recorded Oct 5, 2021
From: CONNECTWISE, LLC; DIPPELL & ASSOCIATES, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 057771/0004 →
SECURITY INTEREST Recorded Mar 5, 2019
From: CONNECTWISE, LLC
To: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 048509/0936 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 037190/0351 Recorded Feb 28, 2019
From: JPMORGAN CHASE BANK, N.A.
To: CONNECTWISE, INC. (SUCCESSOR-BY-MERGER WITH CONNECTWISE.COM, INC.)
Reel/Frame 048477/0819 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 037701/0825 Recorded Feb 28, 2019
From: JPMORGAN CHASE BANK, N.A.
To: CONNECTWISE, INC. (SUCCESSOR-BY-MERGER WITH CONNECTWISE.COM, INC.)
Reel/Frame 048477/0897 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 037701/0764 Recorded Feb 28, 2019
From: JPMORGAN CHASE BANK, N.A.
To: CONNECTWISE, INC. (SUCCESSOR-BY-MERGER WITH CONNECTWISE.COM, INC.)
Reel/Frame 048478/0019 →
CERTIFICATE OF CONVERSION Recorded Feb 26, 2019
From: CONNECTWISE, INC.
To: CONNECTWISE, LLC
Reel/Frame 048447/0076 →
MERGER AND CHANGE OF NAME Recorded Jan 6, 2016
From: CONNECTWISE.COM, INC.; CONNECTWISE, INC.
To: CONNECTWISE, INC.
Reel/Frame 037419/0221 →
SECURITY INTEREST Recorded Dec 2, 2015
From: CONNECTWISE.COM, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 037190/0351 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2015
From: CONNECTWISE IT, INC.
To: CONNECTWISE.COM, INC.
Reel/Frame 036765/0001 →
CHANGE OF NAME Recorded Sep 28, 2015
From: CONNECTWISE, INC.
To: CONNECTWISE IT, INC.
Reel/Frame 036699/0953 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2013
From: BELLINI, ARNOLD, III; BROTHERTON, LINDA; ISAACS, ROBERT
To: CONNECTWISE INC.
Reel/Frame 030790/0096 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2013
From: BELLINI, ARNOLD, III; BROTHERTON, LINDA; ISAACS, ROBERT
To: CONNECTWISE
Reel/Frame 030115/0010 →
Continuity (1)
Related Publication 20140278694A1 · Sep 18, 2014