Skip to content

Trade Module

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

Trade Module

The Trade module covers CRM (customers, contacts, opportunities, activities, campaigns), sales and purchasing (orders, suppliers), contracts with clauses and amendments, products, warehousing, stock management, delivery notes, and goods receipts.

Client Access

var trade = essabu.trade();

Available API Classes

Class Accessor Description
CustomerApi trade.customers() Customers and customer groups
ContactApi trade.contacts() CRM contacts
OpportunityApi trade.opportunities() Sales opportunities
ProductApi trade.products() Products, categories, price lists
SalesOrderApi trade.salesOrders() Sales orders
PurchaseOrderApi trade.purchaseOrders() Purchase orders
SupplierApi trade.suppliers() Suppliers and supplier invoices
ContractApi trade.contracts() Contracts, clauses, amendments, documents
CampaignApi trade.campaigns() Marketing campaigns
ActivityApi trade.activities() CRM activities
WarehouseApi trade.warehouses() Warehouses and transfer orders
StockApi trade.stock() Stock levels, movements, lots, serials
DeliveryNoteApi trade.deliveryNotes() Delivery notes
GoodsReceiptApi trade.goodsReceipts() Goods receipts
ReportApi trade.reports() Pipeline and sales reports

CustomerApi

Customers and customer groups at /api/trade/customers and /api/trade/customer-groups.

Map customer = trade.customers().create(Map.of(
    "name", "Acme Corp", "email", "contact@acme.com", "phone", "+1234567890"
));

ProductApi

Products, categories, and price lists at /api/trade/products, /api/trade/product-categories, /api/trade/price-lists.

ContractApi

Full contract management: contracts, clauses, amendments, documents, and document versions at /api/contract/*.

WarehouseApi

Warehouses and transfer orders at /api/trade/warehouses and /api/trade/transfer-orders.

StockApi

Method Endpoint Description
listLevels(PageRequest) GET /api/trade/stock-levels List stock levels
listMovements(PageRequest) GET /api/trade/stock-movements List movements
createMovement(Map) POST /api/trade/stock-movements Create movement
listLots(PageRequest) GET /api/trade/stock-lots List stock lots
listSerialNumbers(PageRequest) GET /api/trade/serial-numbers List serial numbers
listReorderRules(PageRequest) GET /api/trade/reorder-rules List reorder rules
createReorderRule(Map) POST /api/trade/reorder-rules Create rule
listInventoryCounts(PageRequest) GET /api/trade/inventory-counts List counts

ReportApi

Method Endpoint Description
getPipelineReport(Map) GET /api/crm/reports/pipeline Pipeline report
getSalesReport(Map) GET /api/crm/reports/sales Sales report

Standard CRUD APIs

ContactApi, OpportunityApi, SalesOrderApi, PurchaseOrderApi, CampaignApi, ActivityApi, DeliveryNoteApi -- standard CRUD.

SupplierApi -- suppliers and supplier invoices at /api/trade/suppliers and /api/trade/supplier-invoices.

GoodsReceiptApi -- list, getById, create, update (no delete).

Error Scenarios

HTTP Status Cause
400 Invalid request data
401 Missing or expired authentication token
403 Insufficient permissions
404 Resource not found
409 Conflict (duplicate customer email, overlapping contract)
422 Business rule violation (insufficient stock, invalid order state)

Clone this wiki locally