Skip to main content
Version: 8.4

Shopify

Introduction

Shopify is an e-commerce solution that allows businesses to design, manage, and grow their online store without requiring any special technical skills. It offers a rich set of features covering the entire sales and management cycle.

Sales and order management:

  1. Intuitive creation and customization of online stores;

  2. Centralization of orders: creation, tracking, cancellation, and refunds;

  3. Automatic synchronization of sales with different channels (Facebook, Instagram, Amazon, Google Shopping).

Payment management:

  1. Integration of a wide range of payment methods (credit cards, PayPal, Mollie, Stripe, Shopify Payments);

  2. Support for partial payments (gift cards, split payments);

  3. Automatic calculation and management of taxes according to country and local regulations.

Inventory and product management:

  1. Add and modify products with variant management (size, color, etc.);

  2. Monitoring of stock levels and notifications in case of shortages;

  3. Connection with partner warehouses and logistics solutions.

Shipping and logistics:

  1. Integration with carriers for the calculation of delivery costs;

  2. Printing of shipping labels and package tracking;

  3. Compatibility with partner services such as Sendcloud for managing pickup points.

Marketing and analytics:

  1. Built-in search engine optimization (SEO) tools and advertising campaigns on Google and Facebook;

  2. Management of email marketing campaigns and promotions;

  3. Detailed dashboards and analytics reports to track sales and understand customer behavior.

Features in AOS

The standard module of Axelor Open Suite (AOS) ensures seamless integration between AOS and Shopify, covering the main synchronization needs for sales and operations management.

Store connection:

  1. Ability to connect multiple stores by company or brand.

AOS → Shopify synchronization:

  1. Automatic product transfer;

  2. Stock level updates;

  3. Synchronization of customer delivery fulfillment.

Shopify → AOS synchronization:

  1. Partner imports (with the option to update from AOS);

  2. Retrieval of orders, including discounts and shipping costs;

  3. Synchronization of the Shopify meta field (equivalent to AOS Studio).

Other synchronization features:

  1. Payment integration;

  2. Management of customer returns.

Shopify configuration

Access: Application config → Apps management → Shopify, configure → on the Shopify page, click on the "Configure" button → click on the company file to open the configurations by company

info

The Shopify configuration depends on the configuration of the user standard .

  1. API version: find the API version here.

  2. Client ID: the client identifier.

  3. Secret code: the encrypted secret client information.

  4. Configuration by company: click on the company file to access the configurations by company. Here you will find a link to the Shopify store.

note

Each commercial brand will have a Shopify store.

Store configuration

Access: Application config → Technical maintenance → Connectors → Shopify stores → a list of Shopify stores (Shopify Store) will then open In Axelor Open Suite (AOS), store management can be organized in two ways, depending on whether or not the feature related to commercial brands is activated:

With retail chain management enabled: it is possible to associate a store with each chain.

With retail chain management disabled: stores are then selected at the level of each company, directly in the corresponding application configurations.

  1. Open a Shopify Store.

  2. Webhook configuration: Webhook allows Shopify to notify the user when there is a change to an item/alert them to the creation of an order so that data processing can begin. The purpose of Webhook is to perform actions almost instantly. It is possible to have several Webhooks. For example:

  • Webhook that allows you to create a new customer file following the creation of a new customer;

  • Webhook that allows you to update the customer file following new information provided by the customer in their customer area;

  • Webhook that allows data processing when an order is created;

  • Webhook that allows data to be updated when an order is updated.

  1. Currency: other information is associated, for example, the currency. The currency is important because it will be associated with the product referential. In addition, an automatic conversion may take place if there is a difference in currencies.
info

Each store is linked to a stock location.

  1. Shopify stock location: click on the field. A drop-down list of all stock locations will open. Each stock location has a configuration that can be used for sales.
tip

Synchronize stock location: remember to synchronize your stock with Shopify stock locations during initialization by clicking on the "Synchronize stock location" button.

Synchronization batch

A product synchronization batch has been set up from the data sharing referential.

This mechanism ensures that several essential pieces of information for each product are automatically updated, namely:

  • Name ;

  • Code (SKU) ;

  • Description ;

  • Selling price and cost price ;

  • Barcode (Barcode) ;

  • Quantity available in stock (calculated as: currentQty – ReservedQty) ;

  • Weight ;

Thanks to this process, product data remains consistent and up to date, making it easier to use throughout the system.

info

A variant is considered a product.

Create and synchronize a partner

Creating partners from Shopify

Online customer: like any e-commerce customer, the connection begins with the customer creating an account using their email address. The customer will then fill in the following information: last name / first name / primary mailing address / other mailing addresses. Creating the account will automatically create the partner on AOS (via webhook). If the email address already exists on a partner file, the partner file will be then only synchronized with the Shopify account.

Add customer: on Shopify, you can add a customer directly by clicking on the "Add customer" button. This will open the New Customer window, allowing you to enter the essential information:

  • Last name / First name

  • Language

  • Email

  • Phone number

  • Address

Save: to save the customer information, simply click on the "Save" button at the top of the page on Shopify. Once the partner has been created in Shopify, it will be available on AOS (access: Application configuration → Referential → Partners).

tip

The information is updated using Webhooks.

info

If duplicates are created, AOS Standard offers a merge feature that allows you to merge a duplicate with an existing record in order to avoid confusion.

Creating partners in AOS

It is possible to set up a synchronization batch to load all partners present in Axelor Open Suite (AOS) into Shopify.

In this scenario:

  • All partners with an email address are automatically generated in Shopify.

  • Customers from Shopify who have not yet been imported (identified by their unique email address) are also integrated during this process.

The batch ensures consistency between the two systems by avoiding duplicates and ensuring that each customer is correctly synchronized.

caution

It is possible to update the customer file on Shopify and the update will be taken into account on AOS.

However, it is not possible to do the reverse: updates on AOS will not be taken into account by Shopify.

Product referential

Product/stock synchronization

An assistant is available to help you create your data sharing referential.

This tool allows you to define selection criteria based on a given product and/or product category. Based on these choices, the assistant automatically generates JPQL conditions. These facilitate searching and quick access to your referential, while ensuring better data structuring.

This referential must be associated with the store.

Access: Application config → Technical maintenance → Connectors → Data sharing → Data sharing product assistant

  1. Data sharing referential: the referential is managed by Shopify (since it is the user themselves who will create their account) and is linked to the Company. On the Company page, open the "Settings" tab. In this tab, you will find the referential entered in the "Data sharing referential" field.

  2. Product sharing assistant: the assistant allows you to list all the products you want to synchronize with Shopify.

tip

The products you want to create on the Shopify interface must be created from AOS.

note

You can use a filter by product category.

  1. Batch: once the referential is linked, apply a batch (access: Application config → Batches → Shopify batch). The batch can be used as many times as necessary.

  2. JPQL query: After the batch is launched, JPQL queries are generated. This query is sent to Shopify, and Shopify in turn will identify the product to be synchronized.

info

More complex queries can be performed using the condition (which must be coded) to target the entire referential. For example, you can target only sellable and active products.

In this case, the concept remains the same: link the referential of associated queries to launch the batch in order to synchronize the products.

Create a product on Shopify

You can also create a product on Shopify. Most options are linked to the product in AOS.

Access: Shopify → Products → Fill in the product form

  1. Title: enter the product title.

  2. Description: add a description.

  3. Media: add media content (images/videos/3D models).

  4. Category: select a category.

  5. Selling price: enter the selling price (pricing).

  6. Charge default tax: check the "Charge tax on this product" box.

  7. Status: select the status (draft or active). If you select "Active" status, this means that the product will be added to the store and will be available for purchase.

  8. Product type: the product type can be loaded automatically.

  9. Seller: by default, the store seller will be entered as the seller.

  10. Price per product: here you will find the price per product.

  11. SKU (Stock Keeping Unit): this is the product code.

  12. Barcode: enter the barcode in this field.

  13. Track quantity: if the "managed in stock" option is enabled on the product sheet in AOS, you will be able to enable the "Track quantity" option. Batches will allow you to update stock quantities and product availability (in AOS, there are also products that are reserved, so this quantity will be deducted from the available quantity).

  14. Continue selling when the product is out of stock: this option is not linked to AOS and must be enabled or disabled in the product referential.

  15. Delivery: indicate whether it is a physical product (check the Delivery / Shipping box). If it is a physical product, indicate the weight of the product.

  16. Variants: add variants from this field.

  17. Meta fields: fill in the meta fields (metafields). See the dedicated chapter for more information.

Synchronization of meta fields

Synchronization of fields from Shopify to AOS

Meta fields are custom Studio-type fields that users can add in Shopify. Meta fields can be added to products, orders, or partners in Shopify.

The following rule applies:

  • Axelor standard field & Shopify standard field: the link between the two fields already exists.

  • Custom fields: a custom field will be specific to each customer and must not be linked to an Axelor standard field.

  • Shopify custom field & Axelor standard field: in this case, synchronization must be set up. This means creating a reference table and indicating which field should be synchronized with which field. The process is launched by the various linked actions. For example, during a product batch, launch a synchronization of the meta fields of all custom product fields.

  1. Prerequisites for use:
  • Prior creation of meta fields on Orders, Products, or Partners objects in Shopify.

  • Please note that the meta field type must not be metafile, mix reference, link, or product variant.

  1. Synchronization process:
  • When synchronizing partners and orders, all managed meta fields are automatically loaded.

  • A webhook allows you to track updates to these fields in Shopify in real time and reflect them in AOS.

  • It is possible to synchronize a Shopify meta field with a standard AOS field using an appropriate forwarding configuration.

  1. Use case: this loading mode applies to so-called "simple" fields, which are not involved in a specific business process. For rxample, a comment for manufacturing operation.
caution

Synchronization of fields from AOS to Shopify: to date, there is no standard setting that allows data to be synchronized from AOS to Shopify.

However, a specific implementation is still possible (for a particular customer case).

This development would aim to complement the existing system by enabling a two-way exchange of information.

Order synchronization

Order synchronization from Shopify to AOS

  1. Order placement and integration: The customer can place their order and purchase synchronized products directly from the e-commerce site. Once the order has been paid for, it is automatically loaded into AOS using a webhook.

  2. Loading conditions:

  • The product must be managed in TTC (App Base configuration).

  • The order must be compatible with TTC management (App Sales by Company configuration). When loading order lines, the standard tax configuration is applied.

  1. Order processing: if the Shopify order amount matches the amount imported into AOS:
  • The invoice is automatically generated with the default payment method.

  • The delivery note is scheduled and ready to be processed. If a difference in amount is found, a manual intervention will be required (e.g., adjustment of the partner’s tax position).

Delivery note synchronization

Delivery notes are also synchronized automatically from AOS to Shopify.

This allows users to view the delivery status directly from the Shopify interface.

The process also takes partial deliveries into account, ensuring that the actual situation is accurately updated.

Functional example

  1. In Shopify: an order has been created (#1013) following the sale of the motherboard (1 unit). The order is linked to the seller (e.g., Marc S). Since the order was placed in France, the VAT applied is 20%.

  2. On the Axelor side: once payment has been made, the order is automatically loaded via webhook.

note

Orders should be paid in order to be loaded.

On the order file, you will find order lines with the associated product/quantity.

  1. You can then apply a price discount.

  2. Shopify total amount: compare the Shopify price and the total price of the order. The two amounts must match.

  3. Associated taxes: associated taxes can be found on the order line in the Information tab (configured in Axelor).

  4. Invoicing: open the Invoicing tab to create an invoice. The invoice will be created and ventilated automatically (provided that the amounts are equal).

  5. Invoice generation: Invoices are generated via Axelor, not Shopify. The generated invoice (access via Invoicing → Customer Invoice) must then be converted to PDF by clicking on the "Reports" button and sent to the customer.

info

The next step is to be able to create and send the invoice automatically to the customer using an email template.