Invoice adjustment data object for a common data object format

Information

  • Patent Grant
  • 8392298
  • Patent Number
    8,392,298
  • Date Filed
    Thursday, October 16, 2003
    20 years ago
  • Date Issued
    Tuesday, March 5, 2013
    11 years ago
Abstract
Embodiments of the invention provide methods and data structures for the effective and efficient synchronization or inter-exchange of invoice adjustment information between business applications employing disparate DOFs. For one embodiment, a DOF is provided that allows for relationships between entities, also referred to as invoice adjustments, to be modeled as attributes of an entity and for customization of the DOF in a manner that facilitates upgrading of the DOF. For one embodiment, the invoice adjustment DOF is provided in a common software language such as XML. For one embodiment, invoice adjustment information from each of several business applications is translated to a common DOF. The invoice adjustment information, in the common DOF, is then inter-exchanged among the several business applications. Each application has only to translate the invoice adjustment information from the common DOF to the application-specific DOF of the respective business application.
Description
FIELD

Embodiments of the invention relate generally to computer software applications, and more specifically to common data object formats for such applications.


BACKGROUND

Various business entities, such as companies, store information electronically in furtherance of their business needs. These companies may have extensive databases of information that include customer tables, supplier tables, employee tables, and so on. The structure of the database system (schema) and the data object format (DOF) of each database may be customized to help meet the business needs of the company. For example, an automotive manufacturer may organize information about its customers in a way that is very different from the way that an online bookstore may organize information about its customers. Even within a single company, that company may use many different application programs that employ very different schemas and DOFs. For example, a customer relationship management application program may use a DOF that is very different from the DOF used by an accounting program. The use of customized DOFs by a company and by applications within the company has the advantage that it allows information to be modeled in a way that is appropriate for the business needs of the company. Unfortunately, because of this diversity in the DOFs, it is not easy for the company to share its information with other companies or for applications to share their information.


The inter-exchange of information between applications of different business entities or even between different applications of the same business entity can be problematic due to the variation in DOFs between applications.


For example, a business entity may use a proprietary billing system. If the business entity decides to integrate a number of related applications from each of several software vendors, a translation mechanism may have to be created and implemented between the underlying billing system and each related application. This is because each application from a different software vendor may have a unique, or substantially different, DOF. Moreover, full integration of the multiple applications may require creation and implementation of a translation mechanism between each of the related applications as well.


A change in the underlying billing system may necessitate recreating and implementing such translation mechanisms.


Various attempts have been made to define standard data models so that information can be more easily shared between companies and applications. For example, the Open Applications Group has designed a standard data model that can be used by companies and applications when sharing information. A problem with such data models is that they did not provide effective ways to model relationships between various parties, such as a person or a company. In addition, if a company or an application developer wants to customize the standard data model, the customized data model may not be compatible with future upgrades of the standard data model. It would be desirable to have a data model that would more effectively model relationships and facilitate the upgrading of customizations of the data model.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 illustrates a process by which a common DOF for invoice adjustment information is implemented to effect the inter-exchange of invoice adjustment information between business applications employing disparate DOFs for invoice adjustment information in accordance with one embodiment of the invention;



FIG. 2 illustrates the interconnection between a plurality of various business system applications and a universal business application network to effect the inter-exchange of invoice adjustment information between the business applications in accordance with one embodiment of the invention;



FIG. 3 illustrates an exemplary architecture for a universal business application network in accordance with one embodiment of the invention;



FIGS. 4A-4G illustrate an exemplary data structure for a common DOF in accordance with one embodiment of the invention;



FIG. 5 illustrates a process by which custom data is added to an invoice adjustment class in accordance with one embodiment of the invention; and



FIG. 6 is a block diagram of an exemplary computer system that may be used to perform one or more of the operations in accordance with one embodiment of the invention.





DETAILED DESCRIPTION

Overview


Embodiments of the invention provide methods and data structures for the effective and efficient synchronization or inter-exchange of invoice adjustment information between business applications employing disparate DOFs. For one embodiment a DOF is provided that allows for relationships between entities, also referred to as invoice adjustments, to be modeled as attributes of an entity and for customization of the DOF in a manner that facilitates upgrading of the DOF. For one embodiment the invoice adjustment DOF is provided in a common software language (i.e., software specification). In one embodiment, the common DOF defines an invoice adjustment class that includes multiple data types and the relationships between the data types of the invoice adjustment class. The relationships may include basic elements of invoice adjustment DOFs from various business applications.


For one embodiment, a method is provided for efficient synchronization or inter-exchange of invoice adjustment information between business applications using different invoice adjustment DOFs. For such an embodiment, invoice adjustment information from each of several business applications is translated to a common DOF. The invoice adjustment information, in the common DOF, is then inter-exchanged among the several business applications. Each application has only to translate the invoice adjustment information from the common DOF to the application-specific DOF of the respective business application.


In the following description, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to obscure the understanding of this description.


Reference throughout the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearance of the phrases “in one embodiment” or “in an embodiment” in various places throughout the specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.


Moreover, inventive aspects lie in less than all features of a single disclosed embodiment. Thus, the claims following the Detailed Description are hereby expressly incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment of this invention.


Process



FIG. 1 illustrates a process by which a common DOF for invoice adjustment information is implemented to effect the inter-exchange of invoice adjustment information between business applications employing disparate DOFs for invoice adjustment information in accordance with one embodiment of the invention. Process 100, shown in FIG. 1, begins at operation 105 in which a base set of essential elements to describe invoice adjustment information is determined. For example, for one embodiment the essential elements may be determined to include a common identification object, to allow unique identification of information exchanged between applications; invoice adjustment base data; billing data; status data; and list of invoice adjustment line item details consisting all the detail information of an invoice adjustment. For one embodiment, essential elements may be determined so as to achieve a specified level of compatibility with the DOFs of various extant business applications.


At operation 110 a common DOF for the invoice adjustment information is created. For one embodiment the common DOF includes the determined essential elements. For various alternative embodiments, the common DOF may include some or all of the determined essential elements as well as other elements. The common DOF is created in a common format that may be selected based upon the extent to which the format is interoperable with various business applications. For one embodiment the common DOF is created in extensible markup language (XML) format that allows application designers to create customized tags that enable the transmission, validation, and interpretation of data between applications.


At operation 115 the invoice adjustment information from a plurality of business applications having different invoice adjustment DOFs is translated into the common DOF. That is, for each application, the invoice adjustment information in an application-specific DOF is translated into the common DOF.


At operation 120 the invoice adjustment information in the common DOF is exchanged between two or more of the business applications. At this point a business integration server completes the translation of the invoice adjustment information in the common DOF to the application-specific DOF for each respective business application as described below.


System



FIG. 2 illustrates the interconnection between a plurality of various business system applications and a universal business application network to effect the inter-exchange of invoice adjustment information between the business applications in accordance with one embodiment of the invention. System 200, shown in FIG. 2 includes a number of business systems 202, each having an application using an application-specific DOF for invoice adjustment information. The business systems are coupled through a universal business application network 201 that serves as an integration hub for the business systems.


In accordance with one embodiment of the invention, each of the business systems implements a translation mechanism to translate invoice adjustment information, in an application-specific DOF, into a common DOF. The invoice adjustment information in the common DOF may then be inter-exchanged between the business systems through the universal business application network. A business integration server then translates the invoice adjustment information from the common DOF into a particular application-specific DOF for a respective business system as described more fully below in reference to FIG. 3.


The architecture of the universal business application network allows new business applications that access legacy business systems to be developed with minimum customization. The legacy business systems can be provided by a single business organization or by different business organizations. The universal business application network also allows the business applications to exchange invoice adjustment information using an invoice adjustment common DOF. In one embodiment, the universal business application network uses the XML and Web services standards.



FIG. 3 illustrates an exemplary architecture for a universal business application network in accordance with one embodiment of the invention. The hub of the universal business application network 300 is the business integration server 310 that connects to the various business systems 301 via adapters 302. The business integration server includes a transport layer 311, an object model 312, a transformation store 313, a business process controller 314, and a business process store 315. The transport layer 311 is a mechanism through which business information is exchanged between the business systems 301 and the business integration server 310. Each business system 301 may have an adapter 302 that is appropriate to the protocol of the transport layer 311. For example, the transport mechanism may use communications protocols such as TCP/IP. The transport layer may provide a messaging service for queuing, for guaranteeing delivery of messages, and for handling both synchronous and asynchronous messaging. The adapters 302 relay events from the business systems 301 to the business integration server 310 and can import configurations of the business systems 301 into the business integration server 310. In addition, the universal business application network 300 may include encryption and authentication mechanisms to ensure the security and integrity of the information. For example, authentication will help ensure that a business process is accessing the intended business system, rather than an impostor business system.


As discussed above, the common DOF may include the definition of various invoice adjustment-related objects. The objects may be defined using standard object definition tools such as an XML schema definition tool. The transformation store contains transformations for translating information received from the business systems to the common DOF, and vice versa. For example, an invoice adjustment object may include a globally unique identifier for each person. A transformation for a business system that does not use globally unique identifiers may need to access an identification server to determine the globally unique identifier for each invoice adjustment. The transformations may be specified as a computer program, an XML Stylesheet Language Transform (“XSL T”), etc. The business process store contains the business processes that have been defined. A business process may be specified as a script, a process flow, an executable program, etc. In one embodiment, the business processes are defined using the Web Services Flow Language (“WSFL”). The business processes orchestrate a sequence of steps across multiple applications provided by the business systems to achieve a business objective. The business process controller coordinates the execution of the business processes. The business process controller may instantiate objects and invoke functions of the objects in accordance with the various business processes. The business process controller may also initiate the execution of business processes based on predefined conditions and events. For example, the business process controller may launch a certain business process each time an alert is received. Although not shown, the business integration network may provide a standard library of business routines that may be invoked by the business processes. For example, a standard business routine might be to identify whether two invoice adjustment objects represent the same individual or to apply business rules to various objects and take the appropriate action as defined by those rules. The business integration server may also include various tools to facilitate the development of business processes. These tools may aid in the development of transformations, the defining of common objects, and the writing of process flows.


Data Structure


The common DOF may include basic elements of invoice adjustment DOFs from various business applications. For example, common DOF may include a common identification object, to allow unique identification of information exchanged between applications; invoice adjustment base data; billing data; status data; and list of invoice adjustment line item details consisting all the detail information of an invoice adjustment. Additionally, for alternative embodiments, the common DOF may include such elements as related employee, list of related parties, related invoice adjustment type, list of invoice adjustment items, and list of comments.


In one embodiment, the common DOF defines a hierarchy of the data elements for describing an invoice adjustment. The common DOF may define data elements that are complex. A complex data element is a data element that comprises data sub-elements. For example, a list of related party data element may be a complex data element that includes communication data, address data, and relationship data sub-elements among others.



FIGS. 4A-4G illustrate an exemplary data structure for a common DOF in accordance with one embodiment of the invention. One skilled in the art will appreciate that the name of each data element is descriptive of the information stored in the data element.



FIG. 4A illustrates the highest level data elements of the invoice adjustment class 401 in accordance with one embodiment. The highest level data elements include id, baseData, billingData, statusData, listOfRelatedParty, relatedInvoice, listOfComment, relatedEmployee, listOfInvoiceAdjustment Type, listOfInvoiceAdjustment item, and customData data elements. The id data element may be a unique identifier of a party.


The customData data element initially contains no data elements, but custom data elements can be added by defining data elements in the CustomDataType as described below.



FIG. 4B illustrates the data elements of the Related Party class 402 in accordance with one embodiment. The Related party class represents the related partner information. The Related Party class includes id, communicationData, dataCleansingData, listOfAddress, listOfRelationship, listOfAlternateId, listOfLicenseData, customPartyData, baseData, and customData. The Related Party class also includes a customData data element with a type of CustomDataType that initially is defined to have no data elements.



FIG. 4C illustrates the data elements of the Comment class 403 in accordance with one embodiment. The Comment class includes textCode and text data elements.



FIG. 4D illustrates the data elements of the invoice adjustment line class 404 in accordance with one embodiment. The invoice adjustment line class represents the related invoice adjustment line item detail information for the respective invoice adjustment. The invoice adjustment line class includes id, baseData, billingData, statusData, relatedInvoiceItem, listOfComment and customData data elements.



FIG. 4E illustrates the data elements of the related invoice class 405 in accordance with one embodiment.



FIG. 4F illustrates the data elements of the related invoice Adjustment type class 406 in accordance with one embodiment, which represents the related invoice type information for the respective invoice, such as invoice, credit memo, etc.



FIG. 4G illustrates the data elements of the related invoice item class 407 in accordance with one embodiment, which represents the related invoice line item detail information for the respective invoice adjustment item.


Embodiments of the invention provide a common DOF for invoice adjustment information that can be used as an intermediate DOF during translation of invoice adjustment information from one application-specific DOF to another.


For one embodiment, the common DOF may contain a custom data element at various places within the hierarchy of data elements that allow a customer to put in more attributes. A custom data element is of a custom data element type. The custom data element type initially defines no data elements. The data model can be customized by defining custom data elements for the custom data element type. For example, the data elements relating to the relationship of an invoice adjustment may have a custom data element through which data elements relating to the history of previously related invoice adjustments can be defined. Because the custom data elements are defined at various places within the hierarchy, the customizations of the data model can be associated with related data elements within the hierarchy.


In one embodiment, each of the types of an invoice adjustment specifies a custom data element for that type. For example, the related party data element may be defined as the related party data type. If so, the data type can be customized by adding data elements to the definition of the related party data type. The definition may be stored in a file that is separate from the file in which the data type is defined. A portion of an XML schema that defines the custom data a related party is

  • <xs:element name=“customData” type=
  • “custom:Related Party Data Type” minOccurs=“0”/>
  • where “custom” specifies a file that contains the definition of Related Party Data Type, which may be
  • <xs:complexType name=Related PartyDataType”>
  • <xs:annotation
  • <xs:documentation>
  • Define the custom data element for this type following this annotation
  • <xs:documentation>
  • </xs:annotation>
  • </xs:complexType>



FIG. 5 illustrates a process by which custom data is added to an invoice adjustment class in accordance with one embodiment of the invention. Process 500, shown in FIG. 5, begins at operation 505 in which the schema for the invoice adjustment class is retrieved. The schema may be an XML schema file that includes a custom data element of a type that is defined in another file.


At operation 510, the schema for the types of custom data is retrieved and opened. The schema may be stored in an XML schema file that contains the definition for each type of custom data.


At operation 515, the tags relating to the custom data type of interest are located and the custom data elements are added to the tags.


At operation 520, the custom data schema with the newly defined data elements added to the custom data type is closed.


Embodiments of the invention include various operations. Many of the methods are described in their most basic form, but operations can be added to or deleted from any of the methods without departing from the basic scope of the invention.


It will be apparent to those skilled in the art that the data structure and operations of embodiments of the invention may be stored upon or embodied in machine-executable instructions, which may be used to cause a general-purpose or special-purpose processor or logic circuits programmed with the instructions to perform specific operations.


Alternatively, the operations of embodiments of the invention may be performed by a combination of hardware and software. Embodiments of the invention present may be provided as a computer program product that may include a machine-readable medium having stored thereon instructions, which may be used to program a computer (or other electronic devices) to perform a process according to various embodiments of the invention. Likewise, embodiments of the invention present may be provided as data structures stored upon a machine-readable medium. Such machine-readable medium may include, but are not limited to, floppy diskettes, optical disks, CD-ROMs, and magnetic-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnet or optical cards, flash memory, or other type of media/machine-readable medium suitable for storing electronic instructions. Moreover, the invention may also be downloaded as a computer program product, wherein the program may be transferred from a remote computer to a requesting computer by way of data signals embodied in a carrier wave or other propagation medium via a communication cell (e.g., a modem or network connection). The present invention also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.


The processes and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.


The computers (e.g., universal business application network computer and business systems computer) may include a central processing unit, memory, input devices (e.g., keyboard and pointing devices), output devices (e.g., display devices), and storage devices (e.g., disk drives) The memory and storage devices may be computer-readable media that may contain instructions that implement the security system. In addition, the data structures and message structures may be stored or transmitted via a data transmission medium, such as a signal on a communications link.



FIG. 6 is a block diagram of an exemplary computer system 600 (e.g., of the integration server 300 of FIG. 3) that may be used to perform one or more of the operations described herein in accordance with one embodiment of the invention. In alternative embodiments, the machine may comprise a network router, a network switch, a network bridge, Personal Digital Assistant (PDA), a cellular telephone, a web appliance or any machine capable of executing a sequence of instructions that specify actions to be taken by that machine.


The computer system 600 includes a processor 602, a main memory 604 and a static memory 606, which communicate with each other via a bus 608. The computer system 600 may further include a video display unit 610 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 600 also includes an alpha-numeric input device 612 (e.g., a keyboard), a cursor control device 614 (e.g., a mouse), a disk drive unit 616, a signal generation device 620 (e.g., a speaker) and a network interface device 622.


The disk drive unit 616 includes a computer-readable medium 624 on which is stored a set of instructions (i.e., software) 626 embodying any one, or all, of the methodologies described above. The software 626 is also shown to reside, completely or at least partially, within the main memory 604 and/or within the processor 602. The software 626 may further be transmitted or received via the network interface device 622. For the purposes of this specification, the term “computer-readable medium” shall be taken to include any medium that is capable of storing or encoding a sequence of instructions for execution by the computer and that cause the computer to perform any one of the methodologies of the present invention. The term “computer-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic disks, and carrier wave signals.


From the foregoing, it will be appreciated that although specific embodiments of technology have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the invention. For example, the class definitions that have been described using XML schema can be equivalently described using other class definition tools such as a C class. The classes described can be instantiated in memory and be initialized with information. Therefore, while the invention has been described in terms of several embodiments, those skilled in the art will recognize that the invention is not limited to the embodiments described, but can be practiced with modification and alteration within the spirit and scope of the appended claims. The description is thus to be regarded as illustrative instead of limiting.

Claims
  • 1. A method comprising: receiving invoice adjustment information in a first application-specific data object format from a first processing system of a plurality of processing systems, wherein each processing system of the plurality of processing systems comprises an application,the invoice adjustment information is received at a communications transport layer, andthe invoice adjustment information comprises an identification data element,an invoice adjustment base data element,a billing data element,a status data element, anda list of invoice adjustment line item details data element;receiving, at the communications transport layer, configuration information relating to the processing systems, wherein the configuration information is received via a communications protocol adapter; andtranslating the invoice adjustment information into a common invoice adjustment data object format, wherein the translating is performed by a processor, andthe translating comprises: accessing a first storing unit configured to store transformation information, wherein the first storing unit is coupled to the processor,accessing a second storing unit, wherein the second storing unit stores at least one business process, and the second storing unit is coupled to the processor,executing the at least one business process in response to a predefined event, andthe common invoice adjustment data object format comprises at least one relationship data element, wherein the relationship data element specifies at least one relationship between a plurality of entities,the relationship data element comprises a plurality of elements,a first element of the plurality of elements corresponds to a first entity of the plurality of entities,a second element of the plurality of elements corresponds to a second entity of the plurality of entities, andat least one custom data element, wherein the custom data element facilitates customization of the common invoice adjustment data object format.
  • 2. The method of claim 1 further comprising: inter-exchanging invoice adjustment information in the common invoice adjustment data object format between two or more of the plurality of processing systems.
  • 3. The method of claim 1 further comprising: translating invoice adjustment information in the common invoice adjustment data object format to an application-specific data object format for use by a respective application.
  • 4. The method of claim 1, further comprising: receiving additional invoice adjustment from a second processing system of the plurality of processing systems, wherein the additional invoice adjustment information is in a second application-specific data object format;translating the additional invoice adjustment information into the common invoice adjustment data object format; andstoring the invoice adjustment information in the common invoice adjustment data object format and the additional invoice adjustment information in the common invoice adjustment data object format in a common invoice adjustment data object, wherein the common invoice adjustment data object is in the common invoice adjustment data object format.
  • 5. The method of claim 4 further comprising the precedent operations of: determining essential data elements of a common invoice adjustment data object format; andcreating a common invoice adjustment data object format including at least the essential data elements.
  • 6. The method of claim 5 wherein the essential data elements are determined based upon elements of a plurality of application-specific data object formats.
  • 7. The method of claim 6 wherein the essential data elements include an identification data element, invoice adjustment base data element, a billing data element, a status data element, and a list of invoice adjustment line item details data element.
  • 8. The method of claim 7 wherein the common invoice adjustment data object format includes at least one complex data element.
  • 9. The method of claim 8 wherein the common invoice adjustment data object format includes one or more related data elements selected from the group consisting of a related party data element, a related employee data element, a related invoice data element, and a related comments data element.
  • 10. The method of claim 5 further comprising: specifying a level of compatibility with a data object format of a first application, wherein the determining the essential data elements facilitates achieving the specified level of compatibility.
  • 11. A system comprising: a processor; anda tangible non-transitory machine-readable medium configured to be accessed by the processor, wherein the tangible non-transitory machine-readable medium has stored therein a data structure, whereinthe data structure is defined in an extensible markup language format,the data structure is configured to facilitate translating invoice adjustment information into a common invoice adjustment data object format, andthe data structure comprises: at least one relationship data element, wherein the relationship data element specifies at least one relationship between a plurality of entities,the relationship data element comprises a plurality of elements,a first element of the plurality of elements corresponds to a first entity of the plurality of entities,a second element of the plurality of elements corresponds to a second entity of the plurality of entities;at least one custom data element configured to facilitate customization of the common invoice adjustment data object format;an identification data element;an invoice adjustment base data element;a billing data element;a status data element; anda list of invoice adjustment line item details data element.
  • 12. The tangible non-transitory machine-readable medium of claim 11 wherein the data structure further comprises: at least one complex data element.
  • 13. The tangible non-transitory machine-readable medium of claim 12 wherein the data structure further comprises: one or more related data elements selected from the group consisting of a related party data element, a related employee data element, a related invoice data element, and a related comments data element.
  • 14. A tangible non-transitory machine-readable medium that provides executable instructions, which, when executed by a computing system, cause the computing system to perform a method comprising: receiving invoice adjustment information in a first application-specific data object format from a first processing system of a plurality of processing systems, wherein each processing system of the plurality of processing systems comprises an application, and wherein the invoice adjustment information is received at a communications transport layer;receiving, at the communications transport layer, configuration information relating to the processing systems, wherein the configuration information is configured to be received via a communications protocol adapter; andtranslating the invoice adjustment information into a common invoice adjustment data object format, wherein the translating comprises accessing a first storing unit configured to store transformation information,accessing a second storing unit, wherein the second storing unit stores at least one business process, andexecuting the business process in response to a predefined event, andthe common invoice adjustment data object format comprises at least one relationship data element, wherein the relationship data element specifies at least one relationship between a plurality of entities,the relationship data element comprises a plurality of elements,a first element of the plurality of elements corresponds to a first entity of the plurality of entities,a second element of the plurality of elements corresponds to a second entity of the plurality of entities,at least one custom data element, wherein the custom data element facilitates customization of the common invoice adjustment data object format,an identification data element,an invoice adjustment base data element,a billing data element,a status data element, anda list of invoice adjustment line item details data element.
  • 15. The tangible non-transitory machine-readable medium of claim 14 wherein the method further comprises: inter-exchanging invoice adjustment information in the common invoice adjustment data object format between two or more of the plurality of processing systems.
  • 16. The tangible non-transitory machine-readable medium of claim 14 wherein the method further comprises: translating invoice adjustment information in the common invoice adjustment data object to an application-specific data object format for use by a respective application.
  • 17. The tangible non-transitory machine-readable medium of claim 14, further comprising: receiving additional invoice adjustment from a second processing system of the plurality of processing systems, wherein the additional invoice adjustment information is in a second application-specific data object format;translating the additional invoice adjustment information into the common invoice adjustment data object format; andstoring the invoice adjustment information in the common invoice adjustment data object format and the additional invoice adjustment information in the common invoice adjustment data object format in a common invoice adjustment data object, wherein the common invoice adjustment data object is in the common invoice adjustment data object format.
  • 18. The tangible non-transitory machine-readable medium of claim 17 wherein the method further comprises the precedent operations of: determining essential data elements of a common invoice adjustment data object format; andcreating a common invoice adjustment data object format including at least the essential data elements.
  • 19. The tangible non-transitory machine-readable medium of claim 18 wherein the essential data elements are determined based upon elements of a plurality of application-specific data object formats.
  • 20. The tangible non-transitory machine-readable medium of claim 19 wherein the essential data elements include an identification data element, invoice adjustment base data element, a billing data element, a status data element, and a list of invoice adjustment line item details data element.
  • 21. The tangible non-transitory machine-readable medium of claim 20 wherein the common invoice adjustment data object format includes at least one complex data element.
  • 22. The tangible non-transitory machine-readable medium of claim 21 wherein the common invoice adjustment data object format includes one or more related data elements selected from the group consisting of a related party data element, a related employee data element, a related invoice data element, and a related comments data element.
  • 23. A system comprising: a plurality of processing systems, wherein each processing system of the plurality of processing systems comprises a respective application that processes invoice adjustment information, the invoice adjustment information having a respective application-specific data object format, andeach processing system of the plurality of processing systems is coupled to a communications protocol adapter, wherein the communications protocol adapter is configured to receive configuration information from the processing system; andan integration server coupled to each processing system of the plurality of processing systems, wherein the integration server translates invoice adjustment information from a first application-specific data object format to a common invoice adjustment data object format, wherein the common invoice adjustment data object format comprises at least one relationship data element, wherein the relationship data element specifies at least one relationship between a plurality of entities,the relationship data element comprises a plurality of elements,a first element of the plurality of elements corresponds to a first entity of the plurality of entities, a second element of the plurality of elements corresponds to a second entity of the plurality of entities,at least one custom data element, wherein the custom data element facilitates customization of the common invoice adjustment data object format,an identification data element,an invoice adjustment base data element,a billing data element,a status data element, anda list of invoice adjustment line item details data element; andthe integration server comprises: a communications transport layer configured to receive invoice adjustment information;a first storing unit configured to store transformation information;a second storing unit configured to store defined business processes; anda business process controller configured to execute the business processes, wherein the execution is in response to predefined events.
  • 24. The system of claim 23 wherein invoice adjustment information in the common invoice adjustment data object format is inter-exchanged between two or more processing systems.
  • 25. The system of claim 23, wherein the integration server is further configured to: receiving additional invoice adjustment from a second processing system of the plurality of processing systems, wherein the additional invoice adjustment information is in a second application-specific data object format;translating the additional invoice adjustment information into the common invoice adjustment data object format; andstoring the invoice adjustment information in the common invoice adjustment data object format and the additional invoice adjustment information in the common invoice adjustment data object format in a common invoice adjustment data object, wherein the common invoice adjustment data object is in the common invoice adjustment data object format.
  • 26. The system of claim 25 wherein the common invoice adjustment data object format includes a set of essential data elements, the set of essential data elements are determined based upon elements of a plurality of application-specific data object formats.
  • 27. The system of claim 26 wherein the set of essential data elements includes an identification data element, invoice adjustment base data element, a billing data element, a status data element, and a list of invoice adjustment line item details data element.
  • 28. The system of claim 27 wherein the common invoice adjustment data object format includes at least one complex data element.
  • 29. The system of claim 28 wherein the common invoice adjustment data object format includes one or more related data elements selected from the group consisting of a related party data element, a related employee data element, a related invoice data element, and a related comments data element.
CLAIM OF PRIORITY

This application is related to, and hereby claims the benefit of provisional application No. 60/451,983 which was filed Mar. 4, 2003.

US Referenced Citations (146)
Number Name Date Kind
4714995 Materna et al. Dec 1987 A
5220500 Baird et al. Jun 1993 A
5311438 Sellers et al. May 1994 A
5349643 Cox et al. Sep 1994 A
5416917 Adair et al. May 1995 A
5446880 Balgeman et al. Aug 1995 A
5566332 Adair et al. Oct 1996 A
5646862 Jolliffe et al. Jul 1997 A
5699527 Davidson Dec 1997 A
5708828 Coleman Jan 1998 A
5724575 Hoover et al. Mar 1998 A
5727158 Bouziane et al. Mar 1998 A
5742588 Thornberg et al. Apr 1998 A
5758355 Buchanan May 1998 A
5764543 Kennedy Jun 1998 A
5806075 Jain et al. Sep 1998 A
5930156 Kennedy Jul 1999 A
5930764 Melchione et al. Jul 1999 A
5953710 Fleming Sep 1999 A
5970490 Morgenstern Oct 1999 A
5983194 Hogge et al. Nov 1999 A
6032136 Brake et al. Feb 2000 A
6053947 Parson Apr 2000 A
6167380 Kennedy et al. Dec 2000 A
6178418 Singer Jan 2001 B1
6182053 Rauber et al. Jan 2001 B1
6216130 Hougaard et al. Apr 2001 B1
6226649 Bodamer et al. May 2001 B1
6233566 Levine et al. May 2001 B1
6236997 Bodamer et al. May 2001 B1
6275812 Haq et al. Aug 2001 B1
6336124 Alam et al. Jan 2002 B1
6341289 Burroughs et al. Jan 2002 B1
6343275 Wong Jan 2002 B1
6377952 Inohara et al. Apr 2002 B1
6385620 Kurzius et al. May 2002 B1
6434567 De La Huerga Aug 2002 B1
6463430 Brady et al. Oct 2002 B1
6556950 Schwenke et al. Apr 2003 B1
6569207 Sundaresan May 2003 B1
6591260 Schwarzhoff et al. Jul 2003 B1
6631382 Kouchi et al. Oct 2003 B1
6668253 Thompson et al. Dec 2003 B1
6681223 Sundaresan Jan 2004 B1
6738975 Yee et al. May 2004 B1
6754679 Oheda Jun 2004 B2
6778651 Jost et al. Aug 2004 B1
6792431 Tamboli et al. Sep 2004 B2
6826542 Virgin et al. Nov 2004 B1
6826568 Bernstein et al. Nov 2004 B2
6828963 Rappoport Dec 2004 B1
6883004 Bahl et al. Apr 2005 B2
6889260 Hughes May 2005 B1
6898783 Gupta et al. May 2005 B1
6912719 Elderon et al. Jun 2005 B2
6944514 Matheson Sep 2005 B1
6947947 Block et al. Sep 2005 B2
6961760 Li et al. Nov 2005 B2
6996776 Makely et al. Feb 2006 B1
7013485 Brown et al. Mar 2006 B2
7043687 Knauss et al. May 2006 B2
7062540 Reddy et al. Jun 2006 B2
7065499 Seth et al. Jun 2006 B1
7085729 Kennedy et al. Aug 2006 B1
7093200 Schreiber et al. Aug 2006 B2
7099350 Peterson Aug 2006 B2
7111010 Chen Sep 2006 B2
7111077 Starkovich et al. Sep 2006 B1
7124112 Guyan et al. Oct 2006 B1
7133882 Pringle et al. Nov 2006 B1
7139766 Thomson et al. Nov 2006 B2
7143100 Carlson et al. Nov 2006 B2
7162540 Jasen et al. Jan 2007 B2
7257594 Tamboli et al. Aug 2007 B2
7257820 Fischer et al. Aug 2007 B2
7287041 Barnes-Leon et al. Oct 2007 B2
7337192 Stark et al. Feb 2008 B2
7349861 Fischer et al. Mar 2008 B1
7370009 Notani et al. May 2008 B1
7412404 Tenorio Aug 2008 B1
7680818 Fan et al. Mar 2010 B1
20010011245 Duhon Aug 2001 A1
20010051907 Kumar et al. Dec 2001 A1
20020007343 Oyama et al. Jan 2002 A1
20020019765 Mann et al. Feb 2002 A1
20020023004 Hollander et al. Feb 2002 A1
20020035431 Ell Mar 2002 A1
20020035488 Aquila et al. Mar 2002 A1
20020040313 Hunter et al. Apr 2002 A1
20020040339 Dhar et al. Apr 2002 A1
20020085020 Carroll, Jr. Jul 2002 A1
20020095456 Wensheng Jul 2002 A1
20020116234 Nagasawa Aug 2002 A1
20020123983 Riley et al. Sep 2002 A1
20020133510 Lau Sep 2002 A1
20020138532 Chandra et al. Sep 2002 A1
20020169863 Beckwith et al. Nov 2002 A1
20020169867 Mann et al. Nov 2002 A1
20020174417 Sijacic et al. Nov 2002 A1
20020178077 Katz et al. Nov 2002 A1
20020184085 Lindia et al. Dec 2002 A1
20020184148 Kahn et al. Dec 2002 A1
20020188513 Gil et al. Dec 2002 A1
20020188538 Robertson et al. Dec 2002 A1
20030014440 Bussert et al. Jan 2003 A1
20030018502 Rodriguez Jan 2003 A1
20030023580 Braud et al. Jan 2003 A1
20030033437 Fischer et al. Feb 2003 A1
20030071852 Stimac Apr 2003 A1
20030097642 Arai et al. May 2003 A1
20030110104 King et al. Jun 2003 A1
20030131018 Godoy et al. Jul 2003 A1
20030163597 Hellman et al. Aug 2003 A1
20030163603 Fry et al. Aug 2003 A1
20030229529 Mui et al. Dec 2003 A1
20040002982 Ersek et al. Jan 2004 A1
20040015515 Beisiegel et al. Jan 2004 A1
20040034661 Barron et al. Feb 2004 A1
20040039576 He et al. Feb 2004 A1
20040093351 Lee et al. May 2004 A1
20040122826 Mackie Jun 2004 A1
20040128188 Leither et al. Jul 2004 A1
20040162773 Del Rey et al. Aug 2004 A1
20040199536 Barnes-Leon et al. Oct 2004 A1
20040215503 Allpress et al. Oct 2004 A1
20040249854 Barnes-Leon et al. Dec 2004 A1
20050021383 Fliess et al. Jan 2005 A1
20050021391 Lu et al. Jan 2005 A1
20050091249 Hanson et al. Apr 2005 A1
20050160361 Young Jul 2005 A1
20050197880 Walsh et al. Sep 2005 A1
20060271446 Barnes-Leon et al. Nov 2006 A1
20070033531 Marsh Feb 2007 A1
20070203710 Habichler et al. Aug 2007 A1
20070208577 Barnes-Leon et al. Sep 2007 A1
20070208878 Barnes-Leon et al. Sep 2007 A1
20070214020 Srinivasan et al. Sep 2007 A1
20070214063 Kahlon et al. Sep 2007 A1
20070214064 Kahlon et al. Sep 2007 A1
20070214065 Kahlon et al. Sep 2007 A1
20070225949 Sundararajan et al. Sep 2007 A1
20070226037 Garg et al. Sep 2007 A1
20070226049 Muralitharan et al. Sep 2007 A1
20070226093 Chan et al. Sep 2007 A1
20070250408 Barnes-Leon et al. Oct 2007 A1
20070265944 Catahan, Jr. et al. Nov 2007 A1
Foreign Referenced Citations (4)
Number Date Country
2001 256308 Sep 2001 JP
WO 0143031 Jun 2001 WO
WO 0188759 Nov 2001 WO
WO 03003641 Jan 2003 WO
Non-Patent Literature Citations (23)
Entry
XML/EDI Group. “Guidlines for using XML for Electronic Data Interchange.” Presented at XML One—San Jose Sep./Oct. 2001. Downloaded from http://web.archive.org/web/20040413182700/http://www.xmledi-group.org/.
NPL—XML—Schema—CE.pdf, A tutorial published bythe SML governing body of w3.org regarding the use of XML Schemas and Complex Data Elements. Downloaded on Jun. 10, 2009 from http://www.w3schools.com/Schema/schema—intro.asp? and http://www.w3schools.com/Schema/schema—complex.asp? and http://www.w3.schools.com/Schema/schema—complex—empty.asp? , 7 page.
“Cross Access Introduces SERIESfour; Offers Native, Fast, Scalable Legacy Data Connectivity for Data Marts, ERP Applications,” PR Newswire; New York; Jan. 18, 1999; pp. 1-3. Downloaded from http://proquest.umit.com.
Hardwick, Martin, David L. Spooner, Rom Rando, and K.C. Morris, “Sharing Manufacturing Information in Virtual Enterprises;” Communication of the ACM; vol. 39, No. 2; Feb. 1996; pp. 46-54. Downloaded from http://delivery.acm.org.
Kappelhoff, Ralph, “Integration of ERP to the Final Control Elements;” ISA Transactions; 1998; vol. 36, No. 4; pp. 229-238. Downloaded from http://www.sciencedirect.com.
Nori, Anil K. et al., “Bringing Objects to the Mainstream,” Compcon Proceedings, IEEE San Jose, California, Feb. 23-26, 1997, pp. 136-142.
PTC: Siebel Systems and PTC create strategic alliance to leverage entriched ifnormation across product development, sales and service; Combination of Siebel eBusiness Applications and PTC Collaborative Product Development solutions to deliver competitive advantage, M2 Presswire, Conventry: Jan. 24, 2002, 3 pages. (retrieved from ProQuest.com).
Wilson, J.R., “Aerospace Looks for Lift from e-commerce,” Intervia, Geneva, Jul./Aug. 2001; vol. 56, Issue 655, 6 pages (retrieved from ProQuest.com).
Walter J. Savitch, Java an Introduction to Computer Science & Programming, 2000, p. 478.
Routledge et al., UML and XML Schema, 2002, pp. 1-10.
Walter J. Savitch, Java an Introduction to Computer Science & Programming, 2000, pp. 458-467.
Walter J. Savitch, Java an Introduction to Computer Science & Programming, 2000, p. 1.
“Extract simplifies file conversion” Software Markets, Dec. 2, 1991. Retrieved via Dialog on Aug. 16, 2010.
“Fortis Investments Implements Unified Employee Management System Across 12 Countries” (Business Wire, Jul. 2004).
Cover Pages “Siebel's Universal Application Network” Apr. 8, 2002 downloaded from xml.coverpages.org May 6, 2010.
Cover Pages “Siebel Announces Success with Universal Application Network (UAN)” Apr. 21, 2004 downloaded from xml.coverpages.org May 6, 2010.
Michael Kay, Editor “XSL Transformations (XSLT) Version 2.0 W3C Working Draft May 2, 2003” downloaded from http://www.w3.org/TR/2003/WD-xslt20-20030502/ May 6, 2010.
Eric Gropp “Transforming XML Schemas” Jan. 15, 2003, downloaded from xml.com May 6, 2010.
Sonic Software Corporation, Power Schemas With Stylus Studio™ Jan. 2004.
Ohlhorst, Frank J., “ScanSoft's OmniForm Fills Bill for Forms-Driven Customers,” CRN; Jericho: Feb. 17, 2003, Issue 1033; p. 51 (1 page).
Seminerio, Maria, “Job Agencies Will Hire HR-XML—Protocol Promises a Lingua Franca for Resumes;” eWeek; Jan. 1, 2001; vol., 18, Issue 1; p. 45.
Anonymous; CambridgeDocs Releases xDoc SML Converter; Information Today; Mar. 1, 2001; vol. 20, Issue 3; p. 49.
Anonymous; “HR-XML Consortium Sponsors Panel Discussion/Demonstrates Draft Protocol at IHRIM Conference and Expo;” Business Wire; Jun. 28, 2000; 4 pages.
Related Publications (1)
Number Date Country
20070250419 A1 Oct 2007 US
Provisional Applications (1)
Number Date Country
60451983 Mar 2003 US