Technique for integrating electronic accounting systems with an electronic payment system
First Claim
1. A method for paying bills electronically using data generated by any of multiple accounting software packages, the data generated by each of the multiple accounting software packages having a different structure, comprising the steps of:
- storing respective rules associated with each of the multiple accounting software packages;
receiving structured data including data corresponding to a payee name, a payee address, an invoice number and an invoice amount generated by one of the multiple accounting software packages;
extracting the data corresponding to the payee name, the payee address, the invoice number and the invoice amount from the received structured data by applying only the respective rules associated with the one accounting software package;
mapping the extracted data such that the extracted data corresponding to the payee name is identified as first type data, the extracted data corresponding to the payee address is identified as second type data, the extracted data corresponding to the invoice number is identified as third type data, and the extracted data corresponding to the invoice amount is identified as fourth type data;
storing a representation of the extracted data corresponding to the payee name in a database at a first location based upon such data being identified as the first type data, storing a representation of the extracted data corresponding to the payee address in the database at a second location based upon such data being identified as the second type data, storing a representation of the extracted data corresponding to the invoice number in the database at a third location based upon such data being identified as the third type data, and storing a representation of the extracted data corresponding to the invoice amount in the database at a location based upon such data being identified as the fourth type data; and
reading representations of the extracted data from the database and processing the read data to electronically process payment of the invoice amount.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique is provided for paying bills electronically using data generated by any of multiple accounting software packages. The data generated by each accounting software package has a different structure. Respective rules associated with each accounting software package are stored. Structured data including data corresponding to a payee name, a payee address, an invoice number and an invoice amount generated by one of the accounting software packages is received. The data corresponding to the payee name, the payee address, the invoice number and the invoice amount is extracted from the received structured data by applying only the respective rules associated with the applicable accounting software package. The extracted data is mapped such that the extracted data corresponding to the payee name is identified as first type data, the extracted data corresponding to the payee address is identified as second type data, the extracted data corresponding to the invoice number is identified as third type data, and the extracted data corresponding to the invoice amount is identified as fourth type data. Representations of the extracted data corresponding to the payee name, the payee address, the invoice number, and the invoice amount are stored in a database at first, second, third and fourth locations, respectively, based upon the identified type of the particular data. The representations of the extracted data are read from the database and processed to electronically process payment of the invoice amount.
317 Citations
26 Claims
-
1. A method for paying bills electronically using data generated by any of multiple accounting software packages, the data generated by each of the multiple accounting software packages having a different structure, comprising the steps of:
-
storing respective rules associated with each of the multiple accounting software packages;
receiving structured data including data corresponding to a payee name, a payee address, an invoice number and an invoice amount generated by one of the multiple accounting software packages;
extracting the data corresponding to the payee name, the payee address, the invoice number and the invoice amount from the received structured data by applying only the respective rules associated with the one accounting software package;
mapping the extracted data such that the extracted data corresponding to the payee name is identified as first type data, the extracted data corresponding to the payee address is identified as second type data, the extracted data corresponding to the invoice number is identified as third type data, and the extracted data corresponding to the invoice amount is identified as fourth type data;
storing a representation of the extracted data corresponding to the payee name in a database at a first location based upon such data being identified as the first type data, storing a representation of the extracted data corresponding to the payee address in the database at a second location based upon such data being identified as the second type data, storing a representation of the extracted data corresponding to the invoice number in the database at a third location based upon such data being identified as the third type data, and storing a representation of the extracted data corresponding to the invoice amount in the database at a location based upon such data being identified as the fourth type data; and
reading representations of the extracted data from the database and processing the read data to electronically process payment of the invoice amount. - View Dependent Claims (2, 3, 4, 5, 6, 7)
directing the structured data to a virtual printer;
wherein the received structured data is the structured data directed to the virtual printer.
-
-
3. A method according to claim 1, wherein:
the respective rules associated with each of the multiple accounting software packages identify data locations of the data corresponding to the payee name, the payee address, the invoice number and the invoice amount in the received structured data generated by the associated accounting software package.
-
4. A method according to claim 3, wherein:
the data locations are identified by X-Y coordinates defining areas in which the data corresponding to the payee name, the payee address, the invoice number and the invoice amount are to appear on a document printed in accordance with the structured data.
-
5. A method according to claim 1, wherein the representation of the extracted data corresponding to the payee name is stored in the database at the first location as a reduced character representation of the extracted data identified as first type data.
-
6. A method according to claim 1, wherein the representation of the extracted data corresponding to the payee address is stored in the database at the second location as a reduced character representation of the extracted data identified as second type data.
-
7. A method according to claim 1, further comprising the steps of:
-
storing a plurality of digital signatures, each corresponding to a different payee name and address;
forming a digital signature using the extracted data identified as first type data and the extracted data identified as second type data;
determining if the formed digital signature matches one of the stored pluralities of digital signatures;
storing the formed digital signature as part of the stored plurality of digital signatures if no match is determined; and
storing a reduced character representation of one of the extracted data identified as first type data and the extracted data identified as second type data in association with the stored digital signature;
wherein one of the representation of the extracted data corresponding to the payee name stored in the database at the first location and the representation of the extracted data corresponding to the payee address stored in the database at the second location is the reduced character representation.
-
-
8. A system for paying bills electronically, comprising:
-
a first client memory configured to store respective rules associated with each of first and second programmed accounting instructions;
a second client memory configured to store the respective rules associated with each of the first and the second programmed accounting instructions;
a first client processor configured (i) to generate first data having a first structure, including data corresponding to a payee name, a payee address, a first invoice number and a first invoice amount, in accordance with the first programmed accounting instructions, (ii) to retrieve from the first client memory the respective rules associated with the first programmed accounting instructions, (iii) to extract the data corresponding to the payee name, the payee address, the first invoice number and the first invoice amount from the structured first data by applying the retrieved rules associated with the first programmed accounting instructions, (iv) to map the extracted data such that the extracted data corresponding to the payee name is identified as first type data, the extracted data corresponding to the payee address is identified as second type data, the extracted data corresponding to the first invoice number is identified as third type data, and the extracted data corresponding to the first invoice amount is identified as fourth type data, and (v) to direct storage of a representation of the extracted data corresponding to the payee name in a first database at a first location based upon such data being identified as the first type data, of a representation of the extracted data corresponding to the payee address in the first database at a second location based upon such data being identified as the second type data, of a representation of the extracted data corresponding to the first invoice number in the first database at a third location based upon such data being identified as the third type data, and of a representation of the extracted data corresponding to the first invoice amount in the first database at a fourth location based upon such data being identified as the fourth type data;
a second client processor configured (i) to generate second data having a second structure different than the first structure, including data corresponding to the payee name, the payee address, a second invoice number and a second invoice amount, in accordance with the second programmed accounting instructions, the second structure being different than the first structure, (ii) to retrieve from the second client memory the respective rules associated with the second programmed accounting instructions, (iii) to extract the data corresponding to the payee name, the payee address, the second invoice number and the second invoice amount from the second data by applying the retrieved rules associated with the second programmed accounting instructions, (iv) to map the extracted data such that the extracted data corresponding to the payee name is identified as the first type data, the extracted data corresponding to the payee address is identified as the second type data, the extracted data corresponding to the second invoice number is identified as the third type data, and the extracted data corresponding to the second invoice amount is identified as the fourth type data, and (v) to direct storage of a representation of the extracted data corresponding to the payee name in a second database at the first location based upon such data being identified as the first type data, of a representation of the extracted data corresponding to the payee address in the second database at the second location based upon such data being identified as the second type data, of a representation of the extracted data corresponding to the second invoice number in the second database at the third location based upon such data being identified as the third type data, and of a representation of the extracted data corresponding to the second invoice amount in the database at the fourth location based upon such data being identified as the fourth type data; and
a bill payment processor configured to (i) read the representations of the extracted data at the first, the second, the third and the fourth locations in the first database and the representations of the extracted data at the first, the second, the third and the fourth locations in the second database and (ii) to process the read data to electronically process a single payment which includes the first and the second invoice amounts. - View Dependent Claims (9, 10, 11, 12, 13)
a first user input device interconnected to the first client processor and configured to receive a user printer selection of one of a first real printer and a first virtual printer; and
a second user input device interconnected to the second client processor and configured to receive a user printer selection of one of a second real printer and a second virtual printer;
wherein the first client processor extracts the data, maps the extracted data, and directs the storage of the representation of the extracted data responsive to selection of the first virtual printer being received by the first user input device;
wherein the second client processor extracts the data, maps the extracted data, and directs the storage of the representation of the extracted data responsive to selection of the second virtual printer being received by the second user input device.
-
-
10. A system according to claim 8, wherein:
the respective rules associated with the first programmed accounting instructions identify first data locations of the data corresponding to the payee name, the payee address, the first invoice number and the first invoice amount in the first data and the respective rules associated with the second programmed accounting instructions identify second data locations of the data corresponding to the payee name, the payee address, the second invoice number and the second invoice amount in the second data.
-
11. A system according to claim 10, wherein:
-
the first data locations are identified by X-Y coordinates of the data corresponding to the payee name, the payee address, the first invoice number and the first invoice amount as the data are to appear on a document printed in accordance with the first data; and
the second locations are identified by X-Y coordinates of the data corresponding to the payee name, the payee address, the second invoice number and the second invoice amount as the data are to appear on a document printed in accordance with the second data.
-
-
12. A system according to claim 8, wherein at least one of the representation of the extracted data corresponding to the payee name stored in the first database at the first location is a reduced character representation of the extracted data identified as first type data and the representation of the extracted data corresponding to the payee address stored in the first database at the second location is a reduced character representation of the extracted data identified as second type data.
-
13. A system according to claim 8, wherein:
-
the first client memory is further configured to store a plurality of digital signatures, each corresponding to a different payee name and address;
the first client processor is further configured to form a digital signature using the extracted data identified as first type data and the extracted data identified as second type data, to determine if the formed digital signature matches one of the stored plurality of digital signatures, to store the formed digital signature as part of the stored plurality of digital signatures if no match is determined, and to store a reduced character representation of at least one of the extracted data identified as first type data and the extracted data identified as second type data in association with the digital signature.
-
-
14. A system for paying a bill electronically, comprising:
-
memory configured to store (i) one of first programmed accounting instructions and second programmed accounting instructions, (ii) programmed mapping instruction including respective rules associated with each of the first and the second programmed accounting instructions, and (iii) programmed import instructions; and
a processor configured to;
generate structured data for making payment on a bill, including data corresponding to a payee name, a payee address, a invoice number and a invoice amount, in accordance with the stored programmed accounting instructions, extract the data corresponding to the payee name, the payee address, the invoice number and the invoice amount from the structured data, in accordance with the programmed mapping instruction, by applying the stored respective rules associated with the stored programmed accounting instructions, store, in a database, a representation of the extracted data corresponding to the payee name at a first location, a representation of the extracted data corresponding to the payee address at a second location, a representation of the extracted data corresponding to the invoice number at a third location, and a representation of the extracted data corresponding to the invoice amount at a fourth location, in accordance with the programmed import instructions, and transmit the database to another processor for processing of the representations of the extracted data to electronically pay the bill. - View Dependent Claims (15, 16, 17, 18, 19, 20)
the processor is further configured to map the extracted data, in accordance with the programmed mapping instructions, such that the extracted data corresponding to the payee name is identified as first type data, the extracted data corresponding to the payee address is identified as second type data, the extracted data corresponding to the invoice number is identified as third type data, and the extracted data corresponding to the invoice amount is identified as fourth type data, and to store, in accordance with the programmed import instructions, each of the representations of the extracted data at a respective one of the locations in the database based upon the identification of that extracted data as a particular type of data.
-
-
16. A system according to claim 14, wherein the processor is further configured to:
-
receive a command representing a selection of one of a first printer option for performing a print function and a second printer option for performing an electronic bill processing function; and
to extract the data, store the extracted data in the database and transmit the database only if the received command represents the selection of the second printer option.
-
-
17. A system according to claim 16, further comprising:
-
a user input device for inputting the command; and
a printer operable to perform the print function;
wherein the processor is further configured to transmit the generated structured data to the printer if the received command represents the selection of the first printer option and the printer operates to perform the print function responsive to the transmission of the generated structured data by printing a check to pay the bill.
-
-
18. A system according to claim 14, wherein:
the rules associated with the first programmed accounting instructions identify locations of the data corresponding to the payee name, the payee address, the invoice number and the invoice amount in structured data generated in accordance with the first programmed accounting instructions and the rules associated with the second programmed accounting instructions identify locations of the data corresponding to the payee name, the payee address, the invoice number and the invoice amount in structured data generated in accordance with the second programmed accounting instructions.
-
19. A system according to claim 14, wherein:
at least one of the representation of the extracted data corresponding to the payee name stored in the database at the first location is a reduced character representation of the extracted data identified as first type data and the representation of the extracted data corresponding to the payee address stored in the database at the second location is a reduced character representation of the extracted data identified as second type data.
-
20. A system according to claim 14, wherein:
-
the memory is further configured to store a plurality of digital signatures each corresponding to a different payee name and address;
the processor is further configured to form a digital signature using the extracted data corresponding to the payee name and the extracted data corresponding to the payee address, to determine if the formed digital signature matches one of the stored plurality of digital signatures, to store the formed digital signature as part of the stored plurality of digital signatures if no match is determined, and to store a reduced character representation of one of the extracted data corresponding to the payee name and the extracted data corresponding to the payee address in association with the stored digital signature.
-
-
21. An article of manufacture for paying a bill electronically, comprising:
-
a computer readable storage medium; and
computer programming stored on the medium and configured to be readable from the medium by a computer processor and thereby cause the processor to operate so as to;
receive data for making payment of a bill, including data corresponding to a payee name, a payee address, an invoice number and an invoice amount, the received data having one of a first data structure and a second data structure different than the first data structure;
select from rules associated with the first data structure and the second data structure, the rules associated with the one data structure;
extract the data corresponding to the payee name, the payee address, the invoice number and the invoice amount from the received data by applying the selected rules;
map the extracted data such that the extracted data corresponding to the payee name is identified as first type data, the extracted data corresponding to the payee address is identified as second type data, the extracted data corresponding to the invoice number is identified as third type data, and the extracted data corresponding to the invoice amount is identified as fourth type data;
generate a database having a representation of the extracted data corresponding to the payee name, a representation of the extracted data corresponding to the payee address, a representation of the extracted data corresponding to the invoice number, and a representation of the extracted data corresponding to the invoice amount at predetermined locations within the database; and
transmit the database for processing of the representations of the extracted data to electronically pay the bill;
wherein the database is generated such that each of the representations of the extracted data is at a respective predetermined location in the database based upon the identification of that extracted data as a particular type of data. - View Dependent Claims (22, 23, 24, 25, 26)
receive a command representing a selection of one of a first printer option for performing a print function and a second printer option for performing an electronic bill processing function; and
extract the data, select from the rules, generate the database and transmit the database only if the received command represents the selection of the second printer option.
-
-
23. An article of manufacture according to claim 22, wherein the computer programming is further configured to cause the processor to operate so as to:
transmit the generated data for printing of the generated data to pay the bill if the received command represents the selection of the first printer option.
-
24. An article of manufacture according to claim 21, wherein:
-
the computer programming is further configured to cause the processor to operate so as to generate a reduced character representation of the extracted data corresponding to the payee name; and
the representation of the extracted data corresponding to the payee name in the database is the reduced character representation.
-
-
25. An article of manufacture according to claim 21, wherein:
-
the computer programming is further configured to cause the processor to operate so as to generate a reduced character representation of the extracted data corresponding to the payee address; and
the representation of the extracted data corresponding to the payee address in the database is the reduced character representation.
-
-
26. An article of manufacture according to claim 21, wherein:
- the computer programming is further configured to cause the processor to operate so as to;
generate a digital signature using the extracted data corresponding to the payee name and the extracted data corresponding to the payee address;
determine if the generated digital signature matches one of a plurality of stored generated digital signatures;
if no match is determined, generate a reduced character representation of one of the extracted data corresponding to the payee name and the extracted data corresponding to the payee address, and store the generated digital signature in association with the reduced character representation, as part of the plurality of stored digital signatures.
- the computer programming is further configured to cause the processor to operate so as to;
Specification