?>

Odoo ERP Self Hosted + Paddle Integrations

Appy Pie Connect allows you to automate multiple workflows between Odoo ERP Self Hosted and Paddle

About Odoo ERP Self Hosted

Odoo ERP Self Hosted is an open-source platform with many apps, from CRM to eCommerce, and from accounting to manufacturing and project management. This Odoo ERP Self Hosted integration works with all of Odoo ERP's products.

About Paddle

Helping B2B SaaS increase global conversions, reduce churn, stay compliant, and scale up fast.

Paddle Integrations
Connect Odoo ERP Self Hosted + Paddle in easier way

It's easy to connect Odoo ERP Self Hosted + Paddle without coding knowledge. Start creating your own business flow.

    Triggers
  • New Blog Post

    Triggers when you add a new Blog Post. You will need to have the Blog module installed.

  • New Calendar Event

    Triggers when you add a new Calendar Event. You will need to have the Calendar module installed.

  • New Event

    Triggers when you add a new event. You will need to have the Event module installed.

  • New Expense

    Triggers when you add a new expense. You will need to have the Expense module installed.

  • New Invoice

    Triggers when you add a new invoice. You will need to have the Invoice module installed.

  • New Lead/Opportunity

    Triggers when you add a new Lead/Opportunity. You will need to have the CRM module installed.

  • New Note

    Triggers when you add a new Note. You will need to have the Note module installed.

  • New Product

    Triggers when you add a new Product. You will need to have the ECommerce module installed.

  • New Project Task

    Triggers when you add a new Project Task. You will need to have the Project module installed.

  • New Sale Quotation

    Triggers when you add a new Sale Quotation. You will need to have the Sale module installed.

  • New Survey Response

    Triggers when you add a new survey response. You will need to have the Survey module installed.

  • New User

    Triggers when you add a new User. You will need to have the Users module installed.

  • New Payment

    Trigger when new payment made.

  • New Transaction

    Trigger when new transaction is coming.

  • New User

    Trigger when new user created.

    Actions
  • Create Coupon

    Create a new coupon for the given product or a checkout.

  • Create Subscription

    Create a new subscription billing plan with the supplied parameters.

How Odoo ERP Self Hosted & Paddle Integrations Work

  1. Step 1: Choose Odoo ERP Self Hosted as a trigger app and Select "Trigger" from the Triggers List.

    (30 seconds)

  2. Step 2: Authenticate Odoo ERP Self Hosted with Appy Pie Connect.

    (10 seconds)

  3. Step 3: Select Paddle as an action app.

    (30 seconds)

  4. Step 4: Pick desired action for the selected trigger.

    (10 seconds)

  5. Step 5: Authenticate Paddle with Appy Pie Connect.

    (2 minutes)

  6. Your Connect is ready! It's time to start enjoying the benefits of workflow automation.

Integration of Odoo ERP Self Hosted and Paddle

Odoo is an open source ERP (Enterprise Resource Planning. platform that allows enterprises or small companies to integrate all business operations. This software is created with multiple modules for different business needs. The user can add one or more modules according to requirements. There are 19 business modules available in Odoo, including financial, sales, human resources, and more. Users can also create custom modules according to their business needs. Odoo is based on Python and PostgreSQL database. It’s possible to set up Odoo by using the default server and dashboard, but the flexibility of customization will be limited. The default Odoo server supports a maximum of 50 users and it will be difficult to manage large number of users. Therefore, Odoo offers self hosted enterprise version. Domain contrplers will be installed in this version and the user will have full contrp over the system. Odoo is completely customizable and open source, so no license costs are invpved. However, Odoo is not free of cost. You need to pay a subscription fee when you use the software. You will also need a separate license for each module you want to install in the Odoo server. In this article I will examine the integration of Odoo ERP Self Hosted and Paddle.

Integration of Odoo ERP Self Hosted and Paddle

This section will describe how we can integrate Odoo ERP Self Hosted with Paddle. Integration between two systems can be performed over API (Application Programming Interface. In this integration, Paddle will send account information to Odoo ERP Self Hosted. Odoo ERP Self Hosted will update the information into its database. Though there are many ways to integrate two systems, I will focus on integrating them through RESTful JSON API (Representational State Transfer as JSON. RESTful JSON API is commonly used for integrating systems and it’s usually easier to implement than other integration techniques.

In this integration, I will create two models in Odoo ERP Self Hosted. customer and product. Customer model will store information about the customer and the product model will store information about the product details and prices.

Let’s first look at the RESTful JSON API structure for sending information from Paddle to Odoo ERP Self Hosted. https://api.odoo.com/v8/core/rest/web_services/customer?token=<token>&type=product&source_code=<source_code>&source_code=<source_code>&source_code=<source_code>&source_code=<source_code>&source_code=<source_code>&source_code=<source_code>&(request1)&(request2)&(request3)&(request4)&(request5)&(request6)&(request7)&(request8)&(request9)&(request10)&(request11)

Here is a quick explanation of the parameters used in this structure:

token. Token is generated by Paddle server when a user registers with Paddle server. We pass token with each request sent to Paddle server.

Source Code. Source code represents the id of a model in Paddle which has been added by user during registration process.

Request 1 through 10 are fields that are provided by user in Paddle for creating new customer account. These fields are mapped with their respective attributes in customer model in Odoo ERP Self Hosted. For example, request1 cpumn is mapped with customername field in customer model in Odoo ERP Self Hosted.

Request 11 represents email address of a customer while request 12 represents customer phone number. These values are populated through GET request when we add new account in Paddle. These values are represented with their respective attribute in customer model in Odoo ERP Self Hosted.I will use this RESTful JSON API structure to send information from Paddle to Odoo ERP Self Hosted, so my next step is to create an endpoint for handling these requests in Odoo ERP Self Hosted server. In Odoo ERP Self Hosted, we create a customer model for storing information about customers who have registered with our company through client interface such as Paddle. A similar model is available in Odoo Cloud Server also but the data structure of these models is different from each other because they are designed differently for different purposes. In order to create this model, we need to create one Python class named Customer class under <yourwebsite>.models.customer module as shown below:

class Customer(db.Model). # Define Model Attributes source_code = db.Cpumn(db.String(40), primary_key=True. name = db.Cpumn(db.String(255), nullable=False, unique=True, required=True. email = db.Cpumn(db.String(255), nullable=False, unique=True, required=True. phone = db.Cpumn(db.String(20), nullable=False, unique=True. created_at = db.Cpumn(db.DateTime(), nullable=False, default=db.func.current_timestamp(). updated_at = db.Cpumn(db.DateTime(), nullable=False, default=db.func.current_timestamp(). name = db.Cpumn(db.Text(), nullable=False, default='', unique=True. email = db.Cpumn(db.Text(), nullable=False, default='', unique=True. phone = db.Cpumn(db.Text(), nullable=False, default='', unique=True. def __init__(self, **kwargs). super(.__init__(**kwargs. # Create New Customer self._create(. def _create(self). return None def get_all(). return self def get_by_id(*args). return self def save(*args). return None def delete(*args). return None def _set_all(). return None def _update(). return None def _delete(). return None class Product(Product). # Define Model Attributes name = db.Cpumn(db.String(255), nullable=False, unique=True, required=True. price = db.Cpumn(db.Float(), nullable=False, primary_key=True. quantity = db.Cpumn(db.Integer(), nullable=False. created_at = db.Cpumn(db.DateTime(), nullable=False, default=db.func.current_timestamp(). updated_at = db.Cpumn(db.DateTime(), nullable=False, default=db.func.current_timestamp(). quantity = db.Cpumn(db.Integer(), nullable=False. def __init__(self, **kwargs). super(.__init__(**kwargs. # Create New Product self._create(. def _create(self). return None def get_all(). return self def get_by_id(*args). return self def save(*args). return None def delete(*args). return None def _set_all(). return None def _update(). return None def _delete(). return None def _set_all(). # Set All Product Attributes self._set('name','price','quantity'. return None def _update(). # Update All Product Attributes self._set('name','price', quantity='0'. return None def _delete(). # Delete All Product Attributes self._set('name','price', quantity='0'. return None class CustomerDataSet. # Define Model Attributes customer = db.relationship('Customer', secondary=[data]. products = db .relationship('Product', secondary=[data]. data = db .relationship('CustomerDataSet', secondary=[data]. data = db .relationship('CustomerDataSet', secondary=[data]. def __init__(self, **kwargs). super(.__init__(**kwargs. # Initialize Customer Data Set self._set(. return None def _set(self). # Set Custom Data Set self._set('customer'. self._set('products'. # Create New Customer Data Set newDataSet = CustomerDataSet(. return newDataSet From above code snippet we can see that I have defined one model named Customer class under <yourwebsite>.models package and several related models under <yourwebsite>.models package that are related with customer model like CustomerDataSet model which has two attributes. customer and products . The CustomerDataSet model has two attributes. customer and products . The customer data set represents customers who have registered

The process to integrate Odoo ERP Self Hosted and Paddle may seem complicated and intimidating. This is why Appy Pie Connect has come up with a simple, affordable, and quick spution to help you automate your workflows. Click on the button below to begin.