Introduction to Magento Salesforce CRM Integration Extension
Magento Salesforce CRM Integration, taking advantage of Salesforce's API v34.0, is a powerful tool that help store-owners to synchronize data automatically from Magento site to Salesforce CRM.
Features
- Allows synchronizing and updating Customers from Magento store into Salesforce CRM Leads, Contacts, Accounts
- Allows synchronizing Orders from Magento store into Salesforce CRM Orders
- Allows synchronizing Promotions from Magento store into Salesforce CRM Campaigns
- Allows synchronizing and updating Products from Magento store into Salesforce CRM Products
- Allows synchronizing Product Categories from Magento store into Salesforce CRM Price Book
- Allows creating Custom Fields in and synchronizing Custom Invoices from Magento store into Salesforce CRM Custom Invoices
- Allows synchronizing Custom Invoice Items
- Allows creating Custom Fields in, synchronizing and updating Custom Customers from Magento store into Salesforce CRM Custom Customers
- Allows creating Custom Fields in, synchronizing and updating automatically Custom Products from Magento store into Salesforce CRM Custom Products
- Allows deleting customer and product's records in Magento once they are auto deleted in Salesforce CRM Leads, Contacts, Accounts, Custom Customer and Custom Product
- Allows admins to select conditions to transfer old data from Magento store into Salesforce CRM
- Reports about synchronizing old data
- Supports mapping smartly and manually between Magento attributes and Salesforce fields or custom fields
- Allows admins define the mapping fields in backend with ease
- Admin can view the log to see what is synchronized between two apps
System Requirement
Your store should be running on Magento Community Edition version 1.8.x or 1.9.x and Enterprise Edition version 1.13.x or 1.14.x.
Note: The module works base on using API, so make sure your salesforce edition had API by check the using version:
- Enterprise Edition ( API default)
- Unlimited Edition ( API default)
- Developer Edition ( API default)
- Performance Edition ( API default)
- Professional Edition ( API purchase separately)
The API package is not available if you use any other edition that's not listed above. See more here: https://help.salesforce.com/HTViewSolution?id=000005140&language=en_US
The Video Tutorial Playlist
(Go to the playlist link to view more: https://www.youtube.com/playlist?list=PLOgckfH7zlZtqLHy0328zpK3LFrZts687 )
Configuration
Creating a new connected app
- Sign in Salesforce CRM and go to Set up option indashboard.
In your Salesforce Dashboard, go to **Built / Create / Apps**. Press **New** button in **Connected App** to create a new connected app.
- Enter information in the required fields:
- Connected App Name: name for your connected app
- API Name: data from this field will beauto synced from Connected App Name
- Contact Email: your Salesforce email
- Check Enable OAuth Settings box
- Fill Callback URL: see example: https://yourwebsite/RestTest/oauth/_callback
- Selected OAuth Scopes : select Full Access option and click Add button
- Hit Save button when you are done
- After finish, the connected app will displayed like this
Get Consumer Key (Client ID) and Consumer Secret (Client Secret) by connected app
- In order to get Security Token, go to My Setting / Personal / Reset My Security Token
Press Reset Security Token button, the security token will send to your email
Set up the Salesforce account to integrate with Magento
- First, log in backend Magento
- Go to System → Configuration → Salesforce intergration setting
- Username: Your Salesforce login email
- Password: Your Salesforce password
- Client ID: 'Consumer Key' search in Setup →Create →App →Connected Apps in Salesforce.
- Client Secret: 'Consumer Secret' search in Setup →Create →App →Connected Appsin Salesforce.
- Security token : Receive via email register. Get from My Settings → Personal → Reset My Security Token
Hit Save config, your data configuration is ready to use
Data Integration Settings
- You can choose which data you want to sync from Magento to Salesforce
- Click on Salesforce Integration tab –> Field Mapping
- You can edit, export to CSV, change status or delete mappings.
- To add new mapping, Click on Add, Add New Mapping window will be immediately loaded
- Select Table: select table for new mapping
- Salesforce field: choose Salesforce field
- Magento field: Magento field's name
- Status: default status is Active
- Description: Description for this new mapping
When done, hit Save, your mapping will be included in the next sync.
Basic Functions
1. When a new account is registered in Magento store, a new Lead record will be synced in Salesforce
2. When a customer edits his account, his information will be synced in Saleforce's Contacts
3. When a customer places an order, his information will be synced in Salesforce's Accounts and Orders
4. When store admin launch a new promotion, a corresponding new campaign will be added in to Salesforce
5. When a new product is added or an existing one is edited, a record will be added in Salesforce's Products
Advanced Functions with Custom Objects
Custom Objects
- Custom Objects is a stand-out feature of SalesforceCRM, since it allows store admins and developers to create unique tables with fields of their favor.
- in Magento, we have developed 3 Custom Tables: Custom Customer, Custom Products and Invoices(Since Salesforce doesn't support an Invoice table by default) and a minitable called ItemInvoice to give the admin a closer look at the products invoiced. Now what you need to do to make use of these tables is making some Custom Objects with the following steps:
Creating a Custom Object
- In Magento admin site, go to SalesforceCRM Integration –> Configuration and scroll down, you will see some options in Sync Custom Table.
- Sync Custom Customer: this sync option is on by default.
- Custom Customer Table: this is the API Name of the Custom Table in Salesforce.
- Unique field of Custom Customer Table: this is the API Name of an unique field in Custom Customer Table.
- The other 2 tables' options have the same function as above. To add a new Custom Object, go to Setup. In the Build console, expand Create and click on Objects, the Custom Objects window will popup. Click on New Custom Object to get started.
- Fill in the following fields
- Label: Name of your Custom Object
- Plural Label: Name of your Custom Object in plural form
- Object Name: This name will be auto-filled once Label is filled
- Description: Describe your Custom Object
- Record Name and Data Type: This will also be auto-filled.
- Hit Save when done, your new Custom Object is now successfully created.
Creating a Custom Field
- To add or edit custom fields, go to Setup. In the Build console, expand Create and click on Objects, the Custom Objects window will popup.
- Click on the table that you want to edit, in here we will take Custom Customer for instance, add click on New to start adding new field.
- You will see a long list of options for your new field, choose one of your need, then click on Next.
- Next, you need to fill in a few details for your new Custom Field
- Field Label: Name for your new Custom Field.
- Field Name: This will be auto-filled after you filled in Field Label.
- Description: more detail description about the field.
- Help Text: this text will appear when user hover mouse on the field's icon.
- Hit Next to continue, you will see a list of checkboxes for security purpose, leave them and move on.
- When done, hit Save. Your field is successfully created.
Configuring for Custom Tables
- Things get a bit more tricky when it comes to this part, as you have to create an unique field for each table. In here we have created a Custom Customer Table with the default API name CustomCustomerc and an unique field Emailc.
- When you are done with creating, go to Salesforce's Configuration Site in Magento and fill in the needed information.
- One small remind, you also have to create a table called InvoiceItem with the following config
- One last step, in Magento, hit SalesforceCRM Integration –> Retrieve Field, your new Custom Table and fields are ready to use
Custom Tables Syncing
When a new account is registered or an existing one is edited, a new record will be added into Custom Customer
When a new product is added or existing one is edited, a new record will be added into Custom Products
When a new invoice is sent by store admin, a new record is added in Salesforce's Invoices and Invoice Item
When a product is deleted from Magento, it will also be deleted from Salesforce's Products and Custom Products
When a customer is deleted from Magento, it will also be deleted from Salesforce's Accounts, Leads, Contacts and Custom Customers
Salesforce Default Synchronization Fields
The fields in Red are hard-code.
The other fields can be defined in field mapping.
Contact
Magento Customer | SalesForce Contact |
ID | |
Created At | |
Updated At | |
is Active | |
Created in | |
Prefix | |
First name | First name |
Last name | Last name |
Middle name | |
Tax/VAT number | |
Gender | |
Date of Birth | |
Billing First Name | |
Billing Middle Name | |
Billing Last Name | |
Billing Company | |
Billing City | |
Billing State/Province | |
Billing Country | |
Billing Zip/Postal Code | |
Billing Telephone | |
Billing Fax | |
Shipping First Name | |
Shipping Middle Name | |
Shipping Last Name | |
Shipping Company | |
Shipping Street | |
Shipping City | |
Shipping State/Province | |
Shipping Country | |
Shipping Zip/Postal Code | |
Shipping Telephone | |
Shipping Fax | |
VAT number |
Account
Magento Customer | SalesForce Account |
ID | |
Name | |
Created At | |
Updated At | |
is Active | |
Created in | |
Prefix | |
First name | |
Last name | |
Middle name | |
Tax/VAT number | |
Gender | |
Date of Birth | |
Billing First Name | |
Billing Middle Name | |
Billing Last Name | |
Billing Company | |
Billing City | |
Billing State/Province | |
Billing Country | |
Billing Zip/Postal Code | |
Billing Telephone | |
Billing Fax | |
Shipping First Name | |
Shipping Middle Name | |
Shipping Last Name | |
Shipping Company | |
Shipping Street | |
Shipping City | |
Shipping State/Province | |
Shipping Country | |
Shipping Zip/Postal Code | |
Shipping Telephone | |
Shipping Fax | |
VAT number |
Lead
Magento Customer | SalesForce Lead |
ID | |
Created At | |
Updated At | |
is Active | |
Created in | |
Prefix | |
First name | First name |
Last name | Last name |
Middle name | |
Tax/VAT number | |
Gender | |
Date of Birth | |
Billing First Name | |
Billing Middle Name | |
Billing Last Name | |
Billing Company | "N/A" |
Billing City | |
Billing State/Province | |
Billing Country | |
Billing Zip/Postal Code | |
Billing Telephone | |
Billing Fax | |
Shipping First Name | |
Shipping Middle Name | |
Shipping Last Name | |
Shipping Company | "N/A" |
Shipping Street | |
Shipping City | |
Shipping State/Province | |
Shipping Country | |
Shipping Zip/Postal Code | |
Shipping Telephone | |
Shipping Fax | |
VAT number |
Product2
Magento Product | SalesForce Product2 |
Name | Name |
Description | |
is Active | isActive |
Short Description | |
SKU | ProductCode |
Weight | |
Set Product as New from Date | |
Set Product as New to Date | |
Status | |
Country of Manufacture | |
URL Key | |
Price | |
Special Price | |
Special From Date | |
Special To Date | |
Stock Id | |
Qty | |
Min Qty | |
Meta Title | |
Meta Keywords | |
Meta Description | |
Tax Class | |
Base Image | |
Small Image | |
Thumbnail | |
Min Qty | |
Meta Keywords | |
Meta Description |
Campaign
Magento Campaign | SalesForce Campaign |
Rule ID | |
Name | Name |
Description | |
From Date | |
To Date | |
Active | |
Simple Action(Apply) | |
Discount Amount | |
Enable Discount to Subproducts | |
Subproducts Simple Action(Apply) | |
Subproducts Discount Amount |
Order
Magento | SalesForce Order |
ID | |
State | |
Status | Status |
Coupon Code | |
Coupon Rule Name | |
Increment ID | PoNumber |
Created At | EffectiveDate |
Company | |
Customer First Name | |
Customer Middle Name | |
Customer Last Name | |
Billing First Name | |
Billing Middle Name | |
Billing Last Name | |
Billing Company | |
Billing Street | |
Billing City | |
Billing State/Province | |
Billing Zip/Postal Code | |
Billing Telephone | |
Billing Country | |
Shipping First Name | |
Shipping Middle Name | |
Shipping Last Name | |
Shipping Company | |
Shipping Street | |
Shipping City | |
Shipping State/Province | |
Shipping Zip/Postal Code | |
Shipping Country | |
Shipping Amount | |
Shipping Description | |
Currency Code | |
Total Item Count | |
Store Currency Code | |
Shipping Discount Amount | |
Discount Description | |
Shipping Method | |
Store Name | |
Discount Amount | |
Tax Amount | |
Sub Total | |
Grand Total | |
Remote IP |
Order Item
Magento Order Item | SalesForce Order Item |
Parent ID | OrderID |
Qty | Quantity |
Price | UnitPrice |
Opportunity
Magento | SalesForce Opportunity |
ID | |
State | |
Status | Prospecting |
Coupon Code | |
Coupon Rule Name | |
Increment ID | Name |
Created At | CloseDate |
Company | |
Customer First Name | |
Customer Middle Name | |
Customer Last Name | |
Billing First Name | |
Billing Middle Name | |
Billing Last Name | |
Billing Company | |
Billing Street | |
Billing City | |
Billing State/Province | |
Billing Zip/Postal Code | |
Billing Telephone | |
Billing Country | |
Shipping First Name | |
Shipping Middle Name | |
Shipping Last Name | |
Shipping Company | |
Shipping Street | |
Shipping City | |
Shipping State/Province | |
Shipping Zip/Postal Code | |
Shipping Country | |
Shipping Amount | |
Shipping Description | |
Currency Code | |
Total Item Count | |
Store Currency Code | |
Shipping Discount Amount | |
Discount Description | |
Shipping Method | |
Store Name | |
Discount Amount | |
Tax Amount | |
Sub Total | |
Grand Total | |
Remote IP |
Opportunity Item
Magento Opportunity Item | SalesForce Opportunity Item |
Parent ID | OrderID |
Qty | Quantity |
Price | UnitPrice |
Updates
- When a bug fix or new feature is released, we will provide you with the module's new package. All you need to do is repeating the above installing steps and uploading the package onto your store. The code will automatically override.
- Flush the config cache. Your store and newly installed module should be working as expected.
Support
- We will reply to support requests after 2 business days.
- We will offer lifetime free update and 6 months free support for all of our paid products. Support includes answering questions related to our products, bug/error fixing to make sure our products fit well in your site exactly like our demo.
- Support DOES NOT include other series such as customizing our products, installation and uninstallation service.
Once again, thank you for purchasing our extension. If you have any questions relating to this extension, please do not hesitate to contact us for support.