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 [email protected]
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.