Shopify to iDempiere
From iDempiere en
- Creator/Maintainter: Yogan Naidoo (talk) - nTier Software Services
- Current Version: 1.0.0
- License: GPLv2
- Source: GitHub repository
Credits
- iDempiere
- Shopify developed by Shopify Inc.
Background
Shopify is a popular e-commerce platform and hosts over 1 000 000 businesses, world wide. Some businesses with iDempiere use Shopify as a channel for online sales. There is a need to integrate those transactions back to iDempiere (ERP) for accounting and stock management
Functionality
The basic premise is to have a one way update of information from Shopify to iDempiere (ERP)
- After a sales order/s is completed and fulfilled on Shopify then it will be transmitted to the ERP
- We use the Mixed POS Payment functionality in iDempiere (Contributed by GlobalQSS) to generate a payment
- Once the Sales Order (SO) is successfully synchronised to the ERP. The associated invoice, payment, shipment and allocation are generated and completed
- The sales order document number will be the Shopify order number
- The assumption is that the ERP will be the 'Master' for the the products. If a line has a product that is not recognised by the ERP then the default one, on the Shopify Defaults window will be used. We feel that stock management is better off done on the ERP
- When a Business Partner (BP) is used for the e-commerce sale and it does not exist in the ERP, then a BP will be created using the e-commerce order's address and contact details. The key to the BP will be the email address or the telephone number entered. Defaults will be used, as set up in the Shopify Defaults window, if this info is not available from the Shopify order
Download Source Code/Application
- git clone https://github.com/nTier-Software/Shopify-iDempiere.git or unzip the downloaded zip file
Development Environment
You can skip this step if you just want to install the plugin zip file
- Operating System used is Ubuntu 20.04.2 LTS
- Java: OpenJDK 11.0.9.1
- Eclipse IDE for Enterprise Java Developers - Version: 2020-09 (4.17.0)
- iDempiere 8.2z
Shopify Changes
- We use 'Basic Authentication' and generated the consumer secret and consumer key as per: Shopify authenticated requests
iDempiere Changes
- Pack in the Shopify Defaults window and Shopify process from 'Shopify packin.zip' This file is located in root of the plugin source
- The plugin jar:'za.co.ntier.shopify...jar' is located in the plugins directory
- Create tax rates to match the rates on Shopify
- Create an inclusive sales price list
- Create POS tender types exactly as follows:
Search Key|1000000, Name|Credit Card, Tender type|Credit Card Search Key|1000001, Name|Cash, Tender type|Cash Search Key|1000002, Name|EFT, Tender type|Direct Deposit Search Key|1000003, Name|OnCredit, Tender type|Account
- In the System Configurator, set:
PAYMENT_OVERWRITE_DOCUMENTNO_WITH_CREDIT_CARD to 'N' CLIENT_ACCOUNTING to M
- Populate the Shopify Defaults window. Ensure the 'organisation' is set correctly
- Also ensure that the field 'SyncFrom' is set to the correct ISO date and time format. Orders will be fetched from Shopify from that date and time. This field will be updated to the current date and time after the process completes
For example:
Run Shopify process from iDempiere
- Click on the menu item 'Shopify'
- Inspect your sales orders on iDempiere to see if your 'Fulfilled' Shopify orders reflect
- The sales orders must be successfully completed on iDempiere
If you want to provide additional comments, please use the iDempiere forum post: iDempiere forum post