WooCommerce Fusion
GNU GPL V3
The code is licensed as GNU General Public License (v3) and the copyright is owned by Starktail (Pty) Ltd and Contributors.
WooCommerce connector for ERPNext v15 and v16
This app allows you to synchronise your ERPNext site with multiple WooCommerce websites
- Sales Order Synchronisation
- Item Synchronisation
- Sync Item Stock Levels
- Sync Item Prices
- Integration with WooCommerce Plugins
Important
Batch API mode will become the default in a future release, and the current one-at-a-time mode will be deprecated.
Batch API mode groups sync operations into batched WooCommerce API calls instead of sending them one at a time, which significantly reduces load on your WooCommerce server.
Enable it per server on WooCommerce Server.
Queued, flushed and failed operations are visible on the WooCommerce Sync Status page
(/app/woocommerce-sync-status), and each flush is recorded as a WooCommerce Batch Log.
📄 User documentation is hosted at woocommerce-fusion-docs.starktail.com/woocommerce_fusion_introduction
You can install this app using the bench CLI:
cd $PATH_TO_YOUR_BENCH
bench get-app $URL_OF_THIS_REPO --branch develop
bench install-app woocommerce_fusion- Navigate to the app directory
cd frappe-bench/apps/woocommerce_fusion- Start Wordpress Playground
npx @wp-playground/cli server --blueprint wp_woo_blueprint.json --site-url=https://woo-test.localhost- Start Caddy
caddy run --config wp_woo_caddy --adapter caddyfileShould you want to check out the locally running wordpress instance, navigate to https://woo-test.localhost in your browser. The default login details are admin and password. Also, ensure an entry exists in your hosts file that points woo-test.localhost to 127.0.0.1
- Set the correct environment variables and run the tests
export WOO_INTEGRATION_TESTS_WEBSERVER="https://woo-test.localhost"
export WOO_API_CONSUMER_KEY="ck_test_123456789"
export WOO_API_CONSUMER_SECRET="cs_test_abcdefg"
export DEV_SERVER=1
bench --site test_site_woocommerce run-tests --app woocommerce_fusion --coverageTo run unit tests:
bench --site test_site_woocommerce run-tests --app woocommerce_fusion --coverageTo run UI/integration tests:
The following depencies are required
sudo apt update
# Dependencies for cypress: https://docs.cypress.io/guides/continuous-integration/introduction#UbuntuDebian
sudo apt-get install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb
sudo apt-get install chromiumbench --site test_site_woocommerce run-ui-tests woocommerce_fusion --headless --browser chromiumThis app uses pre-commit for code formatting and linting. Please install pre-commit and enable it for this repository:
cd apps/woocommerce_fusion
pre-commit install
#(optional) Run against all the files
pre-commit run --all-filesPre-commit is configured to use the following tools for checking and formatting your code:
- ruff
- eslint
- prettier
- pyupgrade
We use Semgrep rules specific to Frappe Framework
# Install semgrep
python3 -m pip install semgrep
# Clone the rules repository
git clone --depth 1 https://github.com/frappe/semgrep-rules.git frappe-semgrep-rules
# Run semgrep specifying rules folder as config
semgrep --config=/workspace/development/frappe-semgrep-rules/rules apps/woocommerce_fusionFor documentation, we use vitepress. You can run yarn docs:dev to preview the docs when applying changes
This app can use GitHub Actions for CI. The following workflows are configured:
- CI: Installs this app and runs unit tests on every push to
developbranch. - Linters: Runs Frappe Semgrep Rules and pip-audit on every pull request, as well as Semgrep

