Troubleshooting
“Connect to Xero” fails
Section titled ““Connect to Xero” fails”- Check the mode: test credentials only work in test mode and live credentials only in live mode.
invalid_client: wrong client ID or secret, or a space around them. Generate a new secret in the Xero developer portal.unauthorized_client,invalid_redirect_uri: the redirect URI shown on the Connection page is not registered in your Xero app, or differs by a character (http versus https, a trailing slash).invalid_scope: the app is not allowed one of the scopes listed on the Connection page. Xero offers newer apps granular scopes; if your app only allows those, tell us which (support link below).- “The Xero sign-in could not be verified”: the page was open too long or opened in another browser; start again.
- The Log tab shows Xero’s answer (masked). Your server must reach
login.xero.com,identity.xero.comandapi.xero.comover HTTPS (outgoing port 443) and have a current CA bundle.
“Connect again” appears
Section titled ““Connect again” appears”Refresh tokens expire 60 days after their last use, or when someone removes the app under Connected apps in Xero, or after a client secret change. Press Connect to Xero; jobs that waited meanwhile continue by themselves.
Nothing happens after an order changes status
Section titled “Nothing happens after an order changes status”- Check Settings > General > Enable, the order status settings and the Sync orders from date.
- Check the license status bar on the add-on pages.
- Open Jobs: queued jobs wait for cron. If the counts never change, the cron job is not running; run the command from the settings page by hand once.
A job is “Waiting to retry” or “Gave up”
Section titled “A job is “Waiting to retry” or “Gave up””The last error is shown in the list. Fix the cause and press Retry. Common Xero messages:
| Message | Meaning |
|---|---|
| Account code ‘XXX’ is not a valid code | The sales, shipping or discount code does not exist (or is archived) in this organisation. Fix it on the Mapping page. |
| Tax type ‘XXX’ is not valid | The tax type is unknown to this organisation or not allowed for the account. Compare with the loaded list. |
| Account must be a bank account or an account enabled for payments | The code used as bank account is not a bank account. In Xero tick “Enable payments to this account” or use a bank account. |
| No Xero bank account is mapped for the payment method of order #… | Map a bank account on the Mapping page, then Retry the job. |
| Currency … is not enabled | Enable the currency of the order in Xero (Settings > Currencies). |
| Invoice # must be unique | An invoice with this number exists already (another system, or an earlier attempt). The add-on adopts an earlier attempt of its own; otherwise change the prefix. |
| The period is locked / date is before the lock date | Xero’s lock date prevents posting; move the Sync orders from date or ask the accountant to change the lock date. |
| Too many requests (429) | Xero limits calls per minute and per day per organisation; the job waits as long as Xero asks. |
| The lines … add up to … but the order total is … | The order contains something this version cannot book (the lines differ from the total by more than a rounding amount). Nothing was sent; contact us with the order. |
The credit note could not be paid out
Section titled “The credit note could not be paid out”The invoice was paid, so the refund is paid from the bank account: the mapped account must allow payments. If Xero rejects the allocation or payment, the credit note stays in Xero and can be allocated by hand.
The cron address answers “Forbidden”
Section titled “The cron address answers “Forbidden””The key in the address is wrong. Copy the address again from the settings page.
Still stuck
Section titled “Still stuck”Contact us through https://cs-cart.kaviolabs.com with the add-on version, the CS-Cart version and the relevant log lines (tokens and secrets are masked automatically).