June 30th, 2011 by TIM
Boomi Platform has released a funtionality called ‘Find Changes’. So what does it do and how useful is it to build integration process?
- It is able to track the changes made to a document, and define whether this document is (newly created, updated or deleted). It will then sent this document to the path (Add, Update, Delete) accordingly.
- This is most useful when there are large amount of data (i.e. database tables, flat files) coming through the process. The ‘Find Changes’ step will parse each record (defined by key column(s)) for a specific profile down to the the appropriate path.
Here is an example of how it works:
- A flat file type Document 1 consists of three records (A, B, and C separated by colums).

- In the first execution, these three records will be split after the Find Changes step and sent down to the Add path as individual documents (we now have document A, B and C at the Add path).

- If there is no changes made to the Document 1, then no documents will be sent to any path.
- Record A has made some changes. On the next execution, document A will be sent down to the Update path.

- Record B has been removed from Document 1. On the next execution, document B will be sent down to the Delete path.

- A new record (record D) has been created in Document 1. On the next execution, document D will be sent down to the Add path.
Tags: Boomi find changes
No Comments »
June 23rd, 2011 by TIM
Applications such as Quickbooks or Saasu have a mechanism to prevent cocurrent edit. If you plan to integrate with Quickbooks or integrate with Saasu, this is the mandatory field when you are performing an update call:
- Quickbooks uses a field called EditSequence
- Saasu uses a field called LastUpdatedUid
This field value is automatically updated by the application after an update event. If two connections come in with the same value, one will succeed and one will fail.
This type of mechanism is also useful to prevent concurrent updates from a UI perspective. This is how it works:
- PersonA is editing a customer named WDCi. (current EditSequence=1000)
- PersonB is also editing a customer named WDCi using different machine (current EditSequence=1000)
- PersonA completes the modification first and click the save button. The request is then submitted to the server with EditSequence=1000. Now the new EditSequence = 1001
- PersonB completes the modication later and click the save button. The request is then submitted to the server with EditSequence=1000 but the server rejected the request because it does not match the latest EditSequence number (1001)
Tags: QuickBooks Integration, saasu integration
No Comments »
June 15th, 2011 by TIM
An Item in Dynamics GreatPlains can have one or more different types of ‘Price Level’. One of the complicated types of Price Level is the Price Method. This componet is crucial if you are integrating Dynamics GreatPlains with other applications:

So what does this Price Method define for an item’s price? Basically, it has can define how a price of an item is caculated.
Here we have a table showing the types of price method and their price caculation formula:
Price Method
|
Equation and description |
| Currency Amount |
Flat amount |
| % of List Price |
List price x price percentage |
| % Markup–Current Cost |
Current cost x (100% + price percentage) |
| % Margin–Current Cost |
Current cost + [(current cost x price percentage)/(100% - price percentage)] |
| % Markup–Standard Cost |
Standard cost x (100% + price percentage) |
| % Margin–Standard Cost |
Standard cost + [(standard cost x price percentage)/(100% -price percentage)] |
Tags: Dynamics GreatPlain
No Comments »
June 9th, 2011 by TIM
If you are integrating with Quickbooks (desktop version), here we have an example of the transactional data model of the objects that can be integrated.
- A customer object can have one or many transactions (Sales Order, Invoice, Sales Receipt)
- A transaction object can have one or many items.
- A Sales Order can be converted into an Invoice.
- An Invoice can have one or many payments.
This is high level data model diagram involving the transactional objects:

Other objects in Quickbooks may be integrated too. If you want to know more about the Quickbooks integration, please feel free to contact us.
Tags: QuickBooks Integration
No Comments »
June 1st, 2011 by TIM
If you are integrating with Microsoft Dynamics GreatPlains, this is the high level data model for the finance module:
- A customer object is like a company. It doesn’t have an independent contact object.
- A customer can have many addresses. Inside each address, you can keep track of contact name.
- A customer can have many sales entries (Invoice and Sales Order).
- Each sales entry contains many sales lines. Each sales line is referring to an item.
Let us know if you are interested to know more!
Tags: dynamics greatplains integration
No Comments »
May 25th, 2011 by TIM
When creating a transaction in QuickBooks, a transaction number will be generated followed by the last transaction created.
In most of the applications, transaction number has to be unique and is not allowed to be modified to prevent duplication and confusion.
However, in QuickBooks, transaction number is allowed to be modified which means that when creating a new transaction, user can either use the transaction number that
is generated by the QuickBooks or modify this number to other value.
If the user attempts to create a transaction which the transaction number is same as the number of other transaction that has been created in QuickBooks,
a warning message will notify the user telling that a problem has occurred. User can still proceed with the modification.

There is another issue after modifying the transaction number, which is the transaction number counter will also be reset based on the last transaction number created.
For example, the original Invoice number generated is 1501, if a user change this number to 101 and created this Invoice. The number for the next newly created Invoice will
be 102.
If you want to integrate QuickBooks with another application, this issue should be taken into consideration because the transaction number may be used as an external ID
for the record. This external ID has to be unique to create a relationship between the record in QB and the other integrated application.
Tags: QuickBooks Integration
No Comments »
May 19th, 2011 by TIM
In Magento, one SKU can have different product names. For example: If you have two different store views, you can have your product name in two different languages
- English: Table
- Spanish: Silla
To do this via the Magento Core API, you will need to:
- Create the product using the catalogProductCreate function (default values)
- Update the product in each store view using catalogProductUpdate function
Tags: magento integration
No Comments »
May 18th, 2011 by TIM
A given standard Netsuite user login is limited to two sessions at the same time, one through the front-end (UI) and one through the web services.
For example, if someone attempts to log in from two different browsers at a time by using the same login user, the login from the second browser will terminate the first login.
The same behaviour will happen same as above for the web services client when two or more web services clients attempt to establish concurrent sessions, the latest log in will eventually cause termination to other accesses.
However, the front-end (UI) session and web services session do not cause termintation of each other.
There is one alternative which allow concurrent web services session. This is can be done by having the Web Services Concurrent License (Web Services Plus) which allows for one designated user to create up to five concurrent Web services sessions. Further details about this feature can be found here, Web Services Plus.
Tags: netsuite integration
No Comments »
May 14th, 2011 by TIM
Aprimo has a sophisticated data model to handle Digital Asset. You can retrieve from the API directly. Before you do that, you should understand the following data structure:
Activity
Each activity can have one or more digital asset. You can add an existing digital asset or promote from existing attachment.
AssetVersion
Each digital asset can have multiple versions. You probably are interested with the current used version only.
AssetRendition
Each version can have multiple renditions. Based on your requirements, you can filter rendition by its name.
FileStream
Each rendition is associated with one file stream. That is where the base64 encoded data is saved.
If you need assistance in Aprimo integration, please feel free to contact us.
Tags: Aprimo integration
No Comments »
May 11th, 2011 by TIM

There are ways to extract data like total sales from MYOB (Database) and generate this data into useful information for the company. Here is one of the ways.
First, we may need to query all the sales data from MYOB by filtering them by type of invoice.
The next step, we can sum up the total amount of all these invoices of this type (credit). By doing this, it will return you the total account receivable.
In addition, we can acquire the sum of the overdue invoices from data mentioned above. In order to achieve this, we will have to compare each of the invoices by their due dates to the current date.
Tags: MYOB, MYOB integration
No Comments »