Estimates
Estimates in FreshBooks provides Owners and Clients a way to agree and negotiate on the price and scope of work before it commences
Access Requirements
Access | Requires Authorization |
|
Estimate Statuses
Code | Status | Description |
|---|---|---|
1 | Draft | An Estimate that has been created, but not yet sent |
2 | Sent | An Estimate that has been sent to a Client or marked as sent by the Admin |
3 | Viewed | An Estimate that has been viewed by a Client |
4 | Replied | An Estimate that has a comment by the Client. This is a feature of FreshBooks Classic only |
5 | Accepted | An Estimate that has been accepted by either the Admin or Client |
6 | Invoiced | An Estimate that has been converted to an invoice, and that invoice has been sent to a Client |
UI Statuses
UI status fields give a descriptive name to states which can be used in filters, and apply to many invoices, estimates, and recurring profiles
Value | Description |
|---|---|
created | Estimate is created and in no other state |
draft | Estimate is saved in draft status |
sent | Estimate has been sent |
viewed | Estimate has been viewed by recipient |
replied | A comment related to the Estimate has been added by the recipient |
accepted | Estimate has been accepted |
invoiced | An Invoice related to the Estimate has been sent |
Includes
Include Name | Description |
|---|---|
audit_logs | Show estimate view/send history |
comments | Comments made on estimate |
contacts | List of client contacts |
lines | Estimate lines |
owner | Owner info |
presentation | Presentation type |
project | Projects |
invoices | Invoices |
system | Estimate-owner's system |
Filters
Filter Type | Name | Field | Description |
|---|---|---|---|
Equals | estimateid | estimateid | Matches exact estimateid |
In | estimateids | estimateid | Matches list of estimateids, one per query argument specified |
Like | estimate _number _like | estimate_number | Estimate number containing parameter |
Equals | estimate _number | estimate_number | Matches exact estimate number |
Like | notes | notes | Notes containing parameter |
StatusEq Filter | statusid | special | Matches exact estimate status |
StatusIn Filter | statusids | special | Matches list of estimate statuses, one per query argument specified |
Equals | currency _code | currency _code | Matches exact currency code |
Equals | currency | currency _code | Alternative to currency_code filter |
Between | date_min | create_date | Date greater than or equal to parameter, YYYY-MM-DD format |
Between | date_max | create_date | Date less than parameter, YYYY-MM-DD format |
Between | amount_min | amount | Amount greater than or equal to parameter |
Between | amount_max | amount | Amount less than parameter |
Like | po_number | po_number | po_number containing parameter |
Equals | clientid | clientid | Matches exact clientid |
In | clientids | clientids | Matches list of clientids, one per query argument specified |
Between | date_min | date | Date date greater than or equal to parameter, YYYY-MM-DD format |
Between | date_max | date | Date date less than parameter, YYYY-MM-DD format |
ItemName Filter | item_name | name | Item name containing the parameter |
ItemDescriptionFilter | item _description | description | Item description containing the parameter |
Field Descriptions
underlined fields are required on creation
Computed Fields (read only) |
|---|
Field |
Writable on Create |
Field |
Data Fields (writable) |
Field |
estimateid |
id |
accounting _systemid |
ui_status |
status |
amount |
amount |
code |
discount_total |
amount |
code |
description |
current _organization |
invoiced |
ownerid |
estimateid |
sentid |
created_at |
updated |
display_status |
reply_status |
estimate_number |
customerid |
create_date |
discount_value |
po_number |
template |
currency_code |
language |
terms |
notes |
address |
ext_archive |
vis_state |
street |
street2 |
city |
province |
code |
country |
organization |
fname |
lname |
vat_name |
vat_number |
lines |
Estimate Lines
Estimate lines are used to determine the amount of an estimate
Computed Fields (read only) |
|---|
Field |
lineid |
amount |
amount |
code |
updated |
Data Fields (writable) |
Field |
type |
qty |
unit_cost |
amount |
code |
description |
name |
taxName1 |
taxAmount1 |
taxName2 |
taxAmount2 |
Converting an Estimate to an Invoice
Associating an estimate with an invoice, is done when creating an invoice. The invoice POST body must contain the estimateid of estimate you wish to convert.
Please note, including the estimateid will not automatically copy any estimate attributes such as customerid, lines, etc... to the invoice. The attributes will have to supplied in the invoice POST body.
When an invoice is created, the estimate' status will only change to 'accepted'. It will only change to 'invoiced' once the invoice is sent.