Patent ID: 8660931

Claim:
In a computer system, a method to automatically generate invoices, comprising: selecting a plurality of pre-existing contracts, using a processor of the computer system, wherein the plurality of pre-existing contracts comprise a plurality of pre-existing contract line items; adding user-defined plurality of contract line items to the plurality of pre-existing contracts; editing of the plurality of pre-existing contract line items to change the terms of at least one contract among the plurality of pre-existing contracts; for each of the plurality of pre-existing contracts, identifying a plurality of pre-existing contract line items to be automatically invoiced, wherein each of the pre-existing contract line items relates to a respective sale of a product or service; for one of the pre-existing contract line items to be automatically invoiced, calculating first and second billing amounts, wherein the first billing amount is calculated as a recurring charge (RC) for the product or service that is related to the one pre-existing contract line item, and the second billing amount is calculated as a non-recurring charge (NRC) for the product or service that is related to the one pre-existing contract line item; and generating, using the processor, a plurality of invoices for the plurality of pre-existing contracts, respectively, at least one of the invoices comprising the first and second billing amounts, wherein the generating the plurality of invoices further comprises generating the plurality of invoices according to a pre-defined invoice plan, the pre-defined invoice plan defines parameters for generating invoices for contract line items, and the parameters comprise invoice start, invoice end, invoice scheduling, invoice timing, invoice type, invoice status, invoice basis, last invoiced, advance to, use start, use plan, non-recurring start, non-recurring schedule, non-recurring plan, non-recurring quantity, recurring, recurring start, recurring schedule, recurring adjust, recurring adjust granularity, adjust invoice, adjust reason, cancel, cancel reason, or auto invoice.