1. A computer-readable medium having stored thereon computer-executable instructions for performing a process comprising: receiving a first update to a spreadsheet file from a first spreadsheet client; receiving a second update to the spreadsheet file from a second spreadsheet client; determining whether or not the first update and the second update are transformable such that both updates are combinable and applicable to the spreadsheet file; if the first update and the second update are transformable, then combining the first update and the second update and applying them to the spreadsheet file and computing reciprocal updates to send back to the first and second spreadsheet clients; and, if at least one of the first update and the second update are non-transformable, then processing the updates according to a policy for non-transformable changes.