FreshBooks Classic Migration
General Info
As customers start to move from FreshBooks Classic (FBC) to New FreshBooks (NFB) they are often curious if the apps and integrations they worked so hard on building will work with the New FreshBooks API.
The answer to that question is, most likely.
There are some categories and endpoints we have deprecated or removed. The following document should provide details on which FBC endpoints will work on NFB.
If you have additional questions about the migration, reach out to newapi@freshbooks.com
Clients
Categories |
Works on Modern Platform? |
client.create |
Yes* |
client.update |
Yes |
client.get |
Yes |
client.delete |
Yes |
client.list |
Yes |
* The client profile will be created however there are certain fields which existed in our Classic platform which no longer exists in our modern platform and will not appear in the modern platform’s UI. These fields are: username, password, fax, notes, s_street1, s_street2, s_city, s_state, s_country, s_code
Expense Categories
Endpoints |
Works on Modern Platform? |
category.create |
Yes |
category.update |
Yes |
category.get |
Yes |
category.delete |
Yes |
category.list |
Yes |
Contractors
Endpoints |
Works on Modern Platform? |
contractor.create |
No |
contractor.update |
No |
contractor.get |
No |
Currency
Endpoints |
Works on Modern Platform? |
currency.list |
No |
Default Terms
Endpoints |
Works on Modern Platform? |
default_terms.list |
No |
default_terms.get |
No |
default_terms.update |
No |
Email Template
Endpoints |
Works on Modern Platform? |
email_template.list |
No |
email_template.update |
No |
email_template.get |
No |
Estimates
Endpoints |
Works on Modern Platform? |
estimate.create |
Yes |
estimate.update |
Yes |
estimate.get |
Yes |
estimate.delete |
Yes |
estimate.list |
Yes |
estimate.sendByEmail |
Yes |
estimate.getPDF |
Yes * (it will give you the FBC version of the PDF) |
estimate.accept |
Yes |
estimate.markAsSent |
Yes |
Expenses
Endpoints |
Works on Modern Platform? |
expense.create |
Yes |
expense.update |
Yes |
expense.get |
Yes |
expense.delete |
Yes |
expense.list |
Yes |
Gateway
Endpoints |
Works on Modern Platform? |
gateway.list |
No |
Invoice
Endpoints |
Works on Modern Platform? |
invoice.create |
Yes |
invoice.update |
Yes |
invoice.get |
Yes |
invoice.list |
Yes |
invoice.getPDF |
Yes * (it will give you the FBC version of the PDF) |
invoice.sendByEmail |
Yes |
invoice.sendBySnailMail |
No |
invoice.lines.add |
Yes |
invoice.lines.delete |
Yes |
invoice.lines.update |
Yes |
Item
Endpoints |
Works on Modern Platform? |
item.create |
Yes |
item.update |
Yes |
item.get |
Yes |
item.delete |
Yes |
item.list |
Yes |
Languages
Endpoints |
Works on Modern Platform? |
languages.get |
No * (It will return an incomplete list of available languages) |
Payment
Endpoints |
Works on Modern Platform? |
payment.create |
Yes |
payment.update |
Yes |
payment.get |
Yes |
payment.delete |
Yes |
payment.list |
Yes |
Projects
Endpoints |
Works on Modern Platform? |
project.create |
Yes * (The description field is no longer supported in the modern platform) |
project.update |
Yes |
project.get |
Yes |
project.delete |
Yes |
project.list |
Yes |
* You must use the serviceId
when creating or updating a project not the taskId
. For information on how to get your serviceIDs please click here.
Receipt
Endpoints |
Works on Modern Platform? |
receipt.create |
Yes |
receipt.update |
Yes |
receipt.get |
Yes |
receipt.delete |
Yes |
Recurring
Endpoints |
Works on Modern Platform? |
recurring.create |
Yes |
recurring.update |
Yes |
recurring.get |
Yes |
recurring.delete |
Yes |
recurring.list |
Yes |
recurring.lines.add |
Yes |
recurring.lines.delete |
Yes |
recurring.lines.update |
Yes |
Reports
Endpoints |
Works on Modern Platform? |
report.getClientDetails |
No |
report.getEstimateDetails |
No |
report.getInvoiceDetails |
No |
report.getExpenseDetails |
No |
report.getProfitDetails |
No |
Staff
Endpoints |
Works on Modern Platform? |
staff.current |
No |
staff.get |
No |
staff.list |
No |
staff.create |
No |
staff.update |
No |
staff.delete |
No |
System
Endpoints |
Works on Modern Platform? |
system.current |
No |
Tasks
Endpoints |
Works on Modern Platform? |
task.create |
Yes * |
task.update |
Yes |
task.delete |
Yes |
task.get |
Yes |
tax.delete |
Yes |
tax.list |
Yes |
* You can continue to use this endpoint to create tasks, however after it is created you will need to use the serviceID for that task in order to apply it to projects and time entries. For information on how to get your serviceIDs please click here.
Time Entries
Endpoints |
Works on Modern Platform? |
time_entry.create |
Yes * |
time_entry.update |
Yes * |
time_entry.get |
Yes |
time_entry.delete |
Yes |
time_entry.list |
Yes |
* You must use serviceId
when creating or updating a time entry not the taskId
. For information on how to get your serviceIDs please click here.
* You will not be able to create and assign a time entry to a staff member using the Classic API.