FinzBooksDevelopers

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.READ
GET/sales_orders/{sales_order_id}Get oneAIBooks.salesorders.READ
POST/sales_ordersCreate (DRAFT)AIBooks.salesorders.CREATE
PUT/sales_orders/{sales_order_id}Update headerAIBooks.salesorders.UPDATE
POST/sales_orders/{sales_order_id}/convertConvert to InvoiceAIBooks.salesorders.UPDATE
POST /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.READ
GET/purchase_orders/{purchase_order_id}Get oneAIBooks.purchaseorders.READ
POST/purchase_ordersCreate (DRAFT)AIBooks.purchaseorders.CREATE
PUT/purchase_orders/{purchase_order_id}Update headerAIBooks.purchaseorders.UPDATE
POST/purchase_orders/{purchase_order_id}/convertConvert to BillAIBooks.purchaseorders.UPDATE
DELETE/purchase_orders/{purchase_order_id}DeleteAIBooks.purchaseorders.DELETE
POST /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