Who this is for
A founder, operations lead or developer whose automation creates customer invoices in Xero or QuickBooks Online and sometimes creates the same invoice twice after an error, a timeout or a manual re-run.
A bookkeeper finds two invoices for one order, or a run that timed out is re-run and nobody can say whether the first attempt already created the invoice.
The result
After a replay, a concurrent double-run and a simulated lost response on synthetic orders, the test accounting file holds exactly one invoice per source order, and any order whose state is unknown sits in a held list for a person instead of being created again.
What is included
- One named automation, code or low-code, that creates invoices in one Xero organisation or one QuickBooks Online company
- A stable per-order identity, carried into a searchable field on the invoice, and a find-before-create step keyed on it
- Use of the vendor request-key mechanism on the create call where the documentation supports it, with its limits recorded
- A held-exception list for orders whose outcome is unknown, conflicting or whose lookup is unavailable
- A durable per-order claim, such as a unique record or a lock written before the create call, so two runs started together cannot both create
- Replay, concurrent-run and lost-response tests on a demo or sandbox file
You receive
- The change as a pull request or an exported configuration, with a note on where the identity is stored and how the lookup works
- A test log for the replay, concurrent and lost-response cases with invoice counts per order, redacted
- A one-page rule sheet: what the automation does on zero, one and several matches, and who releases a held order
What is not included
- Deleting, voiding or merging invoices that are already duplicated: your finance owner decides each one
- Rebuilding the whole automation, adding a new queue or changing which system owns invoice numbers
- Repairing field mapping or tax fields on the invoice itself
- A guarantee about vendor behaviour the documentation does not state, such as how long a request key is remembered
- Bookkeeping, tax, audit or any accounting advice, including deciding how a transaction should be treated in your accounts
- Changing posted, reconciled or locked-period transactions: your accountant or account holder decides and performs those
- Live changes: your authorised account holder applies any agreed change and holds the production keys
What we need from you first
- Which system it writes to (Xero or QuickBooks Online) and how the automation is built, in a few sentences
- An invented order reference and the field it would be stored in, plus what currently happens after a failed or timed-out run
- Roughly how often runs fail or are re-run by hand
- Do not send credentials, bank details, invoices, customer records or confidential code in the first enquiry
Never send passwords, keys, customer records or confidential code in the first enquiry. Secure handover is agreed after scoping.
How we check it is done
- Replaying the same three synthetic orders three times, once after a simulated lost response, leaves exactly three invoices in the test file, one per order.
- Two runs started at the same moment for the same synthetic order leave one invoice, or one invoice and one held entry naming that order.
- An order whose lookup is made unavailable creates no invoice and appears in the held list with the reason.
- An order replayed with the same identity but a changed amount is held as a conflict; it neither overwrites the invoice nor creates another.
You inspect the named test evidence and sign off before payment. Your authorised account holder performs and verifies any live change, and decides what happens to records already posted.
When we would stop or decline
- The automation cannot be pointed at a test target and every run would create real invoices
- The source has no stable order identity, so the first job is to define one with you under a separate quote
- Invoices must be created in several accounting systems at once, or by several unrelated automations, which needs a wider scope
Questions
Can you delete the duplicates I already have?
No. Choosing which invoice stands, voiding or deleting is your finance owner's decision. We can give you the matching list by order reference so the decision is quick.
Does the vendor request key solve this on its own?
Not on its own. Its documented retention and conditions are limited, so the stable order identity and the lookup remain the lasting control. The job states what each vendor documents and what it does not.
What if my automation is a low-code scenario?
It can fit if the create step can search before it creates and the scenario can run against a test file. If it cannot, the fit check says so before any price is agreed.
Price and terms
From £395 · untested offer price. Fixed after the quote is agreed (from £395); payment after the agreed checks pass and you sign off. No payment before sign-off.
This is a new service with no published client results. The price is a starting point we have not yet tested with buyers. Nothing is ordered or charged by the enquiry. The full specification is on the Synthetic Industry catalogue.