Difference between revisions of "Shopify to iDempiere"
From iDempiere en
| Line 12: | Line 12: | ||
== Background == | == 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. | + | 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 == | == Functionality == | ||
| − | The basic premise is to have a one way update of information from | + | 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 | * 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 | * We use the Mixed POS Payment functionality in iDempiere (Contributed by GlobalQSS) to generate a payment | ||
| Line 21: | Line 21: | ||
* The sales order document number will be the Shopify order number | * 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 | * 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 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 | + | * 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 == | == Download Source Code/Application == | ||
| Line 34: | Line 34: | ||
== Shopify Changes == | == Shopify Changes == | ||
| − | * We use 'Basic Authentication' and generated the consumer secret and consumer key as per: [https://shopify.dev/tutorials/authenticate-a-private-app-with-shopify-admin#make-authenticated-requests] | + | * We use 'Basic Authentication' and generated the consumer secret and consumer key as per: [https://shopify.dev/tutorials/authenticate-a-private-app-with-shopify-admin#make-authenticated-requests Shopify authenticated requests] |
== iDempiere Changes == | == iDempiere Changes == | ||
| Line 41: | Line 41: | ||
* Create tax rates to match the rates on Shopify | * Create tax rates to match the rates on Shopify | ||
* Create an inclusive sales price list | * Create an inclusive sales price list | ||
| − | * Create | + | * Create POS tender types exactly as follows: |
Search Key|1000000, Name|Credit Card, Tender type|Credit Card | Search Key|1000000, Name|Credit Card, Tender type|Credit Card | ||
Search Key|1000001, Name|Cash, Tender type|Cash | Search Key|1000001, Name|Cash, Tender type|Cash | ||
| Line 50: | Line 50: | ||
CLIENT_ACCOUNTING to M | CLIENT_ACCOUNTING to M | ||
* Populate the Shopify Defaults window. Ensure the 'organisation' is set correctly | * 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: | For example: | ||
Latest revision as of 18:54, 19 February 2021
- 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
