Creating invoice, use unique ref/don't update global


I have a situation where a piece of software from which I’m creating invoices uses its own numbering sequence to generate the invoices (before it then sends them to FreeAgent). I also need to continue invoicing in FreeAgent for the time being (due to no direct debit access from the API). So I have two sequences: A0001 and B0001. The problem is when the system writes invoices using the B0001 sequence, FreeAgent wants to create the next invoice as B0002. But it shouldn’t, because the system I’m sending invoices from doesn’t get numbers from FreeAgent, so then I’m going to have duplicate IDs when my other system creates its next invoice, which would be B0002.

Is there a way we can either have non-global invoice numbering? I’m aware of the rules requiring sequential invoice numbering, this is just a temporary phase on our transition but it is going to be temporary to the tune of a few months. So this is a problem if left unchecked.

(This is all because we can’t do DD collection yet from the API.)

I hope I’ve made sense above but please let me know if I haven’t.

Many thanks


Hi Daniel,

Thanks for your message and I’ll do my best to help.

I understand that you’re creating invoices in an external system, and mirroring these invoices in FreeAgent, so that you can use our GoCardless integration to charge via Direct Debit.

Am I right in understanding that, in addition the invoices raised in the external system, you’re also raising stand-alone invoices that will exist only in FreeAgent?
Your problem being that these FreeAgent-only invoices are using the next global reference, e.g. B0002, so this reference is no longer available when your external system tries to create mirrored copies in FreeAgent?

If I’ve understood correctly, you might want to investigate the use of contact-level and project-level invoice sequencing in FreeAgent:

This would tell FreeAgent to keep separate invoice sequences for each project and/or contact, meaning that your global references would remain available, for the invoices raised via the API.

I hope this helps!
Dave J

Thanks, Dave. But it looks like it would still cause a problem where we bill the same customer through FreeAgent and also through the API, if we used contact-level sequencing.

And also if we used project-level sequencing we would have to create, specify, and then track this special project we are using to invoice with…

Or am I missing something?