FinzBooksDevelopers

Estimates

Quotes (a.k.a. estimates). Non-posting customer documents that can be accepted and converted to a Sales Order, then to an Invoice.

GET/estimatesList estimatesAIBooks.estimates.READ
GET/estimates/{estimate_id}Get one estimateAIBooks.estimates.READ
POST/estimatesCreate (DRAFT)AIBooks.estimates.CREATE
PUT/estimates/{estimate_id}Update header / statusAIBooks.estimates.UPDATE
POST/estimates/{estimate_id}/acceptDRAFT/SENT → ACCEPTEDAIBooks.estimates.UPDATE
POST/estimates/{estimate_id}/convertACCEPTED → Sales OrderAIBooks.estimates.UPDATE
DELETE/estimates/{estimate_id}Delete (not if CONVERTED)AIBooks.estimates.DELETE

Status lifecycle

DRAFT  →  SENT  →  ACCEPTED  →  CONVERTED
   ↓        ↓
DECLINED  CANCELLED

Create example

POST /estimates
Authorization: Bearer aibk_pat_…

{
  "customer_id": "ct_acme",
  "date": "2026-05-12T00:00:00",
  "expiry_date": "2026-06-11T00:00:00",
  "place_of_supply": "IN-MH",
  "line_items": [
    { "item_id": "it_widget", "quantity": 5 }
  ],
  "notes": "30-day validity"
}

Convert to Sales Order

POST /estimates/est_abc/convert
Authorization: Bearer aibk_pat_…

200 OK
{
  "code": 0,
  "message": "The estimate has been converted to sales order 'so_xyz'.",
  "estimate": { …, "status": "CONVERTED", "converted_to_sales_order_id": "so_xyz" }
}