Troubleshooting, safety and production use · How-to guide

Why a Xero payment is blocked before posting

Detailed client guidance covering why a Xero payment is blocked before posting, including prerequisites, exact controls, verification evidence, failure boundaries and safe recovery steps for the shipped Xero connector.

Audience: Administrators, finance staff and authorised integration operatorsPermission: Relevant capabilityModule v1.0.0
Jump to steps
Where to goXero Accounting Automation → relevant workspace
Before you startConfirm the intended tenant, remote account or invoice context, and your Relevant capability access. Keep credentials and tokens out of screenshots, tickets and exported evidence. If a previous write may have reached an external service, verify remote state before retrying.

What you’ll accomplish

Detailed client guidance covering why a Xero payment is blocked before posting, including prerequisites, exact controls, verification evidence, failure boundaries and safe recovery steps for the shipped Xero connector. This article is intentionally scoped to the behaviour enforced or exposed by the supplied module and does not treat provider marketing features as implemented integration capabilities.

How the workflow fits together

The connector keeps native CRM records authoritative while mapping verified Contact, ACCREC Invoice and Payment evidence in Xero. Queue, exception, API, reconciliation and compliance records are separate evidence layers, so each material action should be verified at both the native and remote sides.

Follow these steps

  1. Open Xero Accounting Automation → relevant workspace.
  2. Confirm you are in the intended tenant and connected organisation and that your role has the required Relevant capability access.
  3. Start with permission, connection identity and reference freshness before changing mappings or retrying writes.
  4. Capture the exact visible error and related record/request identifiers.
  5. Check queue/exception and remote accounting state to determine whether a write happened.
  6. Correct the proven cause only, then rerun through the supported action.
  7. Verify native record, remote record, mapping and audit evidence after recovery.

Fields and decisions to review

This guide’s focusDetailed client guidance covering why a Xero payment is blocked before posting, including prerequisites, exact controls, verification evidence, failure boundaries and safe recovery steps for the shipped Xero connector.
Permission firstA missing menu or button can be a capability issue; do not bypass least-privilege controls by changing unrelated code or roles.
Connection firstExpired authorization, wrong remote identity or stale references can block every downstream workflow.
Fail closedValidation, mapping, duplicate, concurrency and remote-verification failures intentionally stop posting rather than guessing.
Do not blind retryIf a request might have reached the remote accounting service, verify there first before sending another non-idempotent write.
Evidence orderCheck the native record, queue/exception, remote record, mapping, API log and audit chain in that order to reconstruct an incident.
Escalation packFor support, record the native record ID, remote ID if known, timestamp, action, visible error and request/audit identifier; never include secrets or access tokens.

How to confirm it worked

Reopen the native record and the relevant integration history/register. Confirm the stored remote accounting identifier, exact amount/status, latest timestamps and the expected audit or reconciliation evidence. If the provider-side state cannot be independently verified, keep the task unresolved and use the controlled exception or troubleshooting flow.

Questions clients commonly ask

What should I verify before I trust the result?Verify the native record, the mapped remote record, the stored remote identifier, the current status/amount and the audit or history evidence. A success message alone is not the accounting evidence.
Should I press the action again after a timeout?Not until you have checked the remote accounting service and the Exceptions/API evidence. A timeout can occur after the remote side accepted a non-idempotent write, so a blind retry can create a duplicate.
Does the connector replace the native CRM record?No. Native clients, invoices and payments remain the operational source records. The connector records mappings, remote evidence and controlled reconciliation around them.
What should I include in a support case?Include the native record ID, remote ID if known, date/time, action, exact visible error and request/audit identifier. Never send client secrets, access tokens, refresh tokens or authorization headers.

Technical basis for this guidance

This guide was checked against the supplied module code paths: controllers/Xero_accounting_automation.php; models/Xero_accounting_automation_model.php; libraries/Xero_api_client.php; libraries/Xero_reconciliation_service.php; libraries/Xero_document_import_service.php; views/admin; install.php; docs/FEATURE_MATRIX.md. It documents shipped behaviour, validation, routes and evidence controls; it does not claim successful live provider network calls from offline inspection.

Controls, checks and common mistakes

  • Work in the intended tenant and remote accounting/business context.
  • Do not paste credentials, access tokens, refresh tokens or private keys into tickets or notes.
  • Do not bypass a missing mapping, validation error, permission gate, duplicate check or remote-verification requirement.
  • Do not repeat a non-idempotent write until you know whether the previous request reached the remote service.
  • Keep native record, remote evidence and audit/history state aligned before closing the task.
Provider and accounting boundaryThe integration fails closed when required mapping, remote identity, validation, concurrency or verification evidence is missing. Do not bypass a blocker by editing unrelated records or repeating an uncertain write.