Quotes Guide
Document Type: Quote
Document Type ID: 1 (verify with /document-type)
Overviewβ
Quotes are commercial documents that:
- π Present sales proposals to customers
- π DO NOT affect stock
- π΅ DO NOT require immediate payment
- π Serve as a base for future invoices
- β±οΈ Generally have limited validity
When to Useβ
- β Commercial proposal before the sale
- β Price presentation to customer
- β Terms negotiation
- β Base for order approval
Quote Characteristicsβ
| Characteristic | Value | Description |
|---|---|---|
| Affects Stock | β No | Stock is not affected |
| Requires Payment | β No | Proposal only |
| Can be Closed | β Yes | Can be finalized |
| Fiscal Validation | β No | Not a fiscal document |
| Allows Editing | β Yes | While not closed |
| Conversion | β Yes | Can generate Invoice/Order |
Create Quoteβ
Basic Exampleβ
POST /api/v1/invoices
Content-Type: application/json
Authorization: Bearer {token}
{
"serieId": 10,
"documentTypeId": 1,
"entityKeyId": "CLI001",
"entityDescription": "Potential Client, Ltd",
"entityVat": "PT123456789",
"obs": "Quote valid until 12/31/2025",
"dueDate": "2025-12-31",
"documentBodies": [
{
"itemKeyId": "PROD001",
"itemDescription": "Complete Solution",
"quantity": 1.0,
"retailPrice": 5000.00,
"taxId": 1,
"paymentType": 1,
"stockFlow": 0, // Does NOT affect stock
"stockBehavior": 0,
"secondTaxId": 0
}
]
}
Quote with Discountβ
{
"serieId": 10,
"documentTypeId": 1,
"entityKeyId": "CLI001",
"obs": "Special discount for new customer",
"documentBodies": [
{
"itemKeyId": "PROD001",
"quantity": 10.0,
"retailPrice": 100.00,
"discountValue": 15.00, // 15% discount
"observation": "Volume discount",
"taxId": 1,
"paymentType": 1,
"stockFlow": 0,
"stockBehavior": 0,
"secondTaxId": 0
}
]
}
Conversion to Invoiceβ
Step by Stepβ
1. Get approved quote:
GET /api/v1/invoices/123
Authorization: Bearer {token}
2. Create invoice with the same data:
POST /api/v1/invoices
Content-Type: application/json
Authorization: Bearer {token}
{
"serieId": 1, // Invoice series
"documentTypeId": 5, // Invoice
"entityKeyId": "CLI001", // Same customer
"docReference": "QT A/123", // Reference to quote
"documentBodies": [
{
"itemKeyId": "PROD001",
"quantity": 1.0,
"retailPrice": 5000.00,
"taxId": 1,
"paymentType": 1,
"stockFlow": 1, // NOW affects stock
"stockBehavior": 1,
"secondTaxId": 0
}
]
}
3. Close original quote:
PUT /api/v1/invoices/123
Content-Type: application/json
Authorization: Bearer {token}
{
"id": 123,
"close": true,
"obs": "Converted to invoice INV A/456"
}
Best Practicesβ
β Recommendedβ
- Include validity date in
dueDatefield - Detail commercial terms in
obsfield - Reference customer's RFQ in
docReference - Include promotional discounts in
discountValue - Close rejected or expired quotes
β Avoidβ
- Creating quotes without validity date
- Leaving quotes open indefinitely
- Forgetting to reference quote in invoice
- Setting
stockFlow != 0(quotes don't affect stock)
Common Use Casesβ
Simple Proposalβ
Quote for single product with standard terms.
Volume Discount Proposalβ
Quote with progressive discount based on quantity.
Multi-line Proposalβ
Quote with multiple products/services.
Special Terms Proposalβ
Quote with customized payment or delivery terms.
Differences vs Invoicesβ
| Aspect | Quote | Invoice |
|---|---|---|
| Stock | Does not affect | Affects (outbound) |
| Fiscal | No | Yes |
| Validity | Limited | Definitive |
| Editing | Yes (open) | Limited |
| Purpose | Proposal | Sale |
Next Stepsβ
- Orders Guide - Convert quote to order
- Invoices Guide - Convert quote to invoice
- Usage Guide - General API information
Last Updated: December 2, 2025