I need to get all the invoices with lines containing a particular item from the price list.
Is there an invoice filter for this?
Welcome to the forum, it’s good to have you here!
As to your question, there isn’t an easy way to do this via the API nor via the web app. This is because FreeAgent doesn’t maintain a link between invoice items and price list items. Rather, the application treats price list items as templates.
You can see this behaviour you add a new line to your invoice via a price list item. Once you save the item, you can edit the it again, but the form for the item will no longer have a “price list” section.
This is deliberate. It means that you can change the price list item and not impact any existing invoices. Likewise, it means that you are free to tweak or heavily change invoice items that were templated as items in your price list.
The closest you could get is to load all the price list items, and then request every invoice with associated invoice items. You’ll then need to compare invoice items and price list items on fields that you’re confident haven’t changed - price, description or something similar.
This will be slow, and you’ll be constrained by our rate limits. I’m not sure I’d recommend it, especially as you might miss invoice items that were initially created from price list items. But then I don’t know what you need this information for!
What about stock items? is there a link between invoice items and stock items?
Im concerned about product recalls. If I need to issue a recall for a product ive sold there doesnt seem to be anyway of identifying the customers that have bought that product.
The API does let you identify stock items that are associated with individual invoice items. Which is to say they are linked, and you can use the API to track those links. This may help you with your question.
However, you’ve said you’d like to understand how to deal with product recalls within FreeAgent. Have you already spoken with our friendly Support team about this problem? They may be able to show you a workflow that will help.
Regardless, I hope that’s of use, and good luck with it!