Sales & Purchase Orders
Confirmed orders pending fulfilment + invoicing. SO is customer-side, PO is vendor-side. Both convert to their respective transaction (invoice / bill).
Sales Orders
GET
/sales_ordersListAIBooks.salesorders.READGET
/sales_orders/{sales_order_id}Get oneAIBooks.salesorders.READPOST
/sales_ordersCreate (DRAFT)AIBooks.salesorders.CREATEPUT
/sales_orders/{sales_order_id}Update headerAIBooks.salesorders.UPDATEPOST
/sales_orders/{sales_order_id}/convertConvert to InvoiceAIBooks.salesorders.UPDATEPOST /sales_orders
{
"customer_id": "ct_acme",
"date": "2026-05-12T00:00:00",
"place_of_supply": "IN-MH",
"shipment_date": "2026-05-20T00:00:00",
"line_items": [{ "item_id": "it_widget", "quantity": 10 }]
}Purchase Orders
GET
/purchase_ordersListAIBooks.purchaseorders.READGET
/purchase_orders/{purchase_order_id}Get oneAIBooks.purchaseorders.READPOST
/purchase_ordersCreate (DRAFT)AIBooks.purchaseorders.CREATEPUT
/purchase_orders/{purchase_order_id}Update headerAIBooks.purchaseorders.UPDATEPOST
/purchase_orders/{purchase_order_id}/convertConvert to BillAIBooks.purchaseorders.UPDATEDELETE
/purchase_orders/{purchase_order_id}DeleteAIBooks.purchaseorders.DELETEPOST /purchase_orders
{
"vendor_id": "ct_vendor",
"date": "2026-05-12T00:00:00",
"expected_date": "2026-05-25T00:00:00",
"line_items": [{ "item_id": "it_widget", "quantity": 50 }]
}Status lifecycle
Sales Order:
DRAFT → OPEN → PARTIALLY_INVOICED → INVOICED → CLOSED
↓
CANCELLED
Purchase Order:
DRAFT → OPEN → BILLED
↓
CANCELLED