# An invoice export timed out. Establish its outcome first

Before retrying creation, inspect the operation record and the correct Xero organisation. A timeout leaves uncertainty that another request can make worse.

By Cobnex editorial. Published 2026-09-10. Updated 2026-09-11.

## Find the original intent

Locate the local operation identity, document version, target connection and attempt history. Confirm what payload was intended and whether it changed afterwards.

Check whether the application already saved a provider resource identifier. If so, read that resource through the authorised connection before considering another create action.

Keep tokens and unnecessary document details out of general incident messages.

## Classify the known evidence

Distinguish a provider validation response from a transport failure with no confirmed outcome. Review rate-limit or authentication responses under their own recovery procedures.

If the same request remains within the supported idempotency conditions, use the established retry path. Otherwise follow the durable reconciliation procedure rather than relying on an expired transport safeguard.

Do not create a new key simply because the previous attempt is inconvenient to inspect.

## Reconcile in the correct organisation

Use the trusted connection mapping and supported API reads to inspect candidate state. Compare identifiers and the relevant document details.

A matching contact and total are not enough when several valid invoices can share them. If the evidence is ambiguous, hold the operation and involve the authorised business owner.

Avoid changing or deleting provider documents as a diagnostic shortcut. Such actions can have business consequences beyond the integration record.

## Complete the local record

When the outcome is established, save the confirmed mapping or a reviewed decision that a new operation is appropriate. Preserve the original attempt history.

Verify the normal application can read and display the resulting state. Check any downstream work that was waiting on confirmation.

Record why the uncertainty occurred and whether instrumentation or recovery logic needs improvement. The incident is resolved when the business document's identity and state are known, not merely when another API request returns success.

## Sources

- [Xero: idempotent requests](https://developer.xero.com/documentation/guides/idempotent-requests/idempotency/)
- [Xero: managing tokens and identifiers](https://developer.xero.com/documentation/best-practices/data-integrity/managing-tokens)
