Feature Freeze

We will continue supporting current customers using FreshBooks data source while we announce a feature freeze for further feature development for FreshBooks data source.


FreshBooks is a cloud-based accounting software designed for small businesses. It makes accounting and invoicing easy, fast, and secure. Used by millions of service-based business owners, FreshBooks is the top choice for everyday invoicing and simple time and expense tracking.

flex.bi greatly extends the standard FreshBooks reporting suite with an advanced, easy-to-use, and flexible visualization, analysis, and reporting system. You can connect to FreshBooks and perform your first import in minutes. Regular daily updates will be imported automatically, so your charts will always have the latest data.

When you connect to your FreshBooks account, we will prepare several predefined sample reports and charts to get you started. Then you can easily create custom reports, charts and dashboards for your specific needs.

On this page:

Connecting to the NEW FreshBooks Account

To connect to your New FreshBooks account:

  1.  In flex.bi open "Source Data" page, select "FreshBooks" source application, choose a name for the data cube, and click "Create".


  2.  Select the version of your FreshBooks account (“New”), and click “Continue”.  You will be redirected to the FreshBooks authorization page.

  3. To authorize flex.bi to import your FreshBooks account data, you will need to provide your user credentials.


  4. Congratulations, you are done!

When flex.bi is authorized, it will automatically import new FreshBooks data every day, using the same authorized access.

Connecting to the Classic FreshBooks Account

To connect to your Classic FreshBooks account:

  1. In flex.bi open "Source Data" page, select "FreshBooks" source application, choose a name for the data cube, and click "Create".


  2. Select the version of your FreshBooks account (“Classic”), enter your FreshBooks site URL, and click “Continue”. You will be redirected to the FreshBooks authorization page. 

  3. To authorize flex.bi to import your FreshBooks account data, you will need to provide your user credentials.


  4. Congratulations, you are done!

When flex.bi is authorized, it will automatically import new FreshBooks data every day, using the same authorized access.

Imported data

flex.bi imports the following FreshBooks data (measures) and dimensions:

  • Timesheets imported and calculated measures
    • HoursBillable hoursInvoiced hours
    • Budgeted hours
    • Billable amount (for billable hours), Invoiced amount (from billable hours)
    • Expenses amountInvoiced expenses
    • Unbillable hoursBillable hours %
    • Uninvoiced hoursUninvoiced amount (just from billable hours)
    • Uninvoiced expensesUninvoiced amount with expenses (total for hours amount and expenses)
    • Billable amount EURBillable amount USD and other EUR and USD amounts (see explanation below)
    • Budget spent % (from budgeted hours)
    • Project currencyProject statusProject manager
    • Project billing method

  • Timesheets dimensions
    • Project Task (with ClientProject and Task hierarchy levels)
    • Project Status (Active or Archived or Deleted)
    • Task (common tasks across all projects)
    • Person (staff members and contractors)
    • Expense Category
    • Currency
    • Time (year / quarter / month / day hierarchy and year / week / day hierarchy)

  • Invoices imported and calculated measures
    • Invoice amountItem amountDiscount amountTax amountSecond tax amountDue amount
    • Invoice amount EURInvoice amount USD and other EUR and USD amounts (see explanation below)
    • Project currencyProject statusProject manager
    • Invoice issued date
    • Invoice currencyInvoice clientInvoice statusInvoice item descriptionInvoice item project

  • Invoices dimensions
    • Client Project (with Client and Project hierarchy levels)
    • Invoice (with Invoice and Invoice item hierarchy levels)
    • Invoice Status
    • Item
    • Currency
    • Time (year / quarter / month / day hierarchy and year / week / day hierarchy)

Currency conversion

If you have projects and invoices in multiple currencies then for reporting total amounts you need to convert them to one currency. flex.bi downloads current currency rates from the European Central Bank (from http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml) and defines calculated measures that convert project or invoice amounts to EUR and USD. If you want to convert all amounts to different currency then define new calculated measures using USD calculated measures asexample.

Please take into account that currency conversion is always done using current currency rates and not historical currency rates and therefore totals might not be the same as in your accounting. flex.bi reports totals in one currency are meant just to get approximate total amounts that should be good enough for management reporting.

If you want to learn more about calculated measure formulas then read calculated members tutorial.

Link from flex.bi reports to FreshBooks pages

If in flex.bi reports you click on client, project or invoice dimension member then in action list you will see Go to source link - when clicking on it new FreshBooks application page will be opened with corresponding data. It can be very useful to see summary overview in flex.bi and when necessary you can go to detailed FreshBooks page for selected item. 

Report and Dashboard Examples

To import these reports into your account:

  1. Copy the report definition on this page
  2. On the flex.bi Analysis page click "Import reports"
  3. Paste the definition and click OK.

How to export and import report definitions?

Revenues per Year


Revenue Per Quarter vs prev. Year


Revenue Per Month vs prev. Year


Revenue Timeline MTD vs prev. Year


Paid vs Unpaid Invoices by Quarter


Paid and Unpaid Revenues by Customer Top 10


Invoices by Status QTD


Income, Tax, Items YoY MTD


Past 6 Months Finance Report


FreshBooks Tax Report Current Year


FreshBooks Accounts Receivable Dashboard


FreshBooks Business Overview Dashboard

Click here to expand...
{
 "name": "FreshBooks Business Report",
 "definition": {"pages":null,"reports":[{"width":100,"hide_frame":true,"cube_report_name":"Revenue Timeline MTD vs per Year","cube_name":"FreshBooks Invoices"},{"width":50,"clear":"right","hide_frame":true,"cube_report_name":"Revenues YoY MTD","cube_name":"FreshBooks Invoices"},{"width":50,"clear":"left","hide_frame":true,"cube_report_name":"Revenues YoY QTD","cube_name":"FreshBooks Invoices"},{"width":100,"hide_frame":true,"cube_report_name":"Revenues per Year","cube_name":"FreshBooks Invoices"},{"width":50,"clear":"left","hide_frame":true,"cube_report_name":"Revenue by Customer Top 10","cube_name":"FreshBooks Invoices"},{"width":50,"hide_frame":true,"cube_report_name":"Income, Tax, Items YoY MTD","cube_name":"FreshBooks Invoices"}]},
 "dashboard_reports": [ {
 "cube_name": "FreshBooks Invoices",
 "cube_reports": [ {
 "name": "Revenue Timeline MTD vs per Year",
 "result_view": "timeline_chart",
 "definition": {"columns":{"dimensions":[{"name":"Measures","selected_set":["[Measures].[Invoice amount]","[Measures].[Invoice amount Prev. Year]"],"members":null}]},"rows":{"dimensions":[{"name":"Time","selected_set":["[Time].[Month].Members"],"members":null,"bookmarked_members":null}],"filter_by":{"conditions":[{"expression":"[Time].CurrentHierarchyMember","operator":">=","value":"2012","value_type":"date"}]},"nonempty_crossjoin":true},"pages":{"dimensions":null},"options":{},"view":{"current":"timeline_chart","maximized":true,"timeline_chart":{"series_type":"area","stacked":false,"series_options":{"Invoice amount":{"color":"#AAC458","type":"areaspline"},"Invoice amount Prev. Year":{"color":"#6795C4","type":"areaspline"}}}}}
 },{
 "name": "Revenues YoY MTD",
 "result_view": "bar_chart",
 "definition": {"columns":{"dimensions":[{"name":"Measures","selected_set":["[Measures].[Invoice amount Prev. Year]","[Measures].[Invoice amount]"],"members":null}]},"rows":{"dimensions":[{"name":"Time","selected_set":["[Time].[Month].Members"],"members":null,"bookmarked_members":null}],"filter_by":{"conditions":[{"expression":"[Time].CurrentHierarchyMember","operator":">=","value":"12 months ago","value_type":"date"}]},"nonempty_crossjoin":true},"pages":{"dimensions":null},"options":{},"view":{"current":"bar_chart","maximized":true,"bar_chart":{"stacked":false,"vertical":true,"swap_axes":false,"data_labels":false,"series_options":{"Invoice amount":{"color":"#AAC458"},"Invoice amount Last Year":{"color":"#6795C4"},"Invoice amount Prev. Year":{"color":"#6795C4"}}}}}
 },{
 "name": "Revenues YoY QTD",
 "result_view": "bar_chart",
 "definition": {"columns":{"dimensions":[{"name":"Measures","selected_set":["[Measures].[Invoice amount Prev. Year]","[Measures].[Invoice amount]"],"members":null}]},"rows":{"dimensions":[{"name":"Time","selected_set":["[Time].[Quarter].Members"],"members":null,"bookmarked_members":null}],"filter_by":{"conditions":[{"expression":"[Time].CurrentHierarchyMember","operator":">=","value":"12 months ago","value_type":"date"}]},"nonempty_crossjoin":true},"pages":{"dimensions":null},"options":{"nonempty":true},"view":{"current":"bar_chart","maximized":true,"bar_chart":{"stacked":false,"vertical":true,"swap_axes":false,"data_labels":true,"series_options":{"Invoice amount":{"color":"#AAC458"},"Invoice amount Last Year":{"color":"#6795C4"},"Invoice amount Prev. Year":{"color":"#6795C4"}}}}}
 },{
 "name": "Revenues per Year",
 "result_view": "bar_chart",
 "definition": {"columns":{"dimensions":[{"name":"Measures","selected_set":["[Measures].[Invoice amount]"],"members":null}]},"rows":{"dimensions":[{"name":"Time","selected_set":["[Time].[Year].Members"],"members":null,"bookmarked_members":null}],"nonempty_crossjoin":true},"pages":{"dimensions":null},"options":{},"view":{"current":"bar_chart","maximized":true,"bar_chart":{"stacked":true,"vertical":true,"swap_axes":false,"data_labels":true,"series_options":{"Invoice amount":{"color":"#AAC458"}}}}}
 },{
 "name": "Revenue by Customer Top 10",
 "result_view": "bar_chart",
 "definition": {"columns":{"dimensions":[{"name":"Measures","selected_set":["[Measures].[Invoice amount]"],"members":null},{"name":"Invoice Status","selected_set":["[Invoice Status].[All Invoice Statuses]","[Invoice Status].[Paid ]","[Invoice Status].[Unpaid]"],"members":[{"name":"All Invoice Statuses","full_name":"[Invoice Status].[All Invoice Statuses]","drillable":true,"depth":0,"type":"all","expanded":true,"drilled_into":false,"removed":true},{"name":"Draft","full_name":"[Invoice Status].[Draft]","depth":1,"removed":true,"parent_full_name":"[Invoice Status].[All Invoice Statuses]"},{"name":"Paid","full_name":"[Invoice Status].[Paid]","depth":1,"removed":true,"parent_full_name":"[Invoice Status].[All Invoice Statuses]"},{"name":"Partial","full_name":"[Invoice Status].[Partial]","depth":1,"removed":true,"parent_full_name":"[Invoice Status].[All Invoice Statuses]"},{"name":"Sent","full_name":"[Invoice Status].[Sent]","depth":1,"removed":true,"parent_full_name":"[Invoice Status].[All Invoice Statuses]"},{"name":"Viewed","full_name":"[Invoice Status].[Viewed]","depth":1,"removed":true,"parent_full_name":"[Invoice Status].[All Invoice Statuses]"}],"bookmarked_members":null}]},"rows":{"dimensions":[{"name":"Client Project","selected_set":["[Client Project].[Client].Members"],"members":null,"bookmarked_members":null}],"extreme_by":{"expression":["[Measures].[Invoice amount]"],"extreme":"top_count","limit":10},"nonempty_crossjoin":true},"pages":{"dimensions":[{"name":"Time","selected_set":["[Time].[This year to date]","[Time].[All Times]"],"members":[{"name":"All Times","full_name":"[Time].[All Times]","drillable":true,"depth":0,"type":"all","expanded":true,"drilled_into":false},{"name":"2016","full_name":"[Time].[2016]","drillable":true,"depth":1,"parent_full_name":"[Time].[All Times]"}],"bookmarked_members":null,"current_page_members":["[Time].[2016]"]}]},"options":{},"view":{"current":"bar_chart","maximized":true,"bar_chart":{"stacked":true,"vertical":true,"swap_axes":false,"data_labels":true,"series_options":{"Invoice amount":{"color":"#AAC458"},"Paid ":{"color":"#AAC458"},"Unpaid":{"color":"#E8A29B"}}}}}
 },{
 "name": "Income, Tax, Items YoY MTD",
 "result_view": "bar_chart",
 "definition": {"columns":{"dimensions":[{"name":"Measures","selected_set":["[Measures].[Item amount]","[Measures].[Tax amount]","[Measures].[Invoice amount Prev. Year]","[Measures].[Invoice amount]"],"members":null}]},"rows":{"dimensions":[{"name":"Time","selected_set":["[Time].[Month].Members"],"members":null,"bookmarked_members":null}],"filter_by":{"conditions":[{"expression":"[Time].CurrentHierarchyMember","operator":">=","value":"12 months ago","value_type":"date"}]},"nonempty_crossjoin":true},"pages":{"dimensions":null},"options":{},"view":{"current":"bar_chart","maximized":false,"bar_chart":{"stacked":false,"vertical":true,"swap_axes":false,"data_labels":false,"series_options":{"Invoice amount":{"color":"#AAC458"},"Invoice amount Last Year":{"color":"#6795C4"},"Invoice amount Prev. Year":{"color":"#6795C4","type":"column"},"Tax amount":{"type":"areaspline","color":"#DC7369"},"Item amount":{"separateAxis":1,"type":"spline","color":"#F1A257"}}}}}
 } ],
 "calculated_members": [{"name":"Invoice amount Prev. Year","dimension":"Measures","formula":"(ParallelPeriod([Time].CurrentHierarchy.Levels('Year'), 1, [Time].CurrentHierarchyMember),\n[Measures].[Invoice amount])","format_string":"#,##0.00"},{"name":"This year to date","dimension":"Time","formula":"Aggregate(\n Filter(\n [Time].[Day].Members,\n DateBetween([Time].CurrentMember.StartDate,DateSerial(Year(Now()),1,1),DateSerial(Year(Now()),Month(Now()),Day(Now()))\n)))","format_string":""},{"name":"Unpaid","dimension":"Invoice Status","formula":"Aggregate({\n[Invoice Status].[Partial],\n[Invoice Status].[Sent],\n[Invoice Status].[Viewed]\n})","format_string":""},{"name":"Paid ","dimension":"Invoice Status","formula":"Aggregate({\n[Invoice Status].[Paid]\n})","format_string":""}]
 } ]
}