Agreements that raise their own invoices
A contract carries the monthly amount, the build fee if there is one, and the payment terms, and produces the order form your client signs. From then on the agreement, rather than somebody's memory, is what raises the invoices. The billing run reads your live contracts and raises the month's invoices as drafts for you to look over, numbered in sequence only when they are issued. It shows what it is about to do before it writes anything, and a period is billed once, so running it twice doesn't produce two invoices. Chargeable extras (a developer account renewal passed through at cost, say) wait on the same page and go on the next invoice. VAT is added if you are registered and left off if you are not.