Sales & Invoicing
Manage the full sales pipeline from quotes to invoices. Create quotes for prospective deals, convert approved quotes into invoices, and track payment status.
List quotes
Retrieve a paginated list of all quotes for your organization.
Optional parameters
- Name
status- Type
- string
- Description
Filter by status:
draft,sent,accepted,rejected.
- Name
limit- Type
- integer
- Description
Maximum number of records to return (default: 50).
- Name
offset- Type
- integer
- Description
Number of records to skip for pagination.
Request
curl https://api.umbraerp.com/v1/sales/quotes \
-H "Authorization: Bearer <your_access_token>"
Response
{
"result": "success",
"quotes": [
{
"id": "qt_a1b2c3d4",
"customer_id": "cust_123",
"status": "draft",
"total": 150000,
"currency": "USD",
"items": [],
"created_at": "2026-01-15T10:30:00Z"
}
],
"total_count": 1
}
Create quote
Create a new sales quote.
Required attributes
- Name
customer_id- Type
- string
- Description
The customer this quote is for.
- Name
items- Type
- array
- Description
Array of line items, each with
description,quantity, andunit_price.
- Name
currency- Type
- string
- Description
Three-letter ISO currency code (e.g.,
USD).
Optional attributes
- Name
notes- Type
- string
- Description
Additional notes for the quote.
- Name
valid_until- Type
- string
- Description
Expiry date for the quote (
YYYY-MM-DD).
- Name
tax_rate- Type
- number
- Description
Tax rate as a percentage (e.g.,
15for 15%).
Request
curl -X POST https://api.umbraerp.com/v1/sales/quotes \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json" \
-d '{
"customer_id": "cust_123",
"items": [
{
"description": "Consulting Services",
"quantity": 10,
"unit_price": 15000
}
],
"currency": "USD",
"tax_rate": 15,
"valid_until": "2026-04-01"
}'
Response
{
"result": "success",
"quote_id": "qt_a1b2c3d4",
"message": "Quote created successfully."
}
Get quote
Retrieve details of a specific quote by its ID.
Request
curl https://api.umbraerp.com/v1/sales/quotes/qt_a1b2c3d4 \
-H "Authorization: Bearer <your_access_token>"
Convert to invoice
Convert an accepted quote into an invoice. The quote must have a status of accepted.
Request
curl -X POST https://api.umbraerp.com/v1/sales/quotes/qt_a1b2c3d4/convert \
-H "Authorization: Bearer <your_access_token>"
Response
{
"result": "success",
"invoice_id": "inv_x1y2z3",
"message": "Quote converted to invoice successfully."
}
List invoices
Retrieve a paginated list of all invoices.
Optional parameters
- Name
status- Type
- string
- Description
Filter by status:
draft,sent,paid,overdue,cancelled.
- Name
limit- Type
- integer
- Description
Maximum number of records to return.
Request
curl https://api.umbraerp.com/v1/sales/invoices \
-H "Authorization: Bearer <your_access_token>"
Response
{
"result": "success",
"invoices": [
{
"id": "inv_x1y2z3",
"customer_id": "cust_123",
"status": "sent",
"total": 172500,
"currency": "USD",
"due_date": "2026-04-01",
"created_at": "2026-01-15T10:30:00Z"
}
]
}
Get invoice
Retrieve details of a specific invoice by its ID.
Request
curl https://api.umbraerp.com/v1/sales/invoices/inv_x1y2z3 \
-H "Authorization: Bearer <your_access_token>"

