A method of integrating data objects, the method comprising: a. storing, at an intermediation server maintaining a first repository and a second repository, (i) an originating record containing a first unique identifier and a first set of data fields defining a first item, generated by a first generation mechanism and supplied by a first provider, in the first repository, and (ii) a destination record containing a second unique identifier and a second set of data fields defining a second item, generated by a second generation mechanism and supplied by a second provider, in the second repository; b. receiving, at the intermediation server, from a client device, an instruction to merge the originating record into the destination record, the instruction containing the first and second unique identifiers (404, 420); c. in response to receiving the instruction, updating the destination record in the second repository by: i. storing the first unique identifier in the destination record; ii. comparing (310, 315, 320) the first set of data fields with the second set of data fields; iii. for each data field of the first set that matches a corresponding data field of the second set, marking the corresponding data field of the second set in the destination record as a shared field; and iv. for each data field of the first set that does not match a corresponding data field of the second set, creating a merged data field in the destination record, inserting therein the content of the corresponding data field of the first set in the originating record, and marking the merged data field as being associated with the originating record by storing a flag with the merged field that indicates the generation mechanism through which the content of the merged field was obtained; and d. sending the updated destination record (402a, 402b, 402c) to the client device for enabling viewing and editing of the data in the updated destination record via a common interface provided by the intermediate server, wherein the common interface enables the client device to generate requests for updating data fields of the updated destination record via the generation mechanism indicated by the flag. a. storing, at an intermediation server maintaining a first repository and a second repository, (i) an originating record containing a first unique identifier and a first set of data fields defining a first item, generated by a first generation mechanism and supplied by a first provider, in the first repository, and (ii) a destination record containing a second unique identifier and a second set of data fields defining a second item, generated by a second generation mechanism and supplied by a second provider, in the second repository; b. receiving, at the intermediation server, from a client device, an instruction to merge the originating record into the destination record, the instruction containing the first and second unique identifiers (404, 420); c. in response to receiving the instruction, updating the destination record in the second repository by: i. storing the first unique identifier in the destination record; ii. comparing (310, 315, 320) the first set of data fields with the second set of data fields; iii. for each data field of the first set that matches a corresponding data field of the second set, marking the corresponding data field of the second set in the destination record as a shared field; and iv. for each data field of the first set that does not match a corresponding data field of the second set, creating a merged data field in the destination record, inserting therein the content of the corresponding data field of the first set in the originating record, and marking the merged data field as being associated with the originating record by storing a flag with the merged field that indicates the generation mechanism through which the content of the merged field was obtained; and i. storing the first unique identifier in the destination record; ii. comparing (310, 315, 320) the first set of data fields with the second set of data fields; iii. for each data field of the first set that matches a corresponding data field of the second set, marking the corresponding data field of the second set in the destination record as a shared field; and iv. for each data field of the first set that does not match a corresponding data field of the second set, creating a merged data field in the destination record, inserting therein the content of the corresponding data field of the first set in the originating record, and marking the merged data field as being associated with the originating record by storing a flag with the merged field that indicates the generation mechanism through which the content of the merged field was obtained; and d. sending the updated destination record (402a, 402b, 402c) to the client device for enabling viewing and editing of the data in the updated destination record via a common interface provided by the intermediate server, wherein the common interface enables the client device to generate requests for updating data fields of the updated destination record via the generation mechanism indicated by the flag.