Skip to content

How to Connect TikTok Shop to Odoo: Social Commerce Integration

DeployMonkey Team · March 23, 2026 10 min read

Why Connect TikTok Shop to Odoo?

TikTok Shop has become a major e-commerce channel, especially for brands targeting younger demographics. With in-app checkout, live shopping, and affiliate-driven sales, TikTok generates orders that need to be fulfilled, tracked, and accounted for in your business systems. Without integration, your team manually processes TikTok orders alongside orders from your website, Amazon, and other channels — leading to inventory discrepancies and fulfillment delays.

Connecting TikTok Shop to Odoo centralizes order management, ensures accurate inventory across all channels, and gives you unified revenue reporting.

TikTok Shop API Overview

TikTok provides the TikTok Shop Open API for sellers and partners. Key capabilities:

API AreaCapabilityOdoo Use
ProductCreate, update, list productsCatalog sync from Odoo
OrderFetch orders, update statusImport to sale.order
InventoryUpdate stock levelsSync from Odoo warehouse
FulfillmentCreate shipping labels, trackingPush from Odoo delivery
FinanceSettlements, payoutsReconcile in Odoo accounting

Prerequisites

  • Approved TikTok Shop seller account
  • TikTok Shop Partner Center access
  • App created in TikTok Shop Open Platform
  • Odoo with Sales, Inventory, and Accounting modules

Step 1: Create TikTok Shop App

  1. Go to TikTok Shop Partner Center → My Apps
  2. Create a new app
  3. Select required API permissions: Product, Order, Logistics, Finance
  4. Complete app review (takes 2-5 business days)
  5. Get your App Key and App Secret

Step 2: Authenticate and Get Access Token

import requests, hashlib, hmac, time

APP_KEY = 'your_app_key'
APP_SECRET = 'your_app_secret'

def get_access_token(auth_code):
    timestamp = int(time.time())
    path = '/api/v2/token/get'
    
    resp = requests.get(
        f'https://open-api.tiktokglobalshop.com{path}',
        params={
            'app_key': APP_KEY,
            'app_secret': APP_SECRET,
            'auth_code': auth_code,
            'grant_type': 'authorized_code',
        }
    )
    return resp.json()['data']['access_token']

Step 3: Import TikTok Orders to Odoo

def fetch_tiktok_orders(access_token, shop_cipher):
    resp = requests.post(
        'https://open-api.tiktokglobalshop.com/api/orders/search',
        headers={'x-tts-access-token': access_token},
        params={'app_key': APP_KEY, 'shop_cipher': shop_cipher},
        json={
            'order_status': 'AWAITING_SHIPMENT',
            'page_size': 50,
        }
    )
    return resp.json()['data']['orders']

def create_odoo_sale_order(tiktok_order, models, db, uid, key):
    buyer = tiktok_order['recipient_address']
    
    partner_id = find_or_create_partner({
        'name': buyer['name'],
        'phone': buyer['phone'],
        'street': buyer['full_address'],
    }, models, db, uid, key)
    
    lines = []
    for item in tiktok_order['line_items']:
        product_id = find_product_by_sku(item['seller_sku'], models, db, uid, key)
        lines.append((0, 0, {
            'product_id': product_id,
            'product_uom_qty': int(item['quantity']),
            'price_unit': float(item['sale_price']),
        }))
    
    return models.execute_kw(db, uid, key, 'sale.order', 'create', [{
        'partner_id': partner_id,
        'order_line': lines,
        'origin': f"TikTok #{tiktok_order['order_id']}",
        'x_tiktok_order_id': tiktok_order['order_id'],
    }])

Step 4: Sync Products from Odoo

Push your Odoo product catalog to TikTok Shop so listings stay synchronized:

def sync_product_to_tiktok(product, access_token, shop_cipher):
    requests.post(
        'https://open-api.tiktokglobalshop.com/api/products',
        headers={'x-tts-access-token': access_token},
        params={'app_key': APP_KEY, 'shop_cipher': shop_cipher},
        json={
            'product_name': product['name'],
            'description': product['description_sale'],
            'skus': [{
                'seller_sku': product['default_code'],
                'original_price': str(product['list_price']),
                'stock_infos': [{'available_stock': product['qty_available']}],
            }],
        }
    )

Step 5: Update Fulfillment

When Odoo marks a delivery order as done, push the tracking number back to TikTok Shop so customers get shipping notifications:

  • Listen for Odoo stock.picking state changes to done
  • Call TikTok's ship order API with the tracking number and carrier
  • TikTok updates the order status and notifies the buyer

Inventory Sync Strategy

For multi-channel sellers, inventory accuracy is critical. Implement a centralized approach:

  • Odoo is the single source of truth for stock levels
  • Run sync to TikTok every 10-15 minutes
  • Reserve stock for TikTok orders immediately on import
  • Deduct stock on fulfillment, not on order placement

TikTok Shop Fees

Fee TypeRateNotes
Referral fee2-8%Varies by category
Transaction fee~1%Payment processing
Affiliate commission5-20%If using TikTok affiliates

DeployMonkey + TikTok Shop

DeployMonkey instances support the scheduled actions and API infrastructure needed for TikTok Shop integration. Our AI agent can help configure product sync, order import, and fulfillment workflows.