Skip to content

Trade Module

Christian KASSE edited this page Apr 2, 2026 · 2 revisions

Trade Module

CRM and commerce: customers, contacts, opportunities, sales orders, purchase orders, products, suppliers, deliveries, and more.

Accessor: client.trade

Available Resources

Resource Accessor Description
Customers client.trade.customers Customer management
Contacts client.trade.contacts Contact persons
Opportunities client.trade.opportunities Sales opportunities / pipeline
Sales Orders client.trade.sales_orders Sales orders
Purchase Orders client.trade.purchase_orders Purchase orders
Products client.trade.products Product catalog
Suppliers client.trade.suppliers Supplier management
Deliveries client.trade.deliveries Delivery tracking
Contracts client.trade.contracts Trade contracts
Campaigns client.trade.campaigns Marketing campaigns
Activities client.trade.activities CRM activities
Documents client.trade.documents Trade documents
Inventory client.trade.inventory Inventory tracking
Stock client.trade.stock Stock levels
Warehouses client.trade.warehouses Warehouse management
Receipts client.trade.receipts Goods receipts

Code Examples

Customer Management

from essabu import Essabu

client = Essabu(api_key="esa_live_xxx", tenant_id="tenant-id")

customers = client.trade.customers.list(page_size=20, status="active")
customer = client.trade.customers.create(
    name="ACME Corp",
    email="contact@acme.com",
    phone="+243 812345678",
    address="Kinshasa, DRC",
)
client.trade.customers.update("cust-uuid", name="ACME Corporation")
client.trade.customers.delete("cust-uuid")

Opportunities (Pipeline)

opportunities = client.trade.opportunities.list(stage="negotiation")
deal = client.trade.opportunities.create(
    title="Enterprise License Deal",
    customer_id="cust-uuid",
    value=50000,
    currency="USD",
    stage="qualification",
    expected_close="2026-06-30",
)
client.trade.opportunities.update("opp-uuid", stage="proposal")

Sales Orders

order = client.trade.sales_orders.create(
    customer_id="cust-uuid",
    lines=[
        {"product_id": "prod-uuid", "quantity": 10, "unit_price": 25.00},
    ],
)
orders = client.trade.sales_orders.list(status="pending")

Products and Suppliers

products = client.trade.products.list(category="electronics")
product = client.trade.products.create(
    name="Widget Pro",
    sku="WGT-PRO-001",
    price=29.99,
    currency="USD",
)
suppliers = client.trade.suppliers.list()
supplier = client.trade.suppliers.create(
    name="Parts Inc.",
    email="orders@parts.com",
    country="BE",
)

Purchase Orders and Deliveries

po = client.trade.purchase_orders.create(
    supplier_id="sup-uuid",
    lines=[{"product_id": "prod-uuid", "quantity": 100, "unit_price": 15.00}],
)
delivery = client.trade.deliveries.create(
    order_id=order["id"],
    carrier="DHL",
    tracking_number="DHL123456",
)

Warehouses and Stock

warehouses = client.trade.warehouses.list()
stock = client.trade.stock.list(warehouse_id="wh-uuid", product_id="prod-uuid")

Campaigns and Activities

campaign = client.trade.campaigns.create(
    name="Q2 Outreach",
    type="email",
    start_date="2026-04-01",
    end_date="2026-06-30",
)
activity = client.trade.activities.create(
    type="call",
    customer_id="cust-uuid",
    description="Follow-up call",
    due_date="2026-04-01",
)

See Also

Clone this wiki locally