The concept of the open-source software represents a double-edged sword for merchants. The ability to tailor software to meet business requirements is highly-valued, but the very changes a developer makes to support these requirements can render 3rd party integration tools useless. This even includes cases where the developer makes changes outside of what is commonly referred to as the ‘core’ product.
For instance, if a merchant needs to apply a non-standard up-charge on an order, the typical development practice is to add an additional column to the orders table (or elsewhere) to support the transaction. Everything is then coded properly and functions according to specification. The problem that ensues for 3rd party integrations is that they ‘know nothing’ of your new supporting table/columns as they are looking for information based upon the standard schema of the database. As a result, the transaction being imported into the accounting system fails because part of the money is simply missing.