Invoice line items, bogus model?

Hi,

I’m nearly done with a hacked together script to migrate (on an ongoing basis) all my invoices for time created in Harvest (getharvest.com) into FreeAgent using the respective APIs.

What’s interesting is this shows up some impedance mismatches.

On Harvest’s side, they don’t store tax amounts per invoice item, and instead have a flax indicating which taxes apply. IMO FreeAgent has this correct with actual amounts per line, otherwise you can end up with rounding problems (as I may well during this migration).

However arguably more nasty is FreeAgent’s handling of “item-type” on invoice items.

This seems to be an odd conflation of “type of item” and units, and this seems very wrong and problematic. Harvest for example has a line item type (Service, Goods etc) and the unit is implicit because with Harvest all you can bill is for time - although you can say in the item description what your units are if you need to.

Is this “item-type” field being separated out into two in FreeAgent 2.0 API? It seems really bogus that I can’t set item-type to “Services” and “Hours”… because I am selling a service by the hour.

It feels like item-type is doing two different jobs, but can only have one value.

Thanks
Marc
~ ~ ~
Marc Palmer
Freelancer (Grails/Groovy/Java)

Founder of > http://noticelocal.com
Developer of > http://weceem.org
Twitter > http://twitter.com/wangjammer5
Resumé > http://www.anyware.co.uk/marc/
Blog > http://www.anyware.co.uk
Grails Rocks > http://www.grailsrocks.com