Invoicing for Time Entries through API

109 views
Skip to first unread message

Peter

unread,
Nov 7, 2011, 1:33:48 PM11/7/11
to FreshBooks API
I have been looking for a way to do this for about a year now, but as
far as I know the functionality is still not available. See my Feb
2011 posting in the old forum:

http://community.freshbooks.com/forums/viewtopic.php?id=7869

My client uses FreshBooks Time Entries to track project time. I would
like to create invoices from those Time Entries thorough the API.

As far as I can tell, there is no way to create invoices through the
API and:
-correctly maintain the link between the invoice line, project, and
time entry
-mark the time entry as billed

I think the correct solution is that the invoice.create et al api
needs to allow you to specify a time_entry_id for line items.

A slightly poorer solution would be to allow time_entry.update to
WRITE billed=1 (currently read only).

Does anyone know any differently?

Fresh Jamaal

unread,
Nov 9, 2011, 2:33:15 PM11/9/11
to FreshBooks API
Peter,

There unfortunately is no way to automatically put time-entries onto
an invoice via the API. I can definitely see the value in having the
ability to do this, but unfortunately I can't promise this being
implemented in the API anytime soon.

Currently the only way to get time entries onto an invoice is to use
time.list with a project_id and manually put those onto an invoice, or
use the project.get method to pull the relevant data.

Let me know if you have any other questions.

Jamaal

Peter

unread,
Nov 9, 2011, 7:13:59 PM11/9/11
to FreshBooks API
Thank you for the reply, Jamaal!

I don't need an "automatic" process, I just need one that works (this
is in code, after all).

Correct me if I am wrong: if I do the time.list and manually put those
onto an invoice: (a) there is no linkage maintained between the
project and the invoice, (b) there is no way to mark the time entry as
having been billed, (c) there is no way to keep the time entry from
being (re)billed in the future (except by deleting it). Am I missing
something?

Forgive me for saying, but this seems like a big hole in the
capabilities of the API: I can create invoices, I can create time
entries, but I cannot create invoices from time entries.

Seems to me that your invoice line interface, which does allow for
entry of <type>time</type> lines, should allow specification of a
time_entry_id. Freshbooks could then do the same link-up of the
invoice to the project as happens now when I do time tracking/generate
invoice.

A poor alternative would be to allow time_entry.update to set
billed=true. Unfortunately that breaks the link between the invoice
and the project.

My client uses your project system and time entries, but he is
managing 300 clients and sends out 50-100 time-based invoices every
month. The current process for doing that is cumbersome. I've been
hoping for almost a year to be able to automate that, but the API does
not give me the necessary tools.

As I mentioned in one of my posts, there really should be a way to do
this as a batch in the user interface, then we would not have to deal
with the API for this. The way it is now, it is time consuming to
create lots of time invoices using the user interface and it is
impossible to do it via the API....

Thanks,
Peter

Fresh Jamaal

unread,
Nov 21, 2011, 10:43:48 AM11/21/11
to FreshBooks API
(replied to this by email)

Jorge

unread,
Jan 11, 2012, 11:31:10 PM1/11/12
to FreshBooks API
Jamaal,

I too would like to know if there's a way to mark timed entries as
billed. I only see "(replied to this by email)". Would you mind
posting the relevant information?

Regards,

Jorge

On Nov 21 2011, 10:43 am, Fresh Jamaal <jam...@freshbooks.com> wrote:
> (replied to this by email)
>
> On Nov 9, 7:13 pm, Peter <pe...@raptosh.com> wrote:
>
>
>
>
>
>
>
> > Thank you for the reply, Jamaal!
>
> > I don't need an "automatic" process, I just need one that works (this
> > is in code, after all).
>
> > Correct me if I am wrong: if I do the time.list and manually put those
> > onto an invoice: (a) there is no linkage maintained between the
> > project and the invoice, (b) there is no way to mark the time entry as
> > having beenbilled, (c) there is no way to keep the time entry from
> > being (re)billedin the future (except by deleting it). Am I missing

Fresh Jamaal

unread,
Jan 16, 2012, 1:05:45 PM1/16/12
to FreshBooks API
Unfortunately, there is no way to have time entries marked as "billed"
via the API, Jorge.

Let me know if you have any other questions.

Jamaal

Tomaž Korenika

unread,
Jul 2, 2015, 6:26:19 PM7/2/15
to freshbo...@googlegroups.com
Hey guys,

Its been 5 years since this post. Has this been implemented yet ?

We also have 100+ clients, and this would be a much needed feature.

js...@serion.co.nz

unread,
May 31, 2016, 5:48:38 PM5/31/16
to FreshBooks API (not monitored)
Me too. 
My staff frequently have hours that are recorded on a project that I cannot bill for. Manually taking care of those is a pain - every month.
Reply all
Reply to author
Forward
0 new messages