QuickBooks Integration: Transaction (Sales Order, Invoice) Counter

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.

Magento Integration: Synchronise Product Data

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:

  1. Create the product using the catalogProductCreate function (default values)
  2. Update the product in each store view using catalogProductUpdate function

Netsuite Integration: Session Limits

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.

Aprimo Integration : Retrieving a Digital Asset

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.

Extracting Data from MYOB : Total Sales

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.

Magento Integration: Access to web services

In order to access Magento web services API, you will need to do the following:

  1. Log in with a username and API key. This username is not the same as the username that you used to log in to the admin backend of the store. You will need to create an API user and role assigned to this user in Admin panel.
  2. Upon successful login, it would then return a session ID (security token). The session ID is mandatory in every API call request. Unlike other security tokens, there will be session timeout and this session ID would be expired automatically in a period of time. Once the session ID is expired, you will not be able to perform any API call request, and you will have to perform log in again to get a new session ID.

Notes:
Magento only accepts the latest and only one session ID to be used in the API call. Therefore, if there are more than one user trying to access the API, it is a good practise to have only one session ID at a time and be shared among the users until this session ID is expired.

The following are the steps to setup a new API user from Magento’s backend admin.

Step 1:
Create an API user’s role under the admin panel, System->Web Services->Roles


Step 2:
Press “Add New Role” button to create a role for an API user.

Step 3:
Under “Role Info”, create a role’s name.

Step 4:
Under “Role Resources”, set permissions or restrictions for the user to access certain levels of data. Either select “All” or “Custom” for accessing the resources.

Step 5:
Create API user under the admin panel, System->Web Services->Users

Step 6:
Press “Add New User”.

Step 7:
Create an user account by filling up all the required field.

Note: Account must be set to “Active” in order for this user to access the API.

Step 8:
Select the user role for the user.

Finally, the API user is created.

Note: User can create one or more API user(s) and role(s).