[2026-05-12T18:08:09+00:00] [req:c406e8ea] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:08:09+00:00] [req:64c20f6e] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T18:08:14+00:00] [req:2b0f2b7c] [org:-] XeroController::getAccounts() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:08:15+00:00] [req:1e5b5971] [org:-] XeroController::getTaxRates() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:08:16+00:00] [req:7b4f6be2] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:08:19+00:00] [req:2d702754] [org:-] XeroController::initiateOAuth() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","session_id":"ue7c4qsndoro07scp1ebt2n9fj"}
[2026-05-12T18:08:19+00:00] [req:60469f05] [org:-] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["accounting.invoices"]}
[2026-05-12T18:08:19+00:00] [req:f146d52a] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() stored org_id in session
[2026-05-12T18:08:19+00:00] [req:32aacc3d] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["accounting.invoices"]}
[2026-05-12T18:08:19+00:00] [req:f54e36c1] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getAuthorizationUrl() called
[2026-05-12T18:08:19+00:00] [req:5172412f] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] PKCE + state generated {"verifier_redacted":"CQLgYk…[33]…l480","challenge_redacted":"liXCSk…[33]…710w","state":"bfd26e1af55e58634a88275753a6e3f5","session_id":"ue7c4qsndoro07scp1ebt2n9fj"}
[2026-05-12T18:08:19+00:00] [req:30ac6026] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=accounting.invoices&state=bfd26e1af55e58634a88275753a6e3f5&code_challenge=liXCSkDyAJoHvRV2OY79ftJC0rVNyonofatpZW8710w&code_challenge_method=S256","scopes":["accounting.invoices"]}
[2026-05-12T18:08:19+00:00] [req:d2523ea1] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=accounting.invoices&state=bfd26e1af55e58634a88275753a6e3f5&code_challenge=liXCSkDyAJoHvRV2OY79ftJC0rVNyonofatpZW8710w&code_challenge_method=S256"}
[2026-05-12T18:08:29+00:00] [req:5ebff41f] [org:-] oauth/callback.php entered {"query_string":"code=yASOP6CsaVM91ubqW6VnhkwOspt6APejjQ1JaP1Y5qE&scope=accounting.invoices&state=bfd26e1af55e58634a88275753a6e3f5","remote_addr":"168.140.243.58","session_id":"","has_code":true,"has_state":true,"xero_error":null}
[2026-05-12T18:08:29+00:00] [req:71ab895b] [org:-] callback.php — pulled org_id from session {"org_id":null}
[2026-05-12T18:08:29+00:00] [req:14847476] [org:-] callback.php — instantiating XeroOAuth for token exchange {"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["accounting.invoices"]}
[2026-05-12T18:08:29+00:00] [req:4bc04f43] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["accounting.invoices"]}
[2026-05-12T18:08:29+00:00] [req:d5a9ca34] [org:-] handleCallback() entered {"code_redacted":"yASOP6…[33]…Y5qE","returned_state":"bfd26e1af55e58634a88275753a6e3f5","session_id":""}
[2026-05-12T18:08:29+00:00] [req:3cd03cc3] [org:-] CSRF state check (BYPASSED) {"stored_state":null,"returned":"bfd26e1af55e58634a88275753a6e3f5","would_match":false,"note":"state validation skipped — CSRF protection currently disabled"}
[2026-05-12T18:08:29+00:00] [req:148fc279] [org:-] handleCallback() failed — missing PKCE verifier in session
[2026-05-12T18:08:29+00:00] [req:933f7131] [org:-] callback.php — RuntimeException during token exchange {"error":"Missing PKCE code_verifier in session."}
[2026-05-12T18:16:04+00:00] [req:03a1195a] [org:-] oauth/callback.php entered {"query_string":"code=OgGE3rfJaStCkh4VwsO11nkrTdcfkla542R3WAE0PsE&scope=accounting.invoices&state=57015087163e1dcfecc6c8cb9920bb1a","remote_addr":"168.140.243.58","session_id":"","has_code":true,"has_state":true,"xero_error":null}
[2026-05-12T18:16:04+00:00] [req:58100d6e] [org:-] callback.php — pulled org_id from session {"org_id":null}
[2026-05-12T18:16:04+00:00] [req:77aecdc6] [org:-] callback.php — instantiating XeroOAuth for token exchange {"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["accounting.invoices"]}
[2026-05-12T18:16:04+00:00] [req:d797bd03] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["accounting.invoices"]}
[2026-05-12T18:16:04+00:00] [req:d3e2f8ba] [org:-] handleCallback() entered {"code_redacted":"OgGE3r…[33]…0PsE","returned_state":"57015087163e1dcfecc6c8cb9920bb1a","session_id":""}
[2026-05-12T18:16:04+00:00] [req:9fa7c50f] [org:-] CSRF state check (BYPASSED) {"stored_state":null,"returned":"57015087163e1dcfecc6c8cb9920bb1a","would_match":false,"note":"state validation skipped — CSRF protection currently disabled"}
[2026-05-12T18:16:04+00:00] [req:ef9b86b1] [org:-] handleCallback() failed — missing PKCE verifier in session
[2026-05-12T18:16:04+00:00] [req:8efd065b] [org:-] callback.php — RuntimeException during token exchange {"error":"Missing PKCE code_verifier in session."}
[2026-05-12T18:19:09+00:00] [req:a822f835] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:19:09+00:00] [req:baba9fd1] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T18:19:11+00:00] [req:bf7fb3e1] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:19:13+00:00] [req:c67862da] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroController::initiateOAuth() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","session_id":"ue7c4qsndoro07scp1ebt2n9fj"}
[2026-05-12T18:19:13+00:00] [req:16c796ba] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["accounting.invoices"]}
[2026-05-12T18:19:13+00:00] [req:05adfb1d] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() stored org_id in session
[2026-05-12T18:19:13+00:00] [req:480dbaa5] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["accounting.invoices"]}
[2026-05-12T18:19:13+00:00] [req:a49ee6e6] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getAuthorizationUrl() called
[2026-05-12T18:19:13+00:00] [req:9d0b42f8] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] PKCE + state generated {"verifier_redacted":"DvkCz3…[33]…ikQM","challenge_redacted":"dvLY9G…[33]…ysyM","state":"639103f22a8e3e38f20a181ab4e3e055","session_id":"ue7c4qsndoro07scp1ebt2n9fj"}
[2026-05-12T18:19:13+00:00] [req:ea054191] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=accounting.invoices&state=639103f22a8e3e38f20a181ab4e3e055&code_challenge=dvLY9G9GxA62x7YUtQnTRKg3FazDdXpFfBej_CwysyM&code_challenge_method=S256","scopes":["accounting.invoices"]}
[2026-05-12T18:19:13+00:00] [req:38b95989] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=accounting.invoices&state=639103f22a8e3e38f20a181ab4e3e055&code_challenge=dvLY9G9GxA62x7YUtQnTRKg3FazDdXpFfBej_CwysyM&code_challenge_method=S256"}
[2026-05-12T18:19:22+00:00] [req:e003a4d4] [org:-] oauth/callback.php entered {"query_string":"code=2vSqhA5Z87sVgr8ri06vpno2cqJKKfqKgD7Q-63NyKU&scope=accounting.invoices&state=639103f22a8e3e38f20a181ab4e3e055","remote_addr":"168.140.243.58","session_id":"","has_code":true,"has_state":true,"xero_error":null}
[2026-05-12T18:19:22+00:00] [req:e1191a41] [org:-] callback.php — pulled org_id from session {"org_id":null}
[2026-05-12T18:19:22+00:00] [req:5dbfae95] [org:-] callback.php — instantiating XeroOAuth for token exchange {"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["accounting.invoices"]}
[2026-05-12T18:19:22+00:00] [req:0b6e0afb] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["accounting.invoices"]}
[2026-05-12T18:19:22+00:00] [req:599572c8] [org:-] handleCallback() entered {"code_redacted":"2vSqhA…[33]…NyKU","returned_state":"639103f22a8e3e38f20a181ab4e3e055","session_id":""}
[2026-05-12T18:19:22+00:00] [req:41c07061] [org:-] CSRF state check (BYPASSED) {"stored_state":null,"returned":"639103f22a8e3e38f20a181ab4e3e055","would_match":false,"note":"state validation skipped — CSRF protection currently disabled"}
[2026-05-12T18:19:22+00:00] [req:9fcb74af] [org:-] handleCallback() failed — missing PKCE verifier in session
[2026-05-12T18:19:22+00:00] [req:79e15af7] [org:-] callback.php — RuntimeException during token exchange {"error":"Missing PKCE code_verifier in session."}
[2026-05-12T18:22:36+00:00] [req:0253257c] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:22:36+00:00] [req:0253257c] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T18:22:38+00:00] [req:154a729f] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:22:40+00:00] [req:457c5a58] [org:-] XeroController::initiateOAuth() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","session_id":"p8fapuv7p1emq7d7isndr4oma7"}
[2026-05-12T18:22:40+00:00] [req:457c5a58] [org:-] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["accounting.invoices"]}
[2026-05-12T18:22:40+00:00] [req:457c5a58] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() stored org_id in session
[2026-05-12T18:22:40+00:00] [req:457c5a58] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["accounting.invoices"]}
[2026-05-12T18:22:40+00:00] [req:457c5a58] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getAuthorizationUrl() called
[2026-05-12T18:22:40+00:00] [req:457c5a58] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] PKCE + state generated {"verifier_redacted":"esLfcO…[33]…F9zk","challenge_redacted":"INpZRK…[33]…qubE","state":"9c7c413eee90e647f4674e82010b171d","session_id":"p8fapuv7p1emq7d7isndr4oma7"}
[2026-05-12T18:22:40+00:00] [req:457c5a58] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=accounting.invoices&state=9c7c413eee90e647f4674e82010b171d&code_challenge=INpZRKkgzOPj9HWE_LGEWThV-xBmf0qm1Tijj3DqubE&code_challenge_method=S256","scopes":["accounting.invoices"]}
[2026-05-12T18:22:40+00:00] [req:457c5a58] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=accounting.invoices&state=9c7c413eee90e647f4674e82010b171d&code_challenge=INpZRKkgzOPj9HWE_LGEWThV-xBmf0qm1Tijj3DqubE&code_challenge_method=S256"}
[2026-05-12T18:22:49+00:00] [req:9056a49a] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] oauth/callback.php entered {"query_string":"code=k3XkwN_jemwXqsgCczXAhwf2tjZM8vlPJ8Hc_j-J8yQ&scope=accounting.invoices&state=9c7c413eee90e647f4674e82010b171d","remote_addr":"168.140.243.58","session_id":"p8fapuv7p1emq7d7isndr4oma7","has_code":true,"has_state":true,"xero_error":null}
[2026-05-12T18:22:49+00:00] [req:9056a49a] [org:-] callback.php — pulled org_id from session {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:22:49+00:00] [req:9056a49a] [org:-] callback.php — instantiating XeroOAuth for token exchange {"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["accounting.invoices"]}
[2026-05-12T18:22:49+00:00] [req:9056a49a] [org:-] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["accounting.invoices"]}
[2026-05-12T18:22:49+00:00] [req:9056a49a] [org:-] handleCallback() entered {"code_redacted":"k3XkwN…[33]…J8yQ","returned_state":"9c7c413eee90e647f4674e82010b171d","session_id":"p8fapuv7p1emq7d7isndr4oma7"}
[2026-05-12T18:22:49+00:00] [req:9056a49a] [org:-] CSRF state check (BYPASSED) {"stored_state":"9c7c413eee90e647f4674e82010b171d","returned":"9c7c413eee90e647f4674e82010b171d","would_match":true,"note":"state validation skipped — CSRF protection currently disabled"}
[2026-05-12T18:22:49+00:00] [req:9056a49a] [org:-] PKCE verifier retrieved from session {"verifier_redacted":"esLfcO…[33]…F9zk"}
[2026-05-12T18:22:49+00:00] [req:9056a49a] [org:-] Exchanging authorization code for tokens
[2026-05-12T18:22:49+00:00] [req:9056a49a] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"authorization_code","code":"k3XkwN…[33]…J8yQ","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","code_verifier":"esLfcO…[33]…F9zk"}}
[2026-05-12T18:22:49+00:00] [req:9056a49a] [org:-] Token endpoint HTTP response {"status":200,"error":""}
[2026-05-12T18:22:49+00:00] [req:9056a49a] [org:-] Token endpoint success {"expires_in":1800,"token_type":"Bearer","has_id_token":false,"has_refresh":false}
[2026-05-12T18:22:49+00:00] [req:9056a49a] [org:-] Token exchange succeeded {"access_token":"eyJhbG…[1182]…g8LQ","refresh_token":"","expires_at":1778611969,"token_type":"Bearer","has_id_token":false}
[2026-05-12T18:22:49+00:00] [req:9056a49a] [org:-] getConnections() called {"access_token":"eyJhbG…[1182]…g8LQ"}
[2026-05-12T18:22:49+00:00] [req:9056a49a] [org:-] Connections HTTP response {"status":200,"error":""}
[2026-05-12T18:22:49+00:00] [req:9056a49a] [org:-] Connections retrieved {"tenant_count":1,"tenants":[{"tenantId":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","tenantName":"Cybex PTE Ltd","tenantType":"ORGANISATION"}]}
[2026-05-12T18:22:49+00:00] [req:9056a49a] [org:-] callback.php — stored tokens + tenants in session {"tenant_count":1}
[2026-05-12T18:22:49+00:00] [req:9056a49a] [org:-] callback.php — persisted xero settings to org {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","tenant_name":"Cybex PTE Ltd"}
[2026-05-12T18:22:49+00:00] [req:9056a49a] [org:-] callback.php — redirecting to frontend success {"location":"/FrontEnd/Dashboard.php?success=xero_connected"}
[2026-05-12T18:23:25+00:00] [req:ac87401c] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:23:25+00:00] [req:ac87401c] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T18:23:27+00:00] [req:c8bd23cb] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:23:27+00:00] [req:c8bd23cb] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778611969}
[2026-05-12T18:23:27+00:00] [req:c8bd23cb] [org:-] testConnection() calling /Organisation {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98"}
[2026-05-12T18:23:27+00:00] [req:c8bd23cb] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Organisation","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T18:23:27+00:00] [req:c8bd23cb] [org:-] makeXeroApiRequest() response {"endpoint":"/Organisation","http_code":401,"curl_err":""}
[2026-05-12T18:23:27+00:00] [req:c8bd23cb] [org:-] makeXeroApiRequest() non-2xx {"endpoint":"/Organisation","body":"{\"Type\":null,\"Title\":\"Unauthorized\",\"Status\":401,\"Detail\":\"AuthorizationUnsuccessful\",\"Instance\":\"0a54b30c-a937-46bb-9f45-8f12bdcea614\",\"Extensions\":{}}"}
[2026-05-12T18:23:27+00:00] [req:c8bd23cb] [org:-] testConnection() failed — /Organisation returned no result
[2026-05-12T18:24:09+00:00] [req:0d24c6a0] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:24:09+00:00] [req:0d24c6a0] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T18:24:10+00:00] [req:1b9724b8] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:24:10+00:00] [req:1b9724b8] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778611969}
[2026-05-12T18:24:10+00:00] [req:1b9724b8] [org:-] testConnection() calling /Organisation {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98"}
[2026-05-12T18:24:10+00:00] [req:1b9724b8] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Organisation","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T18:24:10+00:00] [req:1b9724b8] [org:-] makeXeroApiRequest() response {"endpoint":"/Organisation","http_code":401,"curl_err":""}
[2026-05-12T18:24:10+00:00] [req:1b9724b8] [org:-] makeXeroApiRequest() non-2xx {"endpoint":"/Organisation","body":"{\"Type\":null,\"Title\":\"Unauthorized\",\"Status\":401,\"Detail\":\"AuthorizationUnsuccessful\",\"Instance\":\"42f4a2ea-f9b4-4351-a947-ddeac85973d3\",\"Extensions\":{}}"}
[2026-05-12T18:24:10+00:00] [req:1b9724b8] [org:-] testConnection() failed — /Organisation returned no result
[2026-05-12T18:24:28+00:00] [req:a4ab1513] [org:-] XeroController::initiateOAuth() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","session_id":"p8fapuv7p1emq7d7isndr4oma7"}
[2026-05-12T18:24:28+00:00] [req:a4ab1513] [org:-] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["accounting.invoices"]}
[2026-05-12T18:24:28+00:00] [req:a4ab1513] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() stored org_id in session
[2026-05-12T18:24:28+00:00] [req:a4ab1513] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["accounting.invoices"]}
[2026-05-12T18:24:28+00:00] [req:a4ab1513] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getAuthorizationUrl() called
[2026-05-12T18:24:28+00:00] [req:a4ab1513] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] PKCE + state generated {"verifier_redacted":"UlKOAr…[33]…axsg","challenge_redacted":"muyjn3…[33]…Bfl0","state":"0a05f32f1115cba39fba39f915300c79","session_id":"p8fapuv7p1emq7d7isndr4oma7"}
[2026-05-12T18:24:28+00:00] [req:a4ab1513] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=test123&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=accounting.invoices&state=0a05f32f1115cba39fba39f915300c79&code_challenge=muyjn3ng3laQA88toUxzr1PXypQNYV9z1KitZq2Bfl0&code_challenge_method=S256","scopes":["accounting.invoices"]}
[2026-05-12T18:24:28+00:00] [req:a4ab1513] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=test123&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=accounting.invoices&state=0a05f32f1115cba39fba39f915300c79&code_challenge=muyjn3ng3laQA88toUxzr1PXypQNYV9z1KitZq2Bfl0&code_challenge_method=S256"}
[2026-05-12T18:27:37+00:00] [req:6d574c59] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:27:37+00:00] [req:6d574c59] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T18:27:37+00:00] [req:69554502] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:27:37+00:00] [req:69554502] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T18:27:37+00:00] [req:ff816821] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:27:37+00:00] [req:ff816821] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T18:27:38+00:00] [req:7da5fb83] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:27:38+00:00] [req:7da5fb83] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T18:27:50+00:00] [req:0df1f2e7] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:27:50+00:00] [req:0df1f2e7] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778611969}
[2026-05-12T18:27:50+00:00] [req:0df1f2e7] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] testConnection() calling /Organisation {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98"}
[2026-05-12T18:27:50+00:00] [req:0df1f2e7] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] makeXeroApiRequest() {"method":"GET","endpoint":"/Organisation","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T18:27:50+00:00] [req:0df1f2e7] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] makeXeroApiRequest() response {"endpoint":"/Organisation","http_code":401,"curl_err":""}
[2026-05-12T18:27:50+00:00] [req:0df1f2e7] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] makeXeroApiRequest() non-2xx {"endpoint":"/Organisation","body":"{\"Type\":null,\"Title\":\"Unauthorized\",\"Status\":401,\"Detail\":\"AuthorizationUnsuccessful\",\"Instance\":\"7d0fccfd-25c2-4c07-8bb7-206695bf4b29\",\"Extensions\":{}}"}
[2026-05-12T18:27:50+00:00] [req:0df1f2e7] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] testConnection() failed — /Organisation returned no result
[2026-05-12T18:37:16+00:00] [req:8e645d21] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroController::saveCredentials() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:37:16+00:00] [req:8e645d21] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] saveCredentials() input received {"client_id":"0914AB…[22]…15BC","client_secret_provided":false}
[2026-05-12T18:37:16+00:00] [req:8e645d21] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] saveCredentials() persisted to org settings {"client_id":"0914AB…[22]…15BC"}
[2026-05-12T18:37:16+00:00] [req:30079df5] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T18:37:16+00:00] [req:30079df5] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T19:06:32+00:00] [req:b9569342] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:06:32+00:00] [req:b9569342] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T19:06:34+00:00] [req:febb0883] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:06:34+00:00] [req:febb0883] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778611969,"now":1778612794}
[2026-05-12T19:06:34+00:00] [req:febb0883] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:06:34+00:00] [req:febb0883] [org:-] refreshAccessToken() aborted — no stored refresh token
[2026-05-12T19:06:34+00:00] [req:febb0883] [org:-] testConnection() — token expired or invalid
[2026-05-12T19:27:24+00:00] [req:bb94fab3] [org:-] XeroController::getCredentials() {"org_id":"0194a8b2-1234-7123-8123-123456789abc"}
[2026-05-12T19:27:24+00:00] [req:bb94fab3] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T19:27:27+00:00] [req:1d4c28c7] [org:-] XeroController::testConnection() entered {"org_id":"0194a8b2-1234-7123-8123-123456789abc"}
[2026-05-12T19:27:27+00:00] [req:1d4c28c7] [org:-] testConnection() reports not connected
[2026-05-12T19:27:42+00:00] [req:5b40d451] [org:-] XeroController::saveCredentials() entered {"org_id":"0194a8b2-1234-7123-8123-123456789abc"}
[2026-05-12T19:27:42+00:00] [req:5b40d451] [org:-] saveCredentials() input received {"client_id":"0914AB…[22]…15BC","client_secret_provided":false}
[2026-05-12T19:27:42+00:00] [req:5b40d451] [org:-] saveCredentials() persisted to org settings {"client_id":"0914AB…[22]…15BC"}
[2026-05-12T19:27:42+00:00] [req:cbf633ee] [org:-] XeroController::getCredentials() {"org_id":"0194a8b2-1234-7123-8123-123456789abc"}
[2026-05-12T19:27:42+00:00] [req:cbf633ee] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T19:27:44+00:00] [req:a34f908a] [org:-] XeroController::initiateOAuth() entered {"org_id":"0194a8b2-1234-7123-8123-123456789abc","session_id":"7f3qsr022q6dpg28gsiokda674"}
[2026-05-12T19:27:44+00:00] [req:a34f908a] [org:-] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:27:44+00:00] [req:a34f908a] [org:0194a8b2-1234-7123-8123-123456789abc] initiateOAuth() stored org_id in session
[2026-05-12T19:27:44+00:00] [req:a34f908a] [org:0194a8b2-1234-7123-8123-123456789abc] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:27:44+00:00] [req:a34f908a] [org:0194a8b2-1234-7123-8123-123456789abc] getAuthorizationUrl() called
[2026-05-12T19:27:44+00:00] [req:a34f908a] [org:0194a8b2-1234-7123-8123-123456789abc] PKCE + state generated {"verifier_redacted":"EQsw8X…[33]…606w","challenge_redacted":"zFitE4…[33]…TFwg","state":"0d9a319b4669c1d42bd31549971c52a9","session_id":"7f3qsr022q6dpg28gsiokda674"}
[2026-05-12T19:27:44+00:00] [req:a34f908a] [org:0194a8b2-1234-7123-8123-123456789abc] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices&state=0d9a319b4669c1d42bd31549971c52a9&code_challenge=zFitE4ibu8wcqHNTj1aFYIGd6s5o8uppk376dxHTFwg&code_challenge_method=S256","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:27:44+00:00] [req:a34f908a] [org:0194a8b2-1234-7123-8123-123456789abc] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices&state=0d9a319b4669c1d42bd31549971c52a9&code_challenge=zFitE4ibu8wcqHNTj1aFYIGd6s5o8uppk376dxHTFwg&code_challenge_method=S256"}
[2026-05-12T19:27:54+00:00] [req:c1f2050a] [org:0194a8b2-1234-7123-8123-123456789abc] oauth/callback.php entered {"query_string":"code=T8_haYIxY4wD7teWgf0NR9DNT31crkcFukb_f3Mp9Rs&scope=offline_access%20accounting.invoices&state=0d9a319b4669c1d42bd31549971c52a9","remote_addr":"168.140.243.58","session_id":"7f3qsr022q6dpg28gsiokda674","has_code":true,"has_state":true,"xero_error":null}
[2026-05-12T19:27:54+00:00] [req:c1f2050a] [org:-] callback.php — pulled org_id from session {"org_id":"0194a8b2-1234-7123-8123-123456789abc"}
[2026-05-12T19:27:54+00:00] [req:c1f2050a] [org:-] callback.php — instantiating XeroOAuth for token exchange {"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:27:54+00:00] [req:c1f2050a] [org:-] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:27:54+00:00] [req:c1f2050a] [org:-] handleCallback() entered {"code_redacted":"T8_haY…[33]…p9Rs","returned_state":"0d9a319b4669c1d42bd31549971c52a9","session_id":"7f3qsr022q6dpg28gsiokda674"}
[2026-05-12T19:27:54+00:00] [req:c1f2050a] [org:-] CSRF state check (BYPASSED) {"stored_state":"0d9a319b4669c1d42bd31549971c52a9","returned":"0d9a319b4669c1d42bd31549971c52a9","would_match":true,"note":"state validation skipped — CSRF protection currently disabled"}
[2026-05-12T19:27:54+00:00] [req:c1f2050a] [org:-] PKCE verifier retrieved from session {"verifier_redacted":"EQsw8X…[33]…606w"}
[2026-05-12T19:27:54+00:00] [req:c1f2050a] [org:-] Exchanging authorization code for tokens
[2026-05-12T19:27:54+00:00] [req:c1f2050a] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"authorization_code","code":"T8_haY…[33]…p9Rs","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","code_verifier":"EQsw8X…[33]…606w"}}
[2026-05-12T19:27:54+00:00] [req:c1f2050a] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-05-12T19:27:54+00:00] [req:c1f2050a] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-05-12T19:27:54+00:00] [req:c1f2050a] [org:-] callback.php — RuntimeException during token exchange {"error":"Token endpoint error: invalid_client"}
[2026-05-12T19:29:27+00:00] [req:e3a85642] [org:-] XeroController::getCredentials() {"org_id":"0194a8b2-1234-7123-8123-123456789abc"}
[2026-05-12T19:29:27+00:00] [req:e3a85642] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T19:29:33+00:00] [req:1a7ef1da] [org:-] XeroController::testConnection() entered {"org_id":"0194a8b2-1234-7123-8123-123456789abc"}
[2026-05-12T19:29:38+00:00] [req:3bfcb115] [org:-] XeroController::saveCredentials() entered {"org_id":"0194a8b2-1234-7123-8123-123456789abc"}
[2026-05-12T19:29:38+00:00] [req:3bfcb115] [org:-] saveCredentials() input received {"client_id":"0914AB…[22]…15BC","client_secret_provided":true}
[2026-05-12T19:29:38+00:00] [req:3bfcb115] [org:-] saveCredentials() persisted to org settings {"client_id":"0914AB…[22]…15BC"}
[2026-05-12T19:29:38+00:00] [req:48cdf0c6] [org:-] XeroController::getCredentials() {"org_id":"0194a8b2-1234-7123-8123-123456789abc"}
[2026-05-12T19:29:38+00:00] [req:48cdf0c6] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T19:29:52+00:00] [req:28c9b014] [org:-] XeroController::getCredentials() {"org_id":"0194a8b2-1234-7123-8123-123456789abc"}
[2026-05-12T19:29:52+00:00] [req:28c9b014] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T19:29:58+00:00] [req:20d3f6f6] [org:-] XeroController::testConnection() entered {"org_id":"0194a8b2-1234-7123-8123-123456789abc"}
[2026-05-12T19:30:02+00:00] [req:9d055c0b] [org:-] XeroController::initiateOAuth() entered {"org_id":"0194a8b2-1234-7123-8123-123456789abc","session_id":"7f3qsr022q6dpg28gsiokda674"}
[2026-05-12T19:30:02+00:00] [req:9d055c0b] [org:-] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:30:02+00:00] [req:9d055c0b] [org:0194a8b2-1234-7123-8123-123456789abc] initiateOAuth() stored org_id in session
[2026-05-12T19:30:02+00:00] [req:9d055c0b] [org:0194a8b2-1234-7123-8123-123456789abc] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:30:02+00:00] [req:9d055c0b] [org:0194a8b2-1234-7123-8123-123456789abc] getAuthorizationUrl() called
[2026-05-12T19:30:02+00:00] [req:9d055c0b] [org:0194a8b2-1234-7123-8123-123456789abc] PKCE + state generated {"verifier_redacted":"rIBGCp…[33]…RJoE","challenge_redacted":"N_fdRZ…[33]…Tsv8","state":"4a15d6266ed8dc8046aada74f3edcb4b","session_id":"7f3qsr022q6dpg28gsiokda674"}
[2026-05-12T19:30:02+00:00] [req:9d055c0b] [org:0194a8b2-1234-7123-8123-123456789abc] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices&state=4a15d6266ed8dc8046aada74f3edcb4b&code_challenge=N_fdRZox1AGnKeBnuYFhD0_5e85JPz5dEOtQ6_STsv8&code_challenge_method=S256","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:30:02+00:00] [req:9d055c0b] [org:0194a8b2-1234-7123-8123-123456789abc] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices&state=4a15d6266ed8dc8046aada74f3edcb4b&code_challenge=N_fdRZox1AGnKeBnuYFhD0_5e85JPz5dEOtQ6_STsv8&code_challenge_method=S256"}
[2026-05-12T19:30:29+00:00] [req:61ae8cab] [org:0194a8b2-1234-7123-8123-123456789abc] oauth/callback.php entered {"query_string":"error=access_denied&error_description=TenantConsent%20status%20DENIED&state=4a15d6266ed8dc8046aada74f3edcb4b","remote_addr":"168.140.243.58","session_id":"7f3qsr022q6dpg28gsiokda674","has_code":false,"has_state":true,"xero_error":"access_denied"}
[2026-05-12T19:30:29+00:00] [req:61ae8cab] [org:0194a8b2-1234-7123-8123-123456789abc] callback.php — Xero returned an error {"error":"TenantConsent status DENIED"}
[2026-05-12T19:34:41+00:00] [req:91ab098b] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:34:41+00:00] [req:91ab098b] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T19:34:51+00:00] [req:9cf604af] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:34:51+00:00] [req:9cf604af] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778611969,"now":1778614491}
[2026-05-12T19:34:51+00:00] [req:9cf604af] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:34:51+00:00] [req:9cf604af] [org:-] refreshAccessToken() aborted — no stored refresh token
[2026-05-12T19:34:51+00:00] [req:9cf604af] [org:-] testConnection() — token expired or invalid
[2026-05-12T19:36:25+00:00] [req:ec0bfcd3] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:36:25+00:00] [req:ec0bfcd3] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T19:36:26+00:00] [req:cb87397a] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:36:26+00:00] [req:cb87397a] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T19:36:37+00:00] [req:f5a043af] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:36:37+00:00] [req:f5a043af] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778611969,"now":1778614597}
[2026-05-12T19:36:37+00:00] [req:f5a043af] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:36:37+00:00] [req:f5a043af] [org:-] refreshAccessToken() aborted — no stored refresh token
[2026-05-12T19:36:37+00:00] [req:f5a043af] [org:-] testConnection() — token expired or invalid
[2026-05-12T19:38:45+00:00] [req:e9eb1f51] [org:-] XeroController::initiateOAuth() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","session_id":"1fj6t8rqk6kur6r799crtl5paf"}
[2026-05-12T19:38:45+00:00] [req:e9eb1f51] [org:-] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:38:45+00:00] [req:e9eb1f51] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() stored org_id in session
[2026-05-12T19:38:45+00:00] [req:e9eb1f51] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:38:45+00:00] [req:e9eb1f51] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getAuthorizationUrl() called
[2026-05-12T19:38:45+00:00] [req:e9eb1f51] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] PKCE + state generated {"verifier_redacted":"vav5a3…[33]…6_Zo","challenge_redacted":"nhR6Pu…[33]…n0Xo","state":"596244e23f21a82ca84049f08a2fd044","session_id":"1fj6t8rqk6kur6r799crtl5paf"}
[2026-05-12T19:38:45+00:00] [req:e9eb1f51] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices&state=596244e23f21a82ca84049f08a2fd044&code_challenge=nhR6PuRkhlDMg-vyJ5ewgUsjPLEeQg4ap9d3pu7n0Xo&code_challenge_method=S256","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:38:45+00:00] [req:e9eb1f51] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices&state=596244e23f21a82ca84049f08a2fd044&code_challenge=nhR6PuRkhlDMg-vyJ5ewgUsjPLEeQg4ap9d3pu7n0Xo&code_challenge_method=S256"}
[2026-05-12T19:38:55+00:00] [req:6f827fcb] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] oauth/callback.php entered {"query_string":"code=vUrHKboV4KEI9F7SjCB1b6V_wJ9p4qj25QTfh-G3aWE&scope=offline_access%20accounting.invoices&state=596244e23f21a82ca84049f08a2fd044","remote_addr":"168.140.243.58","session_id":"1fj6t8rqk6kur6r799crtl5paf","has_code":true,"has_state":true,"xero_error":null}
[2026-05-12T19:38:55+00:00] [req:6f827fcb] [org:-] callback.php — pulled org_id from session {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:38:55+00:00] [req:6f827fcb] [org:-] callback.php — instantiating XeroOAuth for token exchange {"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:38:55+00:00] [req:6f827fcb] [org:-] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:38:55+00:00] [req:6f827fcb] [org:-] handleCallback() entered {"code_redacted":"vUrHKb…[33]…3aWE","returned_state":"596244e23f21a82ca84049f08a2fd044","session_id":"1fj6t8rqk6kur6r799crtl5paf"}
[2026-05-12T19:38:55+00:00] [req:6f827fcb] [org:-] CSRF state check (BYPASSED) {"stored_state":"596244e23f21a82ca84049f08a2fd044","returned":"596244e23f21a82ca84049f08a2fd044","would_match":true,"note":"state validation skipped — CSRF protection currently disabled"}
[2026-05-12T19:38:55+00:00] [req:6f827fcb] [org:-] PKCE verifier retrieved from session {"verifier_redacted":"vav5a3…[33]…6_Zo"}
[2026-05-12T19:38:55+00:00] [req:6f827fcb] [org:-] Exchanging authorization code for tokens
[2026-05-12T19:38:55+00:00] [req:6f827fcb] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"authorization_code","code":"vUrHKb…[33]…3aWE","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","code_verifier":"vav5a3…[33]…6_Zo"}}
[2026-05-12T19:38:55+00:00] [req:6f827fcb] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-05-12T19:38:55+00:00] [req:6f827fcb] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-05-12T19:38:55+00:00] [req:6f827fcb] [org:-] callback.php — RuntimeException during token exchange {"error":"Token endpoint error: invalid_client"}
[2026-05-12T19:41:34+00:00] [req:df0681d5] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:41:34+00:00] [req:df0681d5] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T19:41:40+00:00] [req:851404bb] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:41:40+00:00] [req:851404bb] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778611969,"now":1778614900}
[2026-05-12T19:41:40+00:00] [req:851404bb] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:41:40+00:00] [req:851404bb] [org:-] refreshAccessToken() aborted — no stored refresh token
[2026-05-12T19:41:40+00:00] [req:851404bb] [org:-] testConnection() — token expired or invalid
[2026-05-12T19:41:42+00:00] [req:8202ec7b] [org:-] XeroController::saveCredentials() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:41:42+00:00] [req:8202ec7b] [org:-] saveCredentials() input received {"client_id":"0914AB…[22]…15BC","client_secret_provided":false}
[2026-05-12T19:41:42+00:00] [req:8202ec7b] [org:-] saveCredentials() persisted to org settings {"client_id":"0914AB…[22]…15BC"}
[2026-05-12T19:41:42+00:00] [req:7e89c5d0] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:41:42+00:00] [req:7e89c5d0] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T19:41:47+00:00] [req:4ea9c996] [org:-] XeroController::initiateOAuth() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","session_id":"1fj6t8rqk6kur6r799crtl5paf"}
[2026-05-12T19:41:47+00:00] [req:4ea9c996] [org:-] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:41:47+00:00] [req:4ea9c996] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() stored org_id in session
[2026-05-12T19:41:47+00:00] [req:4ea9c996] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:41:47+00:00] [req:4ea9c996] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getAuthorizationUrl() called
[2026-05-12T19:41:47+00:00] [req:4ea9c996] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] PKCE + state generated {"verifier_redacted":"CF04b8…[33]…H1E0","challenge_redacted":"l5qLfD…[33]…QVy4","state":"0c8919a4c43d90f6b4929faac18937ae","session_id":"1fj6t8rqk6kur6r799crtl5paf"}
[2026-05-12T19:41:47+00:00] [req:4ea9c996] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices&state=0c8919a4c43d90f6b4929faac18937ae&code_challenge=l5qLfD8oVklhPicI5GvsmIQ1JMJ1mrMW3IrGqVWQVy4&code_challenge_method=S256","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:41:47+00:00] [req:4ea9c996] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices&state=0c8919a4c43d90f6b4929faac18937ae&code_challenge=l5qLfD8oVklhPicI5GvsmIQ1JMJ1mrMW3IrGqVWQVy4&code_challenge_method=S256"}
[2026-05-12T19:42:02+00:00] [req:1f619d8d] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] oauth/callback.php entered {"query_string":"code=hzvhf1rEvTp7-vwLTSVFuipp5oSnzszWHjB8XKZSrDA&scope=offline_access%20accounting.invoices&state=0c8919a4c43d90f6b4929faac18937ae","remote_addr":"168.140.243.58","session_id":"1fj6t8rqk6kur6r799crtl5paf","has_code":true,"has_state":true,"xero_error":null}
[2026-05-12T19:42:02+00:00] [req:1f619d8d] [org:-] callback.php — pulled org_id from session {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:42:02+00:00] [req:1f619d8d] [org:-] callback.php — instantiating XeroOAuth for token exchange {"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:42:02+00:00] [req:1f619d8d] [org:-] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:42:02+00:00] [req:1f619d8d] [org:-] handleCallback() entered {"code_redacted":"hzvhf1…[33]…SrDA","returned_state":"0c8919a4c43d90f6b4929faac18937ae","session_id":"1fj6t8rqk6kur6r799crtl5paf"}
[2026-05-12T19:42:02+00:00] [req:1f619d8d] [org:-] CSRF state check (BYPASSED) {"stored_state":"0c8919a4c43d90f6b4929faac18937ae","returned":"0c8919a4c43d90f6b4929faac18937ae","would_match":true,"note":"state validation skipped — CSRF protection currently disabled"}
[2026-05-12T19:42:02+00:00] [req:1f619d8d] [org:-] PKCE verifier retrieved from session {"verifier_redacted":"CF04b8…[33]…H1E0"}
[2026-05-12T19:42:02+00:00] [req:1f619d8d] [org:-] Exchanging authorization code for tokens
[2026-05-12T19:42:02+00:00] [req:1f619d8d] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"authorization_code","code":"hzvhf1…[33]…SrDA","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","code_verifier":"CF04b8…[33]…H1E0"}}
[2026-05-12T19:42:02+00:00] [req:1f619d8d] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-05-12T19:42:02+00:00] [req:1f619d8d] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-05-12T19:42:02+00:00] [req:1f619d8d] [org:-] callback.php — RuntimeException during token exchange {"error":"Token endpoint error: invalid_client"}
[2026-05-12T19:56:06+00:00] [req:4dc45991] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:56:06+00:00] [req:4dc45991] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T19:56:14+00:00] [req:a1fe149f] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:56:14+00:00] [req:a1fe149f] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778611969,"now":1778615774}
[2026-05-12T19:56:14+00:00] [req:a1fe149f] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:56:14+00:00] [req:a1fe149f] [org:-] refreshAccessToken() aborted — no stored refresh token
[2026-05-12T19:56:14+00:00] [req:a1fe149f] [org:-] testConnection() — token expired or invalid
[2026-05-12T19:56:24+00:00] [req:00c60240] [org:-] XeroController::saveCredentials() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:56:24+00:00] [req:00c60240] [org:-] saveCredentials() input received {"client_id":"0914AB…[22]…15BC","client_secret_provided":true}
[2026-05-12T19:56:24+00:00] [req:00c60240] [org:-] saveCredentials() persisted to org settings {"client_id":"0914AB…[22]…15BC"}
[2026-05-12T19:56:25+00:00] [req:6d744b15] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:56:25+00:00] [req:6d744b15] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T19:56:41+00:00] [req:80f1b020] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:56:41+00:00] [req:80f1b020] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T19:56:44+00:00] [req:2f65c373] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:56:44+00:00] [req:2f65c373] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778611969,"now":1778615804}
[2026-05-12T19:56:44+00:00] [req:2f65c373] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:56:44+00:00] [req:2f65c373] [org:-] refreshAccessToken() aborted — no stored refresh token
[2026-05-12T19:56:44+00:00] [req:2f65c373] [org:-] testConnection() — token expired or invalid
[2026-05-12T19:57:39+00:00] [req:a1d48210] [org:-] XeroController::initiateOAuth() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","session_id":"2m5dckd5mqvdm9hvdpl29tvsmm"}
[2026-05-12T19:57:39+00:00] [req:a1d48210] [org:-] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:57:39+00:00] [req:a1d48210] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() stored org_id in session
[2026-05-12T19:57:39+00:00] [req:a1d48210] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:57:39+00:00] [req:a1d48210] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getAuthorizationUrl() called
[2026-05-12T19:57:39+00:00] [req:a1d48210] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] PKCE + state generated {"verifier_redacted":"GxoAfW…[33]…zKVU","challenge_redacted":"027lpz…[33]…-JOA","state":"7dffaf34f01455e49707fa8797c96ebf","session_id":"2m5dckd5mqvdm9hvdpl29tvsmm"}
[2026-05-12T19:57:39+00:00] [req:a1d48210] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices&state=7dffaf34f01455e49707fa8797c96ebf&code_challenge=027lpzADVp8YFCrbJYGdf2RbpiG4fO9_isCK8AW-JOA&code_challenge_method=S256","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:57:39+00:00] [req:a1d48210] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices&state=7dffaf34f01455e49707fa8797c96ebf&code_challenge=027lpzADVp8YFCrbJYGdf2RbpiG4fO9_isCK8AW-JOA&code_challenge_method=S256"}
[2026-05-12T19:57:51+00:00] [req:eb12ae37] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] oauth/callback.php entered {"query_string":"code=5yP4QknwYhhe6lXqAThWf82L7c7-uwUaRiNPTyFTG1Q&scope=offline_access%20accounting.invoices&state=7dffaf34f01455e49707fa8797c96ebf","remote_addr":"168.140.243.58","session_id":"2m5dckd5mqvdm9hvdpl29tvsmm","has_code":true,"has_state":true,"xero_error":null}
[2026-05-12T19:57:51+00:00] [req:eb12ae37] [org:-] callback.php — pulled org_id from session {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:57:51+00:00] [req:eb12ae37] [org:-] callback.php — instantiating XeroOAuth for token exchange {"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:57:51+00:00] [req:eb12ae37] [org:-] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices"]}
[2026-05-12T19:57:51+00:00] [req:eb12ae37] [org:-] handleCallback() entered {"code_redacted":"5yP4Qk…[33]…TG1Q","returned_state":"7dffaf34f01455e49707fa8797c96ebf","session_id":"2m5dckd5mqvdm9hvdpl29tvsmm"}
[2026-05-12T19:57:51+00:00] [req:eb12ae37] [org:-] CSRF state check (BYPASSED) {"stored_state":"7dffaf34f01455e49707fa8797c96ebf","returned":"7dffaf34f01455e49707fa8797c96ebf","would_match":true,"note":"state validation skipped — CSRF protection currently disabled"}
[2026-05-12T19:57:51+00:00] [req:eb12ae37] [org:-] PKCE verifier retrieved from session {"verifier_redacted":"GxoAfW…[33]…zKVU"}
[2026-05-12T19:57:51+00:00] [req:eb12ae37] [org:-] Exchanging authorization code for tokens
[2026-05-12T19:57:51+00:00] [req:eb12ae37] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"authorization_code","code":"5yP4Qk…[33]…TG1Q","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","code_verifier":"GxoAfW…[33]…zKVU"}}
[2026-05-12T19:57:51+00:00] [req:eb12ae37] [org:-] Token endpoint HTTP response {"status":200,"error":""}
[2026-05-12T19:57:51+00:00] [req:eb12ae37] [org:-] Token endpoint success {"expires_in":1800,"token_type":"Bearer","has_id_token":false,"has_refresh":true}
[2026-05-12T19:57:51+00:00] [req:eb12ae37] [org:-] Token exchange succeeded {"access_token":"eyJhbG…[1207]…oqhA","refresh_token":"aJeJW2…[33]…gsNk","expires_at":1778617671,"token_type":"Bearer","has_id_token":false}
[2026-05-12T19:57:51+00:00] [req:eb12ae37] [org:-] getConnections() called {"access_token":"eyJhbG…[1207]…oqhA"}
[2026-05-12T19:57:51+00:00] [req:eb12ae37] [org:-] Connections HTTP response {"status":200,"error":""}
[2026-05-12T19:57:51+00:00] [req:eb12ae37] [org:-] Connections retrieved {"tenant_count":1,"tenants":[{"tenantId":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","tenantName":"Cybex PTE Ltd","tenantType":"ORGANISATION"}]}
[2026-05-12T19:57:51+00:00] [req:eb12ae37] [org:-] callback.php — stored tokens + tenants in session {"tenant_count":1}
[2026-05-12T19:57:51+00:00] [req:eb12ae37] [org:-] callback.php — persisted xero settings to org {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","tenant_name":"Cybex PTE Ltd"}
[2026-05-12T19:57:51+00:00] [req:eb12ae37] [org:-] callback.php — redirecting to frontend success {"location":"/FrontEnd/Dashboard.php?success=xero_connected"}
[2026-05-12T19:58:26+00:00] [req:d5ed29dc] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:58:26+00:00] [req:d5ed29dc] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T19:58:29+00:00] [req:457ad97d] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T19:58:29+00:00] [req:457ad97d] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778617671}
[2026-05-12T19:58:29+00:00] [req:457ad97d] [org:-] testConnection() calling /Organisation {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98"}
[2026-05-12T19:58:29+00:00] [req:457ad97d] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Organisation","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T19:58:29+00:00] [req:457ad97d] [org:-] makeXeroApiRequest() response {"endpoint":"/Organisation","http_code":401,"curl_err":""}
[2026-05-12T19:58:29+00:00] [req:457ad97d] [org:-] makeXeroApiRequest() non-2xx {"endpoint":"/Organisation","body":"{\"Type\":null,\"Title\":\"Unauthorized\",\"Status\":401,\"Detail\":\"AuthorizationUnsuccessful\",\"Instance\":\"e1add7d8-ecdb-4df0-89cc-2ef36ceb9df0\",\"Extensions\":{}}"}
[2026-05-12T19:58:29+00:00] [req:457ad97d] [org:-] testConnection() failed — /Organisation returned no result
[2026-05-12T20:05:47+00:00] [req:2cf8e7d4] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T20:05:47+00:00] [req:2cf8e7d4] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T20:05:49+00:00] [req:597e73c0] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T20:05:49+00:00] [req:597e73c0] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778617671}
[2026-05-12T20:05:49+00:00] [req:597e73c0] [org:-] testConnection() calling /Organisation {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98"}
[2026-05-12T20:05:49+00:00] [req:597e73c0] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Organisation","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T20:05:49+00:00] [req:597e73c0] [org:-] makeXeroApiRequest() response {"endpoint":"/Organisation","http_code":401,"curl_err":""}
[2026-05-12T20:05:49+00:00] [req:597e73c0] [org:-] makeXeroApiRequest() non-2xx {"endpoint":"/Organisation","body":"{\"Type\":null,\"Title\":\"Unauthorized\",\"Status\":401,\"Detail\":\"AuthorizationUnsuccessful\",\"Instance\":\"4d33c25e-07bb-4ff2-9dc1-6ced9ef7ae5f\",\"Extensions\":{}}"}
[2026-05-12T20:05:49+00:00] [req:597e73c0] [org:-] testConnection() failed — /Organisation returned no result
[2026-05-12T20:06:21+00:00] [req:d0daffde] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T20:06:21+00:00] [req:d0daffde] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778617671}
[2026-05-12T20:06:21+00:00] [req:d0daffde] [org:-] testConnection() calling /Organisation {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98"}
[2026-05-12T20:06:21+00:00] [req:d0daffde] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Organisation","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T20:06:21+00:00] [req:d0daffde] [org:-] makeXeroApiRequest() response {"endpoint":"/Organisation","http_code":401,"curl_err":""}
[2026-05-12T20:06:21+00:00] [req:d0daffde] [org:-] makeXeroApiRequest() non-2xx {"endpoint":"/Organisation","body":"{\"Type\":null,\"Title\":\"Unauthorized\",\"Status\":401,\"Detail\":\"AuthorizationUnsuccessful\",\"Instance\":\"13d84c2b-e1af-438f-ae7d-465ae35309ea\",\"Extensions\":{}}"}
[2026-05-12T20:06:21+00:00] [req:d0daffde] [org:-] testConnection() failed — /Organisation returned no result
[2026-05-12T20:06:33+00:00] [req:8911daef] [org:-] XeroController::initiateOAuth() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","session_id":"qm9s6osqnl1dsbf1q69v05dhnh"}
[2026-05-12T20:06:33+00:00] [req:8911daef] [org:-] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T20:06:33+00:00] [req:8911daef] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() stored org_id in session
[2026-05-12T20:06:33+00:00] [req:8911daef] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T20:06:33+00:00] [req:8911daef] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getAuthorizationUrl() called
[2026-05-12T20:06:33+00:00] [req:8911daef] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] PKCE + state generated {"verifier_redacted":"iNLz9X…[33]…knrI","challenge_redacted":"Ucl96P…[33]…K2xc","state":"9cc4ee19bf6efc12432ccdd833ee7c73","session_id":"qm9s6osqnl1dsbf1q69v05dhnh"}
[2026-05-12T20:06:33+00:00] [req:8911daef] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=test123&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=9cc4ee19bf6efc12432ccdd833ee7c73&code_challenge=Ucl96PsKdTOsGEB4H_vNzhG6sJEBeNex9JnM2BgK2xc&code_challenge_method=S256","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T20:06:33+00:00] [req:8911daef] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=test123&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=9cc4ee19bf6efc12432ccdd833ee7c73&code_challenge=Ucl96PsKdTOsGEB4H_vNzhG6sJEBeNex9JnM2BgK2xc&code_challenge_method=S256"}
[2026-05-12T20:07:10+00:00] [req:935d99f2] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T20:07:10+00:00] [req:935d99f2] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T20:07:13+00:00] [req:3a336b9f] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T20:07:13+00:00] [req:3a336b9f] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778617671}
[2026-05-12T20:07:13+00:00] [req:3a336b9f] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] testConnection() calling /Organisation {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98"}
[2026-05-12T20:07:13+00:00] [req:3a336b9f] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] makeXeroApiRequest() {"method":"GET","endpoint":"/Organisation","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T20:07:13+00:00] [req:3a336b9f] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] makeXeroApiRequest() response {"endpoint":"/Organisation","http_code":401,"curl_err":""}
[2026-05-12T20:07:13+00:00] [req:3a336b9f] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] makeXeroApiRequest() non-2xx {"endpoint":"/Organisation","body":"{\"Type\":null,\"Title\":\"Unauthorized\",\"Status\":401,\"Detail\":\"AuthorizationUnsuccessful\",\"Instance\":\"4983c66c-185a-4ba9-9a01-64671a7c947f\",\"Extensions\":{}}"}
[2026-05-12T20:07:13+00:00] [req:3a336b9f] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] testConnection() failed — /Organisation returned no result
[2026-05-12T20:07:39+00:00] [req:a8e21024] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T20:07:39+00:00] [req:a8e21024] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T20:07:42+00:00] [req:6108482a] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T20:07:42+00:00] [req:6108482a] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778617671}
[2026-05-12T20:07:42+00:00] [req:6108482a] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] testConnection() calling /Organisation {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98"}
[2026-05-12T20:07:42+00:00] [req:6108482a] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] makeXeroApiRequest() {"method":"GET","endpoint":"/Organisation","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T20:07:43+00:00] [req:6108482a] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] makeXeroApiRequest() response {"endpoint":"/Organisation","http_code":401,"curl_err":""}
[2026-05-12T20:07:43+00:00] [req:6108482a] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] makeXeroApiRequest() non-2xx {"endpoint":"/Organisation","body":"{\"Type\":null,\"Title\":\"Unauthorized\",\"Status\":401,\"Detail\":\"AuthorizationUnsuccessful\",\"Instance\":\"ffdc9fb8-a65b-4644-a90a-1272555777f8\",\"Extensions\":{}}"}
[2026-05-12T20:07:43+00:00] [req:6108482a] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] testConnection() failed — /Organisation returned no result
[2026-05-12T20:07:47+00:00] [req:1afdf783] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroController::initiateOAuth() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","session_id":"qm9s6osqnl1dsbf1q69v05dhnh"}
[2026-05-12T20:07:47+00:00] [req:1afdf783] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T20:07:47+00:00] [req:1afdf783] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() stored org_id in session
[2026-05-12T20:07:47+00:00] [req:1afdf783] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T20:07:47+00:00] [req:1afdf783] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getAuthorizationUrl() called
[2026-05-12T20:07:47+00:00] [req:1afdf783] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] PKCE + state generated {"verifier_redacted":"dXAhHo…[33]…HA98","challenge_redacted":"x-LFDX…[33]…T7us","state":"5a420ef3380cbcdda5813daecfbd21dc","session_id":"qm9s6osqnl1dsbf1q69v05dhnh"}
[2026-05-12T20:07:47+00:00] [req:1afdf783] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=test123&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=5a420ef3380cbcdda5813daecfbd21dc&code_challenge=x-LFDX6Jh95LeUMlCDHlQZ1fBCO_T3Ct27_EZS3T7us&code_challenge_method=S256","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T20:07:47+00:00] [req:1afdf783] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=test123&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=5a420ef3380cbcdda5813daecfbd21dc&code_challenge=x-LFDX6Jh95LeUMlCDHlQZ1fBCO_T3Ct27_EZS3T7us&code_challenge_method=S256"}
[2026-05-12T20:13:31+00:00] [req:6b79ab61] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T20:13:31+00:00] [req:6b79ab61] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T20:13:34+00:00] [req:ea42dc12] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T20:13:34+00:00] [req:ea42dc12] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778617671}
[2026-05-12T20:13:34+00:00] [req:ea42dc12] [org:-] testConnection() calling /Organisation {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98"}
[2026-05-12T20:13:34+00:00] [req:ea42dc12] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Organisation","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T20:13:35+00:00] [req:ea42dc12] [org:-] makeXeroApiRequest() response {"endpoint":"/Organisation","http_code":401,"curl_err":""}
[2026-05-12T20:13:35+00:00] [req:ea42dc12] [org:-] makeXeroApiRequest() non-2xx {"endpoint":"/Organisation","body":"{\"Type\":null,\"Title\":\"Unauthorized\",\"Status\":401,\"Detail\":\"AuthorizationUnsuccessful\",\"Instance\":\"7f9b720b-339d-463b-8695-e4608f9d85bd\",\"Extensions\":{}}"}
[2026-05-12T20:13:35+00:00] [req:ea42dc12] [org:-] testConnection() failed — /Organisation returned no result
[2026-05-12T20:13:50+00:00] [req:2d38b625] [org:-] XeroController::initiateOAuth() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","session_id":"5bvu1brv8iqsj488o765gjdenm"}
[2026-05-12T20:13:50+00:00] [req:2d38b625] [org:-] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T20:13:50+00:00] [req:2d38b625] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() stored org_id in session
[2026-05-12T20:13:50+00:00] [req:2d38b625] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T20:13:50+00:00] [req:2d38b625] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getAuthorizationUrl() called
[2026-05-12T20:13:50+00:00] [req:2d38b625] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] PKCE + state generated {"verifier_redacted":"-cPeVO…[33]…CQI0","challenge_redacted":"uWKVNE…[33]…Bn5k","state":"e7217db92fd585ede63affac9b954c73","session_id":"5bvu1brv8iqsj488o765gjdenm"}
[2026-05-12T20:13:50+00:00] [req:2d38b625] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=test123&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=e7217db92fd585ede63affac9b954c73&code_challenge=uWKVNEXOSthc3_LVYhp1GkVmqCoaoFJPGdQZtdgBn5k&code_challenge_method=S256","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T20:13:50+00:00] [req:2d38b625] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=test123&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=e7217db92fd585ede63affac9b954c73&code_challenge=uWKVNEXOSthc3_LVYhp1GkVmqCoaoFJPGdQZtdgBn5k&code_challenge_method=S256"}
[2026-05-12T20:14:12+00:00] [req:a1263161] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T20:14:12+00:00] [req:a1263161] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T20:14:15+00:00] [req:78445977] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T20:14:15+00:00] [req:78445977] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778617671}
[2026-05-12T20:14:15+00:00] [req:78445977] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] testConnection() calling /Organisation {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98"}
[2026-05-12T20:14:15+00:00] [req:78445977] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] makeXeroApiRequest() {"method":"GET","endpoint":"/Organisation","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T20:14:15+00:00] [req:78445977] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] makeXeroApiRequest() response {"endpoint":"/Organisation","http_code":401,"curl_err":""}
[2026-05-12T20:14:15+00:00] [req:78445977] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] makeXeroApiRequest() non-2xx {"endpoint":"/Organisation","body":"{\"Type\":null,\"Title\":\"Unauthorized\",\"Status\":401,\"Detail\":\"AuthorizationUnsuccessful\",\"Instance\":\"c5ea903d-d13b-45d4-b3b6-1e3762dd5f53\",\"Extensions\":{}}"}
[2026-05-12T20:14:15+00:00] [req:78445977] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] testConnection() failed — /Organisation returned no result
[2026-05-12T20:14:54+00:00] [req:d9b69c23] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T20:14:54+00:00] [req:d9b69c23] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T20:14:58+00:00] [req:38bbaa68] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T20:14:58+00:00] [req:38bbaa68] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778617671}
[2026-05-12T20:14:58+00:00] [req:38bbaa68] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] testConnection() calling /Organisation {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98"}
[2026-05-12T20:14:58+00:00] [req:38bbaa68] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] makeXeroApiRequest() {"method":"GET","endpoint":"/Organisation","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T20:14:58+00:00] [req:38bbaa68] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] makeXeroApiRequest() response {"endpoint":"/Organisation","http_code":401,"curl_err":""}
[2026-05-12T20:14:58+00:00] [req:38bbaa68] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] makeXeroApiRequest() non-2xx {"endpoint":"/Organisation","body":"{\"Type\":null,\"Title\":\"Unauthorized\",\"Status\":401,\"Detail\":\"AuthorizationUnsuccessful\",\"Instance\":\"16f5e3f1-f939-4952-9ec8-2364dc9204ab\",\"Extensions\":{}}"}
[2026-05-12T20:14:58+00:00] [req:38bbaa68] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] testConnection() failed — /Organisation returned no result
[2026-05-12T22:29:39+00:00] [req:af1518ca] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T22:29:39+00:00] [req:af1518ca] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T22:29:41+00:00] [req:02cef221] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T22:29:41+00:00] [req:02cef221] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778617671,"now":1778624981}
[2026-05-12T22:29:41+00:00] [req:02cef221] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T22:29:41+00:00] [req:02cef221] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T22:29:41+00:00] [req:02cef221] [org:-] refreshAccessToken() called {"refresh_token":"aJeJW2…[33]…gsNk"}
[2026-05-12T22:29:41+00:00] [req:02cef221] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"aJeJW2…[33]…gsNk"}}
[2026-05-12T22:29:41+00:00] [req:02cef221] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-05-12T22:29:41+00:00] [req:02cef221] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-05-12T22:29:41+00:00] [req:02cef221] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-05-12T22:29:41+00:00] [req:02cef221] [org:-] testConnection() — token expired or invalid
[2026-05-12T22:30:02+00:00] [req:17f5b15a] [org:-] XeroController::saveCredentials() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T22:30:02+00:00] [req:17f5b15a] [org:-] saveCredentials() input received {"client_id":"0914AB…[22]…15BC","client_secret_provided":true}
[2026-05-12T22:30:02+00:00] [req:17f5b15a] [org:-] saveCredentials() persisted to org settings {"client_id":"0914AB…[22]…15BC"}
[2026-05-12T22:30:02+00:00] [req:a14fa0d0] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T22:30:02+00:00] [req:a14fa0d0] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T22:30:15+00:00] [req:eddd002e] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T22:30:15+00:00] [req:eddd002e] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T22:30:18+00:00] [req:547259b6] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T22:30:18+00:00] [req:547259b6] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778617671,"now":1778625018}
[2026-05-12T22:30:18+00:00] [req:547259b6] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T22:30:18+00:00] [req:547259b6] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T22:30:18+00:00] [req:547259b6] [org:-] refreshAccessToken() called {"refresh_token":"aJeJW2…[33]…gsNk"}
[2026-05-12T22:30:18+00:00] [req:547259b6] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"aJeJW2…[33]…gsNk"}}
[2026-05-12T22:30:18+00:00] [req:547259b6] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-05-12T22:30:18+00:00] [req:547259b6] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-05-12T22:30:18+00:00] [req:547259b6] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-05-12T22:30:18+00:00] [req:547259b6] [org:-] testConnection() — token expired or invalid
[2026-05-12T22:30:20+00:00] [req:22183580] [org:-] XeroController::initiateOAuth() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","session_id":"9nugtl05i7v6t7u5opsa0d9eg2"}
[2026-05-12T22:30:20+00:00] [req:22183580] [org:-] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T22:30:20+00:00] [req:22183580] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() stored org_id in session
[2026-05-12T22:30:20+00:00] [req:22183580] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T22:30:20+00:00] [req:22183580] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getAuthorizationUrl() called
[2026-05-12T22:30:20+00:00] [req:22183580] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] PKCE + state generated {"verifier_redacted":"rnC0CB…[33]…pTtg","challenge_redacted":"toaZOy…[33]…eSTg","state":"663ce3f02c7ce9d24f8f52b3e6bbf5ce","session_id":"9nugtl05i7v6t7u5opsa0d9eg2"}
[2026-05-12T22:30:20+00:00] [req:22183580] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=663ce3f02c7ce9d24f8f52b3e6bbf5ce&code_challenge=toaZOy4GZ9JUd51QWquXSmXo5AnUJHOrgCepJVteSTg&code_challenge_method=S256","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T22:30:20+00:00] [req:22183580] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=663ce3f02c7ce9d24f8f52b3e6bbf5ce&code_challenge=toaZOy4GZ9JUd51QWquXSmXo5AnUJHOrgCepJVteSTg&code_challenge_method=S256"}
[2026-05-12T22:30:30+00:00] [req:ba8456e0] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] oauth/callback.php entered {"query_string":"code=9W7nzLiJDZjWdtnEj-O6TNcsMSb6AuJSaacracjtQdA&scope=offline_access%20accounting.invoices%20accounting.contacts%20accounting.settings.read&state=663ce3f02c7ce9d24f8f52b3e6bbf5ce","remote_addr":"168.140.243.58","session_id":"9nugtl05i7v6t7u5opsa0d9eg2","has_code":true,"has_state":true,"xero_error":null}
[2026-05-12T22:30:30+00:00] [req:ba8456e0] [org:-] callback.php — pulled org_id from session {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T22:30:30+00:00] [req:ba8456e0] [org:-] callback.php — instantiating XeroOAuth for token exchange {"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T22:30:30+00:00] [req:ba8456e0] [org:-] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T22:30:30+00:00] [req:ba8456e0] [org:-] handleCallback() entered {"code_redacted":"9W7nzL…[33]…tQdA","returned_state":"663ce3f02c7ce9d24f8f52b3e6bbf5ce","session_id":"9nugtl05i7v6t7u5opsa0d9eg2"}
[2026-05-12T22:30:30+00:00] [req:ba8456e0] [org:-] CSRF state check (BYPASSED) {"stored_state":"663ce3f02c7ce9d24f8f52b3e6bbf5ce","returned":"663ce3f02c7ce9d24f8f52b3e6bbf5ce","would_match":true,"note":"state validation skipped — CSRF protection currently disabled"}
[2026-05-12T22:30:30+00:00] [req:ba8456e0] [org:-] PKCE verifier retrieved from session {"verifier_redacted":"rnC0CB…[33]…pTtg"}
[2026-05-12T22:30:30+00:00] [req:ba8456e0] [org:-] Exchanging authorization code for tokens
[2026-05-12T22:30:30+00:00] [req:ba8456e0] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"authorization_code","code":"9W7nzL…[33]…tQdA","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","code_verifier":"rnC0CB…[33]…pTtg"}}
[2026-05-12T22:30:30+00:00] [req:ba8456e0] [org:-] Token endpoint HTTP response {"status":200,"error":""}
[2026-05-12T22:30:30+00:00] [req:ba8456e0] [org:-] Token endpoint success {"expires_in":1800,"token_type":"Bearer","has_id_token":false,"has_refresh":true}
[2026-05-12T22:30:30+00:00] [req:ba8456e0] [org:-] Token exchange succeeded {"access_token":"eyJhbG…[1272]…G1nQ","refresh_token":"LduITA…[33]…KIsg","expires_at":1778626830,"token_type":"Bearer","has_id_token":false}
[2026-05-12T22:30:30+00:00] [req:ba8456e0] [org:-] getConnections() called {"access_token":"eyJhbG…[1272]…G1nQ"}
[2026-05-12T22:30:30+00:00] [req:ba8456e0] [org:-] Connections HTTP response {"status":200,"error":""}
[2026-05-12T22:30:30+00:00] [req:ba8456e0] [org:-] Connections retrieved {"tenant_count":1,"tenants":[{"tenantId":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","tenantName":"Cybex PTE Ltd","tenantType":"ORGANISATION"}]}
[2026-05-12T22:30:30+00:00] [req:ba8456e0] [org:-] callback.php — stored tokens + tenants in session {"tenant_count":1}
[2026-05-12T22:30:30+00:00] [req:ba8456e0] [org:-] callback.php — persisted xero settings to org {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","tenant_name":"Cybex PTE Ltd"}
[2026-05-12T22:30:30+00:00] [req:ba8456e0] [org:-] callback.php — redirecting to frontend success {"location":"/FrontEnd/Dashboard.php?success=xero_connected"}
[2026-05-12T22:31:00+00:00] [req:8aabbefb] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T22:31:00+00:00] [req:8aabbefb] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T22:31:03+00:00] [req:dce6368c] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T22:31:03+00:00] [req:dce6368c] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778626830}
[2026-05-12T22:31:03+00:00] [req:dce6368c] [org:-] testConnection() calling /Organisation {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98"}
[2026-05-12T22:31:03+00:00] [req:dce6368c] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Organisation","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T22:31:03+00:00] [req:dce6368c] [org:-] makeXeroApiRequest() response {"endpoint":"/Organisation","http_code":200,"curl_err":""}
[2026-05-12T22:31:03+00:00] [req:dce6368c] [org:-] testConnection() success {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","organisation_name":"Cybex PTE Ltd"}
[2026-05-12T22:31:10+00:00] [req:f69e01ae] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T22:31:10+00:00] [req:f69e01ae] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778626830}
[2026-05-12T22:31:10+00:00] [req:f69e01ae] [org:-] testConnection() calling /Organisation {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98"}
[2026-05-12T22:31:10+00:00] [req:f69e01ae] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Organisation","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T22:31:10+00:00] [req:f69e01ae] [org:-] makeXeroApiRequest() response {"endpoint":"/Organisation","http_code":200,"curl_err":""}
[2026-05-12T22:31:10+00:00] [req:f69e01ae] [org:-] testConnection() success {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","organisation_name":"Cybex PTE Ltd"}
[2026-05-12T23:04:41+00:00] [req:aec32074] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:04:41+00:00] [req:aec32074] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T23:04:48+00:00] [req:decc028f] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:04:48+00:00] [req:decc028f] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778626830,"now":1778627088}
[2026-05-12T23:04:48+00:00] [req:decc028f] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:04:48+00:00] [req:decc028f] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T23:04:48+00:00] [req:decc028f] [org:-] refreshAccessToken() called {"refresh_token":"LduITA…[33]…KIsg"}
[2026-05-12T23:04:48+00:00] [req:decc028f] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"LduITA…[33]…KIsg"}}
[2026-05-12T23:04:48+00:00] [req:decc028f] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-05-12T23:04:48+00:00] [req:decc028f] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-05-12T23:04:48+00:00] [req:decc028f] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-05-12T23:04:48+00:00] [req:decc028f] [org:-] testConnection() — token expired or invalid
[2026-05-12T23:04:54+00:00] [req:625fb357] [org:-] XeroController::initiateOAuth() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","session_id":"7epi8g55ojv3vbpnuo0s1d32aa"}
[2026-05-12T23:04:54+00:00] [req:625fb357] [org:-] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T23:04:54+00:00] [req:625fb357] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() stored org_id in session
[2026-05-12T23:04:54+00:00] [req:625fb357] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T23:04:54+00:00] [req:625fb357] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getAuthorizationUrl() called
[2026-05-12T23:04:54+00:00] [req:625fb357] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] PKCE + state generated {"verifier_redacted":"7mbg8m…[33]…LkMQ","challenge_redacted":"1vbRmq…[33]…zFJE","state":"b881415beeef46fc88bbadb7a18e61c1","session_id":"7epi8g55ojv3vbpnuo0s1d32aa"}
[2026-05-12T23:04:54+00:00] [req:625fb357] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=b881415beeef46fc88bbadb7a18e61c1&code_challenge=1vbRmqbzExVYYgRbpVZaP-uqb5MTgecH5zdUnKXzFJE&code_challenge_method=S256","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T23:04:54+00:00] [req:625fb357] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=b881415beeef46fc88bbadb7a18e61c1&code_challenge=1vbRmqbzExVYYgRbpVZaP-uqb5MTgecH5zdUnKXzFJE&code_challenge_method=S256"}
[2026-05-12T23:05:02+00:00] [req:12efe070] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] oauth/callback.php entered {"query_string":"code=zdxgEd5oU3XWGTbXc-U5craVqOM_LyFM13C2F4auNkY&scope=offline_access%20accounting.invoices%20accounting.contacts%20accounting.settings.read&state=b881415beeef46fc88bbadb7a18e61c1","remote_addr":"168.140.243.58","session_id":"7epi8g55ojv3vbpnuo0s1d32aa","has_code":true,"has_state":true,"xero_error":null}
[2026-05-12T23:05:02+00:00] [req:12efe070] [org:-] callback.php — pulled org_id from session {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:05:02+00:00] [req:12efe070] [org:-] callback.php — instantiating XeroOAuth for token exchange {"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T23:05:02+00:00] [req:12efe070] [org:-] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T23:05:02+00:00] [req:12efe070] [org:-] handleCallback() entered {"code_redacted":"zdxgEd…[33]…uNkY","returned_state":"b881415beeef46fc88bbadb7a18e61c1","session_id":"7epi8g55ojv3vbpnuo0s1d32aa"}
[2026-05-12T23:05:02+00:00] [req:12efe070] [org:-] CSRF state check (BYPASSED) {"stored_state":"b881415beeef46fc88bbadb7a18e61c1","returned":"b881415beeef46fc88bbadb7a18e61c1","would_match":true,"note":"state validation skipped — CSRF protection currently disabled"}
[2026-05-12T23:05:02+00:00] [req:12efe070] [org:-] PKCE verifier retrieved from session {"verifier_redacted":"7mbg8m…[33]…LkMQ"}
[2026-05-12T23:05:02+00:00] [req:12efe070] [org:-] Exchanging authorization code for tokens
[2026-05-12T23:05:02+00:00] [req:12efe070] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"authorization_code","code":"zdxgEd…[33]…uNkY","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","code_verifier":"7mbg8m…[33]…LkMQ"}}
[2026-05-12T23:05:02+00:00] [req:12efe070] [org:-] Token endpoint HTTP response {"status":200,"error":""}
[2026-05-12T23:05:02+00:00] [req:12efe070] [org:-] Token endpoint success {"expires_in":1800,"token_type":"Bearer","has_id_token":false,"has_refresh":true}
[2026-05-12T23:05:02+00:00] [req:12efe070] [org:-] Token exchange succeeded {"access_token":"eyJhbG…[1272]…KTVg","refresh_token":"RFJZwY…[33]…cnOk","expires_at":1778628902,"token_type":"Bearer","has_id_token":false}
[2026-05-12T23:05:02+00:00] [req:12efe070] [org:-] getConnections() called {"access_token":"eyJhbG…[1272]…KTVg"}
[2026-05-12T23:05:02+00:00] [req:12efe070] [org:-] Connections HTTP response {"status":200,"error":""}
[2026-05-12T23:05:02+00:00] [req:12efe070] [org:-] Connections retrieved {"tenant_count":1,"tenants":[{"tenantId":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","tenantName":"Cybex PTE Ltd","tenantType":"ORGANISATION"}]}
[2026-05-12T23:05:02+00:00] [req:12efe070] [org:-] callback.php — stored tokens + tenants in session {"tenant_count":1}
[2026-05-12T23:05:02+00:00] [req:12efe070] [org:-] callback.php — persisted xero settings to org {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","tenant_name":"Cybex PTE Ltd"}
[2026-05-12T23:05:02+00:00] [req:12efe070] [org:-] callback.php — redirecting to frontend success {"location":"/FrontEnd/Dashboard.php?success=xero_connected"}
[2026-05-12T23:05:18+00:00] [req:e964de52] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:05:18+00:00] [req:e964de52] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T23:05:20+00:00] [req:bde8e960] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:05:20+00:00] [req:bde8e960] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778628902}
[2026-05-12T23:05:20+00:00] [req:bde8e960] [org:-] testConnection() calling /Organisation {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98"}
[2026-05-12T23:05:20+00:00] [req:bde8e960] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Organisation","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T23:05:20+00:00] [req:bde8e960] [org:-] makeXeroApiRequest() response {"endpoint":"/Organisation","http_code":200,"curl_err":""}
[2026-05-12T23:05:20+00:00] [req:bde8e960] [org:-] testConnection() success {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","organisation_name":"Cybex PTE Ltd"}
[2026-05-12T23:05:30+00:00] [req:b666279e] [org:-] XeroController::pushInvoice() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019db-c45d-7e4a-2927-72d9139850c1"}
[2026-05-12T23:05:30+00:00] [req:b666279e] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778628902}
[2026-05-12T23:05:30+00:00] [req:b666279e] [org:-] pushInvoice() — invoice not found {"invoice_id":"000019db-c45d-7e4a-2927-72d9139850c1"}
[2026-05-12T23:05:45+00:00] [req:ff0f32eb] [org:-] XeroController::pushInvoice() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019d8-ac51-768c-1a5c-890c9c5ba32d"}
[2026-05-12T23:05:45+00:00] [req:ff0f32eb] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778628902}
[2026-05-12T23:05:45+00:00] [req:ff0f32eb] [org:-] pushInvoice() — invoice not found {"invoice_id":"000019d8-ac51-768c-1a5c-890c9c5ba32d"}
[2026-05-12T23:17:36+00:00] [req:9b7b3b0b] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:17:36+00:00] [req:9b7b3b0b] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T23:17:50+00:00] [req:233cabf6] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:17:50+00:00] [req:233cabf6] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778628902}
[2026-05-12T23:17:50+00:00] [req:233cabf6] [org:-] testConnection() calling /Organisation {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98"}
[2026-05-12T23:17:50+00:00] [req:233cabf6] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Organisation","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T23:17:50+00:00] [req:233cabf6] [org:-] makeXeroApiRequest() response {"endpoint":"/Organisation","http_code":200,"curl_err":""}
[2026-05-12T23:17:50+00:00] [req:233cabf6] [org:-] testConnection() success {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","organisation_name":"Cybex PTE Ltd"}
[2026-05-12T23:18:05+00:00] [req:d79c06e9] [org:-] XeroController::pushInvoice() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019db-c45d-7e4a-2927-72d9139850c1"}
[2026-05-12T23:18:05+00:00] [req:d79c06e9] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778628902}
[2026-05-12T23:18:05+00:00] [req:d79c06e9] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Contacts?where=Name%3D%3D%22Bhaskaran%20Chetty%22","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T23:18:05+00:00] [req:d79c06e9] [org:-] makeXeroApiRequest() response {"endpoint":"/Contacts?where=Name%3D%3D%22Bhaskaran%20Chetty%22","http_code":200,"curl_err":""}
[2026-05-12T23:18:05+00:00] [req:d79c06e9] [org:-] makeXeroApiRequest() {"method":"POST","endpoint":"/Contacts","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":true}
[2026-05-12T23:18:05+00:00] [req:d79c06e9] [org:-] makeXeroApiRequest() response {"endpoint":"/Contacts","http_code":200,"curl_err":""}
[2026-05-12T23:18:05+00:00] [req:d79c06e9] [org:-] Xero contact created {"name":"Bhaskaran Chetty","contact_id":"599f3e46-20e1-46f2-8c37-331748256bb5"}
[2026-05-12T23:18:05+00:00] [req:d79c06e9] [org:-] pushInvoice() POSTing /Invoices {"existing_xero_id":null,"invoice_number":48,"line_item_count":2}
[2026-05-12T23:18:05+00:00] [req:d79c06e9] [org:-] makeXeroApiRequest() {"method":"POST","endpoint":"/Invoices","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":true}
[2026-05-12T23:18:05+00:00] [req:d79c06e9] [org:-] makeXeroApiRequest() response {"endpoint":"/Invoices","http_code":200,"curl_err":""}
[2026-05-12T23:18:05+00:00] [req:d79c06e9] [org:-] pushInvoice() — success {"invoice_id":"000019db-c45d-7e4a-2927-72d9139850c1","xero_invoice_id":"d1c4c7ce-c556-408a-abd3-951d37dcd9c1","xero_status":"DRAFT"}
[2026-05-12T23:19:16+00:00] [req:4e46e487] [org:-] XeroController::pushInvoice() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019d8-ac51-768c-1a5c-890c9c5ba32d"}
[2026-05-12T23:19:16+00:00] [req:4e46e487] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778628902}
[2026-05-12T23:19:16+00:00] [req:4e46e487] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Contacts?where=Name%3D%3D%22Test%20Customer%22","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T23:19:17+00:00] [req:4e46e487] [org:-] makeXeroApiRequest() response {"endpoint":"/Contacts?where=Name%3D%3D%22Test%20Customer%22","http_code":200,"curl_err":""}
[2026-05-12T23:19:17+00:00] [req:4e46e487] [org:-] makeXeroApiRequest() {"method":"POST","endpoint":"/Contacts","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":true}
[2026-05-12T23:19:17+00:00] [req:4e46e487] [org:-] makeXeroApiRequest() response {"endpoint":"/Contacts","http_code":200,"curl_err":""}
[2026-05-12T23:19:17+00:00] [req:4e46e487] [org:-] Xero contact created {"name":"Test Customer","contact_id":"e565c192-96b3-48e5-a883-bd039fda54e1"}
[2026-05-12T23:19:17+00:00] [req:4e46e487] [org:-] pushInvoice() POSTing /Invoices {"existing_xero_id":null,"invoice_number":47,"line_item_count":1}
[2026-05-12T23:19:17+00:00] [req:4e46e487] [org:-] makeXeroApiRequest() {"method":"POST","endpoint":"/Invoices","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":true}
[2026-05-12T23:19:17+00:00] [req:4e46e487] [org:-] makeXeroApiRequest() response {"endpoint":"/Invoices","http_code":200,"curl_err":""}
[2026-05-12T23:19:17+00:00] [req:4e46e487] [org:-] pushInvoice() — success {"invoice_id":"000019d8-ac51-768c-1a5c-890c9c5ba32d","xero_invoice_id":"a32c93e3-c60c-4b03-a2d1-e65c3dd41fd5","xero_status":"DRAFT"}
[2026-05-12T23:28:15+00:00] [req:3d97be49] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:28:15+00:00] [req:3d97be49] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T23:28:17+00:00] [req:06169595] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:28:17+00:00] [req:06169595] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778628902}
[2026-05-12T23:28:17+00:00] [req:06169595] [org:-] testConnection() calling /Organisation {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98"}
[2026-05-12T23:28:17+00:00] [req:06169595] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Organisation","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T23:28:17+00:00] [req:06169595] [org:-] makeXeroApiRequest() response {"endpoint":"/Organisation","http_code":200,"curl_err":""}
[2026-05-12T23:28:17+00:00] [req:06169595] [org:-] testConnection() success {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","organisation_name":"Cybex PTE Ltd"}
[2026-05-12T23:28:31+00:00] [req:97da4eae] [org:-] XeroController::pushInvoice() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019d8-6614-7034-d428-9547fcb08080"}
[2026-05-12T23:28:31+00:00] [req:97da4eae] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778628902}
[2026-05-12T23:28:31+00:00] [req:97da4eae] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Contacts?where=Name%3D%3D%22Test%20Customer%22","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T23:28:31+00:00] [req:97da4eae] [org:-] makeXeroApiRequest() response {"endpoint":"/Contacts?where=Name%3D%3D%22Test%20Customer%22","http_code":200,"curl_err":""}
[2026-05-12T23:28:31+00:00] [req:97da4eae] [org:-] Xero contact resolved (existing) {"name":"Test Customer","contact_id":"e565c192-96b3-48e5-a883-bd039fda54e1"}
[2026-05-12T23:28:31+00:00] [req:97da4eae] [org:-] pushInvoice() POSTing /Invoices {"existing_xero_id":null,"invoice_number":45,"line_item_count":1}
[2026-05-12T23:28:31+00:00] [req:97da4eae] [org:-] makeXeroApiRequest() {"method":"POST","endpoint":"/Invoices","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":true}
[2026-05-12T23:28:31+00:00] [req:97da4eae] [org:-] makeXeroApiRequest() response {"endpoint":"/Invoices","http_code":400,"curl_err":""}
[2026-05-12T23:28:31+00:00] [req:97da4eae] [org:-] makeXeroApiRequest() non-2xx {"endpoint":"/Invoices","body":"{\r\n  \"ErrorNumber\": 10,\r\n  \"Type\": \"ValidationException\",\r\n  \"Message\": \"A validation exception occurred\",\r\n  \"Elements\": [\r\n    {\r\n      \"Type\": \"ACCREC\",\r\n      \"InvoiceID\": \"00000000-0000-0000-0000-000000000000\",\r\n      \"Reference\": \"45\",\r\n      \"Payments\": [],\r\n      \"CreditNotes\": [],\r\n      \"Prepayments\": [],\r\n      \"Overpayments\": [],\r\n      \"IsDiscounted\": false,\r\n      \"InvoiceAddresses\": [],\r\n      \"HasErrors\": true,\r\n      \"InvoicePaymentServices\": [],\r\n      \"Contact\": {\r\n        \"Co"}
[2026-05-12T23:28:31+00:00] [req:97da4eae] [org:-] pushInvoice() — Xero response missing InvoiceID {"response":null}
[2026-05-12T23:48:22+00:00] [req:a59cb919] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:48:22+00:00] [req:a59cb919] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T23:48:22+00:00] [req:6329aa71] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:48:22+00:00] [req:6329aa71] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T23:48:25+00:00] [req:f03d0fa0] [org:-] XeroController::getAccounts() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:48:25+00:00] [req:f03d0fa0] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778628902,"now":1778629705}
[2026-05-12T23:48:25+00:00] [req:f03d0fa0] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:48:25+00:00] [req:f03d0fa0] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T23:48:25+00:00] [req:f03d0fa0] [org:-] refreshAccessToken() called {"refresh_token":"RFJZwY…[33]…cnOk"}
[2026-05-12T23:48:25+00:00] [req:f03d0fa0] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"RFJZwY…[33]…cnOk"}}
[2026-05-12T23:48:25+00:00] [req:f03d0fa0] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-05-12T23:48:25+00:00] [req:f03d0fa0] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-05-12T23:48:25+00:00] [req:f03d0fa0] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-05-12T23:48:25+00:00] [req:f03d0fa0] [org:-] getAccounts() aborted — no valid access token
[2026-05-12T23:48:25+00:00] [req:d9ed43c8] [org:-] XeroController::getTaxRates() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:48:25+00:00] [req:d9ed43c8] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778628902,"now":1778629705}
[2026-05-12T23:48:25+00:00] [req:d9ed43c8] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:48:25+00:00] [req:d9ed43c8] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T23:48:25+00:00] [req:d9ed43c8] [org:-] refreshAccessToken() called {"refresh_token":"RFJZwY…[33]…cnOk"}
[2026-05-12T23:48:25+00:00] [req:d9ed43c8] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"RFJZwY…[33]…cnOk"}}
[2026-05-12T23:48:25+00:00] [req:d9ed43c8] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-05-12T23:48:25+00:00] [req:d9ed43c8] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-05-12T23:48:25+00:00] [req:d9ed43c8] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-05-12T23:48:25+00:00] [req:d9ed43c8] [org:-] getTaxRates() aborted — no valid access token
[2026-05-12T23:53:51+00:00] [req:86e80083] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:53:51+00:00] [req:86e80083] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-12T23:53:53+00:00] [req:56f2443a] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:53:53+00:00] [req:56f2443a] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778628902,"now":1778630033}
[2026-05-12T23:53:53+00:00] [req:56f2443a] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:53:53+00:00] [req:56f2443a] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T23:53:53+00:00] [req:56f2443a] [org:-] refreshAccessToken() called {"refresh_token":"RFJZwY…[33]…cnOk"}
[2026-05-12T23:53:53+00:00] [req:56f2443a] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"RFJZwY…[33]…cnOk"}}
[2026-05-12T23:53:53+00:00] [req:56f2443a] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-05-12T23:53:53+00:00] [req:56f2443a] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-05-12T23:53:53+00:00] [req:56f2443a] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-05-12T23:53:53+00:00] [req:56f2443a] [org:-] testConnection() — token expired or invalid
[2026-05-12T23:53:55+00:00] [req:bb96cba6] [org:-] XeroController::initiateOAuth() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","session_id":"tk3npaa5p6rmbsck76hjt7dhq2"}
[2026-05-12T23:53:55+00:00] [req:bb96cba6] [org:-] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T23:53:55+00:00] [req:bb96cba6] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() stored org_id in session
[2026-05-12T23:53:55+00:00] [req:bb96cba6] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T23:53:55+00:00] [req:bb96cba6] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getAuthorizationUrl() called
[2026-05-12T23:53:55+00:00] [req:bb96cba6] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] PKCE + state generated {"verifier_redacted":"d77GR2…[33]…YgYs","challenge_redacted":"xqcHDe…[33]…h6Hw","state":"f5bfb65a3db5f47df3531b38fe06bf4b","session_id":"tk3npaa5p6rmbsck76hjt7dhq2"}
[2026-05-12T23:53:55+00:00] [req:bb96cba6] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=f5bfb65a3db5f47df3531b38fe06bf4b&code_challenge=xqcHDe0YvoERm_h0-bk_K0Ab-wQEOyp-dGu752Wh6Hw&code_challenge_method=S256","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T23:53:55+00:00] [req:bb96cba6] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=f5bfb65a3db5f47df3531b38fe06bf4b&code_challenge=xqcHDe0YvoERm_h0-bk_K0Ab-wQEOyp-dGu752Wh6Hw&code_challenge_method=S256"}
[2026-05-12T23:54:03+00:00] [req:eba3cdc1] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] oauth/callback.php entered {"query_string":"code=3RR4WE1QgX2cRlCydk-MJ-W23ghci9lVwZk61vDvDPk&scope=offline_access%20accounting.invoices%20accounting.contacts%20accounting.settings.read&state=f5bfb65a3db5f47df3531b38fe06bf4b","remote_addr":"168.140.243.58","session_id":"tk3npaa5p6rmbsck76hjt7dhq2","has_code":true,"has_state":true,"xero_error":null}
[2026-05-12T23:54:03+00:00] [req:eba3cdc1] [org:-] callback.php — pulled org_id from session {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-12T23:54:04+00:00] [req:eba3cdc1] [org:-] callback.php — instantiating XeroOAuth for token exchange {"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T23:54:04+00:00] [req:eba3cdc1] [org:-] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-12T23:54:04+00:00] [req:eba3cdc1] [org:-] handleCallback() entered {"code_redacted":"3RR4WE…[33]…vDPk","returned_state":"f5bfb65a3db5f47df3531b38fe06bf4b","session_id":"tk3npaa5p6rmbsck76hjt7dhq2"}
[2026-05-12T23:54:04+00:00] [req:eba3cdc1] [org:-] CSRF state check (BYPASSED) {"stored_state":"f5bfb65a3db5f47df3531b38fe06bf4b","returned":"f5bfb65a3db5f47df3531b38fe06bf4b","would_match":true,"note":"state validation skipped — CSRF protection currently disabled"}
[2026-05-12T23:54:04+00:00] [req:eba3cdc1] [org:-] PKCE verifier retrieved from session {"verifier_redacted":"d77GR2…[33]…YgYs"}
[2026-05-12T23:54:04+00:00] [req:eba3cdc1] [org:-] Exchanging authorization code for tokens
[2026-05-12T23:54:04+00:00] [req:eba3cdc1] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"authorization_code","code":"3RR4WE…[33]…vDPk","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","code_verifier":"d77GR2…[33]…YgYs"}}
[2026-05-12T23:54:04+00:00] [req:eba3cdc1] [org:-] Token endpoint HTTP response {"status":200,"error":""}
[2026-05-12T23:54:04+00:00] [req:eba3cdc1] [org:-] Token endpoint success {"expires_in":1800,"token_type":"Bearer","has_id_token":false,"has_refresh":true}
[2026-05-12T23:54:04+00:00] [req:eba3cdc1] [org:-] Token exchange succeeded {"access_token":"eyJhbG…[1272]…FZwg","refresh_token":"CQHNMZ…[33]…9on8","expires_at":1778631844,"token_type":"Bearer","has_id_token":false}
[2026-05-12T23:54:04+00:00] [req:eba3cdc1] [org:-] getConnections() called {"access_token":"eyJhbG…[1272]…FZwg"}
[2026-05-12T23:54:04+00:00] [req:eba3cdc1] [org:-] Connections HTTP response {"status":200,"error":""}
[2026-05-12T23:54:04+00:00] [req:eba3cdc1] [org:-] Connections retrieved {"tenant_count":1,"tenants":[{"tenantId":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","tenantName":"Cybex PTE Ltd","tenantType":"ORGANISATION"}]}
[2026-05-12T23:54:04+00:00] [req:eba3cdc1] [org:-] callback.php — stored tokens + tenants in session {"tenant_count":1}
[2026-05-12T23:54:04+00:00] [req:eba3cdc1] [org:-] callback.php — persisted xero settings to org {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","tenant_name":"Cybex PTE Ltd"}
[2026-05-12T23:54:04+00:00] [req:eba3cdc1] [org:-] callback.php — redirecting to frontend success {"location":"/FrontEnd/Dashboard.php?success=xero_connected"}
[2026-05-12T23:54:25+00:00] [req:7e8fb67a] [org:-] XeroController::pushInvoice() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019d8-6614-7034-d428-9547fcb08080"}
[2026-05-12T23:54:25+00:00] [req:7e8fb67a] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778631844}
[2026-05-12T23:54:25+00:00] [req:7e8fb67a] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Contacts?where=Name%3D%3D%22Test%20Customer%22","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-12T23:54:26+00:00] [req:7e8fb67a] [org:-] makeXeroApiRequest() response {"endpoint":"/Contacts?where=Name%3D%3D%22Test%20Customer%22","http_code":200,"curl_err":""}
[2026-05-12T23:54:26+00:00] [req:7e8fb67a] [org:-] Xero contact resolved (existing) {"name":"Test Customer","contact_id":"e565c192-96b3-48e5-a883-bd039fda54e1"}
[2026-05-12T23:54:26+00:00] [req:7e8fb67a] [org:-] pushInvoice() POSTing /Invoices {"existing_xero_id":null,"invoice_number":45,"line_item_count":1}
[2026-05-12T23:54:26+00:00] [req:7e8fb67a] [org:-] makeXeroApiRequest() {"method":"POST","endpoint":"/Invoices","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":true}
[2026-05-12T23:54:26+00:00] [req:7e8fb67a] [org:-] makeXeroApiRequest() response {"endpoint":"/Invoices","http_code":200,"curl_err":""}
[2026-05-12T23:54:26+00:00] [req:7e8fb67a] [org:-] pushInvoice() — success {"invoice_id":"000019d8-6614-7034-d428-9547fcb08080","xero_invoice_id":"81aebc4e-7c70-45ef-8808-ffc775122c7a","xero_status":"AUTHORISED"}
[2026-05-13T00:10:04+00:00] [req:3113c022] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-13T00:10:04+00:00] [req:3113c022] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-13T00:10:09+00:00] [req:ba2daa08] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-13T00:10:09+00:00] [req:ba2daa08] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778631844}
[2026-05-13T00:10:09+00:00] [req:ba2daa08] [org:-] testConnection() calling /Organisation {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98"}
[2026-05-13T00:10:09+00:00] [req:ba2daa08] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Organisation","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-13T00:10:09+00:00] [req:ba2daa08] [org:-] makeXeroApiRequest() response {"endpoint":"/Organisation","http_code":200,"curl_err":""}
[2026-05-13T00:10:09+00:00] [req:ba2daa08] [org:-] testConnection() success {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","organisation_name":"Cybex PTE Ltd"}
[2026-05-13T02:25:12+00:00] [req:501faa2d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019e1-f25f-7676-09de-45d97e42af2a"}
[2026-05-13T02:25:12+00:00] [req:501faa2d] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778631844,"now":1778639112}
[2026-05-13T02:25:12+00:00] [req:501faa2d] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-13T02:25:12+00:00] [req:501faa2d] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-13T02:25:12+00:00] [req:501faa2d] [org:-] refreshAccessToken() called {"refresh_token":"CQHNMZ…[33]…9on8"}
[2026-05-13T02:25:12+00:00] [req:501faa2d] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"CQHNMZ…[33]…9on8"}}
[2026-05-13T02:25:12+00:00] [req:501faa2d] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-05-13T02:25:12+00:00] [req:501faa2d] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-05-13T02:25:12+00:00] [req:501faa2d] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-05-13T02:25:12+00:00] [req:501faa2d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T02:25:28+00:00] [req:5503cce0] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-13T02:25:28+00:00] [req:5503cce0] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-13T02:25:33+00:00] [req:2e32f573] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-13T02:25:33+00:00] [req:2e32f573] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778631844,"now":1778639133}
[2026-05-13T02:25:33+00:00] [req:2e32f573] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-13T02:25:33+00:00] [req:2e32f573] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-13T02:25:33+00:00] [req:2e32f573] [org:-] refreshAccessToken() called {"refresh_token":"CQHNMZ…[33]…9on8"}
[2026-05-13T02:25:33+00:00] [req:2e32f573] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"CQHNMZ…[33]…9on8"}}
[2026-05-13T02:25:34+00:00] [req:2e32f573] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-05-13T02:25:34+00:00] [req:2e32f573] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-05-13T02:25:34+00:00] [req:2e32f573] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-05-13T02:25:34+00:00] [req:2e32f573] [org:-] testConnection() — token expired or invalid
[2026-05-13T02:25:38+00:00] [req:ad45e9aa] [org:-] XeroController::initiateOAuth() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","session_id":"nft1nehajqvefmrk2io8qs9r3u"}
[2026-05-13T02:25:38+00:00] [req:ad45e9aa] [org:-] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-13T02:25:38+00:00] [req:ad45e9aa] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() stored org_id in session
[2026-05-13T02:25:38+00:00] [req:ad45e9aa] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-13T02:25:38+00:00] [req:ad45e9aa] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getAuthorizationUrl() called
[2026-05-13T02:25:38+00:00] [req:ad45e9aa] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] PKCE + state generated {"verifier_redacted":"nTb5H2…[33]…6c64","challenge_redacted":"47lmH8…[33]…TPjE","state":"879ecc8450e173e2bb0e8dda885e8ba8","session_id":"nft1nehajqvefmrk2io8qs9r3u"}
[2026-05-13T02:25:38+00:00] [req:ad45e9aa] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=879ecc8450e173e2bb0e8dda885e8ba8&code_challenge=47lmH8QZ8FvP6vtN-W4xCMk_i1o84iBu7Kv6zdhTPjE&code_challenge_method=S256","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-13T02:25:38+00:00] [req:ad45e9aa] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=879ecc8450e173e2bb0e8dda885e8ba8&code_challenge=47lmH8QZ8FvP6vtN-W4xCMk_i1o84iBu7Kv6zdhTPjE&code_challenge_method=S256"}
[2026-05-13T02:25:45+00:00] [req:401248f0] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] oauth/callback.php entered {"query_string":"code=awKoNn51pTffh9JhtarV-BDCZw8J5CAkifR1rxPx_SE&scope=offline_access%20accounting.invoices%20accounting.contacts%20accounting.settings.read&state=879ecc8450e173e2bb0e8dda885e8ba8","remote_addr":"168.140.243.58","session_id":"nft1nehajqvefmrk2io8qs9r3u","has_code":true,"has_state":true,"xero_error":null}
[2026-05-13T02:25:45+00:00] [req:401248f0] [org:-] callback.php — pulled org_id from session {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-13T02:25:45+00:00] [req:401248f0] [org:-] callback.php — instantiating XeroOAuth for token exchange {"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-13T02:25:45+00:00] [req:401248f0] [org:-] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-13T02:25:45+00:00] [req:401248f0] [org:-] handleCallback() entered {"code_redacted":"awKoNn…[33]…x_SE","returned_state":"879ecc8450e173e2bb0e8dda885e8ba8","session_id":"nft1nehajqvefmrk2io8qs9r3u"}
[2026-05-13T02:25:45+00:00] [req:401248f0] [org:-] CSRF state check (BYPASSED) {"stored_state":"879ecc8450e173e2bb0e8dda885e8ba8","returned":"879ecc8450e173e2bb0e8dda885e8ba8","would_match":true,"note":"state validation skipped — CSRF protection currently disabled"}
[2026-05-13T02:25:45+00:00] [req:401248f0] [org:-] PKCE verifier retrieved from session {"verifier_redacted":"nTb5H2…[33]…6c64"}
[2026-05-13T02:25:45+00:00] [req:401248f0] [org:-] Exchanging authorization code for tokens
[2026-05-13T02:25:45+00:00] [req:401248f0] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"authorization_code","code":"awKoNn…[33]…x_SE","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","code_verifier":"nTb5H2…[33]…6c64"}}
[2026-05-13T02:25:46+00:00] [req:401248f0] [org:-] Token endpoint HTTP response {"status":200,"error":""}
[2026-05-13T02:25:46+00:00] [req:401248f0] [org:-] Token endpoint success {"expires_in":1800,"token_type":"Bearer","has_id_token":false,"has_refresh":true}
[2026-05-13T02:25:46+00:00] [req:401248f0] [org:-] Token exchange succeeded {"access_token":"eyJhbG…[1272]…5rcQ","refresh_token":"m0xssS…[33]…0QGA","expires_at":1778640946,"token_type":"Bearer","has_id_token":false}
[2026-05-13T02:25:46+00:00] [req:401248f0] [org:-] getConnections() called {"access_token":"eyJhbG…[1272]…5rcQ"}
[2026-05-13T02:25:46+00:00] [req:401248f0] [org:-] Connections HTTP response {"status":200,"error":""}
[2026-05-13T02:25:46+00:00] [req:401248f0] [org:-] Connections retrieved {"tenant_count":1,"tenants":[{"tenantId":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","tenantName":"Cybex PTE Ltd","tenantType":"ORGANISATION"}]}
[2026-05-13T02:25:46+00:00] [req:401248f0] [org:-] callback.php — stored tokens + tenants in session {"tenant_count":1}
[2026-05-13T02:25:46+00:00] [req:401248f0] [org:-] callback.php — persisted xero settings to org {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","tenant_name":"Cybex PTE Ltd"}
[2026-05-13T02:25:46+00:00] [req:401248f0] [org:-] callback.php — redirecting to frontend success {"location":"/FrontEnd/Dashboard.php?success=xero_connected"}
[2026-05-13T02:27:04+00:00] [req:84f792dd] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019e1-f282-7fed-85f2-71df8be7a918"}
[2026-05-13T02:27:04+00:00] [req:84f792dd] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778640946}
[2026-05-13T02:27:04+00:00] [req:84f792dd] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Contacts?where=Name%3D%3D%22punjas%22","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-13T02:27:05+00:00] [req:84f792dd] [org:-] makeXeroApiRequest() response {"endpoint":"/Contacts?where=Name%3D%3D%22punjas%22","http_code":200,"curl_err":""}
[2026-05-13T02:27:05+00:00] [req:84f792dd] [org:-] makeXeroApiRequest() {"method":"POST","endpoint":"/Contacts","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":true}
[2026-05-13T02:27:05+00:00] [req:84f792dd] [org:-] makeXeroApiRequest() response {"endpoint":"/Contacts","http_code":400,"curl_err":""}
[2026-05-13T02:27:05+00:00] [req:84f792dd] [org:-] makeXeroApiRequest() non-2xx {"endpoint":"/Contacts","body":"{\r\n  \"ErrorNumber\": 10,\r\n  \"Type\": \"ValidationException\",\r\n  \"Message\": \"A validation exception occurred\",\r\n  \"Elements\": [\r\n    {\r\n      \"ContactID\": \"55464aff-2068-4621-9b66-bd6e0c726777\",\r\n      \"ContactStatus\": \"ACTIVE\",\r\n      \"Name\": \"punjas\",\r\n      \"EmailAddress\": \"*********\",\r\n      \"BankAccountDetails\": \"\",\r\n      \"Addresses\": [\r\n        {\r\n          \"AddressType\": \"STREET\",\r\n          \"City\": \"\",\r\n          \"Region\": \"\",\r\n          \"PostalCode\": \"\",\r\n          \"Country\": \"\"\r\n        }"}
[2026-05-13T02:27:05+00:00] [req:84f792dd] [org:-] pushInvoiceForOrg() — contact resolution failed {"error":"Xero contact creation failed for \"punjas\""}
[2026-05-13T02:40:54+00:00] [req:a54498d0] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-13T02:40:55+00:00] [req:a54498d0] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-13T02:40:56+00:00] [req:1519ce7d] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-13T02:40:56+00:00] [req:1519ce7d] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778640946}
[2026-05-13T02:40:56+00:00] [req:1519ce7d] [org:-] testConnection() calling /Organisation {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98"}
[2026-05-13T02:40:56+00:00] [req:1519ce7d] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Organisation","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-13T02:40:57+00:00] [req:1519ce7d] [org:-] makeXeroApiRequest() response {"endpoint":"/Organisation","http_code":200,"curl_err":""}
[2026-05-13T02:40:57+00:00] [req:1519ce7d] [org:-] testConnection() success {"tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","organisation_name":"Cybex PTE Ltd"}
[2026-05-13T02:41:15+00:00] [req:ed468d46] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019e1-f282-7fed-85f2-71df8be7a918"}
[2026-05-13T02:41:15+00:00] [req:ed468d46] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778640946}
[2026-05-13T02:41:15+00:00] [req:ed468d46] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Contacts?where=Name%3D%3D%22punjas%22","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-13T02:41:15+00:00] [req:ed468d46] [org:-] makeXeroApiRequest() response {"endpoint":"/Contacts?where=Name%3D%3D%22punjas%22","http_code":200,"curl_err":""}
[2026-05-13T02:41:15+00:00] [req:ed468d46] [org:-] makeXeroApiRequest() {"method":"POST","endpoint":"/Contacts","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":true}
[2026-05-13T02:41:16+00:00] [req:ed468d46] [org:-] makeXeroApiRequest() response {"endpoint":"/Contacts","http_code":400,"curl_err":""}
[2026-05-13T02:41:16+00:00] [req:ed468d46] [org:-] makeXeroApiRequest() non-2xx {"endpoint":"/Contacts","body":"{\r\n  \"ErrorNumber\": 10,\r\n  \"Type\": \"ValidationException\",\r\n  \"Message\": \"A validation exception occurred\",\r\n  \"Elements\": [\r\n    {\r\n      \"ContactID\": \"0f468677-44a7-4695-99e9-48127cb3811c\",\r\n      \"ContactStatus\": \"ACTIVE\",\r\n      \"Name\": \"punjas\",\r\n      \"EmailAddress\": \"*********\",\r\n      \"BankAccountDetails\": \"\",\r\n      \"Addresses\": [\r\n        {\r\n          \"AddressType\": \"STREET\",\r\n          \"City\": \"\",\r\n          \"Region\": \"\",\r\n          \"PostalCode\": \"\",\r\n          \"Country\": \"\"\r\n        }"}
[2026-05-13T02:41:16+00:00] [req:ed468d46] [org:-] Xero contact create failed — retrying with case-insensitive lookup {"name":"punjas","xero_error":"Email address must be valid.","xero_status":400}
[2026-05-13T02:41:16+00:00] [req:ed468d46] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Contacts?where=Name.ToLower%28%29%3D%3D%22punjas%22","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-13T02:41:16+00:00] [req:ed468d46] [org:-] makeXeroApiRequest() response {"endpoint":"/Contacts?where=Name.ToLower%28%29%3D%3D%22punjas%22","http_code":200,"curl_err":""}
[2026-05-13T02:41:16+00:00] [req:ed468d46] [org:-] pushInvoiceForOrg() — contact resolution failed {"error":"Xero contact creation failed for \"punjas\" (HTTP 0): Email address must be valid."}
[2026-05-13T02:41:22+00:00] [req:9d3157e5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"019d4f8a-8afe-738c-b8af-265f8c2bf6d1"}
[2026-05-13T02:41:22+00:00] [req:9d3157e5] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778640946}
[2026-05-13T02:41:22+00:00] [req:9d3157e5] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Contacts?where=Name%3D%3D%22Test%201%20Test%201jkjshfkjds%22","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-13T02:41:22+00:00] [req:9d3157e5] [org:-] makeXeroApiRequest() response {"endpoint":"/Contacts?where=Name%3D%3D%22Test%201%20Test%201jkjshfkjds%22","http_code":200,"curl_err":""}
[2026-05-13T02:41:22+00:00] [req:9d3157e5] [org:-] makeXeroApiRequest() {"method":"POST","endpoint":"/Contacts","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":true}
[2026-05-13T02:41:23+00:00] [req:9d3157e5] [org:-] makeXeroApiRequest() response {"endpoint":"/Contacts","http_code":200,"curl_err":""}
[2026-05-13T02:41:23+00:00] [req:9d3157e5] [org:-] Xero contact created {"name":"Test 1 Test 1jkjshfkjds","contact_id":"ed83097c-cc17-4031-819c-a2130cabeb9f"}
[2026-05-13T02:41:23+00:00] [req:9d3157e5] [org:-] pushInvoiceForOrg() POSTing /Invoices {"existing_xero_id":null,"invoice_number":43,"line_item_count":1}
[2026-05-13T02:41:23+00:00] [req:9d3157e5] [org:-] makeXeroApiRequest() {"method":"POST","endpoint":"/Invoices","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":true}
[2026-05-13T02:41:23+00:00] [req:9d3157e5] [org:-] makeXeroApiRequest() response {"endpoint":"/Invoices","http_code":200,"curl_err":""}
[2026-05-13T02:41:23+00:00] [req:9d3157e5] [org:-] pushInvoiceForOrg() — success {"invoice_id":"019d4f8a-8afe-738c-b8af-265f8c2bf6d1","xero_invoice_id":"a2ae1924-2931-48cb-b8e4-4436ae540307","xero_status":"AUTHORISED"}
[2026-05-13T03:54:14+00:00] [req:9ee1630f] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-13T03:54:14+00:00] [req:9ee1630f] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-13T03:54:31+00:00] [req:dddb3569] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-13T03:54:31+00:00] [req:dddb3569] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778640946,"now":1778644471}
[2026-05-13T03:54:31+00:00] [req:dddb3569] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-13T03:54:31+00:00] [req:dddb3569] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-13T03:54:31+00:00] [req:dddb3569] [org:-] refreshAccessToken() called {"refresh_token":"m0xssS…[33]…0QGA"}
[2026-05-13T03:54:31+00:00] [req:dddb3569] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"m0xssS…[33]…0QGA"}}
[2026-05-13T03:54:32+00:00] [req:dddb3569] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-05-13T03:54:32+00:00] [req:dddb3569] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-05-13T03:54:32+00:00] [req:dddb3569] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-05-13T03:54:32+00:00] [req:dddb3569] [org:-] testConnection() — token expired or invalid
[2026-05-13T03:54:33+00:00] [req:95f89d98] [org:-] XeroController::initiateOAuth() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","session_id":"2r8nkcq11hifrjaeg8qn6l3lq7"}
[2026-05-13T03:54:33+00:00] [req:95f89d98] [org:-] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-13T03:54:33+00:00] [req:95f89d98] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() stored org_id in session
[2026-05-13T03:54:33+00:00] [req:95f89d98] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-13T03:54:33+00:00] [req:95f89d98] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getAuthorizationUrl() called
[2026-05-13T03:54:33+00:00] [req:95f89d98] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] PKCE + state generated {"verifier_redacted":"wDzpYG…[33]…azFg","challenge_redacted":"fR3I62…[33]…ivWs","state":"1d9a3a2f28b7ddc4ac18bc48afa20f7f","session_id":"2r8nkcq11hifrjaeg8qn6l3lq7"}
[2026-05-13T03:54:33+00:00] [req:95f89d98] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=1d9a3a2f28b7ddc4ac18bc48afa20f7f&code_challenge=fR3I62fbWpAV7K-lilw52yHGErO-58GUiV-PtmWivWs&code_challenge_method=S256","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-13T03:54:33+00:00] [req:95f89d98] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=1d9a3a2f28b7ddc4ac18bc48afa20f7f&code_challenge=fR3I62fbWpAV7K-lilw52yHGErO-58GUiV-PtmWivWs&code_challenge_method=S256"}
[2026-05-13T03:54:46+00:00] [req:1fb7bd1b] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] oauth/callback.php entered {"query_string":"code=krMLiqlS1fVDuBNxceYCQnB-_H7-9Vpd_1nc5tPm9sE&scope=offline_access%20accounting.invoices%20accounting.contacts%20accounting.settings.read&state=1d9a3a2f28b7ddc4ac18bc48afa20f7f","remote_addr":"168.140.243.58","session_id":"2r8nkcq11hifrjaeg8qn6l3lq7","has_code":true,"has_state":true,"xero_error":null}
[2026-05-13T03:54:46+00:00] [req:1fb7bd1b] [org:-] callback.php — pulled org_id from session {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-13T03:54:46+00:00] [req:1fb7bd1b] [org:-] callback.php — instantiating XeroOAuth for token exchange {"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-13T03:54:46+00:00] [req:1fb7bd1b] [org:-] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-13T03:54:46+00:00] [req:1fb7bd1b] [org:-] handleCallback() entered {"code_redacted":"krMLiq…[33]…m9sE","returned_state":"1d9a3a2f28b7ddc4ac18bc48afa20f7f","session_id":"2r8nkcq11hifrjaeg8qn6l3lq7"}
[2026-05-13T03:54:46+00:00] [req:1fb7bd1b] [org:-] CSRF state check (BYPASSED) {"stored_state":"1d9a3a2f28b7ddc4ac18bc48afa20f7f","returned":"1d9a3a2f28b7ddc4ac18bc48afa20f7f","would_match":true,"note":"state validation skipped — CSRF protection currently disabled"}
[2026-05-13T03:54:46+00:00] [req:1fb7bd1b] [org:-] PKCE verifier retrieved from session {"verifier_redacted":"wDzpYG…[33]…azFg"}
[2026-05-13T03:54:46+00:00] [req:1fb7bd1b] [org:-] Exchanging authorization code for tokens
[2026-05-13T03:54:46+00:00] [req:1fb7bd1b] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"authorization_code","code":"krMLiq…[33]…m9sE","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","code_verifier":"wDzpYG…[33]…azFg"}}
[2026-05-13T03:54:46+00:00] [req:1fb7bd1b] [org:-] Token endpoint HTTP response {"status":200,"error":""}
[2026-05-13T03:54:46+00:00] [req:1fb7bd1b] [org:-] Token endpoint success {"expires_in":1800,"token_type":"Bearer","has_id_token":false,"has_refresh":true}
[2026-05-13T03:54:46+00:00] [req:1fb7bd1b] [org:-] Token exchange succeeded {"access_token":"eyJhbG…[1272]…d2hQ","refresh_token":"YIaJ4x…[33]…1vPw","expires_at":1778646286,"token_type":"Bearer","has_id_token":false}
[2026-05-13T03:54:46+00:00] [req:1fb7bd1b] [org:-] getConnections() called {"access_token":"eyJhbG…[1272]…d2hQ"}
[2026-05-13T03:54:46+00:00] [req:1fb7bd1b] [org:-] Connections HTTP response {"status":200,"error":""}
[2026-05-13T03:54:46+00:00] [req:1fb7bd1b] [org:-] Connections retrieved {"tenant_count":1,"tenants":[{"tenantId":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","tenantName":"Cybex PTE Ltd","tenantType":"ORGANISATION"}]}
[2026-05-13T03:54:46+00:00] [req:1fb7bd1b] [org:-] callback.php — stored tokens + tenants in session {"tenant_count":1}
[2026-05-13T03:54:46+00:00] [req:1fb7bd1b] [org:-] callback.php — persisted xero settings to org {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","tenant_name":"Cybex PTE Ltd"}
[2026-05-13T03:54:46+00:00] [req:1fb7bd1b] [org:-] callback.php — redirecting to frontend success {"location":"/FrontEnd/Dashboard.php?success=xero_connected"}
[2026-05-13T04:18:02+00:00] [req:f6192a85] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019e1-f7a0-7b92-9066-d608ea291ba6"}
[2026-05-13T04:18:02+00:00] [req:f6192a85] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778646286}
[2026-05-13T04:18:02+00:00] [req:f6192a85] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Contacts?where=Name%3D%3D%22Test%20Corporate%20Company%22","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-13T04:18:03+00:00] [req:f6192a85] [org:-] makeXeroApiRequest() response {"endpoint":"/Contacts?where=Name%3D%3D%22Test%20Corporate%20Company%22","http_code":200,"curl_err":""}
[2026-05-13T04:18:03+00:00] [req:f6192a85] [org:-] makeXeroApiRequest() {"method":"POST","endpoint":"/Contacts","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":true}
[2026-05-13T04:18:03+00:00] [req:f6192a85] [org:-] makeXeroApiRequest() response {"endpoint":"/Contacts","http_code":200,"curl_err":""}
[2026-05-13T04:18:03+00:00] [req:f6192a85] [org:-] Xero contact created {"name":"Test Corporate Company","contact_id":"89133742-9702-41d9-aaab-df8bc02ae2bd"}
[2026-05-13T04:18:03+00:00] [req:f6192a85] [org:-] pushInvoiceForOrg() POSTing /Invoices {"existing_xero_id":null,"invoice_number":54,"line_item_count":1}
[2026-05-13T04:18:03+00:00] [req:f6192a85] [org:-] makeXeroApiRequest() {"method":"POST","endpoint":"/Invoices","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":true}
[2026-05-13T04:18:03+00:00] [req:f6192a85] [org:-] makeXeroApiRequest() response {"endpoint":"/Invoices","http_code":200,"curl_err":""}
[2026-05-13T04:18:03+00:00] [req:f6192a85] [org:-] pushInvoiceForOrg() — success {"invoice_id":"000019e1-f7a0-7b92-9066-d608ea291ba6","xero_invoice_id":"194d9372-b2e4-4dd6-bd06-18111eeb20db","xero_status":"AUTHORISED"}
[2026-05-13T04:38:45+00:00] [req:033bf474] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-13T04:38:45+00:00] [req:033bf474] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-13T04:38:51+00:00] [req:1c558a12] [org:-] XeroController::testConnection() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-13T04:38:51+00:00] [req:1c558a12] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778646286,"now":1778647131}
[2026-05-13T04:38:51+00:00] [req:1c558a12] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-13T04:38:51+00:00] [req:1c558a12] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-13T04:38:51+00:00] [req:1c558a12] [org:-] refreshAccessToken() called {"refresh_token":"YIaJ4x…[33]…1vPw"}
[2026-05-13T04:38:51+00:00] [req:1c558a12] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"YIaJ4x…[33]…1vPw"}}
[2026-05-13T04:38:51+00:00] [req:1c558a12] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-05-13T04:38:51+00:00] [req:1c558a12] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-05-13T04:38:51+00:00] [req:1c558a12] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-05-13T04:38:51+00:00] [req:1c558a12] [org:-] testConnection() — token expired or invalid
[2026-05-13T04:38:53+00:00] [req:122d3598] [org:-] XeroController::initiateOAuth() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","session_id":"j4a91e4v7ge99k7vfh1htc2umm"}
[2026-05-13T04:38:53+00:00] [req:122d3598] [org:-] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-13T04:38:53+00:00] [req:122d3598] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() stored org_id in session
[2026-05-13T04:38:53+00:00] [req:122d3598] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-13T04:38:53+00:00] [req:122d3598] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] getAuthorizationUrl() called
[2026-05-13T04:38:53+00:00] [req:122d3598] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] PKCE + state generated {"verifier_redacted":"kBiukH…[33]…ou4Q","challenge_redacted":"Y8pleU…[33]…pV78","state":"a1d6986ecb60073566337270e1939012","session_id":"j4a91e4v7ge99k7vfh1htc2umm"}
[2026-05-13T04:38:53+00:00] [req:122d3598] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=a1d6986ecb60073566337270e1939012&code_challenge=Y8pleUf-2K-9G_5omDLD6Ak6TmkwcxBPZVFPx_upV78&code_challenge_method=S256","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-13T04:38:53+00:00] [req:122d3598] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=0914AB1FFF674795881607201B4D15BC&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=a1d6986ecb60073566337270e1939012&code_challenge=Y8pleUf-2K-9G_5omDLD6Ak6TmkwcxBPZVFPx_upV78&code_challenge_method=S256"}
[2026-05-13T04:39:01+00:00] [req:d13ec691] [org:019c358b-5fe1-7e90-c3cc-a17b42a96622] oauth/callback.php entered {"query_string":"code=b9nn8IkYkVP1Fjgfe9mIHIZQWWU_xXksdmdQntTjgS0&scope=offline_access%20accounting.invoices%20accounting.contacts%20accounting.settings.read&state=a1d6986ecb60073566337270e1939012","remote_addr":"168.140.243.58","session_id":"j4a91e4v7ge99k7vfh1htc2umm","has_code":true,"has_state":true,"xero_error":null}
[2026-05-13T04:39:01+00:00] [req:d13ec691] [org:-] callback.php — pulled org_id from session {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-13T04:39:01+00:00] [req:d13ec691] [org:-] callback.php — instantiating XeroOAuth for token exchange {"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-13T04:39:01+00:00] [req:d13ec691] [org:-] XeroOAuth instantiated {"client_id":"0914AB…[22]…15BC","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-13T04:39:01+00:00] [req:d13ec691] [org:-] handleCallback() entered {"code_redacted":"b9nn8I…[33]…jgS0","returned_state":"a1d6986ecb60073566337270e1939012","session_id":"j4a91e4v7ge99k7vfh1htc2umm"}
[2026-05-13T04:39:01+00:00] [req:d13ec691] [org:-] CSRF state check (BYPASSED) {"stored_state":"a1d6986ecb60073566337270e1939012","returned":"a1d6986ecb60073566337270e1939012","would_match":true,"note":"state validation skipped — CSRF protection currently disabled"}
[2026-05-13T04:39:01+00:00] [req:d13ec691] [org:-] PKCE verifier retrieved from session {"verifier_redacted":"kBiukH…[33]…ou4Q"}
[2026-05-13T04:39:01+00:00] [req:d13ec691] [org:-] Exchanging authorization code for tokens
[2026-05-13T04:39:01+00:00] [req:d13ec691] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"authorization_code","code":"b9nn8I…[33]…jgS0","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","code_verifier":"kBiukH…[33]…ou4Q"}}
[2026-05-13T04:39:01+00:00] [req:d13ec691] [org:-] Token endpoint HTTP response {"status":200,"error":""}
[2026-05-13T04:39:01+00:00] [req:d13ec691] [org:-] Token endpoint success {"expires_in":1800,"token_type":"Bearer","has_id_token":false,"has_refresh":true}
[2026-05-13T04:39:01+00:00] [req:d13ec691] [org:-] Token exchange succeeded {"access_token":"eyJhbG…[1272]…8ClA","refresh_token":"14F8aJ…[33]…LRpk","expires_at":1778648941,"token_type":"Bearer","has_id_token":false}
[2026-05-13T04:39:01+00:00] [req:d13ec691] [org:-] getConnections() called {"access_token":"eyJhbG…[1272]…8ClA"}
[2026-05-13T04:39:01+00:00] [req:d13ec691] [org:-] Connections HTTP response {"status":200,"error":""}
[2026-05-13T04:39:01+00:00] [req:d13ec691] [org:-] Connections retrieved {"tenant_count":1,"tenants":[{"tenantId":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","tenantName":"Cybex PTE Ltd","tenantType":"ORGANISATION"}]}
[2026-05-13T04:39:01+00:00] [req:d13ec691] [org:-] callback.php — stored tokens + tenants in session {"tenant_count":1}
[2026-05-13T04:39:01+00:00] [req:d13ec691] [org:-] callback.php — persisted xero settings to org {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","tenant_name":"Cybex PTE Ltd"}
[2026-05-13T04:39:01+00:00] [req:d13ec691] [org:-] callback.php — redirecting to frontend success {"location":"/FrontEnd/Dashboard.php?success=xero_connected"}
[2026-05-13T04:39:58+00:00] [req:18de4c34] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e1-fa26-77d6-77ec-dbac7d0d0350","org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-13T04:39:58+00:00] [req:18de4c34] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019e1-fa26-77d6-77ec-dbac7d0d0350"}
[2026-05-13T04:39:58+00:00] [req:18de4c34] [org:-] getValidAccessToken() — token valid {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778648941}
[2026-05-13T04:39:58+00:00] [req:18de4c34] [org:-] makeXeroApiRequest() {"method":"GET","endpoint":"/Contacts?where=Name%3D%3D%22Test%20Corporate%20Company%22","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":false}
[2026-05-13T04:39:58+00:00] [req:18de4c34] [org:-] makeXeroApiRequest() response {"endpoint":"/Contacts?where=Name%3D%3D%22Test%20Corporate%20Company%22","http_code":200,"curl_err":""}
[2026-05-13T04:39:58+00:00] [req:18de4c34] [org:-] Xero contact resolved (existing, exact) {"name":"Test Corporate Company","contact_id":"89133742-9702-41d9-aaab-df8bc02ae2bd"}
[2026-05-13T04:39:58+00:00] [req:18de4c34] [org:-] pushInvoiceForOrg() POSTing /Invoices {"existing_xero_id":null,"invoice_number":55,"line_item_count":1}
[2026-05-13T04:39:58+00:00] [req:18de4c34] [org:-] makeXeroApiRequest() {"method":"POST","endpoint":"/Invoices","tenant_id":"f6018ae3-2a8a-4c6b-a994-aeb3c97a2d98","has_payload":true}
[2026-05-13T04:39:59+00:00] [req:18de4c34] [org:-] makeXeroApiRequest() response {"endpoint":"/Invoices","http_code":200,"curl_err":""}
[2026-05-13T04:39:59+00:00] [req:18de4c34] [org:-] pushInvoiceForOrg() — success {"invoice_id":"000019e1-fa26-77d6-77ec-dbac7d0d0350","xero_invoice_id":"44ef6390-7a86-4d38-8735-43c88058e621","xero_status":"AUTHORISED"}
[2026-05-13T04:39:59+00:00] [req:18de4c34] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e1-fa26-77d6-77ec-dbac7d0d0350","success":true,"message":"Invoice sent to Xero (authorised).","xero_invoice_id":"44ef6390-7a86-4d38-8735-43c88058e621","status_code":null}
[2026-05-13T05:35:31+00:00] [req:13ae7b03] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e1-fd54-73fe-f1cf-bcc8a544f0b4","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T05:35:31+00:00] [req:13ae7b03] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e1-fd54-73fe-f1cf-bcc8a544f0b4"}
[2026-05-13T05:35:31+00:00] [req:13ae7b03] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T05:35:31+00:00] [req:13ae7b03] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T05:35:31+00:00] [req:13ae7b03] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e1-fd54-73fe-f1cf-bcc8a544f0b4","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:25:41+00:00] [req:883871e5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-33b2-7d49-f915-60bd4498e012","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:25:41+00:00] [req:883871e5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-33b2-7d49-f915-60bd4498e012"}
[2026-05-13T21:25:41+00:00] [req:883871e5] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:25:41+00:00] [req:883871e5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:25:41+00:00] [req:883871e5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-33b2-7d49-f915-60bd4498e012","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:28:07+00:00] [req:93ce8339] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-33d6-7b12-988f-417c6861f04e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:28:07+00:00] [req:93ce8339] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-33d6-7b12-988f-417c6861f04e"}
[2026-05-13T21:28:07+00:00] [req:93ce8339] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:28:07+00:00] [req:93ce8339] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:28:07+00:00] [req:93ce8339] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-33d6-7b12-988f-417c6861f04e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:29:44+00:00] [req:6dc1d5c8] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-33ee-73fb-fd9a-a2282d03a0bb","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:29:44+00:00] [req:6dc1d5c8] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-33ee-73fb-fd9a-a2282d03a0bb"}
[2026-05-13T21:29:44+00:00] [req:6dc1d5c8] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:29:44+00:00] [req:6dc1d5c8] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:29:44+00:00] [req:6dc1d5c8] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-33ee-73fb-fd9a-a2282d03a0bb","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:30:39+00:00] [req:cae7e90b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-33fb-799a-7dfb-2d268753b141","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:30:39+00:00] [req:cae7e90b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-33fb-799a-7dfb-2d268753b141"}
[2026-05-13T21:30:39+00:00] [req:cae7e90b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:30:39+00:00] [req:cae7e90b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:30:39+00:00] [req:cae7e90b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-33fb-799a-7dfb-2d268753b141","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:33:01+00:00] [req:5b0215f4] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-341e-74c9-def9-c999dab1d041","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:33:01+00:00] [req:5b0215f4] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-341e-74c9-def9-c999dab1d041"}
[2026-05-13T21:33:01+00:00] [req:5b0215f4] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:33:01+00:00] [req:5b0215f4] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:33:01+00:00] [req:5b0215f4] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-341e-74c9-def9-c999dab1d041","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:35:47+00:00] [req:6f4f5277] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-3434-7e58-1ed1-634ea688096c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:35:47+00:00] [req:6f4f5277] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-3434-7e58-1ed1-634ea688096c"}
[2026-05-13T21:35:47+00:00] [req:6f4f5277] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:35:47+00:00] [req:6f4f5277] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:35:47+00:00] [req:6f4f5277] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-3434-7e58-1ed1-634ea688096c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:35:47+00:00] [req:6f4f5277] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-343a-7888-14ac-6943f55157d5","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:35:47+00:00] [req:6f4f5277] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-343a-7888-14ac-6943f55157d5"}
[2026-05-13T21:35:47+00:00] [req:6f4f5277] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:35:47+00:00] [req:6f4f5277] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:35:47+00:00] [req:6f4f5277] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-343a-7888-14ac-6943f55157d5","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:37:01+00:00] [req:67838e6b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-344a-7ba2-32e7-c4718e7f480c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:37:01+00:00] [req:67838e6b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-344a-7ba2-32e7-c4718e7f480c"}
[2026-05-13T21:37:01+00:00] [req:67838e6b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:37:01+00:00] [req:67838e6b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:37:01+00:00] [req:67838e6b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-344a-7ba2-32e7-c4718e7f480c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:38:57+00:00] [req:f9c99543] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-3475-7621-bd74-13c25ebac592","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:38:57+00:00] [req:f9c99543] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-3475-7621-bd74-13c25ebac592"}
[2026-05-13T21:38:57+00:00] [req:f9c99543] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:38:57+00:00] [req:f9c99543] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:38:57+00:00] [req:f9c99543] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-3475-7621-bd74-13c25ebac592","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:40:20+00:00] [req:ee7d8ad2] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-3489-79be-3cfd-d7efc863f63c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:40:20+00:00] [req:ee7d8ad2] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-3489-79be-3cfd-d7efc863f63c"}
[2026-05-13T21:40:20+00:00] [req:ee7d8ad2] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:40:20+00:00] [req:ee7d8ad2] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:40:20+00:00] [req:ee7d8ad2] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-3489-79be-3cfd-d7efc863f63c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:42:56+00:00] [req:e6a1a6f9] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-34af-78c0-f6fd-ff67a1f585a1","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:42:56+00:00] [req:e6a1a6f9] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-34af-78c0-f6fd-ff67a1f585a1"}
[2026-05-13T21:42:56+00:00] [req:e6a1a6f9] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:42:56+00:00] [req:e6a1a6f9] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:42:56+00:00] [req:e6a1a6f9] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-34af-78c0-f6fd-ff67a1f585a1","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:47:21+00:00] [req:04bc4b8a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-34de-7c8b-54b0-40da83e59023","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:47:21+00:00] [req:04bc4b8a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-34de-7c8b-54b0-40da83e59023"}
[2026-05-13T21:47:21+00:00] [req:04bc4b8a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:47:21+00:00] [req:04bc4b8a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:47:21+00:00] [req:04bc4b8a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-34de-7c8b-54b0-40da83e59023","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:50:21+00:00] [req:fcb1de0b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-3510-7275-9e65-91b33d9822f1","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:50:21+00:00] [req:fcb1de0b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-3510-7275-9e65-91b33d9822f1"}
[2026-05-13T21:50:21+00:00] [req:fcb1de0b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:50:21+00:00] [req:fcb1de0b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:50:21+00:00] [req:fcb1de0b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-3510-7275-9e65-91b33d9822f1","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:50:52+00:00] [req:66699511] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-3520-7070-6e5c-9e6eb730facf","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:50:52+00:00] [req:66699511] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-3520-7070-6e5c-9e6eb730facf"}
[2026-05-13T21:50:52+00:00] [req:66699511] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:50:52+00:00] [req:66699511] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:50:52+00:00] [req:66699511] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-3520-7070-6e5c-9e6eb730facf","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:51:54+00:00] [req:8b33bb62] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-3533-7059-19a9-7498ca30d365","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:51:54+00:00] [req:8b33bb62] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-3533-7059-19a9-7498ca30d365"}
[2026-05-13T21:51:54+00:00] [req:8b33bb62] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:51:54+00:00] [req:8b33bb62] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:51:54+00:00] [req:8b33bb62] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-3533-7059-19a9-7498ca30d365","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:52:24+00:00] [req:f52fc319] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-353a-72a9-dd25-3826ddebfbf3","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-13T21:52:24+00:00] [req:f52fc319] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e2-353a-72a9-dd25-3826ddebfbf3"}
[2026-05-13T21:52:24+00:00] [req:f52fc319] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-13T21:52:24+00:00] [req:f52fc319] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:52:24+00:00] [req:f52fc319] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-353a-72a9-dd25-3826ddebfbf3","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:53:54+00:00] [req:04be802e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-3550-72ca-eadb-a54348da306e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:53:54+00:00] [req:04be802e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-3550-72ca-eadb-a54348da306e"}
[2026-05-13T21:53:54+00:00] [req:04be802e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:53:54+00:00] [req:04be802e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:53:54+00:00] [req:04be802e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-3550-72ca-eadb-a54348da306e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:55:40+00:00] [req:8364ec8d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-3569-7d23-916d-4c9a2b7d5e05","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-13T21:55:40+00:00] [req:8364ec8d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e2-3569-7d23-916d-4c9a2b7d5e05"}
[2026-05-13T21:55:40+00:00] [req:8364ec8d] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-13T21:55:40+00:00] [req:8364ec8d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:55:40+00:00] [req:8364ec8d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-3569-7d23-916d-4c9a2b7d5e05","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:56:03+00:00] [req:f63dfb9e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-355d-7059-2c96-0ff8f233b2cb","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:56:03+00:00] [req:f63dfb9e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-355d-7059-2c96-0ff8f233b2cb"}
[2026-05-13T21:56:03+00:00] [req:f63dfb9e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T21:56:03+00:00] [req:f63dfb9e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:56:03+00:00] [req:f63dfb9e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-355d-7059-2c96-0ff8f233b2cb","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:58:13+00:00] [req:9159f791] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-358f-7649-23a9-14f1b98cde2e","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-13T21:58:13+00:00] [req:9159f791] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e2-358f-7649-23a9-14f1b98cde2e"}
[2026-05-13T21:58:13+00:00] [req:9159f791] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-13T21:58:13+00:00] [req:9159f791] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:58:13+00:00] [req:9159f791] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-358f-7649-23a9-14f1b98cde2e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T21:59:49+00:00] [req:73e58e45] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-35a6-7ca8-5904-f7ecc5c84b35","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-13T21:59:49+00:00] [req:73e58e45] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e2-35a6-7ca8-5904-f7ecc5c84b35"}
[2026-05-13T21:59:49+00:00] [req:73e58e45] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-13T21:59:49+00:00] [req:73e58e45] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T21:59:49+00:00] [req:73e58e45] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-35a6-7ca8-5904-f7ecc5c84b35","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T22:11:50+00:00] [req:21cc8dbb] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-3657-7071-3158-2b1944ea0deb","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:11:50+00:00] [req:21cc8dbb] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-3657-7071-3158-2b1944ea0deb"}
[2026-05-13T22:11:50+00:00] [req:21cc8dbb] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:11:50+00:00] [req:21cc8dbb] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T22:11:50+00:00] [req:21cc8dbb] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-3657-7071-3158-2b1944ea0deb","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T22:13:31+00:00] [req:a2ff9f1f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-366f-7a5e-0a24-7e327292718d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:13:31+00:00] [req:a2ff9f1f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-366f-7a5e-0a24-7e327292718d"}
[2026-05-13T22:13:31+00:00] [req:a2ff9f1f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:13:31+00:00] [req:a2ff9f1f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T22:13:31+00:00] [req:a2ff9f1f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-366f-7a5e-0a24-7e327292718d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T22:16:46+00:00] [req:4140bc30] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-369f-7127-7b1b-ce21be9164f4","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:16:46+00:00] [req:4140bc30] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-369f-7127-7b1b-ce21be9164f4"}
[2026-05-13T22:16:46+00:00] [req:4140bc30] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:16:46+00:00] [req:4140bc30] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T22:16:46+00:00] [req:4140bc30] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-369f-7127-7b1b-ce21be9164f4","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T22:18:48+00:00] [req:6c1dc605] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-36b1-7460-29fb-93d7df2c75fe","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:18:48+00:00] [req:6c1dc605] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-36b1-7460-29fb-93d7df2c75fe"}
[2026-05-13T22:18:48+00:00] [req:6c1dc605] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:18:48+00:00] [req:6c1dc605] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T22:18:48+00:00] [req:6c1dc605] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-36b1-7460-29fb-93d7df2c75fe","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T22:23:34+00:00] [req:2f7c8843] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-3702-7c89-dcc2-56ae6e2e591f","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:23:34+00:00] [req:2f7c8843] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-3702-7c89-dcc2-56ae6e2e591f"}
[2026-05-13T22:23:34+00:00] [req:2f7c8843] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:23:34+00:00] [req:2f7c8843] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T22:23:34+00:00] [req:2f7c8843] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-3702-7c89-dcc2-56ae6e2e591f","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T22:26:16+00:00] [req:95c52f0a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-372a-719a-16cf-d9c1c74edd24","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:26:16+00:00] [req:95c52f0a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-372a-719a-16cf-d9c1c74edd24"}
[2026-05-13T22:26:16+00:00] [req:95c52f0a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:26:16+00:00] [req:95c52f0a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T22:26:16+00:00] [req:95c52f0a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-372a-719a-16cf-d9c1c74edd24","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T22:33:32+00:00] [req:97008fb0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-378b-7dc6-21bd-9c866604e5df","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:33:32+00:00] [req:97008fb0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-378b-7dc6-21bd-9c866604e5df"}
[2026-05-13T22:33:32+00:00] [req:97008fb0] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:33:32+00:00] [req:97008fb0] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T22:33:32+00:00] [req:97008fb0] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-378b-7dc6-21bd-9c866604e5df","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T22:34:07+00:00] [req:73a6688d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-379d-74dc-0977-252caad11626","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:34:07+00:00] [req:73a6688d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-379d-74dc-0977-252caad11626"}
[2026-05-13T22:34:07+00:00] [req:73a6688d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:34:07+00:00] [req:73a6688d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T22:34:07+00:00] [req:73a6688d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-379d-74dc-0977-252caad11626","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T22:36:06+00:00] [req:0b60767f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-37ba-729b-d46c-6e77be23492e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:36:06+00:00] [req:0b60767f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-37ba-729b-d46c-6e77be23492e"}
[2026-05-13T22:36:06+00:00] [req:0b60767f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:36:06+00:00] [req:0b60767f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T22:36:06+00:00] [req:0b60767f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-37ba-729b-d46c-6e77be23492e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T22:37:43+00:00] [req:418fa79e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-37c0-7a40-ac07-d790e681e5d0","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:37:43+00:00] [req:418fa79e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-37c0-7a40-ac07-d790e681e5d0"}
[2026-05-13T22:37:43+00:00] [req:418fa79e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:37:43+00:00] [req:418fa79e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T22:37:43+00:00] [req:418fa79e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-37c0-7a40-ac07-d790e681e5d0","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T22:37:43+00:00] [req:418fa79e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-37d1-7e8a-0c47-6d4efd64d832","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:37:43+00:00] [req:418fa79e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-37d1-7e8a-0c47-6d4efd64d832"}
[2026-05-13T22:37:43+00:00] [req:418fa79e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:37:43+00:00] [req:418fa79e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T22:37:43+00:00] [req:418fa79e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-37d1-7e8a-0c47-6d4efd64d832","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T22:38:41+00:00] [req:fd457099] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-37e0-7383-b319-1a5302eda634","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:38:41+00:00] [req:fd457099] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-37e0-7383-b319-1a5302eda634"}
[2026-05-13T22:38:41+00:00] [req:fd457099] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:38:41+00:00] [req:fd457099] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T22:38:41+00:00] [req:fd457099] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-37e0-7383-b319-1a5302eda634","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T22:39:14+00:00] [req:033f9b30] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-37e8-73e9-51d9-1f098b5ea79a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:39:14+00:00] [req:033f9b30] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-37e8-73e9-51d9-1f098b5ea79a"}
[2026-05-13T22:39:14+00:00] [req:033f9b30] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T22:39:14+00:00] [req:033f9b30] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T22:39:14+00:00] [req:033f9b30] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-37e8-73e9-51d9-1f098b5ea79a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-13T23:38:40+00:00] [req:d777ae60] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-3b44-78a3-f636-cdbf739f6dfc","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T23:38:40+00:00] [req:d777ae60] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-3b44-78a3-f636-cdbf739f6dfc"}
[2026-05-13T23:38:40+00:00] [req:d777ae60] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-13T23:38:40+00:00] [req:d777ae60] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-13T23:38:40+00:00] [req:d777ae60] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-3b44-78a3-f636-cdbf739f6dfc","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-14T00:04:34+00:00] [req:96aa0e4c] [org:-] XeroController::getCredentials() {"org_id":"019e23b8-9f8f-7714-627f-af8dbf11df9a"}
[2026-05-14T00:04:34+00:00] [req:96aa0e4c] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T04:16:33+00:00] [req:6a9ade6c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-4b35-763d-c1ee-f94dd7eb50d5","org_id":"019b6d0e-53fa-7513-32f3-8ecf0105b3ea"}
[2026-05-14T04:16:33+00:00] [req:6a9ade6c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b6d0e-53fa-7513-32f3-8ecf0105b3ea","invoice_id":"000019e2-4b35-763d-c1ee-f94dd7eb50d5"}
[2026-05-14T04:16:33+00:00] [req:6a9ade6c] [org:-] getValidAccessToken() — not connected {"org_id":"019b6d0e-53fa-7513-32f3-8ecf0105b3ea"}
[2026-05-14T04:16:33+00:00] [req:6a9ade6c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-14T04:16:33+00:00] [req:6a9ade6c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-4b35-763d-c1ee-f94dd7eb50d5","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-14T04:53:07+00:00] [req:cb5ea844] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-14T04:53:07+00:00] [req:cb5ea844] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T04:57:59+00:00] [req:0139f0b5] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-14T04:57:59+00:00] [req:0139f0b5] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T04:58:00+00:00] [req:1048e1e9] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-14T04:58:00+00:00] [req:1048e1e9] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T04:58:49+00:00] [req:dffc419c] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-14T04:58:49+00:00] [req:dffc419c] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T04:58:49+00:00] [req:4b19fb58] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-14T04:58:49+00:00] [req:4b19fb58] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T04:58:50+00:00] [req:ec5ef914] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-14T04:58:50+00:00] [req:ec5ef914] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T05:02:29+00:00] [req:a271af9e] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-14T05:02:29+00:00] [req:a271af9e] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T05:02:30+00:00] [req:75023cc8] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-14T05:02:30+00:00] [req:75023cc8] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T05:02:30+00:00] [req:0c3fc8ef] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-14T05:02:30+00:00] [req:0c3fc8ef] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T05:02:31+00:00] [req:f98b6449] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-14T05:02:31+00:00] [req:f98b6449] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T05:02:33+00:00] [req:8d5789b5] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-14T05:02:33+00:00] [req:8d5789b5] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T05:02:34+00:00] [req:f7ee4e1b] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-14T05:02:34+00:00] [req:f7ee4e1b] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T05:02:35+00:00] [req:51857d40] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-14T05:02:35+00:00] [req:51857d40] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T05:02:36+00:00] [req:b234d629] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-14T05:02:36+00:00] [req:b234d629] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T05:24:38+00:00] [req:218c71c4] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-14T05:24:38+00:00] [req:218c71c4] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T05:25:53+00:00] [req:7ee5e8e5] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-14T05:25:53+00:00] [req:7ee5e8e5] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T05:26:06+00:00] [req:60330091] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-14T05:26:06+00:00] [req:60330091] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T06:20:51+00:00] [req:c87ebcd2] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-5246-70b8-be7f-ddd12d8601e2","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-14T06:20:51+00:00] [req:c87ebcd2] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-5246-70b8-be7f-ddd12d8601e2"}
[2026-05-14T06:20:51+00:00] [req:c87ebcd2] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-14T06:20:51+00:00] [req:c87ebcd2] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-14T06:20:51+00:00] [req:c87ebcd2] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-5246-70b8-be7f-ddd12d8601e2","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-14T06:26:48+00:00] [req:dcf49494] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-528f-7559-7183-57c89e74217c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-14T06:26:48+00:00] [req:dcf49494] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-528f-7559-7183-57c89e74217c"}
[2026-05-14T06:26:48+00:00] [req:dcf49494] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-14T06:26:48+00:00] [req:dcf49494] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-14T06:26:48+00:00] [req:dcf49494] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-528f-7559-7183-57c89e74217c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-14T06:26:48+00:00] [req:dcf49494] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-5294-7c10-fdca-69fa7cb939c4","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-14T06:26:48+00:00] [req:dcf49494] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-5294-7c10-fdca-69fa7cb939c4"}
[2026-05-14T06:26:48+00:00] [req:dcf49494] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-14T06:26:48+00:00] [req:dcf49494] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-14T06:26:48+00:00] [req:dcf49494] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-5294-7c10-fdca-69fa7cb939c4","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-14T06:58:34+00:00] [req:bd633d92] [org:-] XeroController::getCredentials() {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b"}
[2026-05-14T06:58:34+00:00] [req:bd633d92] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T07:02:09+00:00] [req:233b2faa] [org:-] XeroController::getCredentials() {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b"}
[2026-05-14T07:02:09+00:00] [req:233b2faa] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T11:13:35+00:00] [req:e469f2e4] [org:-] XeroController::getCredentials() {"org_id":"019c210e-1977-7930-6ea3-80e66db40db5"}
[2026-05-14T11:13:35+00:00] [req:e469f2e4] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-14T23:13:44+00:00] [req:29f936ff] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-8c45-7565-9c6e-fda7b5f2f7b5","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-14T23:13:44+00:00] [req:29f936ff] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-8c45-7565-9c6e-fda7b5f2f7b5"}
[2026-05-14T23:13:44+00:00] [req:29f936ff] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-14T23:13:44+00:00] [req:29f936ff] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-14T23:13:44+00:00] [req:29f936ff] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-8c45-7565-9c6e-fda7b5f2f7b5","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-15T01:22:53+00:00] [req:6b069463] [org:-] oauth/callback.php entered {"query_string":"code=yASOP6CsaVM91ubqW6VnhkwOspt6APejjQ1JaP1Y5qE&scope=accounting.invoices&state=bfd26e1af55e58634a88275753a6e3f5","remote_addr":"168.140.243.216","session_id":"vq50pdt7fnbmaf4864c1fk2n0b","has_code":true,"has_state":true,"xero_error":null}
[2026-05-15T01:22:53+00:00] [req:6b069463] [org:-] callback.php — pulled org_id from session {"org_id":null}
[2026-05-15T01:22:53+00:00] [req:6b069463] [org:-] callback.php — instantiating XeroOAuth for token exchange {"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-15T01:22:53+00:00] [req:6b069463] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-15T01:22:53+00:00] [req:6b069463] [org:-] handleCallback() entered {"code_redacted":"yASOP6…[33]…Y5qE","returned_state":"bfd26e1af55e58634a88275753a6e3f5","session_id":"vq50pdt7fnbmaf4864c1fk2n0b"}
[2026-05-15T01:22:53+00:00] [req:6b069463] [org:-] CSRF state check (BYPASSED) {"stored_state":null,"returned":"bfd26e1af55e58634a88275753a6e3f5","would_match":false,"note":"state validation skipped — CSRF protection currently disabled"}
[2026-05-15T01:22:53+00:00] [req:6b069463] [org:-] handleCallback() failed — missing PKCE verifier in session
[2026-05-15T01:22:53+00:00] [req:6b069463] [org:-] callback.php — RuntimeException during token exchange {"error":"Missing PKCE code_verifier in session."}
[2026-05-15T02:56:17+00:00] [req:87a6bada] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019e1-f7a0-7b92-9066-d608ea291ba6"}
[2026-05-15T02:56:17+00:00] [req:87a6bada] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778648941,"now":1778813777}
[2026-05-15T02:56:17+00:00] [req:87a6bada] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-15T02:56:17+00:00] [req:87a6bada] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-15T02:56:17+00:00] [req:87a6bada] [org:-] refreshAccessToken() called {"refresh_token":"14F8aJ…[33]…LRpk"}
[2026-05-15T02:56:17+00:00] [req:87a6bada] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"14F8aJ…[33]…LRpk"}}
[2026-05-15T02:56:17+00:00] [req:87a6bada] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-05-15T02:56:17+00:00] [req:87a6bada] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-05-15T02:56:17+00:00] [req:87a6bada] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-05-15T02:56:17+00:00] [req:87a6bada] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-15T03:46:57+00:00] [req:4fb0aed2] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-9be1-71ad-89b1-6f1d4c2cab43","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T03:46:57+00:00] [req:4fb0aed2] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-9be1-71ad-89b1-6f1d4c2cab43"}
[2026-05-15T03:46:57+00:00] [req:4fb0aed2] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T03:46:57+00:00] [req:4fb0aed2] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-15T03:46:57+00:00] [req:4fb0aed2] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-9be1-71ad-89b1-6f1d4c2cab43","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-15T20:09:53+00:00] [req:9478ca02] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-d427-7bee-4d9a-4667df675926","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:09:53+00:00] [req:9478ca02] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-d427-7bee-4d9a-4667df675926"}
[2026-05-15T20:09:53+00:00] [req:9478ca02] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:09:53+00:00] [req:9478ca02] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-15T20:09:53+00:00] [req:9478ca02] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-d427-7bee-4d9a-4667df675926","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-15T20:11:05+00:00] [req:d1c54b66] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-d42d-70bd-0109-474673d25f01","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:11:05+00:00] [req:d1c54b66] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-d42d-70bd-0109-474673d25f01"}
[2026-05-15T20:11:05+00:00] [req:d1c54b66] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:11:05+00:00] [req:d1c54b66] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-15T20:11:05+00:00] [req:d1c54b66] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-d42d-70bd-0109-474673d25f01","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-15T20:11:05+00:00] [req:d1c54b66] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-d439-758c-9309-e4e4f6f09ed1","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:11:05+00:00] [req:d1c54b66] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-d439-758c-9309-e4e4f6f09ed1"}
[2026-05-15T20:11:05+00:00] [req:d1c54b66] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:11:05+00:00] [req:d1c54b66] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-15T20:11:05+00:00] [req:d1c54b66] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-d439-758c-9309-e4e4f6f09ed1","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-15T20:12:19+00:00] [req:c058c205] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-d44b-76ad-c8d6-3ff75d722022","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:12:19+00:00] [req:c058c205] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-d44b-76ad-c8d6-3ff75d722022"}
[2026-05-15T20:12:19+00:00] [req:c058c205] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:12:19+00:00] [req:c058c205] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-15T20:12:19+00:00] [req:c058c205] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-d44b-76ad-c8d6-3ff75d722022","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-15T20:14:35+00:00] [req:56081591] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-d45e-7c4c-0a18-7d9813ebe59b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:14:35+00:00] [req:56081591] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-d45e-7c4c-0a18-7d9813ebe59b"}
[2026-05-15T20:14:35+00:00] [req:56081591] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:14:35+00:00] [req:56081591] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-15T20:14:35+00:00] [req:56081591] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-d45e-7c4c-0a18-7d9813ebe59b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-15T20:21:19+00:00] [req:739e32fa] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-d4cf-74d0-d277-e2ce64da77bb","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:21:19+00:00] [req:739e32fa] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-d4cf-74d0-d277-e2ce64da77bb"}
[2026-05-15T20:21:19+00:00] [req:739e32fa] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:21:19+00:00] [req:739e32fa] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-15T20:21:19+00:00] [req:739e32fa] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-d4cf-74d0-d277-e2ce64da77bb","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-15T20:24:12+00:00] [req:a89380b9] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-d4f5-733d-8c2f-db729ef13c7b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:24:12+00:00] [req:a89380b9] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-d4f5-733d-8c2f-db729ef13c7b"}
[2026-05-15T20:24:12+00:00] [req:a89380b9] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:24:12+00:00] [req:a89380b9] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-15T20:24:12+00:00] [req:a89380b9] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-d4f5-733d-8c2f-db729ef13c7b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-15T20:26:23+00:00] [req:1fb336f4] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-d519-7798-8567-a5261801274f","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:26:23+00:00] [req:1fb336f4] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-d519-7798-8567-a5261801274f"}
[2026-05-15T20:26:23+00:00] [req:1fb336f4] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:26:23+00:00] [req:1fb336f4] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-15T20:26:23+00:00] [req:1fb336f4] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-d519-7798-8567-a5261801274f","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-15T20:27:16+00:00] [req:f415ab6f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-d526-7596-af01-90f2197c9ba2","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:27:16+00:00] [req:f415ab6f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-d526-7596-af01-90f2197c9ba2"}
[2026-05-15T20:27:16+00:00] [req:f415ab6f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:27:16+00:00] [req:f415ab6f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-15T20:27:16+00:00] [req:f415ab6f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-d526-7596-af01-90f2197c9ba2","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-15T20:28:54+00:00] [req:f093f29d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-d53e-73ed-df32-08b4f0eb3630","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:28:54+00:00] [req:f093f29d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-d53e-73ed-df32-08b4f0eb3630"}
[2026-05-15T20:28:54+00:00] [req:f093f29d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:28:54+00:00] [req:f093f29d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-15T20:28:54+00:00] [req:f093f29d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-d53e-73ed-df32-08b4f0eb3630","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-15T20:30:47+00:00] [req:401c0b6a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-d559-7bd6-ac3f-cf533143b142","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:30:47+00:00] [req:401c0b6a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-d559-7bd6-ac3f-cf533143b142"}
[2026-05-15T20:30:47+00:00] [req:401c0b6a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T20:30:47+00:00] [req:401c0b6a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-15T20:30:47+00:00] [req:401c0b6a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-d559-7bd6-ac3f-cf533143b142","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-15T22:20:59+00:00] [req:7dd86691] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-db98-7cb9-a8c7-801dffb526e4","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T22:20:59+00:00] [req:7dd86691] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-db98-7cb9-a8c7-801dffb526e4"}
[2026-05-15T22:20:59+00:00] [req:7dd86691] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-15T22:20:59+00:00] [req:7dd86691] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-15T22:20:59+00:00] [req:7dd86691] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-db98-7cb9-a8c7-801dffb526e4","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-16T00:44:18+00:00] [req:ed2e502f] [org:-] XeroController::getCredentials() {"org_id":"019e23b8-9f8f-7714-627f-af8dbf11df9a"}
[2026-05-16T00:44:18+00:00] [req:ed2e502f] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-16T00:44:19+00:00] [req:575736c2] [org:-] XeroController::getCredentials() {"org_id":"019e23b8-9f8f-7714-627f-af8dbf11df9a"}
[2026-05-16T00:44:19+00:00] [req:575736c2] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-16T00:44:19+00:00] [req:09807f7d] [org:-] XeroController::getCredentials() {"org_id":"019e23b8-9f8f-7714-627f-af8dbf11df9a"}
[2026-05-16T00:44:19+00:00] [req:09807f7d] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-16T00:44:20+00:00] [req:15aa69b1] [org:-] XeroController::getCredentials() {"org_id":"019e23b8-9f8f-7714-627f-af8dbf11df9a"}
[2026-05-16T00:44:20+00:00] [req:15aa69b1] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-16T00:44:21+00:00] [req:8077a85e] [org:-] XeroController::getCredentials() {"org_id":"019e23b8-9f8f-7714-627f-af8dbf11df9a"}
[2026-05-16T00:44:21+00:00] [req:8077a85e] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-16T00:47:27+00:00] [req:442dfb46] [org:-] XeroController::getCredentials() {"org_id":"019e23b8-9f8f-7714-627f-af8dbf11df9a"}
[2026-05-16T00:47:27+00:00] [req:442dfb46] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-16T00:47:28+00:00] [req:e1fa99f1] [org:-] XeroController::getCredentials() {"org_id":"019e23b8-9f8f-7714-627f-af8dbf11df9a"}
[2026-05-16T00:47:28+00:00] [req:e1fa99f1] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-16T00:47:28+00:00] [req:5a9a9ac5] [org:-] XeroController::getCredentials() {"org_id":"019e23b8-9f8f-7714-627f-af8dbf11df9a"}
[2026-05-16T00:47:28+00:00] [req:5a9a9ac5] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-16T00:47:29+00:00] [req:ef30bf11] [org:-] XeroController::getCredentials() {"org_id":"019e23b8-9f8f-7714-627f-af8dbf11df9a"}
[2026-05-16T00:47:29+00:00] [req:ef30bf11] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-16T01:13:59+00:00] [req:d020f192] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-e57b-7e6c-da35-549caa79daac","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-16T01:13:59+00:00] [req:d020f192] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-e57b-7e6c-da35-549caa79daac"}
[2026-05-16T01:13:59+00:00] [req:d020f192] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-16T01:13:59+00:00] [req:d020f192] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-16T01:13:59+00:00] [req:d020f192] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-e57b-7e6c-da35-549caa79daac","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-16T02:45:08+00:00] [req:313abc2b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e2-eab7-7cf5-c314-819d2158f08d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-16T02:45:08+00:00] [req:313abc2b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e2-eab7-7cf5-c314-819d2158f08d"}
[2026-05-16T02:45:08+00:00] [req:313abc2b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-16T02:45:08+00:00] [req:313abc2b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-16T02:45:08+00:00] [req:313abc2b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e2-eab7-7cf5-c314-819d2158f08d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-16T05:28:39+00:00] [req:d652775a] [org:-] XeroController::getCredentials() {"org_id":"019c2ad1-7dce-7a16-1447-ee3244aa4be8"}
[2026-05-16T05:28:39+00:00] [req:d652775a] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-16T05:28:40+00:00] [req:dd91eba2] [org:-] XeroController::getCredentials() {"org_id":"019c2ad1-7dce-7a16-1447-ee3244aa4be8"}
[2026-05-16T05:28:40+00:00] [req:dd91eba2] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-16T07:55:13+00:00] [req:58d52822] [org:-] XeroController::getCredentials() {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b"}
[2026-05-16T07:55:13+00:00] [req:58d52822] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-16T07:55:15+00:00] [req:a5e96fac] [org:-] XeroController::getCredentials() {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b"}
[2026-05-16T07:55:15+00:00] [req:a5e96fac] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-16T07:56:00+00:00] [req:7611c12b] [org:-] XeroController::getCredentials() {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b"}
[2026-05-16T07:56:00+00:00] [req:7611c12b] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-17T05:01:21+00:00] [req:614332a5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-44eb-7651-a63a-ed85506b2d19","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T05:01:21+00:00] [req:614332a5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-44eb-7651-a63a-ed85506b2d19"}
[2026-05-17T05:01:21+00:00] [req:614332a5] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T05:01:21+00:00] [req:614332a5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T05:01:21+00:00] [req:614332a5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-44eb-7651-a63a-ed85506b2d19","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T05:01:21+00:00] [req:614332a5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-44f4-7a7f-2f26-12381b680edc","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T05:01:21+00:00] [req:614332a5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-44f4-7a7f-2f26-12381b680edc"}
[2026-05-17T05:01:21+00:00] [req:614332a5] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T05:01:21+00:00] [req:614332a5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T05:01:21+00:00] [req:614332a5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-44f4-7a7f-2f26-12381b680edc","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T20:47:26+00:00] [req:951a4b78] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-7b19-7445-9af1-a38e7f50e039","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T20:47:26+00:00] [req:951a4b78] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-7b19-7445-9af1-a38e7f50e039"}
[2026-05-17T20:47:26+00:00] [req:951a4b78] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T20:47:26+00:00] [req:951a4b78] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T20:47:26+00:00] [req:951a4b78] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-7b19-7445-9af1-a38e7f50e039","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T20:53:41+00:00] [req:159dcd21] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-7b6d-7007-5467-390abc9a4858","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T20:53:41+00:00] [req:159dcd21] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-7b6d-7007-5467-390abc9a4858"}
[2026-05-17T20:53:41+00:00] [req:159dcd21] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T20:53:41+00:00] [req:159dcd21] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T20:53:41+00:00] [req:159dcd21] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-7b6d-7007-5467-390abc9a4858","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T21:01:42+00:00] [req:37ca3675] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-7bd7-7c7f-7240-8f98083dc015","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T21:01:42+00:00] [req:37ca3675] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-7bd7-7c7f-7240-8f98083dc015"}
[2026-05-17T21:01:42+00:00] [req:37ca3675] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T21:01:42+00:00] [req:37ca3675] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T21:01:42+00:00] [req:37ca3675] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-7bd7-7c7f-7240-8f98083dc015","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T21:05:39+00:00] [req:f669ea55] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-7c10-7266-7ba6-3d921fef14da","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T21:05:39+00:00] [req:f669ea55] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-7c10-7266-7ba6-3d921fef14da"}
[2026-05-17T21:05:39+00:00] [req:f669ea55] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T21:05:39+00:00] [req:f669ea55] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T21:05:39+00:00] [req:f669ea55] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-7c10-7266-7ba6-3d921fef14da","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T21:08:05+00:00] [req:bf055771] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-7c47-7bb9-216a-02c652f917e0","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T21:08:05+00:00] [req:bf055771] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-7c47-7bb9-216a-02c652f917e0"}
[2026-05-17T21:08:05+00:00] [req:bf055771] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T21:08:05+00:00] [req:bf055771] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T21:08:05+00:00] [req:bf055771] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-7c47-7bb9-216a-02c652f917e0","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T21:09:05+00:00] [req:70b57990] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-7c56-75c1-cbd0-cc4cfbe98a12","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T21:09:05+00:00] [req:70b57990] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-7c56-75c1-cbd0-cc4cfbe98a12"}
[2026-05-17T21:09:05+00:00] [req:70b57990] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T21:09:05+00:00] [req:70b57990] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T21:09:05+00:00] [req:70b57990] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-7c56-75c1-cbd0-cc4cfbe98a12","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T21:10:17+00:00] [req:b80c75c6] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-7c67-7eaa-3006-4893079f4b0d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T21:10:17+00:00] [req:b80c75c6] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-7c67-7eaa-3006-4893079f4b0d"}
[2026-05-17T21:10:17+00:00] [req:b80c75c6] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T21:10:17+00:00] [req:b80c75c6] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T21:10:17+00:00] [req:b80c75c6] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-7c67-7eaa-3006-4893079f4b0d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T21:11:26+00:00] [req:b10cef12] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-7c78-7ba2-32f2-77c1b88aa0f0","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T21:11:26+00:00] [req:b10cef12] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-7c78-7ba2-32f2-77c1b88aa0f0"}
[2026-05-17T21:11:26+00:00] [req:b10cef12] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T21:11:26+00:00] [req:b10cef12] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T21:11:26+00:00] [req:b10cef12] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-7c78-7ba2-32f2-77c1b88aa0f0","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T21:23:36+00:00] [req:2ee41946] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-7d2b-707c-f104-b09bacb22a8b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T21:23:36+00:00] [req:2ee41946] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-7d2b-707c-f104-b09bacb22a8b"}
[2026-05-17T21:23:36+00:00] [req:2ee41946] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T21:23:36+00:00] [req:2ee41946] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T21:23:36+00:00] [req:2ee41946] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-7d2b-707c-f104-b09bacb22a8b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T23:01:32+00:00] [req:c07f90c4] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-82c5-7c98-09b8-4d2f3092fec2","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:01:32+00:00] [req:c07f90c4] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-82c5-7c98-09b8-4d2f3092fec2"}
[2026-05-17T23:01:32+00:00] [req:c07f90c4] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:01:32+00:00] [req:c07f90c4] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T23:01:32+00:00] [req:c07f90c4] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-82c5-7c98-09b8-4d2f3092fec2","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T23:03:22+00:00] [req:7e91563d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-82e0-7a7d-9e0d-00077564c5a1","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:03:22+00:00] [req:7e91563d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-82e0-7a7d-9e0d-00077564c5a1"}
[2026-05-17T23:03:22+00:00] [req:7e91563d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:03:22+00:00] [req:7e91563d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T23:03:22+00:00] [req:7e91563d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-82e0-7a7d-9e0d-00077564c5a1","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T23:07:10+00:00] [req:1a384ab5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-8318-74af-39dd-a0895a872475","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:07:10+00:00] [req:1a384ab5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-8318-74af-39dd-a0895a872475"}
[2026-05-17T23:07:10+00:00] [req:1a384ab5] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:07:10+00:00] [req:1a384ab5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T23:07:10+00:00] [req:1a384ab5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-8318-74af-39dd-a0895a872475","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T23:07:47+00:00] [req:baea690d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-8321-7815-5923-d5683a2c18f8","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:07:47+00:00] [req:baea690d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-8321-7815-5923-d5683a2c18f8"}
[2026-05-17T23:07:47+00:00] [req:baea690d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:07:47+00:00] [req:baea690d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T23:07:47+00:00] [req:baea690d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-8321-7815-5923-d5683a2c18f8","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T23:08:27+00:00] [req:ef546184] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-832b-735d-8802-e845ab801fa5","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:08:27+00:00] [req:ef546184] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-832b-735d-8802-e845ab801fa5"}
[2026-05-17T23:08:27+00:00] [req:ef546184] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:08:27+00:00] [req:ef546184] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T23:08:27+00:00] [req:ef546184] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-832b-735d-8802-e845ab801fa5","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T23:09:12+00:00] [req:fa41a2ba] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-8336-71d4-30d3-df9b7b82aaab","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:09:12+00:00] [req:fa41a2ba] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-8336-71d4-30d3-df9b7b82aaab"}
[2026-05-17T23:09:12+00:00] [req:fa41a2ba] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:09:12+00:00] [req:fa41a2ba] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T23:09:12+00:00] [req:fa41a2ba] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-8336-71d4-30d3-df9b7b82aaab","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T23:10:25+00:00] [req:8c32dd09] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-8347-7eb6-da52-c0bb50fca0cf","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:10:25+00:00] [req:8c32dd09] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-8347-7eb6-da52-c0bb50fca0cf"}
[2026-05-17T23:10:25+00:00] [req:8c32dd09] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:10:25+00:00] [req:8c32dd09] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T23:10:25+00:00] [req:8c32dd09] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-8347-7eb6-da52-c0bb50fca0cf","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T23:13:09+00:00] [req:0f80bf1f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-835f-7426-b238-6ab150f868bc","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:13:09+00:00] [req:0f80bf1f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-835f-7426-b238-6ab150f868bc"}
[2026-05-17T23:13:09+00:00] [req:0f80bf1f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:13:09+00:00] [req:0f80bf1f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T23:13:09+00:00] [req:0f80bf1f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-835f-7426-b238-6ab150f868bc","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T23:14:19+00:00] [req:7782f94b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-8381-70e0-707b-a7d10be29132","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:14:19+00:00] [req:7782f94b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-8381-70e0-707b-a7d10be29132"}
[2026-05-17T23:14:19+00:00] [req:7782f94b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:14:19+00:00] [req:7782f94b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T23:14:19+00:00] [req:7782f94b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-8381-70e0-707b-a7d10be29132","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T23:16:39+00:00] [req:02ed4d6d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-83a3-7398-7767-661255702db3","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:16:39+00:00] [req:02ed4d6d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-83a3-7398-7767-661255702db3"}
[2026-05-17T23:16:39+00:00] [req:02ed4d6d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:16:39+00:00] [req:02ed4d6d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T23:16:39+00:00] [req:02ed4d6d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-83a3-7398-7767-661255702db3","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T23:18:42+00:00] [req:5dc37383] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-83c1-737a-4f11-8f1f2eb14995","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:18:42+00:00] [req:5dc37383] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-83c1-737a-4f11-8f1f2eb14995"}
[2026-05-17T23:18:42+00:00] [req:5dc37383] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:18:42+00:00] [req:5dc37383] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T23:18:42+00:00] [req:5dc37383] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-83c1-737a-4f11-8f1f2eb14995","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T23:22:48+00:00] [req:c85a6cc3] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-83ec-7d9b-6eaf-037427ba0896","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:22:48+00:00] [req:c85a6cc3] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-83ec-7d9b-6eaf-037427ba0896"}
[2026-05-17T23:22:48+00:00] [req:c85a6cc3] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:22:48+00:00] [req:c85a6cc3] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T23:22:48+00:00] [req:c85a6cc3] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-83ec-7d9b-6eaf-037427ba0896","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T23:26:58+00:00] [req:36a3a719] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-843a-7461-ce4c-3fd79fa5a327","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:26:58+00:00] [req:36a3a719] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-843a-7461-ce4c-3fd79fa5a327"}
[2026-05-17T23:26:58+00:00] [req:36a3a719] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-17T23:26:58+00:00] [req:36a3a719] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-17T23:26:58+00:00] [req:36a3a719] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-843a-7461-ce4c-3fd79fa5a327","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-17T23:49:10+00:00] [req:632c39c3] [org:-] XeroController::getCredentials() {"org_id":"019ccf64-a906-7578-a58d-24f2169d1bf5"}
[2026-05-17T23:49:10+00:00] [req:632c39c3] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T00:38:28+00:00] [req:721ea1d0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-880d-76d1-7af0-ffc169b7ed8d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T00:38:28+00:00] [req:721ea1d0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-880d-76d1-7af0-ffc169b7ed8d"}
[2026-05-18T00:38:28+00:00] [req:721ea1d0] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T00:38:28+00:00] [req:721ea1d0] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T00:38:28+00:00] [req:721ea1d0] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-880d-76d1-7af0-ffc169b7ed8d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T00:39:11+00:00] [req:11b40266] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-8857-7734-f987-0c1ab658c2c6","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T00:39:11+00:00] [req:11b40266] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-8857-7734-f987-0c1ab658c2c6"}
[2026-05-18T00:39:11+00:00] [req:11b40266] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T00:39:11+00:00] [req:11b40266] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T00:39:11+00:00] [req:11b40266] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-8857-7734-f987-0c1ab658c2c6","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T00:45:07+00:00] [req:33a88cd0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-88b3-7233-ccd2-45c6433109d5","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T00:45:07+00:00] [req:33a88cd0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-88b3-7233-ccd2-45c6433109d5"}
[2026-05-18T00:45:07+00:00] [req:33a88cd0] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T00:45:07+00:00] [req:33a88cd0] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T00:45:07+00:00] [req:33a88cd0] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-88b3-7233-ccd2-45c6433109d5","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T00:46:25+00:00] [req:913e7f0c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-88c1-7a90-1c0f-a3c8a1b6cbad","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T00:46:25+00:00] [req:913e7f0c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-88c1-7a90-1c0f-a3c8a1b6cbad"}
[2026-05-18T00:46:25+00:00] [req:913e7f0c] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T00:46:25+00:00] [req:913e7f0c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T00:46:25+00:00] [req:913e7f0c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-88c1-7a90-1c0f-a3c8a1b6cbad","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T00:47:02+00:00] [req:99ad2bbc] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-88cf-714f-1f56-26877a82d1e7","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T00:47:02+00:00] [req:99ad2bbc] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-88cf-714f-1f56-26877a82d1e7"}
[2026-05-18T00:47:02+00:00] [req:99ad2bbc] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T00:47:02+00:00] [req:99ad2bbc] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T00:47:02+00:00] [req:99ad2bbc] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-88cf-714f-1f56-26877a82d1e7","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T00:47:56+00:00] [req:e3b720d2] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-88dc-7431-0380-053982d9eaa2","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T00:47:56+00:00] [req:e3b720d2] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-88dc-7431-0380-053982d9eaa2"}
[2026-05-18T00:47:56+00:00] [req:e3b720d2] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T00:47:56+00:00] [req:e3b720d2] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T00:47:56+00:00] [req:e3b720d2] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-88dc-7431-0380-053982d9eaa2","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T00:51:15+00:00] [req:d785709c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-890d-7087-28d0-897e2525ea9a","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T00:51:15+00:00] [req:d785709c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-890d-7087-28d0-897e2525ea9a"}
[2026-05-18T00:51:15+00:00] [req:d785709c] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T00:51:15+00:00] [req:d785709c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T00:51:15+00:00] [req:d785709c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-890d-7087-28d0-897e2525ea9a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T00:53:01+00:00] [req:13b25cc2] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-8926-7ab6-6f37-f3da9aaad041","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T00:53:01+00:00] [req:13b25cc2] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-8926-7ab6-6f37-f3da9aaad041"}
[2026-05-18T00:53:01+00:00] [req:13b25cc2] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T00:53:01+00:00] [req:13b25cc2] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T00:53:01+00:00] [req:13b25cc2] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-8926-7ab6-6f37-f3da9aaad041","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T00:57:17+00:00] [req:4e33b802] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-8965-7495-647d-f8bf03368afd","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T00:57:17+00:00] [req:4e33b802] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-8965-7495-647d-f8bf03368afd"}
[2026-05-18T00:57:17+00:00] [req:4e33b802] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T00:57:17+00:00] [req:4e33b802] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T00:57:17+00:00] [req:4e33b802] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-8965-7495-647d-f8bf03368afd","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T00:59:11+00:00] [req:c30d98ab] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-8981-72be-561b-31522194f7f6","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T00:59:11+00:00] [req:c30d98ab] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-8981-72be-561b-31522194f7f6"}
[2026-05-18T00:59:11+00:00] [req:c30d98ab] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T00:59:11+00:00] [req:c30d98ab] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T00:59:11+00:00] [req:c30d98ab] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-8981-72be-561b-31522194f7f6","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T01:04:33+00:00] [req:ee43674a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-89ca-7795-3dff-54ad537c969c","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T01:04:33+00:00] [req:ee43674a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-89ca-7795-3dff-54ad537c969c"}
[2026-05-18T01:04:33+00:00] [req:ee43674a] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T01:04:33+00:00] [req:ee43674a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T01:04:33+00:00] [req:ee43674a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-89ca-7795-3dff-54ad537c969c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T01:21:51+00:00] [req:b1a3ce89] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-8acc-7d96-392d-45e46feadcda","org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-18T01:21:51+00:00] [req:b1a3ce89] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019e3-8acc-7d96-392d-45e46feadcda"}
[2026-05-18T01:21:51+00:00] [req:b1a3ce89] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778648941,"now":1779067311}
[2026-05-18T01:21:51+00:00] [req:b1a3ce89] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-18T01:21:51+00:00] [req:b1a3ce89] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-18T01:21:51+00:00] [req:b1a3ce89] [org:-] refreshAccessToken() called {"refresh_token":"14F8aJ…[33]…LRpk"}
[2026-05-18T01:21:51+00:00] [req:b1a3ce89] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"14F8aJ…[33]…LRpk"}}
[2026-05-18T01:21:51+00:00] [req:b1a3ce89] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-05-18T01:21:51+00:00] [req:b1a3ce89] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-05-18T01:21:51+00:00] [req:b1a3ce89] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-05-18T01:21:51+00:00] [req:b1a3ce89] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T01:21:51+00:00] [req:b1a3ce89] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-8acc-7d96-392d-45e46feadcda","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T02:04:07+00:00] [req:997f1e6e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-8d38-7af3-b0c1-cf27c522bd7a","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T02:04:07+00:00] [req:997f1e6e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-8d38-7af3-b0c1-cf27c522bd7a"}
[2026-05-18T02:04:07+00:00] [req:997f1e6e] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T02:04:07+00:00] [req:997f1e6e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T02:04:07+00:00] [req:997f1e6e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-8d38-7af3-b0c1-cf27c522bd7a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T02:05:50+00:00] [req:0c0a52f4] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-8d51-7aa1-2202-2c0c9d61a0fc","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T02:05:50+00:00] [req:0c0a52f4] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-8d51-7aa1-2202-2c0c9d61a0fc"}
[2026-05-18T02:05:50+00:00] [req:0c0a52f4] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T02:05:50+00:00] [req:0c0a52f4] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T02:05:50+00:00] [req:0c0a52f4] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-8d51-7aa1-2202-2c0c9d61a0fc","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T02:08:58+00:00] [req:bf9e5d31] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-8d7f-78d3-6dac-c62244a475cf","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T02:08:58+00:00] [req:bf9e5d31] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-8d7f-78d3-6dac-c62244a475cf"}
[2026-05-18T02:08:58+00:00] [req:bf9e5d31] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T02:08:58+00:00] [req:bf9e5d31] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T02:08:58+00:00] [req:bf9e5d31] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-8d7f-78d3-6dac-c62244a475cf","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T02:21:05+00:00] [req:48e79e59] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-8e30-7eb4-db11-ef1223a0779b","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T02:21:05+00:00] [req:48e79e59] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-8e30-7eb4-db11-ef1223a0779b"}
[2026-05-18T02:21:05+00:00] [req:48e79e59] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T02:21:05+00:00] [req:48e79e59] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T02:21:05+00:00] [req:48e79e59] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-8e30-7eb4-db11-ef1223a0779b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T05:49:18+00:00] [req:bf0154c0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-9a1a-7b05-d407-a9c9533a21c3","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T05:49:18+00:00] [req:bf0154c0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-9a1a-7b05-d407-a9c9533a21c3"}
[2026-05-18T05:49:18+00:00] [req:bf0154c0] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T05:49:18+00:00] [req:bf0154c0] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T05:49:18+00:00] [req:bf0154c0] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-9a1a-7b05-d407-a9c9533a21c3","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T07:52:19+00:00] [req:945ceb11] [org:-] XeroController::getCredentials() {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-05-18T07:52:19+00:00] [req:945ceb11] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T07:52:21+00:00] [req:352caf17] [org:-] XeroController::getCredentials() {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-05-18T07:52:21+00:00] [req:352caf17] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T17:56:45+00:00] [req:8eb6541f] [org:-] XeroController::getCredentials() {"org_id":"019d9560-be3a-7cfb-d06c-05d9db3c768e"}
[2026-05-18T17:56:45+00:00] [req:8eb6541f] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T17:56:46+00:00] [req:b4963525] [org:-] XeroController::getCredentials() {"org_id":"019d9560-be3a-7cfb-d06c-05d9db3c768e"}
[2026-05-18T17:56:46+00:00] [req:b4963525] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T17:56:48+00:00] [req:09cdee85] [org:-] XeroController::getCredentials() {"org_id":"019d9560-be3a-7cfb-d06c-05d9db3c768e"}
[2026-05-18T17:56:48+00:00] [req:09cdee85] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T20:39:24+00:00] [req:2abbd52a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-cd09-7712-ae79-0faac2e30efc","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:39:24+00:00] [req:2abbd52a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-cd09-7712-ae79-0faac2e30efc"}
[2026-05-18T20:39:24+00:00] [req:2abbd52a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:39:24+00:00] [req:2abbd52a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T20:39:24+00:00] [req:2abbd52a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-cd09-7712-ae79-0faac2e30efc","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T20:41:16+00:00] [req:2be8ba94] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-cd15-7c97-6bcf-b811819ee249","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:41:16+00:00] [req:2be8ba94] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-cd15-7c97-6bcf-b811819ee249"}
[2026-05-18T20:41:16+00:00] [req:2be8ba94] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:41:16+00:00] [req:2be8ba94] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T20:41:16+00:00] [req:2be8ba94] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-cd15-7c97-6bcf-b811819ee249","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T20:42:16+00:00] [req:10375a81] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-cd27-71e8-9fe2-46cc8500c4f7","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:42:16+00:00] [req:10375a81] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-cd27-71e8-9fe2-46cc8500c4f7"}
[2026-05-18T20:42:16+00:00] [req:10375a81] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:42:16+00:00] [req:10375a81] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T20:42:16+00:00] [req:10375a81] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-cd27-71e8-9fe2-46cc8500c4f7","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T20:42:16+00:00] [req:10375a81] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-cd33-7679-f8f8-eef5d0f80ce3","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:42:16+00:00] [req:10375a81] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-cd33-7679-f8f8-eef5d0f80ce3"}
[2026-05-18T20:42:16+00:00] [req:10375a81] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:42:16+00:00] [req:10375a81] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T20:42:16+00:00] [req:10375a81] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-cd33-7679-f8f8-eef5d0f80ce3","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T20:45:38+00:00] [req:d38820a0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-cd64-7cca-1240-d38c1fe7475e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:45:38+00:00] [req:d38820a0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-cd64-7cca-1240-d38c1fe7475e"}
[2026-05-18T20:45:38+00:00] [req:d38820a0] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:45:38+00:00] [req:d38820a0] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T20:45:38+00:00] [req:d38820a0] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-cd64-7cca-1240-d38c1fe7475e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T20:51:02+00:00] [req:859bd20e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-cda5-7832-82f3-cdb762496179","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:51:02+00:00] [req:859bd20e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-cda5-7832-82f3-cdb762496179"}
[2026-05-18T20:51:02+00:00] [req:859bd20e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:51:02+00:00] [req:859bd20e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T20:51:02+00:00] [req:859bd20e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-cda5-7832-82f3-cdb762496179","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T20:53:25+00:00] [req:71020905] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-cdcf-708f-e031-52a0f1f5a4f4","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:53:25+00:00] [req:71020905] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-cdcf-708f-e031-52a0f1f5a4f4"}
[2026-05-18T20:53:25+00:00] [req:71020905] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:53:25+00:00] [req:71020905] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T20:53:25+00:00] [req:71020905] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-cdcf-708f-e031-52a0f1f5a4f4","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T20:53:25+00:00] [req:71020905] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-cdd6-7c78-98c0-1bd3b012edf3","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:53:25+00:00] [req:71020905] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-cdd6-7c78-98c0-1bd3b012edf3"}
[2026-05-18T20:53:25+00:00] [req:71020905] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:53:25+00:00] [req:71020905] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T20:53:25+00:00] [req:71020905] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-cdd6-7c78-98c0-1bd3b012edf3","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T20:56:57+00:00] [req:ecfaedc8] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-ce0a-798f-dd7e-a6b1a33aa7c4","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:56:57+00:00] [req:ecfaedc8] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-ce0a-798f-dd7e-a6b1a33aa7c4"}
[2026-05-18T20:56:57+00:00] [req:ecfaedc8] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:56:57+00:00] [req:ecfaedc8] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T20:56:57+00:00] [req:ecfaedc8] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-ce0a-798f-dd7e-a6b1a33aa7c4","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T20:57:40+00:00] [req:f902c030] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-ce14-7da8-4fd4-67fa8f0e96b7","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:57:40+00:00] [req:f902c030] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-ce14-7da8-4fd4-67fa8f0e96b7"}
[2026-05-18T20:57:40+00:00] [req:f902c030] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T20:57:40+00:00] [req:f902c030] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T20:57:40+00:00] [req:f902c030] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-ce14-7da8-4fd4-67fa8f0e96b7","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T21:00:23+00:00] [req:f201fdf4] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-ce2f-7bba-50b3-95798ca49e1a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T21:00:23+00:00] [req:f201fdf4] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-ce2f-7bba-50b3-95798ca49e1a"}
[2026-05-18T21:00:23+00:00] [req:f201fdf4] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T21:00:23+00:00] [req:f201fdf4] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T21:00:23+00:00] [req:f201fdf4] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-ce2f-7bba-50b3-95798ca49e1a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T21:00:23+00:00] [req:f201fdf4] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-ce3c-7d47-c582-218df65b1107","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T21:00:23+00:00] [req:f201fdf4] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-ce3c-7d47-c582-218df65b1107"}
[2026-05-18T21:00:23+00:00] [req:f201fdf4] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T21:00:23+00:00] [req:f201fdf4] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T21:00:23+00:00] [req:f201fdf4] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-ce3c-7d47-c582-218df65b1107","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T21:03:16+00:00] [req:4ff0a890] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-ce66-7e88-8fb3-1b8bc8256405","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T21:03:16+00:00] [req:4ff0a890] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-ce66-7e88-8fb3-1b8bc8256405"}
[2026-05-18T21:03:16+00:00] [req:4ff0a890] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-18T21:03:16+00:00] [req:4ff0a890] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T21:03:16+00:00] [req:4ff0a890] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-ce66-7e88-8fb3-1b8bc8256405","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T22:12:03+00:00] [req:d1ecfcd3] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:03+00:00] [req:d1ecfcd3] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:12:06+00:00] [req:3ddc5849] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:06+00:00] [req:3ddc5849] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:12:07+00:00] [req:ff8df7cd] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:07+00:00] [req:ff8df7cd] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:12:09+00:00] [req:0c738ba7] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:09+00:00] [req:0c738ba7] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:12:10+00:00] [req:32118200] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:10+00:00] [req:32118200] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:12:13+00:00] [req:f82bc2c8] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:13+00:00] [req:f82bc2c8] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:12:14+00:00] [req:dddecabc] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:14+00:00] [req:dddecabc] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:12:15+00:00] [req:f454c32d] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:15+00:00] [req:f454c32d] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:12:15+00:00] [req:41a2f2ff] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:15+00:00] [req:41a2f2ff] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:12:16+00:00] [req:5807cff1] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:16+00:00] [req:5807cff1] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:12:17+00:00] [req:43618591] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:17+00:00] [req:43618591] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:12:18+00:00] [req:75ce26ea] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:18+00:00] [req:75ce26ea] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:12:18+00:00] [req:d3eb0106] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:18+00:00] [req:d3eb0106] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:12:18+00:00] [req:eb504883] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:18+00:00] [req:eb504883] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:12:18+00:00] [req:e2a0e486] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:18+00:00] [req:e2a0e486] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:12:19+00:00] [req:48352a25] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:19+00:00] [req:48352a25] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:12:19+00:00] [req:9a891129] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:19+00:00] [req:9a891129] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:12:19+00:00] [req:5a3eec71] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:19+00:00] [req:5a3eec71] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:12:20+00:00] [req:232f68e9] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:20+00:00] [req:232f68e9] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:12:20+00:00] [req:114109e2] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-05-18T22:12:20+00:00] [req:114109e2] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-18T22:13:46+00:00] [req:bec6733b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-d26f-7d9c-2de0-e0447043c12e","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T22:13:46+00:00] [req:bec6733b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-d26f-7d9c-2de0-e0447043c12e"}
[2026-05-18T22:13:46+00:00] [req:bec6733b] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T22:13:46+00:00] [req:bec6733b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T22:13:46+00:00] [req:bec6733b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-d26f-7d9c-2de0-e0447043c12e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T22:47:03+00:00] [req:5037c815] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-d457-7a43-e7b6-6748505059cf","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T22:47:03+00:00] [req:5037c815] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-d457-7a43-e7b6-6748505059cf"}
[2026-05-18T22:47:03+00:00] [req:5037c815] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T22:47:03+00:00] [req:5037c815] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T22:47:03+00:00] [req:5037c815] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-d457-7a43-e7b6-6748505059cf","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T23:15:49+00:00] [req:5c089937] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-d5fc-7cc5-69ae-adf156cbc975","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T23:15:49+00:00] [req:5c089937] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-d5fc-7cc5-69ae-adf156cbc975"}
[2026-05-18T23:15:49+00:00] [req:5c089937] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T23:15:49+00:00] [req:5c089937] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T23:15:49+00:00] [req:5c089937] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-d5fc-7cc5-69ae-adf156cbc975","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T23:31:12+00:00] [req:4f19c02d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-d6de-7345-92c3-86e67f80a843","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T23:31:12+00:00] [req:4f19c02d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-d6de-7345-92c3-86e67f80a843"}
[2026-05-18T23:31:12+00:00] [req:4f19c02d] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T23:31:12+00:00] [req:4f19c02d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T23:31:12+00:00] [req:4f19c02d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-d6de-7345-92c3-86e67f80a843","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T23:34:16+00:00] [req:d3137653] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-d70b-74b6-6c05-2c2398103dd6","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T23:34:16+00:00] [req:d3137653] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-d70b-74b6-6c05-2c2398103dd6"}
[2026-05-18T23:34:16+00:00] [req:d3137653] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T23:34:16+00:00] [req:d3137653] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T23:34:16+00:00] [req:d3137653] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-d70b-74b6-6c05-2c2398103dd6","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T23:39:15+00:00] [req:2360eb79] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-d754-72b5-3905-12ab67f8810d","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T23:39:15+00:00] [req:2360eb79] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-d754-72b5-3905-12ab67f8810d"}
[2026-05-18T23:39:15+00:00] [req:2360eb79] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T23:39:15+00:00] [req:2360eb79] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T23:39:15+00:00] [req:2360eb79] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-d754-72b5-3905-12ab67f8810d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-18T23:42:17+00:00] [req:f18852e5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-d780-77e0-4df3-d2a254c2e983","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T23:42:17+00:00] [req:f18852e5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-d780-77e0-4df3-d2a254c2e983"}
[2026-05-18T23:42:17+00:00] [req:f18852e5] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-18T23:42:17+00:00] [req:f18852e5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-18T23:42:17+00:00] [req:f18852e5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-d780-77e0-4df3-d2a254c2e983","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T00:06:38+00:00] [req:26d5d05d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-d8e5-7129-6769-f67e4f27d131","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T00:06:38+00:00] [req:26d5d05d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-d8e5-7129-6769-f67e4f27d131"}
[2026-05-19T00:06:38+00:00] [req:26d5d05d] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T00:06:38+00:00] [req:26d5d05d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T00:06:38+00:00] [req:26d5d05d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-d8e5-7129-6769-f67e4f27d131","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T00:13:43+00:00] [req:5f6fc66a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-d94d-71b8-eb0b-a9715fa48f22","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T00:13:43+00:00] [req:5f6fc66a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-d94d-71b8-eb0b-a9715fa48f22"}
[2026-05-19T00:13:43+00:00] [req:5f6fc66a] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T00:13:43+00:00] [req:5f6fc66a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T00:13:43+00:00] [req:5f6fc66a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-d94d-71b8-eb0b-a9715fa48f22","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T00:24:59+00:00] [req:517a0e15] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-d9f2-70bf-df18-f0b073411295","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T00:24:59+00:00] [req:517a0e15] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-d9f2-70bf-df18-f0b073411295"}
[2026-05-19T00:24:59+00:00] [req:517a0e15] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T00:24:59+00:00] [req:517a0e15] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T00:24:59+00:00] [req:517a0e15] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-d9f2-70bf-df18-f0b073411295","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T00:27:18+00:00] [req:01e7e37e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-da13-7c65-04b4-92abb1fad0c9","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T00:27:18+00:00] [req:01e7e37e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-da13-7c65-04b4-92abb1fad0c9"}
[2026-05-19T00:27:18+00:00] [req:01e7e37e] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T00:27:18+00:00] [req:01e7e37e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T00:27:18+00:00] [req:01e7e37e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-da13-7c65-04b4-92abb1fad0c9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T00:35:44+00:00] [req:8c3021c7] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-da8f-7504-61ab-54212e5676f8","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T00:35:44+00:00] [req:8c3021c7] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-da8f-7504-61ab-54212e5676f8"}
[2026-05-19T00:35:44+00:00] [req:8c3021c7] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T00:35:44+00:00] [req:8c3021c7] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T00:35:44+00:00] [req:8c3021c7] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-da8f-7504-61ab-54212e5676f8","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T00:41:56+00:00] [req:9c67a1d1] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-daea-71a5-4be9-eaad27772c36","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T00:41:56+00:00] [req:9c67a1d1] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-daea-71a5-4be9-eaad27772c36"}
[2026-05-19T00:41:56+00:00] [req:9c67a1d1] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T00:41:56+00:00] [req:9c67a1d1] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T00:41:56+00:00] [req:9c67a1d1] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-daea-71a5-4be9-eaad27772c36","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T00:44:42+00:00] [req:31e129bb] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-db12-799b-10dd-3e86ce8774bb","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T00:44:42+00:00] [req:31e129bb] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-db12-799b-10dd-3e86ce8774bb"}
[2026-05-19T00:44:42+00:00] [req:31e129bb] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T00:44:42+00:00] [req:31e129bb] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T00:44:42+00:00] [req:31e129bb] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-db12-799b-10dd-3e86ce8774bb","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T01:00:11+00:00] [req:2503b3ed] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-dbf5-77a8-52ac-661f2632c108","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T01:00:11+00:00] [req:2503b3ed] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-dbf5-77a8-52ac-661f2632c108"}
[2026-05-19T01:00:11+00:00] [req:2503b3ed] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T01:00:11+00:00] [req:2503b3ed] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T01:00:11+00:00] [req:2503b3ed] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-dbf5-77a8-52ac-661f2632c108","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T01:03:44+00:00] [req:50cc4728] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-dc29-7943-c840-77aa5823380b","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T01:03:44+00:00] [req:50cc4728] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-dc29-7943-c840-77aa5823380b"}
[2026-05-19T01:03:44+00:00] [req:50cc4728] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T01:03:44+00:00] [req:50cc4728] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T01:03:44+00:00] [req:50cc4728] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-dc29-7943-c840-77aa5823380b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T01:06:52+00:00] [req:fea47b3e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-dc57-7937-e960-b3768990e058","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T01:06:52+00:00] [req:fea47b3e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e3-dc57-7937-e960-b3768990e058"}
[2026-05-19T01:06:52+00:00] [req:fea47b3e] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-05-19T01:06:52+00:00] [req:fea47b3e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T01:06:52+00:00] [req:fea47b3e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-dc57-7937-e960-b3768990e058","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T04:54:46+00:00] [req:4ea25280] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-e956-79cc-3228-427a81198825","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T04:54:46+00:00] [req:4ea25280] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-e956-79cc-3228-427a81198825"}
[2026-05-19T04:54:46+00:00] [req:4ea25280] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T04:54:46+00:00] [req:4ea25280] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T04:54:46+00:00] [req:4ea25280] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-e956-79cc-3228-427a81198825","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T04:54:46+00:00] [req:4ea25280] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-e961-7e20-e4be-bc100e026e38","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T04:54:46+00:00] [req:4ea25280] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-e961-7e20-e4be-bc100e026e38"}
[2026-05-19T04:54:46+00:00] [req:4ea25280] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T04:54:46+00:00] [req:4ea25280] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T04:54:46+00:00] [req:4ea25280] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-e961-7e20-e4be-bc100e026e38","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T06:19:49+00:00] [req:59a23d0c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-ee3f-7acc-7fff-c1216651df01","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:19:49+00:00] [req:59a23d0c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-ee3f-7acc-7fff-c1216651df01"}
[2026-05-19T06:19:49+00:00] [req:59a23d0c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:19:49+00:00] [req:59a23d0c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T06:19:49+00:00] [req:59a23d0c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-ee3f-7acc-7fff-c1216651df01","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T06:21:29+00:00] [req:0d73acac] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-ee53-738c-45f9-e66e65589299","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:21:29+00:00] [req:0d73acac] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-ee53-738c-45f9-e66e65589299"}
[2026-05-19T06:21:29+00:00] [req:0d73acac] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:21:29+00:00] [req:0d73acac] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T06:21:29+00:00] [req:0d73acac] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-ee53-738c-45f9-e66e65589299","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T06:24:25+00:00] [req:25877e56] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-ee75-79de-4d70-f154f626d358","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:24:25+00:00] [req:25877e56] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-ee75-79de-4d70-f154f626d358"}
[2026-05-19T06:24:25+00:00] [req:25877e56] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:24:25+00:00] [req:25877e56] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T06:24:25+00:00] [req:25877e56] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-ee75-79de-4d70-f154f626d358","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T06:26:07+00:00] [req:81204cd5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-ee8c-73ff-93db-b822a022712b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:26:07+00:00] [req:81204cd5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-ee8c-73ff-93db-b822a022712b"}
[2026-05-19T06:26:07+00:00] [req:81204cd5] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:26:07+00:00] [req:81204cd5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T06:26:07+00:00] [req:81204cd5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-ee8c-73ff-93db-b822a022712b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T06:26:07+00:00] [req:81204cd5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-ee92-79d0-4536-391526ba571f","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:26:07+00:00] [req:81204cd5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-ee92-79d0-4536-391526ba571f"}
[2026-05-19T06:26:07+00:00] [req:81204cd5] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:26:07+00:00] [req:81204cd5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T06:26:07+00:00] [req:81204cd5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-ee92-79d0-4536-391526ba571f","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T06:26:07+00:00] [req:81204cd5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-ee9b-7f20-b5f7-64a0a09e6ce0","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:26:07+00:00] [req:81204cd5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-ee9b-7f20-b5f7-64a0a09e6ce0"}
[2026-05-19T06:26:07+00:00] [req:81204cd5] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:26:07+00:00] [req:81204cd5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T06:26:07+00:00] [req:81204cd5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-ee9b-7f20-b5f7-64a0a09e6ce0","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T06:27:06+00:00] [req:5550d0e8] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-eea9-7f88-054b-e4c2b1854634","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:27:06+00:00] [req:5550d0e8] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-eea9-7f88-054b-e4c2b1854634"}
[2026-05-19T06:27:06+00:00] [req:5550d0e8] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:27:06+00:00] [req:5550d0e8] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T06:27:06+00:00] [req:5550d0e8] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-eea9-7f88-054b-e4c2b1854634","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T06:30:02+00:00] [req:c20e0932] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-eec0-7181-5e48-0f4621c7aee6","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:30:02+00:00] [req:c20e0932] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-eec0-7181-5e48-0f4621c7aee6"}
[2026-05-19T06:30:02+00:00] [req:c20e0932] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:30:02+00:00] [req:c20e0932] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T06:30:02+00:00] [req:c20e0932] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-eec0-7181-5e48-0f4621c7aee6","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T06:32:35+00:00] [req:e7376e68] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-eee3-73b1-ad23-be705f68ac0d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:32:35+00:00] [req:e7376e68] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-eee3-73b1-ad23-be705f68ac0d"}
[2026-05-19T06:32:35+00:00] [req:e7376e68] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:32:35+00:00] [req:e7376e68] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T06:32:35+00:00] [req:e7376e68] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-eee3-73b1-ad23-be705f68ac0d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T06:32:35+00:00] [req:e7376e68] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-eee7-7fa0-843a-a6d8e05e7bd5","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:32:35+00:00] [req:e7376e68] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-eee7-7fa0-843a-a6d8e05e7bd5"}
[2026-05-19T06:32:35+00:00] [req:e7376e68] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:32:35+00:00] [req:e7376e68] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T06:32:35+00:00] [req:e7376e68] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-eee7-7fa0-843a-a6d8e05e7bd5","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T06:32:35+00:00] [req:e7376e68] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-eeed-7501-7f38-781299d5bd90","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:32:35+00:00] [req:e7376e68] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-eeed-7501-7f38-781299d5bd90"}
[2026-05-19T06:32:35+00:00] [req:e7376e68] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:32:35+00:00] [req:e7376e68] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T06:32:35+00:00] [req:e7376e68] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-eeed-7501-7f38-781299d5bd90","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T06:34:34+00:00] [req:09b67968] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-eefe-7049-8c19-9b009769f796","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:34:34+00:00] [req:09b67968] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-eefe-7049-8c19-9b009769f796"}
[2026-05-19T06:34:34+00:00] [req:09b67968] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:34:34+00:00] [req:09b67968] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T06:34:34+00:00] [req:09b67968] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-eefe-7049-8c19-9b009769f796","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T06:34:34+00:00] [req:09b67968] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-ef08-7d27-c411-eda7d5a695bd","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:34:34+00:00] [req:09b67968] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-ef08-7d27-c411-eda7d5a695bd"}
[2026-05-19T06:34:34+00:00] [req:09b67968] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:34:34+00:00] [req:09b67968] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T06:34:34+00:00] [req:09b67968] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-ef08-7d27-c411-eda7d5a695bd","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T06:37:42+00:00] [req:d318a135] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-ef34-7af0-4971-6319613636d5","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:37:42+00:00] [req:d318a135] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-ef34-7af0-4971-6319613636d5"}
[2026-05-19T06:37:42+00:00] [req:d318a135] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:37:42+00:00] [req:d318a135] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T06:37:42+00:00] [req:d318a135] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-ef34-7af0-4971-6319613636d5","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T06:37:42+00:00] [req:d318a135] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-ef45-75c1-dd71-93c4bc0d0c04","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:37:42+00:00] [req:d318a135] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-ef45-75c1-dd71-93c4bc0d0c04"}
[2026-05-19T06:37:42+00:00] [req:d318a135] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:37:42+00:00] [req:d318a135] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T06:37:42+00:00] [req:d318a135] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-ef45-75c1-dd71-93c4bc0d0c04","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T06:39:56+00:00] [req:0b276279] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-ef66-7467-e229-5fe3eb67ab6b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:39:56+00:00] [req:0b276279] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-ef66-7467-e229-5fe3eb67ab6b"}
[2026-05-19T06:39:56+00:00] [req:0b276279] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:39:56+00:00] [req:0b276279] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T06:39:56+00:00] [req:0b276279] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-ef66-7467-e229-5fe3eb67ab6b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T06:43:08+00:00] [req:157ac7af] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-ef95-734c-b180-713cb495f507","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:43:08+00:00] [req:157ac7af] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-ef95-734c-b180-713cb495f507"}
[2026-05-19T06:43:08+00:00] [req:157ac7af] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:43:08+00:00] [req:157ac7af] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T06:43:08+00:00] [req:157ac7af] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-ef95-734c-b180-713cb495f507","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T06:45:14+00:00] [req:6c8e7caf] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-efa4-73db-469c-46d2019df703","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:45:14+00:00] [req:6c8e7caf] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-efa4-73db-469c-46d2019df703"}
[2026-05-19T06:45:14+00:00] [req:6c8e7caf] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:45:14+00:00] [req:6c8e7caf] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T06:45:14+00:00] [req:6c8e7caf] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-efa4-73db-469c-46d2019df703","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T06:50:39+00:00] [req:d84dc7cd] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-efeb-7958-a00b-802bfb947d6e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:50:39+00:00] [req:d84dc7cd] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-efeb-7958-a00b-802bfb947d6e"}
[2026-05-19T06:50:39+00:00] [req:d84dc7cd] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T06:50:39+00:00] [req:d84dc7cd] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T06:50:39+00:00] [req:d84dc7cd] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-efeb-7958-a00b-802bfb947d6e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T07:00:33+00:00] [req:247d86c0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-f094-724b-66a7-ecddec32cc92","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T07:00:33+00:00] [req:247d86c0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-f094-724b-66a7-ecddec32cc92"}
[2026-05-19T07:00:33+00:00] [req:247d86c0] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T07:00:33+00:00] [req:247d86c0] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T07:00:33+00:00] [req:247d86c0] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-f094-724b-66a7-ecddec32cc92","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T07:01:11+00:00] [req:c62d89be] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-f09c-7130-0dd7-fd4e9925c273","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T07:01:11+00:00] [req:c62d89be] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-f09c-7130-0dd7-fd4e9925c273"}
[2026-05-19T07:01:11+00:00] [req:c62d89be] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T07:01:11+00:00] [req:c62d89be] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T07:01:11+00:00] [req:c62d89be] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-f09c-7130-0dd7-fd4e9925c273","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T07:03:01+00:00] [req:db8d26e0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e3-f0a3-72d0-9a84-8be0dab1947b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T07:03:01+00:00] [req:db8d26e0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e3-f0a3-72d0-9a84-8be0dab1947b"}
[2026-05-19T07:03:01+00:00] [req:db8d26e0] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T07:03:01+00:00] [req:db8d26e0] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T07:03:01+00:00] [req:db8d26e0] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e3-f0a3-72d0-9a84-8be0dab1947b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T09:57:48+00:00] [req:ae7baa0d] [org:-] XeroController::getCredentials() {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b"}
[2026-05-19T09:57:48+00:00] [req:ae7baa0d] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-19T09:57:52+00:00] [req:c91c0b8a] [org:-] XeroController::testConnection() entered {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b"}
[2026-05-19T09:57:52+00:00] [req:c91c0b8a] [org:-] testConnection() reports not connected
[2026-05-19T09:58:08+00:00] [req:7149c429] [org:-] XeroController::initiateOAuth() entered {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b","session_id":"gm557irl740drln2jicurb37h0"}
[2026-05-19T09:58:08+00:00] [req:7149c429] [org:-] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-19T09:58:08+00:00] [req:7149c429] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] initiateOAuth() stored org_id in session
[2026-05-19T09:58:08+00:00] [req:7149c429] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-19T09:58:08+00:00] [req:7149c429] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] getAuthorizationUrl() called
[2026-05-19T09:58:08+00:00] [req:7149c429] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] PKCE + state generated {"verifier_redacted":"PFbn_J…[33]…g8lM","challenge_redacted":"CxmRm5…[33]…cExk","state":"b45ea423dbd1cfd5dfbf0ae0b9bd668a","session_id":"gm557irl740drln2jicurb37h0"}
[2026-05-19T09:58:08+00:00] [req:7149c429] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=test123&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=b45ea423dbd1cfd5dfbf0ae0b9bd668a&code_challenge=CxmRm5W88_8A5eaWYA1rjqBI2aQDnpXzLlQQ6ifcExk&code_challenge_method=S256","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-19T09:58:08+00:00] [req:7149c429] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=test123&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=b45ea423dbd1cfd5dfbf0ae0b9bd668a&code_challenge=CxmRm5W88_8A5eaWYA1rjqBI2aQDnpXzLlQQ6ifcExk&code_challenge_method=S256"}
[2026-05-19T09:58:36+00:00] [req:5b81892f] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] XeroController::getCredentials() {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b"}
[2026-05-19T09:58:36+00:00] [req:5b81892f] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-19T09:58:39+00:00] [req:5bd5ab10] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] XeroController::testConnection() entered {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b"}
[2026-05-19T09:58:39+00:00] [req:5bd5ab10] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] testConnection() reports not connected
[2026-05-19T09:59:22+00:00] [req:662feb01] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] XeroController::initiateOAuth() entered {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b","session_id":"gm557irl740drln2jicurb37h0"}
[2026-05-19T09:59:22+00:00] [req:662feb01] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] initiateOAuth() config resolved {"has_client_id":true,"has_client_secret":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-19T09:59:22+00:00] [req:662feb01] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] initiateOAuth() stored org_id in session
[2026-05-19T09:59:22+00:00] [req:662feb01] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-19T09:59:22+00:00] [req:662feb01] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] getAuthorizationUrl() called
[2026-05-19T09:59:22+00:00] [req:662feb01] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] PKCE + state generated {"verifier_redacted":"7mDUkf…[33]…DDK4","challenge_redacted":"rr_FXs…[33]…rjoM","state":"122b245e1b81bae39371884852f927cb","session_id":"gm557irl740drln2jicurb37h0"}
[2026-05-19T09:59:22+00:00] [req:662feb01] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] Authorization URL built {"url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=test123&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=122b245e1b81bae39371884852f927cb&code_challenge=rr_FXshL24DAjCBBCZsatHiIfXVavMCJbaJRXZQrjoM&code_challenge_method=S256","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-19T09:59:22+00:00] [req:662feb01] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] initiateOAuth() returning auth_url to client {"auth_url":"https://login.xero.com/identity/connect/authorize?response_type=code&client_id=test123&redirect_uri=https%3A%2F%2Fpos.cybexpte.com%2Fapi%2Foauth%2Fcallback.php&scope=offline_access+accounting.invoices+accounting.contacts+accounting.settings.read&state=122b245e1b81bae39371884852f927cb&code_challenge=rr_FXshL24DAjCBBCZsatHiIfXVavMCJbaJRXZQrjoM&code_challenge_method=S256"}
[2026-05-19T10:00:39+00:00] [req:febd370c] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] XeroController::getCredentials() {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b"}
[2026-05-19T10:00:39+00:00] [req:febd370c] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-19T10:00:42+00:00] [req:8a487692] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] XeroController::testConnection() entered {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b"}
[2026-05-19T10:00:42+00:00] [req:8a487692] [org:019c96e6-a9b5-7a73-865b-edb48639aa0b] testConnection() reports not connected
[2026-05-19T20:01:25+00:00] [req:55e0ee45] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-1d42-72b8-3da3-945c3054b5ff","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T20:01:25+00:00] [req:55e0ee45] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-1d42-72b8-3da3-945c3054b5ff"}
[2026-05-19T20:01:25+00:00] [req:55e0ee45] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T20:01:25+00:00] [req:55e0ee45] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T20:01:25+00:00] [req:55e0ee45] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-1d42-72b8-3da3-945c3054b5ff","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T20:01:57+00:00] [req:6321661d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-1d49-7ba9-324d-92e853f854a2","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T20:01:57+00:00] [req:6321661d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-1d49-7ba9-324d-92e853f854a2"}
[2026-05-19T20:01:57+00:00] [req:6321661d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T20:01:57+00:00] [req:6321661d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T20:01:57+00:00] [req:6321661d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-1d49-7ba9-324d-92e853f854a2","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-19T22:02:24+00:00] [req:bb439e60] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-241f-7c35-eb5d-b9ef30fcf572","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T22:02:24+00:00] [req:bb439e60] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-241f-7c35-eb5d-b9ef30fcf572"}
[2026-05-19T22:02:24+00:00] [req:bb439e60] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-19T22:02:24+00:00] [req:bb439e60] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-19T22:02:24+00:00] [req:bb439e60] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-241f-7c35-eb5d-b9ef30fcf572","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T00:05:55+00:00] [req:db6906de] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-2b3f-798d-ec82-5a86499bc80c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T00:05:55+00:00] [req:db6906de] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-2b3f-798d-ec82-5a86499bc80c"}
[2026-05-20T00:05:55+00:00] [req:db6906de] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T00:05:55+00:00] [req:db6906de] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T00:05:55+00:00] [req:db6906de] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-2b3f-798d-ec82-5a86499bc80c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T00:06:54+00:00] [req:3caf2b6a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-2b4e-7019-f013-457192547219","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T00:06:54+00:00] [req:3caf2b6a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-2b4e-7019-f013-457192547219"}
[2026-05-20T00:06:54+00:00] [req:3caf2b6a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T00:06:54+00:00] [req:3caf2b6a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T00:06:54+00:00] [req:3caf2b6a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-2b4e-7019-f013-457192547219","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T00:07:53+00:00] [req:b6951ac6] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-2b5c-7364-96c0-fa9b8011b03f","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T00:07:53+00:00] [req:b6951ac6] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-2b5c-7364-96c0-fa9b8011b03f"}
[2026-05-20T00:07:53+00:00] [req:b6951ac6] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T00:07:53+00:00] [req:b6951ac6] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T00:07:53+00:00] [req:b6951ac6] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-2b5c-7364-96c0-fa9b8011b03f","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T00:13:08+00:00] [req:ee031d47] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-2ba9-7395-a349-9808a98ace7a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T00:13:08+00:00] [req:ee031d47] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-2ba9-7395-a349-9808a98ace7a"}
[2026-05-20T00:13:08+00:00] [req:ee031d47] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T00:13:08+00:00] [req:ee031d47] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T00:13:08+00:00] [req:ee031d47] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-2ba9-7395-a349-9808a98ace7a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T01:45:03+00:00] [req:38ca79b6] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-30ec-79cd-f8f9-b958319f36bb","org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-05-20T01:45:03+00:00] [req:38ca79b6] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4","invoice_id":"000019e4-30ec-79cd-f8f9-b958319f36bb"}
[2026-05-20T01:45:03+00:00] [req:38ca79b6] [org:-] getValidAccessToken() — not connected {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-05-20T01:45:03+00:00] [req:38ca79b6] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T01:45:03+00:00] [req:38ca79b6] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-30ec-79cd-f8f9-b958319f36bb","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T01:48:33+00:00] [req:a594d680] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-311f-7bf5-143a-22c699991bbf","org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2"}
[2026-05-20T01:48:33+00:00] [req:a594d680] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2","invoice_id":"000019e4-311f-7bf5-143a-22c699991bbf"}
[2026-05-20T01:48:33+00:00] [req:a594d680] [org:-] getValidAccessToken() — not connected {"org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2"}
[2026-05-20T01:48:33+00:00] [req:a594d680] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T01:48:33+00:00] [req:a594d680] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-311f-7bf5-143a-22c699991bbf","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T02:39:50+00:00] [req:2ec30afa] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-340f-720d-c8b5-312636f062db","org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-20T02:39:50+00:00] [req:2ec30afa] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695","invoice_id":"000019e4-340f-720d-c8b5-312636f062db"}
[2026-05-20T02:39:50+00:00] [req:2ec30afa] [org:-] getValidAccessToken() — not connected {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-20T02:39:50+00:00] [req:2ec30afa] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T02:39:50+00:00] [req:2ec30afa] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-340f-720d-c8b5-312636f062db","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T03:48:56+00:00] [req:bab221b0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-3803-7484-6388-386329ece4db","org_id":"org_id"}
[2026-05-20T03:48:56+00:00] [req:bab221b0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"org_id","invoice_id":"000019e4-3803-7484-6388-386329ece4db"}
[2026-05-20T03:48:56+00:00] [req:bab221b0] [org:-] PostInvoiceToXeroStep caught exception {"invoice_id":"000019e4-3803-7484-6388-386329ece4db","org_id":"org_id","error":"SQL Error: SQLSTATE[22P02]: Invalid text representation: 7 ERROR:  invalid input syntax for type uuid: \"org_id\"\nCONTEXT:  unnamed portal parameter $1 = '...' | Query: SELECT settings FROM \"orgs\" WHERE \"org_id\" = ? LIMIT 1"}
[2026-05-20T06:20:01+00:00] [req:d0cc0285] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-40a7-772d-eca2-ed9f33f0e0ea","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T06:20:01+00:00] [req:d0cc0285] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-40a7-772d-eca2-ed9f33f0e0ea"}
[2026-05-20T06:20:01+00:00] [req:d0cc0285] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T06:20:01+00:00] [req:d0cc0285] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T06:20:01+00:00] [req:d0cc0285] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-40a7-772d-eca2-ed9f33f0e0ea","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T07:47:34+00:00] [req:94a38f6b] [org:-] XeroController::getCredentials() {"org_id":"019c2ad1-7dce-7a16-1447-ee3244aa4be8"}
[2026-05-20T07:47:34+00:00] [req:94a38f6b] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-20T07:48:04+00:00] [req:4eb78656] [org:-] XeroController::getCredentials() {"org_id":"019c2ad1-7dce-7a16-1447-ee3244aa4be8"}
[2026-05-20T07:48:04+00:00] [req:4eb78656] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-20T20:44:53+00:00] [req:dbbf6380] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-720d-7e94-3923-c4d843b86d77","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T20:44:53+00:00] [req:dbbf6380] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-720d-7e94-3923-c4d843b86d77"}
[2026-05-20T20:44:53+00:00] [req:dbbf6380] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T20:44:53+00:00] [req:dbbf6380] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T20:44:53+00:00] [req:dbbf6380] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-720d-7e94-3923-c4d843b86d77","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T20:44:53+00:00] [req:dbbf6380] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7216-7880-d72a-66cd726a0b13","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T20:44:53+00:00] [req:dbbf6380] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7216-7880-d72a-66cd726a0b13"}
[2026-05-20T20:44:53+00:00] [req:dbbf6380] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T20:44:53+00:00] [req:dbbf6380] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T20:44:53+00:00] [req:dbbf6380] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7216-7880-d72a-66cd726a0b13","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T20:44:53+00:00] [req:dbbf6380] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7225-7718-560e-2711add73760","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T20:44:53+00:00] [req:dbbf6380] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7225-7718-560e-2711add73760"}
[2026-05-20T20:44:53+00:00] [req:dbbf6380] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T20:44:53+00:00] [req:dbbf6380] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T20:44:53+00:00] [req:dbbf6380] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7225-7718-560e-2711add73760","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T20:48:33+00:00] [req:71bf7ca1] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7257-7ec3-6f33-d4a13cf87fad","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T20:48:33+00:00] [req:71bf7ca1] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7257-7ec3-6f33-d4a13cf87fad"}
[2026-05-20T20:48:33+00:00] [req:71bf7ca1] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T20:48:33+00:00] [req:71bf7ca1] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T20:48:33+00:00] [req:71bf7ca1] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7257-7ec3-6f33-d4a13cf87fad","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T20:52:06+00:00] [req:81de7f5e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-728c-714a-c2bb-ffa93452a5f9","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T20:52:06+00:00] [req:81de7f5e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-728c-714a-c2bb-ffa93452a5f9"}
[2026-05-20T20:52:06+00:00] [req:81de7f5e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T20:52:06+00:00] [req:81de7f5e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T20:52:06+00:00] [req:81de7f5e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-728c-714a-c2bb-ffa93452a5f9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T20:52:39+00:00] [req:674eb0d5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7297-72ca-953d-338b5c4156e9","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T20:52:39+00:00] [req:674eb0d5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7297-72ca-953d-338b5c4156e9"}
[2026-05-20T20:52:39+00:00] [req:674eb0d5] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T20:52:39+00:00] [req:674eb0d5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T20:52:39+00:00] [req:674eb0d5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7297-72ca-953d-338b5c4156e9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T20:57:16+00:00] [req:263fc1df] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-72d3-767d-8869-648917541e8f","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T20:57:16+00:00] [req:263fc1df] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-72d3-767d-8869-648917541e8f"}
[2026-05-20T20:57:16+00:00] [req:263fc1df] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T20:57:16+00:00] [req:263fc1df] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T20:57:16+00:00] [req:263fc1df] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-72d3-767d-8869-648917541e8f","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T21:47:35+00:00] [req:27ef78d6] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-75bb-7c8a-7ff4-f09846a1d7f8","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:47:35+00:00] [req:27ef78d6] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-75bb-7c8a-7ff4-f09846a1d7f8"}
[2026-05-20T21:47:35+00:00] [req:27ef78d6] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:47:35+00:00] [req:27ef78d6] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T21:47:35+00:00] [req:27ef78d6] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-75bb-7c8a-7ff4-f09846a1d7f8","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T21:48:13+00:00] [req:c4eab83b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-75c5-71ae-14fa-2218ae8298ac","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:48:13+00:00] [req:c4eab83b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-75c5-71ae-14fa-2218ae8298ac"}
[2026-05-20T21:48:13+00:00] [req:c4eab83b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:48:13+00:00] [req:c4eab83b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T21:48:13+00:00] [req:c4eab83b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-75c5-71ae-14fa-2218ae8298ac","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T21:50:10+00:00] [req:35a130ad] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-75e1-7721-b8af-0135b6407cc3","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:50:10+00:00] [req:35a130ad] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-75e1-7721-b8af-0135b6407cc3"}
[2026-05-20T21:50:10+00:00] [req:35a130ad] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:50:10+00:00] [req:35a130ad] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T21:50:10+00:00] [req:35a130ad] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-75e1-7721-b8af-0135b6407cc3","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T21:51:45+00:00] [req:eaac2de5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-75f8-7fd3-00f4-7bc02d865b58","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:51:45+00:00] [req:eaac2de5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-75f8-7fd3-00f4-7bc02d865b58"}
[2026-05-20T21:51:45+00:00] [req:eaac2de5] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:51:45+00:00] [req:eaac2de5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T21:51:45+00:00] [req:eaac2de5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-75f8-7fd3-00f4-7bc02d865b58","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T21:52:38+00:00] [req:d6297d77] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7605-7ddf-2171-7a12c1d33346","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:52:38+00:00] [req:d6297d77] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7605-7ddf-2171-7a12c1d33346"}
[2026-05-20T21:52:38+00:00] [req:d6297d77] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:52:38+00:00] [req:d6297d77] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T21:52:38+00:00] [req:d6297d77] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7605-7ddf-2171-7a12c1d33346","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T21:53:36+00:00] [req:a1abc1cc] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7614-7120-3f5a-7fb3c4887029","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:53:36+00:00] [req:a1abc1cc] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7614-7120-3f5a-7fb3c4887029"}
[2026-05-20T21:53:36+00:00] [req:a1abc1cc] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:53:36+00:00] [req:a1abc1cc] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T21:53:36+00:00] [req:a1abc1cc] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7614-7120-3f5a-7fb3c4887029","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T21:54:58+00:00] [req:5ae6d983] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7627-7f07-a0de-610f297b52e9","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:54:58+00:00] [req:5ae6d983] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7627-7f07-a0de-610f297b52e9"}
[2026-05-20T21:54:58+00:00] [req:5ae6d983] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:54:58+00:00] [req:5ae6d983] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T21:54:58+00:00] [req:5ae6d983] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7627-7f07-a0de-610f297b52e9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T21:55:42+00:00] [req:bb7d4cab] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7632-7b3e-817a-aa74e0ec15a3","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:55:42+00:00] [req:bb7d4cab] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7632-7b3e-817a-aa74e0ec15a3"}
[2026-05-20T21:55:42+00:00] [req:bb7d4cab] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:55:42+00:00] [req:bb7d4cab] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T21:55:42+00:00] [req:bb7d4cab] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7632-7b3e-817a-aa74e0ec15a3","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T21:56:36+00:00] [req:11ec9076] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-763f-7fe1-20d5-e770ce2d6606","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:56:36+00:00] [req:11ec9076] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-763f-7fe1-20d5-e770ce2d6606"}
[2026-05-20T21:56:36+00:00] [req:11ec9076] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:56:36+00:00] [req:11ec9076] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T21:56:36+00:00] [req:11ec9076] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-763f-7fe1-20d5-e770ce2d6606","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T21:57:20+00:00] [req:8dd690ae] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-764a-7bc8-420b-567b16634037","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:57:20+00:00] [req:8dd690ae] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-764a-7bc8-420b-567b16634037"}
[2026-05-20T21:57:20+00:00] [req:8dd690ae] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:57:20+00:00] [req:8dd690ae] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T21:57:20+00:00] [req:8dd690ae] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-764a-7bc8-420b-567b16634037","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T21:58:13+00:00] [req:0eb65fe8] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7657-7b38-3c5e-02337a342747","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:58:13+00:00] [req:0eb65fe8] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7657-7b38-3c5e-02337a342747"}
[2026-05-20T21:58:13+00:00] [req:0eb65fe8] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:58:13+00:00] [req:0eb65fe8] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T21:58:13+00:00] [req:0eb65fe8] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7657-7b38-3c5e-02337a342747","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T21:59:09+00:00] [req:ace5df67] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7665-73a0-1b89-65b1b12fd633","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:59:09+00:00] [req:ace5df67] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7665-73a0-1b89-65b1b12fd633"}
[2026-05-20T21:59:09+00:00] [req:ace5df67] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T21:59:09+00:00] [req:ace5df67] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T21:59:09+00:00] [req:ace5df67] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7665-73a0-1b89-65b1b12fd633","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T22:00:30+00:00] [req:1514fa54] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7671-7008-7b99-5209ec2e49e5","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:00:30+00:00] [req:1514fa54] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7671-7008-7b99-5209ec2e49e5"}
[2026-05-20T22:00:30+00:00] [req:1514fa54] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:00:30+00:00] [req:1514fa54] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T22:00:30+00:00] [req:1514fa54] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7671-7008-7b99-5209ec2e49e5","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T22:00:30+00:00] [req:1514fa54] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7678-7f76-117d-ea7d01c2458c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:00:30+00:00] [req:1514fa54] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7678-7f76-117d-ea7d01c2458c"}
[2026-05-20T22:00:30+00:00] [req:1514fa54] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:00:30+00:00] [req:1514fa54] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T22:00:30+00:00] [req:1514fa54] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7678-7f76-117d-ea7d01c2458c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T22:01:48+00:00] [req:cd351b1f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7680-72c8-eb67-8347b26dad64","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:01:48+00:00] [req:cd351b1f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7680-72c8-eb67-8347b26dad64"}
[2026-05-20T22:01:48+00:00] [req:cd351b1f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:01:48+00:00] [req:cd351b1f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T22:01:48+00:00] [req:cd351b1f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7680-72c8-eb67-8347b26dad64","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T22:03:29+00:00] [req:7a78f0c1] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-76a4-7aee-1b01-d77a51d31de0","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:03:29+00:00] [req:7a78f0c1] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-76a4-7aee-1b01-d77a51d31de0"}
[2026-05-20T22:03:29+00:00] [req:7a78f0c1] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:03:29+00:00] [req:7a78f0c1] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T22:03:29+00:00] [req:7a78f0c1] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-76a4-7aee-1b01-d77a51d31de0","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T22:22:12+00:00] [req:580a1c77] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-77a7-70b8-9970-f0be956fa4ca","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:22:12+00:00] [req:580a1c77] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-77a7-70b8-9970-f0be956fa4ca"}
[2026-05-20T22:22:12+00:00] [req:580a1c77] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:22:12+00:00] [req:580a1c77] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T22:22:12+00:00] [req:580a1c77] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-77a7-70b8-9970-f0be956fa4ca","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T22:22:27+00:00] [req:97f051c5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-77ba-76e8-263b-8d5ba44898ed","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:22:27+00:00] [req:97f051c5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-77ba-76e8-263b-8d5ba44898ed"}
[2026-05-20T22:22:27+00:00] [req:97f051c5] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:22:27+00:00] [req:97f051c5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T22:22:27+00:00] [req:97f051c5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-77ba-76e8-263b-8d5ba44898ed","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T22:25:14+00:00] [req:f7aedb68] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-77e3-73f3-f90d-a179c879cadb","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:25:14+00:00] [req:f7aedb68] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-77e3-73f3-f90d-a179c879cadb"}
[2026-05-20T22:25:14+00:00] [req:f7aedb68] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:25:14+00:00] [req:f7aedb68] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T22:25:14+00:00] [req:f7aedb68] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-77e3-73f3-f90d-a179c879cadb","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T22:28:36+00:00] [req:758db2e5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7814-7c1e-327f-837bcd819b32","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:28:36+00:00] [req:758db2e5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7814-7c1e-327f-837bcd819b32"}
[2026-05-20T22:28:36+00:00] [req:758db2e5] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:28:36+00:00] [req:758db2e5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T22:28:36+00:00] [req:758db2e5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7814-7c1e-327f-837bcd819b32","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T22:30:05+00:00] [req:c68928e7] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-782a-7565-3083-93183583d4a1","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:30:05+00:00] [req:c68928e7] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-782a-7565-3083-93183583d4a1"}
[2026-05-20T22:30:05+00:00] [req:c68928e7] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:30:05+00:00] [req:c68928e7] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T22:30:05+00:00] [req:c68928e7] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-782a-7565-3083-93183583d4a1","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T22:31:07+00:00] [req:ad54e6f8] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7839-74db-819c-e8fa0bad981b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:31:07+00:00] [req:ad54e6f8] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7839-74db-819c-e8fa0bad981b"}
[2026-05-20T22:31:07+00:00] [req:ad54e6f8] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:31:07+00:00] [req:ad54e6f8] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T22:31:07+00:00] [req:ad54e6f8] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7839-74db-819c-e8fa0bad981b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T22:31:47+00:00] [req:9a8eb342] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7843-74b1-5f8a-f41ab1b7927a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:31:47+00:00] [req:9a8eb342] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7843-74b1-5f8a-f41ab1b7927a"}
[2026-05-20T22:31:47+00:00] [req:9a8eb342] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:31:47+00:00] [req:9a8eb342] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T22:31:47+00:00] [req:9a8eb342] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7843-74b1-5f8a-f41ab1b7927a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T22:34:33+00:00] [req:0a08914d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-786b-7ee9-cbb3-db092370d57d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:34:33+00:00] [req:0a08914d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-786b-7ee9-cbb3-db092370d57d"}
[2026-05-20T22:34:33+00:00] [req:0a08914d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:34:33+00:00] [req:0a08914d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T22:34:33+00:00] [req:0a08914d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-786b-7ee9-cbb3-db092370d57d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T22:35:40+00:00] [req:f0ce26d5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-787c-7444-a0cd-4cc45ac22554","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:35:40+00:00] [req:f0ce26d5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-787c-7444-a0cd-4cc45ac22554"}
[2026-05-20T22:35:40+00:00] [req:f0ce26d5] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:35:40+00:00] [req:f0ce26d5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T22:35:40+00:00] [req:f0ce26d5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-787c-7444-a0cd-4cc45ac22554","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T22:36:21+00:00] [req:35fe19a8] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7886-7209-7ec9-81833cee2d67","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:36:21+00:00] [req:35fe19a8] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7886-7209-7ec9-81833cee2d67"}
[2026-05-20T22:36:21+00:00] [req:35fe19a8] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:36:21+00:00] [req:35fe19a8] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T22:36:21+00:00] [req:35fe19a8] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7886-7209-7ec9-81833cee2d67","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T22:38:15+00:00] [req:ed6f0c55] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7894-793d-82d2-a471286b3d7e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:38:15+00:00] [req:ed6f0c55] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7894-793d-82d2-a471286b3d7e"}
[2026-05-20T22:38:15+00:00] [req:ed6f0c55] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T22:38:15+00:00] [req:ed6f0c55] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T22:38:15+00:00] [req:ed6f0c55] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7894-793d-82d2-a471286b3d7e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T23:09:43+00:00] [req:5ccc603b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7a6e-7e02-2924-f019fb392c9e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T23:09:43+00:00] [req:5ccc603b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7a6e-7e02-2924-f019fb392c9e"}
[2026-05-20T23:09:43+00:00] [req:5ccc603b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T23:09:43+00:00] [req:5ccc603b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T23:09:43+00:00] [req:5ccc603b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7a6e-7e02-2924-f019fb392c9e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T23:11:25+00:00] [req:ed332cc3] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7a85-7ed1-1623-cb380d9f230a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T23:11:25+00:00] [req:ed332cc3] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7a85-7ed1-1623-cb380d9f230a"}
[2026-05-20T23:11:25+00:00] [req:ed332cc3] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T23:11:25+00:00] [req:ed332cc3] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T23:11:25+00:00] [req:ed332cc3] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7a85-7ed1-1623-cb380d9f230a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T23:12:13+00:00] [req:34f213b5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7a93-7942-8a18-54a8897cc207","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T23:12:13+00:00] [req:34f213b5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7a93-7942-8a18-54a8897cc207"}
[2026-05-20T23:12:13+00:00] [req:34f213b5] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T23:12:13+00:00] [req:34f213b5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T23:12:13+00:00] [req:34f213b5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7a93-7942-8a18-54a8897cc207","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T23:13:35+00:00] [req:fd00c159] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7aa7-7b40-817c-721696775339","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T23:13:35+00:00] [req:fd00c159] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7aa7-7b40-817c-721696775339"}
[2026-05-20T23:13:35+00:00] [req:fd00c159] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T23:13:35+00:00] [req:fd00c159] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T23:13:35+00:00] [req:fd00c159] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7aa7-7b40-817c-721696775339","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T23:15:06+00:00] [req:ac698996] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7ab5-7740-5366-6c9ccc6cdad7","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T23:15:06+00:00] [req:ac698996] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7ab5-7740-5366-6c9ccc6cdad7"}
[2026-05-20T23:15:06+00:00] [req:ac698996] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T23:15:06+00:00] [req:ac698996] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T23:15:06+00:00] [req:ac698996] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7ab5-7740-5366-6c9ccc6cdad7","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T23:15:06+00:00] [req:ac698996] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7abd-7c7f-82eb-3570f31a517b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T23:15:06+00:00] [req:ac698996] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7abd-7c7f-82eb-3570f31a517b"}
[2026-05-20T23:15:06+00:00] [req:ac698996] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T23:15:06+00:00] [req:ac698996] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T23:15:06+00:00] [req:ac698996] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7abd-7c7f-82eb-3570f31a517b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-20T23:44:05+00:00] [req:b1decda7] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-7c66-75fa-3e6f-e4528208551c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T23:44:05+00:00] [req:b1decda7] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-7c66-75fa-3e6f-e4528208551c"}
[2026-05-20T23:44:05+00:00] [req:b1decda7] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-20T23:44:05+00:00] [req:b1decda7] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-20T23:44:05+00:00] [req:b1decda7] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-7c66-75fa-3e6f-e4528208551c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-21T01:44:18+00:00] [req:e6f146c7] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-21T01:44:18+00:00] [req:e6f146c7] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-21T01:44:40+00:00] [req:3738bb6f] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-21T01:44:40+00:00] [req:3738bb6f] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-21T01:44:42+00:00] [req:7a737589] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-21T01:44:42+00:00] [req:7a737589] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-21T01:44:44+00:00] [req:ed7e8363] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-21T01:44:44+00:00] [req:ed7e8363] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-21T01:45:32+00:00] [req:94bc28e6] [org:-] XeroController::getCredentials() {"org_id":"019e39f4-c172-7628-d61f-f062a554977d"}
[2026-05-21T01:45:32+00:00] [req:94bc28e6] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-21T02:08:35+00:00] [req:0a83cb78] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-84aa-798c-17e3-f72b7b1c95f7","org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-05-21T02:08:35+00:00] [req:0a83cb78] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4","invoice_id":"000019e4-84aa-798c-17e3-f72b7b1c95f7"}
[2026-05-21T02:08:35+00:00] [req:0a83cb78] [org:-] getValidAccessToken() — not connected {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-05-21T02:08:35+00:00] [req:0a83cb78] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-21T02:08:35+00:00] [req:0a83cb78] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-84aa-798c-17e3-f72b7b1c95f7","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-21T19:55:49+00:00] [req:2f442742] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-c1bc-76ed-d91f-4886cf8d80a1","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T19:55:49+00:00] [req:2f442742] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-c1bc-76ed-d91f-4886cf8d80a1"}
[2026-05-21T19:55:49+00:00] [req:2f442742] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T19:55:49+00:00] [req:2f442742] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-21T19:55:49+00:00] [req:2f442742] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-c1bc-76ed-d91f-4886cf8d80a1","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-21T19:57:15+00:00] [req:35e6ebcf] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-c1d1-74bb-249b-484df0355d36","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T19:57:15+00:00] [req:35e6ebcf] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-c1d1-74bb-249b-484df0355d36"}
[2026-05-21T19:57:15+00:00] [req:35e6ebcf] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T19:57:15+00:00] [req:35e6ebcf] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-21T19:57:15+00:00] [req:35e6ebcf] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-c1d1-74bb-249b-484df0355d36","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-21T20:02:27+00:00] [req:8f90e93f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-c20d-7fbf-465c-87ac2e806d30","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T20:02:27+00:00] [req:8f90e93f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-c20d-7fbf-465c-87ac2e806d30"}
[2026-05-21T20:02:27+00:00] [req:8f90e93f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T20:02:27+00:00] [req:8f90e93f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-21T20:02:27+00:00] [req:8f90e93f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-c20d-7fbf-465c-87ac2e806d30","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-21T20:03:42+00:00] [req:7111f69b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-c21d-7d3d-cd94-94ec03e45ad9","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T20:03:42+00:00] [req:7111f69b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-c21d-7d3d-cd94-94ec03e45ad9"}
[2026-05-21T20:03:42+00:00] [req:7111f69b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T20:03:42+00:00] [req:7111f69b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-21T20:03:42+00:00] [req:7111f69b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-c21d-7d3d-cd94-94ec03e45ad9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-21T20:04:07+00:00] [req:ea512f3f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-c235-7f76-792f-1c4def76371d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T20:04:07+00:00] [req:ea512f3f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-c235-7f76-792f-1c4def76371d"}
[2026-05-21T20:04:07+00:00] [req:ea512f3f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T20:04:07+00:00] [req:ea512f3f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-21T20:04:07+00:00] [req:ea512f3f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-c235-7f76-792f-1c4def76371d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-21T20:04:57+00:00] [req:ff088ea9] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-c242-713c-4413-2d2e856766fa","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T20:04:57+00:00] [req:ff088ea9] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-c242-713c-4413-2d2e856766fa"}
[2026-05-21T20:04:57+00:00] [req:ff088ea9] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T20:04:57+00:00] [req:ff088ea9] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-21T20:04:57+00:00] [req:ff088ea9] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-c242-713c-4413-2d2e856766fa","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-21T20:06:00+00:00] [req:dcf7cb2a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-c249-7cf3-3e49-8db976b909ec","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T20:06:00+00:00] [req:dcf7cb2a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-c249-7cf3-3e49-8db976b909ec"}
[2026-05-21T20:06:00+00:00] [req:dcf7cb2a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T20:06:00+00:00] [req:dcf7cb2a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-21T20:06:00+00:00] [req:dcf7cb2a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-c249-7cf3-3e49-8db976b909ec","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-21T20:06:00+00:00] [req:dcf7cb2a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-c251-784d-7877-f750761339dc","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T20:06:00+00:00] [req:dcf7cb2a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-c251-784d-7877-f750761339dc"}
[2026-05-21T20:06:00+00:00] [req:dcf7cb2a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T20:06:00+00:00] [req:dcf7cb2a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-21T20:06:00+00:00] [req:dcf7cb2a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-c251-784d-7877-f750761339dc","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-21T20:06:29+00:00] [req:e7f1c457] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-c258-784c-b505-f78daf9dac41","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T20:06:29+00:00] [req:e7f1c457] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-c258-784c-b505-f78daf9dac41"}
[2026-05-21T20:06:29+00:00] [req:e7f1c457] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T20:06:29+00:00] [req:e7f1c457] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-21T20:06:29+00:00] [req:e7f1c457] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-c258-784c-b505-f78daf9dac41","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-21T20:10:28+00:00] [req:51580c82] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-c292-7ba5-2c70-af0ad7a831eb","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T20:10:28+00:00] [req:51580c82] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-c292-7ba5-2c70-af0ad7a831eb"}
[2026-05-21T20:10:28+00:00] [req:51580c82] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T20:10:28+00:00] [req:51580c82] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-21T20:10:28+00:00] [req:51580c82] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-c292-7ba5-2c70-af0ad7a831eb","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-21T21:47:48+00:00] [req:d4eccbd9] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-c824-77ff-b51a-4fc6468c7856","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T21:47:48+00:00] [req:d4eccbd9] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-c824-77ff-b51a-4fc6468c7856"}
[2026-05-21T21:47:48+00:00] [req:d4eccbd9] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T21:47:48+00:00] [req:d4eccbd9] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-21T21:47:48+00:00] [req:d4eccbd9] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-c824-77ff-b51a-4fc6468c7856","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-21T21:50:20+00:00] [req:df2645b6] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-c849-7f9f-0151-ad5da614ac8e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T21:50:20+00:00] [req:df2645b6] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-c849-7f9f-0151-ad5da614ac8e"}
[2026-05-21T21:50:20+00:00] [req:df2645b6] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-21T21:50:20+00:00] [req:df2645b6] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-21T21:50:20+00:00] [req:df2645b6] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-c849-7f9f-0151-ad5da614ac8e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-22T03:13:56+00:00] [req:3a7a8550] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-dace-71aa-779b-3a66e1966d92","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-22T03:13:56+00:00] [req:3a7a8550] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-dace-71aa-779b-3a66e1966d92"}
[2026-05-22T03:13:56+00:00] [req:3a7a8550] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-22T03:13:56+00:00] [req:3a7a8550] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-22T03:13:56+00:00] [req:3a7a8550] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-dace-71aa-779b-3a66e1966d92","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-22T03:17:03+00:00] [req:8fb82c32] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-dafb-7c1a-ca2c-5f2c187e2715","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-22T03:17:03+00:00] [req:8fb82c32] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-dafb-7c1a-ca2c-5f2c187e2715"}
[2026-05-22T03:17:03+00:00] [req:8fb82c32] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-22T03:17:03+00:00] [req:8fb82c32] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-22T03:17:03+00:00] [req:8fb82c32] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-dafb-7c1a-ca2c-5f2c187e2715","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-22T03:17:42+00:00] [req:8e670a33] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-daff-7847-4235-97faa83020c7","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-22T03:17:42+00:00] [req:8e670a33] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e4-daff-7847-4235-97faa83020c7"}
[2026-05-22T03:17:42+00:00] [req:8e670a33] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-22T03:17:42+00:00] [req:8e670a33] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-22T03:17:42+00:00] [req:8e670a33] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-daff-7847-4235-97faa83020c7","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-22T05:15:03+00:00] [req:7cbea475] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e4-e1bc-73e5-406e-eb85cc36ec30","org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2"}
[2026-05-22T05:15:03+00:00] [req:7cbea475] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2","invoice_id":"000019e4-e1bc-73e5-406e-eb85cc36ec30"}
[2026-05-22T05:15:03+00:00] [req:7cbea475] [org:-] getValidAccessToken() — not connected {"org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2"}
[2026-05-22T05:15:03+00:00] [req:7cbea475] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-22T05:15:03+00:00] [req:7cbea475] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e4-e1bc-73e5-406e-eb85cc36ec30","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-22T20:05:43+00:00] [req:80dad88b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-14a6-7cfa-996a-b7ecae67c925","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-22T20:05:43+00:00] [req:80dad88b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-14a6-7cfa-996a-b7ecae67c925"}
[2026-05-22T20:05:43+00:00] [req:80dad88b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-22T20:05:43+00:00] [req:80dad88b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-22T20:05:43+00:00] [req:80dad88b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-14a6-7cfa-996a-b7ecae67c925","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-22T20:05:43+00:00] [req:80dad88b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-14ad-7350-4fa2-114d488836b7","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-22T20:05:43+00:00] [req:80dad88b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-14ad-7350-4fa2-114d488836b7"}
[2026-05-22T20:05:43+00:00] [req:80dad88b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-22T20:05:43+00:00] [req:80dad88b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-22T20:05:43+00:00] [req:80dad88b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-14ad-7350-4fa2-114d488836b7","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-22T20:05:43+00:00] [req:80dad88b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-14b3-73b0-3f7e-e57f70ee7749","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-22T20:05:43+00:00] [req:80dad88b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-14b3-73b0-3f7e-e57f70ee7749"}
[2026-05-22T20:05:43+00:00] [req:80dad88b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-22T20:05:43+00:00] [req:80dad88b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-22T20:05:43+00:00] [req:80dad88b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-14b3-73b0-3f7e-e57f70ee7749","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-22T20:24:57+00:00] [req:80e4201c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-15cc-7e7b-bf97-d5b31db13e89","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-22T20:24:57+00:00] [req:80e4201c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-15cc-7e7b-bf97-d5b31db13e89"}
[2026-05-22T20:24:57+00:00] [req:80e4201c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-22T20:24:57+00:00] [req:80e4201c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-22T20:24:57+00:00] [req:80e4201c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-15cc-7e7b-bf97-d5b31db13e89","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-23T05:41:46+00:00] [req:afc14088] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-35a9-74da-e294-93466c20fbf9","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-23T05:41:46+00:00] [req:afc14088] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-35a9-74da-e294-93466c20fbf9"}
[2026-05-23T05:41:46+00:00] [req:afc14088] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-23T05:41:46+00:00] [req:afc14088] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-23T05:41:46+00:00] [req:afc14088] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-35a9-74da-e294-93466c20fbf9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-23T22:36:51+00:00] [req:9f4feff2] [org:-] XeroController::getCredentials() {"org_id":"0194a8b2-1234-7123-8123-123456789abc"}
[2026-05-23T22:36:51+00:00] [req:9f4feff2] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-24T02:20:45+00:00] [req:be0c46ee] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-7c8d-709b-6581-5d398f02224c","org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-24T02:20:45+00:00] [req:be0c46ee] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019e5-7c8d-709b-6581-5d398f02224c"}
[2026-05-24T02:20:45+00:00] [req:be0c46ee] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778648941,"now":1779589245}
[2026-05-24T02:20:45+00:00] [req:be0c46ee] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-24T02:20:45+00:00] [req:be0c46ee] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-24T02:20:45+00:00] [req:be0c46ee] [org:-] refreshAccessToken() called {"refresh_token":"14F8aJ…[33]…LRpk"}
[2026-05-24T02:20:45+00:00] [req:be0c46ee] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"14F8aJ…[33]…LRpk"}}
[2026-05-24T02:20:45+00:00] [req:be0c46ee] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-05-24T02:20:45+00:00] [req:be0c46ee] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-05-24T02:20:45+00:00] [req:be0c46ee] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-05-24T02:20:45+00:00] [req:be0c46ee] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T02:20:45+00:00] [req:be0c46ee] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-7c8d-709b-6581-5d398f02224c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T03:56:46+00:00] [req:437976a5] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-24T03:56:46+00:00] [req:437976a5] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-24T05:33:32+00:00] [req:c5846950] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-8792-7903-4c70-06dd29afb973","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T05:33:32+00:00] [req:c5846950] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-8792-7903-4c70-06dd29afb973"}
[2026-05-24T05:33:32+00:00] [req:c5846950] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T05:33:32+00:00] [req:c5846950] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T05:33:32+00:00] [req:c5846950] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-8792-7903-4c70-06dd29afb973","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T10:14:32+00:00] [req:6dfd98cc] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-97aa-781b-6e9d-5acfb8dfc8a0","org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-05-24T10:14:32+00:00] [req:6dfd98cc] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4","invoice_id":"000019e5-97aa-781b-6e9d-5acfb8dfc8a0"}
[2026-05-24T10:14:32+00:00] [req:6dfd98cc] [org:-] getValidAccessToken() — not connected {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-05-24T10:14:32+00:00] [req:6dfd98cc] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T10:14:32+00:00] [req:6dfd98cc] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-97aa-781b-6e9d-5acfb8dfc8a0","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T10:27:15+00:00] [req:f8f3ca72] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-9865-7233-1fd0-915e1b64926b","org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-05-24T10:27:15+00:00] [req:f8f3ca72] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4","invoice_id":"000019e5-9865-7233-1fd0-915e1b64926b"}
[2026-05-24T10:27:15+00:00] [req:f8f3ca72] [org:-] getValidAccessToken() — not connected {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-05-24T10:27:15+00:00] [req:f8f3ca72] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T10:27:15+00:00] [req:f8f3ca72] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-9865-7233-1fd0-915e1b64926b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T20:41:34+00:00] [req:5445d249] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-bb8a-71c6-8bce-a32b477b642b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T20:41:34+00:00] [req:5445d249] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-bb8a-71c6-8bce-a32b477b642b"}
[2026-05-24T20:41:34+00:00] [req:5445d249] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T20:41:34+00:00] [req:5445d249] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T20:41:34+00:00] [req:5445d249] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-bb8a-71c6-8bce-a32b477b642b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T20:42:53+00:00] [req:3e27e6f2] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-bb96-7423-61bc-8d2586e57704","org_id":"org_id"}
[2026-05-24T20:42:53+00:00] [req:3e27e6f2] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"org_id","invoice_id":"000019e5-bb96-7423-61bc-8d2586e57704"}
[2026-05-24T20:42:53+00:00] [req:3e27e6f2] [org:-] PostInvoiceToXeroStep caught exception {"invoice_id":"000019e5-bb96-7423-61bc-8d2586e57704","org_id":"org_id","error":"SQL Error: SQLSTATE[22P02]: Invalid text representation: 7 ERROR:  invalid input syntax for type uuid: \"org_id\"\nCONTEXT:  unnamed portal parameter $1 = '...' | Query: SELECT settings FROM \"orgs\" WHERE \"org_id\" = ? LIMIT 1"}
[2026-05-24T20:49:05+00:00] [req:a0533915] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-bbfa-74fe-3483-bf2f611125bb","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T20:49:05+00:00] [req:a0533915] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-bbfa-74fe-3483-bf2f611125bb"}
[2026-05-24T20:49:05+00:00] [req:a0533915] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T20:49:05+00:00] [req:a0533915] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T20:49:05+00:00] [req:a0533915] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-bbfa-74fe-3483-bf2f611125bb","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T20:52:08+00:00] [req:3bb56029] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-bc26-7e77-cb1e-0f7b5ef2d05d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T20:52:08+00:00] [req:3bb56029] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-bc26-7e77-cb1e-0f7b5ef2d05d"}
[2026-05-24T20:52:08+00:00] [req:3bb56029] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T20:52:08+00:00] [req:3bb56029] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T20:52:08+00:00] [req:3bb56029] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-bc26-7e77-cb1e-0f7b5ef2d05d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T21:29:13+00:00] [req:076b7dd7] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-be46-7312-0b3b-5cc3070fe0bb","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:29:13+00:00] [req:076b7dd7] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-be46-7312-0b3b-5cc3070fe0bb"}
[2026-05-24T21:29:13+00:00] [req:076b7dd7] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:29:13+00:00] [req:076b7dd7] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T21:29:13+00:00] [req:076b7dd7] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-be46-7312-0b3b-5cc3070fe0bb","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T21:29:55+00:00] [req:e0e3a86b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-be50-7537-71a5-e3df318fed1e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:29:55+00:00] [req:e0e3a86b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-be50-7537-71a5-e3df318fed1e"}
[2026-05-24T21:29:55+00:00] [req:e0e3a86b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:29:55+00:00] [req:e0e3a86b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T21:29:55+00:00] [req:e0e3a86b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-be50-7537-71a5-e3df318fed1e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T21:32:22+00:00] [req:5994f307] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-be74-74ca-3dc2-d73f283fbfad","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:32:22+00:00] [req:5994f307] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-be74-74ca-3dc2-d73f283fbfad"}
[2026-05-24T21:32:22+00:00] [req:5994f307] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:32:22+00:00] [req:5994f307] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T21:32:22+00:00] [req:5994f307] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-be74-74ca-3dc2-d73f283fbfad","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T21:33:37+00:00] [req:b38c5c1d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-be7c-7eff-2e77-df0735a3244b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:33:37+00:00] [req:b38c5c1d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-be7c-7eff-2e77-df0735a3244b"}
[2026-05-24T21:33:37+00:00] [req:b38c5c1d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:33:37+00:00] [req:b38c5c1d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T21:33:37+00:00] [req:b38c5c1d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-be7c-7eff-2e77-df0735a3244b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T21:34:01+00:00] [req:2dd7e789] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-be8c-7879-f689-44c8459e600b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:34:01+00:00] [req:2dd7e789] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-be8c-7879-f689-44c8459e600b"}
[2026-05-24T21:34:01+00:00] [req:2dd7e789] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:34:01+00:00] [req:2dd7e789] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T21:34:01+00:00] [req:2dd7e789] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-be8c-7879-f689-44c8459e600b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T21:36:38+00:00] [req:a1752157] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-beb2-7b2d-9c82-d2f927a5423e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:36:38+00:00] [req:a1752157] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-beb2-7b2d-9c82-d2f927a5423e"}
[2026-05-24T21:36:38+00:00] [req:a1752157] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:36:38+00:00] [req:a1752157] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T21:36:38+00:00] [req:a1752157] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-beb2-7b2d-9c82-d2f927a5423e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T21:37:40+00:00] [req:4c2df864] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-bec1-7dc9-1d7d-66e83435a4bc","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:37:40+00:00] [req:4c2df864] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-bec1-7dc9-1d7d-66e83435a4bc"}
[2026-05-24T21:37:40+00:00] [req:4c2df864] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:37:40+00:00] [req:4c2df864] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T21:37:40+00:00] [req:4c2df864] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-bec1-7dc9-1d7d-66e83435a4bc","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T21:39:34+00:00] [req:aff3814b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-becd-7107-0345-0eab9dbe6baa","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:39:34+00:00] [req:aff3814b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-becd-7107-0345-0eab9dbe6baa"}
[2026-05-24T21:39:34+00:00] [req:aff3814b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:39:34+00:00] [req:aff3814b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T21:39:34+00:00] [req:aff3814b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-becd-7107-0345-0eab9dbe6baa","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T21:40:27+00:00] [req:49fdac4a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-beea-7902-0109-9c2b99efd8cd","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:40:27+00:00] [req:49fdac4a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-beea-7902-0109-9c2b99efd8cd"}
[2026-05-24T21:40:27+00:00] [req:49fdac4a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:40:27+00:00] [req:49fdac4a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T21:40:27+00:00] [req:49fdac4a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-beea-7902-0109-9c2b99efd8cd","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T21:41:43+00:00] [req:956ed506] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-befb-7187-e292-485c50cdbb75","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:41:43+00:00] [req:956ed506] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-befb-7187-e292-485c50cdbb75"}
[2026-05-24T21:41:43+00:00] [req:956ed506] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:41:43+00:00] [req:956ed506] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T21:41:43+00:00] [req:956ed506] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-befb-7187-e292-485c50cdbb75","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T21:43:39+00:00] [req:7fcb64f7] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-bf19-7943-c737-176a89f9b342","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:43:39+00:00] [req:7fcb64f7] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-bf19-7943-c737-176a89f9b342"}
[2026-05-24T21:43:39+00:00] [req:7fcb64f7] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:43:39+00:00] [req:7fcb64f7] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T21:43:39+00:00] [req:7fcb64f7] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-bf19-7943-c737-176a89f9b342","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T21:44:43+00:00] [req:2ee6cbae] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-bf28-70b2-a048-b418b270196b","org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-24T21:44:43+00:00] [req:2ee6cbae] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019e5-bf28-70b2-a048-b418b270196b"}
[2026-05-24T21:44:43+00:00] [req:2ee6cbae] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778648941,"now":1779659083}
[2026-05-24T21:44:43+00:00] [req:2ee6cbae] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-24T21:44:43+00:00] [req:2ee6cbae] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-24T21:44:43+00:00] [req:2ee6cbae] [org:-] refreshAccessToken() called {"refresh_token":"14F8aJ…[33]…LRpk"}
[2026-05-24T21:44:43+00:00] [req:2ee6cbae] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"14F8aJ…[33]…LRpk"}}
[2026-05-24T21:44:43+00:00] [req:2ee6cbae] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-05-24T21:44:43+00:00] [req:2ee6cbae] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-05-24T21:44:43+00:00] [req:2ee6cbae] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-05-24T21:44:43+00:00] [req:2ee6cbae] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T21:44:43+00:00] [req:2ee6cbae] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-bf28-70b2-a048-b418b270196b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T21:46:15+00:00] [req:d9d3fc98] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-bf3f-7b31-a081-d839e5e6f50a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:46:15+00:00] [req:d9d3fc98] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-bf3f-7b31-a081-d839e5e6f50a"}
[2026-05-24T21:46:15+00:00] [req:d9d3fc98] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:46:15+00:00] [req:d9d3fc98] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T21:46:15+00:00] [req:d9d3fc98] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-bf3f-7b31-a081-d839e5e6f50a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T21:46:54+00:00] [req:eebc99c0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-bf49-71df-ee55-3f3d639a7641","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:46:54+00:00] [req:eebc99c0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-bf49-71df-ee55-3f3d639a7641"}
[2026-05-24T21:46:54+00:00] [req:eebc99c0] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:46:54+00:00] [req:eebc99c0] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T21:46:54+00:00] [req:eebc99c0] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-bf49-71df-ee55-3f3d639a7641","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T21:47:40+00:00] [req:bc339237] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-bf53-7ff0-8682-d937f03fe72e","org_id":"019b6d0e-53fa-7513-32f3-8ecf0105b3ea"}
[2026-05-24T21:47:40+00:00] [req:bc339237] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b6d0e-53fa-7513-32f3-8ecf0105b3ea","invoice_id":"000019e5-bf53-7ff0-8682-d937f03fe72e"}
[2026-05-24T21:47:40+00:00] [req:bc339237] [org:-] getValidAccessToken() — not connected {"org_id":"019b6d0e-53fa-7513-32f3-8ecf0105b3ea"}
[2026-05-24T21:47:40+00:00] [req:bc339237] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T21:47:40+00:00] [req:bc339237] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-bf53-7ff0-8682-d937f03fe72e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T21:47:53+00:00] [req:da455be9] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-bf57-7831-4d64-efb20bd1a602","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:47:53+00:00] [req:da455be9] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-bf57-7831-4d64-efb20bd1a602"}
[2026-05-24T21:47:53+00:00] [req:da455be9] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:47:53+00:00] [req:da455be9] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T21:47:53+00:00] [req:da455be9] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-bf57-7831-4d64-efb20bd1a602","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T21:49:06+00:00] [req:b6821b1c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-bf69-783a-3c8e-682b58b8222c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:49:06+00:00] [req:b6821b1c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-bf69-783a-3c8e-682b58b8222c"}
[2026-05-24T21:49:06+00:00] [req:b6821b1c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:49:06+00:00] [req:b6821b1c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T21:49:06+00:00] [req:b6821b1c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-bf69-783a-3c8e-682b58b8222c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T21:50:19+00:00] [req:1de1cfdc] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-bf7b-75ba-abe1-e865cadc6c95","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:50:19+00:00] [req:1de1cfdc] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-bf7b-75ba-abe1-e865cadc6c95"}
[2026-05-24T21:50:19+00:00] [req:1de1cfdc] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:50:19+00:00] [req:1de1cfdc] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T21:50:19+00:00] [req:1de1cfdc] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-bf7b-75ba-abe1-e865cadc6c95","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T21:54:20+00:00] [req:672bd13e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-bfa2-7182-3625-de5b27e84fc2","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:54:20+00:00] [req:672bd13e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-bfa2-7182-3625-de5b27e84fc2"}
[2026-05-24T21:54:20+00:00] [req:672bd13e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-24T21:54:20+00:00] [req:672bd13e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T21:54:20+00:00] [req:672bd13e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-bfa2-7182-3625-de5b27e84fc2","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T22:31:05+00:00] [req:f424c759] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-c1cf-7dea-626f-472945458fe9","org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-24T22:31:05+00:00] [req:f424c759] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695","invoice_id":"000019e5-c1cf-7dea-626f-472945458fe9"}
[2026-05-24T22:31:05+00:00] [req:f424c759] [org:-] getValidAccessToken() — not connected {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-24T22:31:05+00:00] [req:f424c759] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-24T22:31:05+00:00] [req:f424c759] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-c1cf-7dea-626f-472945458fe9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-24T22:34:08+00:00] [req:6e39b38f] [org:-] XeroController::getCredentials() {"org_id":"0194a8b2-1234-7123-8123-123456789abc"}
[2026-05-24T22:34:08+00:00] [req:6e39b38f] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-24T22:35:34+00:00] [req:aa0c5d5a] [org:-] XeroController::getCredentials() {"org_id":"0194a8b2-1234-7123-8123-123456789abc"}
[2026-05-24T22:35:34+00:00] [req:aa0c5d5a] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-25T01:32:54+00:00] [req:49ab22ea] [org:-] XeroController::getCredentials() {"org_id":"019e5c3c-fa4c-7659-9b96-854a957d5355"}
[2026-05-25T01:32:54+00:00] [req:49ab22ea] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-25T02:27:23+00:00] [req:d3c253d9] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-cf55-71e6-f129-ddd64ed92688","org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T02:27:23+00:00] [req:d3c253d9] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695","invoice_id":"000019e5-cf55-71e6-f129-ddd64ed92688"}
[2026-05-25T02:27:23+00:00] [req:d3c253d9] [org:-] getValidAccessToken() — not connected {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T02:27:23+00:00] [req:d3c253d9] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T02:27:23+00:00] [req:d3c253d9] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-cf55-71e6-f129-ddd64ed92688","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T02:37:57+00:00] [req:b07bb922] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-cfef-7c79-b5b0-cb6fb94c5720","org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T02:37:57+00:00] [req:b07bb922] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695","invoice_id":"000019e5-cfef-7c79-b5b0-cb6fb94c5720"}
[2026-05-25T02:37:57+00:00] [req:b07bb922] [org:-] getValidAccessToken() — not connected {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T02:37:57+00:00] [req:b07bb922] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T02:37:57+00:00] [req:b07bb922] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-cfef-7c79-b5b0-cb6fb94c5720","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T02:47:10+00:00] [req:3be57855] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-d077-70b6-324a-5c944ea065bf","org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T02:47:10+00:00] [req:3be57855] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695","invoice_id":"000019e5-d077-70b6-324a-5c944ea065bf"}
[2026-05-25T02:47:10+00:00] [req:3be57855] [org:-] getValidAccessToken() — not connected {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T02:47:10+00:00] [req:3be57855] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T02:47:10+00:00] [req:3be57855] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-d077-70b6-324a-5c944ea065bf","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T03:09:42+00:00] [req:38430d6e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-d1c0-7b99-6a4f-7726c87519a2","org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T03:09:42+00:00] [req:38430d6e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695","invoice_id":"000019e5-d1c0-7b99-6a4f-7726c87519a2"}
[2026-05-25T03:09:42+00:00] [req:38430d6e] [org:-] getValidAccessToken() — not connected {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T03:09:42+00:00] [req:38430d6e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T03:09:42+00:00] [req:38430d6e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-d1c0-7b99-6a4f-7726c87519a2","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T03:23:23+00:00] [req:b2f551cb] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-d289-7568-f5e3-92075b738b0d","org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T03:23:23+00:00] [req:b2f551cb] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695","invoice_id":"000019e5-d289-7568-f5e3-92075b738b0d"}
[2026-05-25T03:23:23+00:00] [req:b2f551cb] [org:-] getValidAccessToken() — not connected {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T03:23:23+00:00] [req:b2f551cb] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T03:23:23+00:00] [req:b2f551cb] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-d289-7568-f5e3-92075b738b0d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T03:26:46+00:00] [req:bbf72073] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-d2ba-7d86-8470-e8f7527c4bbd","org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T03:26:46+00:00] [req:bbf72073] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695","invoice_id":"000019e5-d2ba-7d86-8470-e8f7527c4bbd"}
[2026-05-25T03:26:46+00:00] [req:bbf72073] [org:-] getValidAccessToken() — not connected {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T03:26:46+00:00] [req:bbf72073] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T03:26:46+00:00] [req:bbf72073] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-d2ba-7d86-8470-e8f7527c4bbd","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T03:33:40+00:00] [req:8fe348e6] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-d320-7004-fc92-7c8ed323b3eb","org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T03:33:40+00:00] [req:8fe348e6] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695","invoice_id":"000019e5-d320-7004-fc92-7c8ed323b3eb"}
[2026-05-25T03:33:40+00:00] [req:8fe348e6] [org:-] getValidAccessToken() — not connected {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T03:33:40+00:00] [req:8fe348e6] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T03:33:40+00:00] [req:8fe348e6] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-d320-7004-fc92-7c8ed323b3eb","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T03:37:26+00:00] [req:0edb7096] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-d356-7ceb-ae6f-83c7fc95d53a","org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T03:37:26+00:00] [req:0edb7096] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695","invoice_id":"000019e5-d356-7ceb-ae6f-83c7fc95d53a"}
[2026-05-25T03:37:26+00:00] [req:0edb7096] [org:-] getValidAccessToken() — not connected {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T03:37:26+00:00] [req:0edb7096] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T03:37:26+00:00] [req:0edb7096] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-d356-7ceb-ae6f-83c7fc95d53a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T03:44:30+00:00] [req:f8246635] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-d3be-7c21-f398-f24d61d76658","org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T03:44:30+00:00] [req:f8246635] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695","invoice_id":"000019e5-d3be-7c21-f398-f24d61d76658"}
[2026-05-25T03:44:30+00:00] [req:f8246635] [org:-] getValidAccessToken() — not connected {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T03:44:30+00:00] [req:f8246635] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T03:44:30+00:00] [req:f8246635] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-d3be-7c21-f398-f24d61d76658","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T04:15:27+00:00] [req:bbf3f2c2] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-d584-7151-f3dd-fad649bd76ad","org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T04:15:27+00:00] [req:bbf3f2c2] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695","invoice_id":"000019e5-d584-7151-f3dd-fad649bd76ad"}
[2026-05-25T04:15:27+00:00] [req:bbf3f2c2] [org:-] getValidAccessToken() — not connected {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T04:15:27+00:00] [req:bbf3f2c2] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T04:15:27+00:00] [req:bbf3f2c2] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-d584-7151-f3dd-fad649bd76ad","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T04:22:57+00:00] [req:5a25e67a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-d5f1-73b8-9935-d89b7e261295","org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T04:22:57+00:00] [req:5a25e67a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695","invoice_id":"000019e5-d5f1-73b8-9935-d89b7e261295"}
[2026-05-25T04:22:57+00:00] [req:5a25e67a] [org:-] getValidAccessToken() — not connected {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-05-25T04:22:57+00:00] [req:5a25e67a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T04:22:57+00:00] [req:5a25e67a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-d5f1-73b8-9935-d89b7e261295","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T06:17:43+00:00] [req:e904abcc] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e5-dc7a-7f9a-8f21-b68a78825f62","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T06:17:43+00:00] [req:e904abcc] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e5-dc7a-7f9a-8f21-b68a78825f62"}
[2026-05-25T06:17:43+00:00] [req:e904abcc] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T06:17:43+00:00] [req:e904abcc] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T06:17:43+00:00] [req:e904abcc] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e5-dc7a-7f9a-8f21-b68a78825f62","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T20:24:30+00:00] [req:726c4cb1] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-0cf7-78bb-fcda-2a80bd4ad575","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:24:30+00:00] [req:726c4cb1] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-0cf7-78bb-fcda-2a80bd4ad575"}
[2026-05-25T20:24:30+00:00] [req:726c4cb1] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:24:30+00:00] [req:726c4cb1] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T20:24:30+00:00] [req:726c4cb1] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-0cf7-78bb-fcda-2a80bd4ad575","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T20:25:27+00:00] [req:5995cf24] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-0d05-7887-6e88-5f1d242d423d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:25:27+00:00] [req:5995cf24] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-0d05-7887-6e88-5f1d242d423d"}
[2026-05-25T20:25:27+00:00] [req:5995cf24] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:25:27+00:00] [req:5995cf24] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T20:25:27+00:00] [req:5995cf24] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-0d05-7887-6e88-5f1d242d423d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T20:26:37+00:00] [req:2984f84f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-0d16-74a0-5d63-7ccef10ba610","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:26:37+00:00] [req:2984f84f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-0d16-74a0-5d63-7ccef10ba610"}
[2026-05-25T20:26:37+00:00] [req:2984f84f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:26:37+00:00] [req:2984f84f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T20:26:37+00:00] [req:2984f84f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-0d16-74a0-5d63-7ccef10ba610","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T20:28:15+00:00] [req:9ac65d26] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-0d26-7bfb-c030-14e32452eec4","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:28:15+00:00] [req:9ac65d26] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-0d26-7bfb-c030-14e32452eec4"}
[2026-05-25T20:28:15+00:00] [req:9ac65d26] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:28:15+00:00] [req:9ac65d26] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T20:28:15+00:00] [req:9ac65d26] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-0d26-7bfb-c030-14e32452eec4","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T20:29:24+00:00] [req:4389f4f8] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-0d3f-737a-0bc3-f4ba7ab034a4","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:29:24+00:00] [req:4389f4f8] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-0d3f-737a-0bc3-f4ba7ab034a4"}
[2026-05-25T20:29:24+00:00] [req:4389f4f8] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:29:24+00:00] [req:4389f4f8] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T20:29:24+00:00] [req:4389f4f8] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-0d3f-737a-0bc3-f4ba7ab034a4","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T20:31:47+00:00] [req:490d88f9] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-0d62-7411-1c7f-54cc37f5f6d4","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:31:47+00:00] [req:490d88f9] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-0d62-7411-1c7f-54cc37f5f6d4"}
[2026-05-25T20:31:47+00:00] [req:490d88f9] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:31:47+00:00] [req:490d88f9] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T20:31:47+00:00] [req:490d88f9] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-0d62-7411-1c7f-54cc37f5f6d4","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T20:33:17+00:00] [req:d20196a4] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-0d78-7154-abf7-082cd773b7ee","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:33:17+00:00] [req:d20196a4] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-0d78-7154-abf7-082cd773b7ee"}
[2026-05-25T20:33:17+00:00] [req:d20196a4] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:33:17+00:00] [req:d20196a4] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T20:33:17+00:00] [req:d20196a4] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-0d78-7154-abf7-082cd773b7ee","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T20:36:36+00:00] [req:040349ed] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-0d9b-7d19-0b76-a7ddf62d81fc","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:36:36+00:00] [req:040349ed] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-0d9b-7d19-0b76-a7ddf62d81fc"}
[2026-05-25T20:36:36+00:00] [req:040349ed] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:36:36+00:00] [req:040349ed] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T20:36:36+00:00] [req:040349ed] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-0d9b-7d19-0b76-a7ddf62d81fc","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T20:36:36+00:00] [req:040349ed] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-0da8-7998-6931-2cbcc292c8f6","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:36:36+00:00] [req:040349ed] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-0da8-7998-6931-2cbcc292c8f6"}
[2026-05-25T20:36:36+00:00] [req:040349ed] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:36:36+00:00] [req:040349ed] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T20:36:36+00:00] [req:040349ed] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-0da8-7998-6931-2cbcc292c8f6","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T20:37:22+00:00] [req:51581049] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-0db3-7e01-01b4-e333cc5a0c2f","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:37:22+00:00] [req:51581049] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-0db3-7e01-01b4-e333cc5a0c2f"}
[2026-05-25T20:37:22+00:00] [req:51581049] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:37:22+00:00] [req:51581049] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T20:37:22+00:00] [req:51581049] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-0db3-7e01-01b4-e333cc5a0c2f","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T20:43:11+00:00] [req:ef22f358] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-0e09-7052-332a-f57e0965d51c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:43:11+00:00] [req:ef22f358] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-0e09-7052-332a-f57e0965d51c"}
[2026-05-25T20:43:11+00:00] [req:ef22f358] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:43:11+00:00] [req:ef22f358] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T20:43:11+00:00] [req:ef22f358] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-0e09-7052-332a-f57e0965d51c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T20:50:38+00:00] [req:c71d543c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-0e76-76bb-ddfd-108cffc81b17","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:50:38+00:00] [req:c71d543c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-0e76-76bb-ddfd-108cffc81b17"}
[2026-05-25T20:50:38+00:00] [req:c71d543c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T20:50:38+00:00] [req:c71d543c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T20:50:38+00:00] [req:c71d543c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-0e76-76bb-ddfd-108cffc81b17","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-25T23:49:37+00:00] [req:47d74f52] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-18b4-70bd-08bd-58a8044f5a2c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T23:49:37+00:00] [req:47d74f52] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-18b4-70bd-08bd-58a8044f5a2c"}
[2026-05-25T23:49:37+00:00] [req:47d74f52] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-25T23:49:37+00:00] [req:47d74f52] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-25T23:49:37+00:00] [req:47d74f52] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-18b4-70bd-08bd-58a8044f5a2c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T00:04:47+00:00] [req:d3246e50] [org:-] XeroController::getCredentials() {"org_id":"019e6109-010a-7fac-92b7-7425b46d0b5d"}
[2026-05-26T00:04:47+00:00] [req:d3246e50] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-26T00:04:48+00:00] [req:4fb42a76] [org:-] XeroController::getCredentials() {"org_id":"019e6109-010a-7fac-92b7-7425b46d0b5d"}
[2026-05-26T00:04:48+00:00] [req:4fb42a76] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-26T00:10:36+00:00] [req:4369ac80] [org:-] XeroController::getCredentials() {"org_id":"019e6109-010a-7fac-92b7-7425b46d0b5d"}
[2026-05-26T00:10:36+00:00] [req:4369ac80] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-26T00:10:36+00:00] [req:47569729] [org:-] XeroController::getCredentials() {"org_id":"019e6109-010a-7fac-92b7-7425b46d0b5d"}
[2026-05-26T00:10:36+00:00] [req:47569729] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-26T00:11:55+00:00] [req:217cc2ff] [org:-] XeroController::getCredentials() {"org_id":"019e6109-010a-7fac-92b7-7425b46d0b5d"}
[2026-05-26T00:11:55+00:00] [req:217cc2ff] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-26T00:11:57+00:00] [req:8042c438] [org:-] XeroController::getCredentials() {"org_id":"019e6109-010a-7fac-92b7-7425b46d0b5d"}
[2026-05-26T00:11:57+00:00] [req:8042c438] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-26T00:12:22+00:00] [req:9b84dc7e] [org:-] XeroController::getCredentials() {"org_id":"019e6109-010a-7fac-92b7-7425b46d0b5d"}
[2026-05-26T00:12:22+00:00] [req:9b84dc7e] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-26T00:24:10+00:00] [req:e030d73d] [org:-] XeroController::getCredentials() {"org_id":"019e6109-010a-7fac-92b7-7425b46d0b5d"}
[2026-05-26T00:24:10+00:00] [req:e030d73d] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-26T00:24:12+00:00] [req:531ce3fc] [org:-] XeroController::getCredentials() {"org_id":"019e6109-010a-7fac-92b7-7425b46d0b5d"}
[2026-05-26T00:24:12+00:00] [req:531ce3fc] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-26T00:31:25+00:00] [req:c64fe300] [org:-] XeroController::getCredentials() {"org_id":"019e6109-010a-7fac-92b7-7425b46d0b5d"}
[2026-05-26T00:31:25+00:00] [req:c64fe300] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-26T00:31:25+00:00] [req:a28e4ffe] [org:-] XeroController::getCredentials() {"org_id":"019e6109-010a-7fac-92b7-7425b46d0b5d"}
[2026-05-26T00:31:25+00:00] [req:a28e4ffe] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-26T00:31:25+00:00] [req:95787cab] [org:-] XeroController::getCredentials() {"org_id":"019e6109-010a-7fac-92b7-7425b46d0b5d"}
[2026-05-26T00:31:25+00:00] [req:95787cab] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-26T00:31:26+00:00] [req:737964d5] [org:-] XeroController::getCredentials() {"org_id":"019e6109-010a-7fac-92b7-7425b46d0b5d"}
[2026-05-26T00:31:26+00:00] [req:737964d5] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-26T00:54:45+00:00] [req:0e04b15a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-1c6e-733c-500e-a96ce0d3d3d2","org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-05-26T00:54:45+00:00] [req:0e04b15a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4","invoice_id":"000019e6-1c6e-733c-500e-a96ce0d3d3d2"}
[2026-05-26T00:54:45+00:00] [req:0e04b15a] [org:-] getValidAccessToken() — not connected {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-05-26T00:54:45+00:00] [req:0e04b15a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T00:54:45+00:00] [req:0e04b15a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-1c6e-733c-500e-a96ce0d3d3d2","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T02:36:17+00:00] [req:672ddd58] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-223d-7777-dfcd-586cd2cbd151","org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2"}
[2026-05-26T02:36:17+00:00] [req:672ddd58] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2","invoice_id":"000019e6-223d-7777-dfcd-586cd2cbd151"}
[2026-05-26T02:36:17+00:00] [req:672ddd58] [org:-] getValidAccessToken() — not connected {"org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2"}
[2026-05-26T02:36:17+00:00] [req:672ddd58] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T02:36:17+00:00] [req:672ddd58] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-223d-7777-dfcd-586cd2cbd151","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T03:41:19+00:00] [req:02060cff] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-25eb-7eb1-7a9c-17c0a0f2e260","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:41:19+00:00] [req:02060cff] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-25eb-7eb1-7a9c-17c0a0f2e260"}
[2026-05-26T03:41:19+00:00] [req:02060cff] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:41:19+00:00] [req:02060cff] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T03:41:19+00:00] [req:02060cff] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-25eb-7eb1-7a9c-17c0a0f2e260","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T03:41:19+00:00] [req:02060cff] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-25f6-7724-2941-01ea19504be9","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:41:19+00:00] [req:02060cff] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-25f6-7724-2941-01ea19504be9"}
[2026-05-26T03:41:19+00:00] [req:02060cff] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:41:19+00:00] [req:02060cff] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T03:41:19+00:00] [req:02060cff] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-25f6-7724-2941-01ea19504be9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T03:42:58+00:00] [req:80ff69fb] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-2601-788c-f762-3772aeeb82fb","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:42:58+00:00] [req:80ff69fb] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-2601-788c-f762-3772aeeb82fb"}
[2026-05-26T03:42:58+00:00] [req:80ff69fb] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:42:58+00:00] [req:80ff69fb] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T03:42:58+00:00] [req:80ff69fb] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-2601-788c-f762-3772aeeb82fb","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T03:42:58+00:00] [req:80ff69fb] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-2606-75b8-3dd8-5d28ad452776","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:42:58+00:00] [req:80ff69fb] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-2606-75b8-3dd8-5d28ad452776"}
[2026-05-26T03:42:58+00:00] [req:80ff69fb] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:42:58+00:00] [req:80ff69fb] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T03:42:58+00:00] [req:80ff69fb] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-2606-75b8-3dd8-5d28ad452776","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T03:42:58+00:00] [req:80ff69fb] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-260e-7800-703f-4d2a6f7f7468","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:42:58+00:00] [req:80ff69fb] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-260e-7800-703f-4d2a6f7f7468"}
[2026-05-26T03:42:58+00:00] [req:80ff69fb] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:42:58+00:00] [req:80ff69fb] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T03:42:58+00:00] [req:80ff69fb] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-260e-7800-703f-4d2a6f7f7468","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T03:44:36+00:00] [req:8851a052] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-2619-7c22-ad38-f3eeef370e98","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:44:36+00:00] [req:8851a052] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-2619-7c22-ad38-f3eeef370e98"}
[2026-05-26T03:44:36+00:00] [req:8851a052] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:44:36+00:00] [req:8851a052] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T03:44:36+00:00] [req:8851a052] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-2619-7c22-ad38-f3eeef370e98","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T03:45:46+00:00] [req:4fcdac57] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-2637-7bca-f1ee-0dc809c53c7d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:45:46+00:00] [req:4fcdac57] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-2637-7bca-f1ee-0dc809c53c7d"}
[2026-05-26T03:45:46+00:00] [req:4fcdac57] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:45:46+00:00] [req:4fcdac57] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T03:45:46+00:00] [req:4fcdac57] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-2637-7bca-f1ee-0dc809c53c7d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T03:46:43+00:00] [req:1dcda0cf] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-2645-79fa-ad8a-13491eaac29c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:46:43+00:00] [req:1dcda0cf] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-2645-79fa-ad8a-13491eaac29c"}
[2026-05-26T03:46:43+00:00] [req:1dcda0cf] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:46:43+00:00] [req:1dcda0cf] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T03:46:43+00:00] [req:1dcda0cf] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-2645-79fa-ad8a-13491eaac29c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T03:47:47+00:00] [req:a837b858] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-2655-7381-6da5-b50f5f83b8d3","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:47:47+00:00] [req:a837b858] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-2655-7381-6da5-b50f5f83b8d3"}
[2026-05-26T03:47:47+00:00] [req:a837b858] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:47:47+00:00] [req:a837b858] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T03:47:47+00:00] [req:a837b858] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-2655-7381-6da5-b50f5f83b8d3","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T03:49:20+00:00] [req:573730b8] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-265c-7299-b9c2-d403d43bed2e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:49:20+00:00] [req:573730b8] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-265c-7299-b9c2-d403d43bed2e"}
[2026-05-26T03:49:20+00:00] [req:573730b8] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:49:20+00:00] [req:573730b8] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T03:49:20+00:00] [req:573730b8] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-265c-7299-b9c2-d403d43bed2e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T03:50:50+00:00] [req:95a35af7] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-2681-7efd-b3ef-2fdff627c668","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:50:50+00:00] [req:95a35af7] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-2681-7efd-b3ef-2fdff627c668"}
[2026-05-26T03:50:50+00:00] [req:95a35af7] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:50:50+00:00] [req:95a35af7] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T03:50:50+00:00] [req:95a35af7] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-2681-7efd-b3ef-2fdff627c668","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T03:52:05+00:00] [req:6edac39e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-2694-70ff-0a2a-debafa7d7e26","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:52:05+00:00] [req:6edac39e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-2694-70ff-0a2a-debafa7d7e26"}
[2026-05-26T03:52:05+00:00] [req:6edac39e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:52:05+00:00] [req:6edac39e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T03:52:05+00:00] [req:6edac39e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-2694-70ff-0a2a-debafa7d7e26","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T03:53:36+00:00] [req:9aa9bb55] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-26aa-7453-2c3f-06d5234a262d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:53:36+00:00] [req:9aa9bb55] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-26aa-7453-2c3f-06d5234a262d"}
[2026-05-26T03:53:36+00:00] [req:9aa9bb55] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:53:36+00:00] [req:9aa9bb55] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T03:53:36+00:00] [req:9aa9bb55] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-26aa-7453-2c3f-06d5234a262d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T03:54:33+00:00] [req:3b9d492f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-26b8-73c9-65d6-dba323931367","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:54:33+00:00] [req:3b9d492f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-26b8-73c9-65d6-dba323931367"}
[2026-05-26T03:54:33+00:00] [req:3b9d492f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:54:33+00:00] [req:3b9d492f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T03:54:33+00:00] [req:3b9d492f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-26b8-73c9-65d6-dba323931367","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T03:57:24+00:00] [req:85ae9839] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-26d8-7adc-06aa-77a91bdcf1ba","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:57:24+00:00] [req:85ae9839] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-26d8-7adc-06aa-77a91bdcf1ba"}
[2026-05-26T03:57:24+00:00] [req:85ae9839] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T03:57:24+00:00] [req:85ae9839] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T03:57:24+00:00] [req:85ae9839] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-26d8-7adc-06aa-77a91bdcf1ba","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T04:06:51+00:00] [req:1e398a11] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-276c-76b3-111c-5a056cc9492c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T04:06:51+00:00] [req:1e398a11] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-276c-76b3-111c-5a056cc9492c"}
[2026-05-26T04:06:51+00:00] [req:1e398a11] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T04:06:51+00:00] [req:1e398a11] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T04:06:51+00:00] [req:1e398a11] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-276c-76b3-111c-5a056cc9492c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T04:07:29+00:00] [req:6d932595] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-2775-7a06-4975-55be2079ba35","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T04:07:29+00:00] [req:6d932595] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-2775-7a06-4975-55be2079ba35"}
[2026-05-26T04:07:29+00:00] [req:6d932595] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T04:07:29+00:00] [req:6d932595] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T04:07:29+00:00] [req:6d932595] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-2775-7a06-4975-55be2079ba35","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T04:10:18+00:00] [req:a7e0c647] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-279f-70cc-be59-99b44d4a02e4","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T04:10:18+00:00] [req:a7e0c647] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-279f-70cc-be59-99b44d4a02e4"}
[2026-05-26T04:10:18+00:00] [req:a7e0c647] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T04:10:18+00:00] [req:a7e0c647] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T04:10:18+00:00] [req:a7e0c647] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-279f-70cc-be59-99b44d4a02e4","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T05:32:43+00:00] [req:8d868c19] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-05-26T05:32:43+00:00] [req:8d868c19] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-26T06:14:51+00:00] [req:f3538c7c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-2eb1-7d23-a0a1-1d9cdb6a0a90","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T06:14:51+00:00] [req:f3538c7c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-2eb1-7d23-a0a1-1d9cdb6a0a90"}
[2026-05-26T06:14:51+00:00] [req:f3538c7c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T06:14:51+00:00] [req:f3538c7c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T06:14:51+00:00] [req:f3538c7c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-2eb1-7d23-a0a1-1d9cdb6a0a90","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T20:51:08+00:00] [req:ca6da41d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-60e3-7c3a-c14c-6b69b2fefa99","org_id":"org_id"}
[2026-05-26T20:51:08+00:00] [req:ca6da41d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"org_id","invoice_id":"000019e6-60e3-7c3a-c14c-6b69b2fefa99"}
[2026-05-26T20:51:08+00:00] [req:ca6da41d] [org:-] PostInvoiceToXeroStep caught exception {"invoice_id":"000019e6-60e3-7c3a-c14c-6b69b2fefa99","org_id":"org_id","error":"SQL Error: SQLSTATE[22P02]: Invalid text representation: 7 ERROR:  invalid input syntax for type uuid: \"org_id\"\nCONTEXT:  unnamed portal parameter $1 = '...' | Query: SELECT settings FROM \"orgs\" WHERE \"org_id\" = ? LIMIT 1"}
[2026-05-26T20:53:06+00:00] [req:40ce4d3c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-6100-7673-32c4-16781b8195d4","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T20:53:06+00:00] [req:40ce4d3c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-6100-7673-32c4-16781b8195d4"}
[2026-05-26T20:53:06+00:00] [req:40ce4d3c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T20:53:06+00:00] [req:40ce4d3c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T20:53:06+00:00] [req:40ce4d3c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-6100-7673-32c4-16781b8195d4","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T20:54:40+00:00] [req:da730375] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-610f-76a4-49f3-30fa394714e3","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T20:54:40+00:00] [req:da730375] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-610f-76a4-49f3-30fa394714e3"}
[2026-05-26T20:54:40+00:00] [req:da730375] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T20:54:40+00:00] [req:da730375] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T20:54:40+00:00] [req:da730375] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-610f-76a4-49f3-30fa394714e3","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T20:54:40+00:00] [req:da730375] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-6117-7528-8505-75db50cf106c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T20:54:40+00:00] [req:da730375] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-6117-7528-8505-75db50cf106c"}
[2026-05-26T20:54:40+00:00] [req:da730375] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T20:54:40+00:00] [req:da730375] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T20:54:40+00:00] [req:da730375] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-6117-7528-8505-75db50cf106c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T20:56:19+00:00] [req:0195ac70] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-612f-78c0-36be-7647ce19c833","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T20:56:19+00:00] [req:0195ac70] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-612f-78c0-36be-7647ce19c833"}
[2026-05-26T20:56:19+00:00] [req:0195ac70] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T20:56:19+00:00] [req:0195ac70] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T20:56:19+00:00] [req:0195ac70] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-612f-78c0-36be-7647ce19c833","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T20:58:46+00:00] [req:cc108811] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-6153-792f-307e-655d1c57cd40","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T20:58:46+00:00] [req:cc108811] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-6153-792f-307e-655d1c57cd40"}
[2026-05-26T20:58:46+00:00] [req:cc108811] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T20:58:46+00:00] [req:cc108811] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T20:58:46+00:00] [req:cc108811] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-6153-792f-307e-655d1c57cd40","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T20:59:50+00:00] [req:08c9eb11] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-6163-7157-423d-660a0dc8a3ed","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T20:59:50+00:00] [req:08c9eb11] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-6163-7157-423d-660a0dc8a3ed"}
[2026-05-26T20:59:50+00:00] [req:08c9eb11] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T20:59:50+00:00] [req:08c9eb11] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T20:59:50+00:00] [req:08c9eb11] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-6163-7157-423d-660a0dc8a3ed","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T21:02:56+00:00] [req:c3d6ffc6] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-6190-7593-9344-327e3e484947","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T21:02:56+00:00] [req:c3d6ffc6] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-6190-7593-9344-327e3e484947"}
[2026-05-26T21:02:56+00:00] [req:c3d6ffc6] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T21:02:56+00:00] [req:c3d6ffc6] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T21:02:56+00:00] [req:c3d6ffc6] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-6190-7593-9344-327e3e484947","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T21:05:08+00:00] [req:713f242c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-61b0-7d33-5be3-333307906780","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T21:05:08+00:00] [req:713f242c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-61b0-7d33-5be3-333307906780"}
[2026-05-26T21:05:08+00:00] [req:713f242c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T21:05:08+00:00] [req:713f242c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T21:05:08+00:00] [req:713f242c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-61b0-7d33-5be3-333307906780","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T21:08:06+00:00] [req:c50deb0e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-61cc-700d-465b-419021c9735c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T21:08:06+00:00] [req:c50deb0e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-61cc-700d-465b-419021c9735c"}
[2026-05-26T21:08:06+00:00] [req:c50deb0e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T21:08:06+00:00] [req:c50deb0e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T21:08:06+00:00] [req:c50deb0e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-61cc-700d-465b-419021c9735c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T21:08:50+00:00] [req:3611405e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-61e6-7b26-86c3-65461e6a7fc6","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T21:08:50+00:00] [req:3611405e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-61e6-7b26-86c3-65461e6a7fc6"}
[2026-05-26T21:08:50+00:00] [req:3611405e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T21:08:50+00:00] [req:3611405e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T21:08:50+00:00] [req:3611405e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-61e6-7b26-86c3-65461e6a7fc6","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T21:09:47+00:00] [req:9663547a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-61f4-7edc-62cd-e2d088af9355","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T21:09:47+00:00] [req:9663547a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-61f4-7edc-62cd-e2d088af9355"}
[2026-05-26T21:09:47+00:00] [req:9663547a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T21:09:47+00:00] [req:9663547a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T21:09:47+00:00] [req:9663547a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-61f4-7edc-62cd-e2d088af9355","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T21:10:06+00:00] [req:eeb8c29d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-61f9-7943-ade0-069891b4f56d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T21:10:06+00:00] [req:eeb8c29d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-61f9-7943-ade0-069891b4f56d"}
[2026-05-26T21:10:06+00:00] [req:eeb8c29d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-26T21:10:06+00:00] [req:eeb8c29d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T21:10:06+00:00] [req:eeb8c29d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-61f9-7943-ade0-069891b4f56d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T21:42:52+00:00] [req:7b9f12c5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-63d8-7fe9-8c2e-c7cded1b70e0","org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-05-26T21:42:52+00:00] [req:7b9f12c5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68","invoice_id":"000019e6-63d8-7fe9-8c2e-c7cded1b70e0"}
[2026-05-26T21:42:52+00:00] [req:7b9f12c5] [org:-] getValidAccessToken() — not connected {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-05-26T21:42:52+00:00] [req:7b9f12c5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T21:42:52+00:00] [req:7b9f12c5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-63d8-7fe9-8c2e-c7cded1b70e0","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T22:08:37+00:00] [req:bfc7c89c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-6549-7b1e-99f6-166aab077c93","org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-05-26T22:08:37+00:00] [req:bfc7c89c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68","invoice_id":"000019e6-6549-7b1e-99f6-166aab077c93"}
[2026-05-26T22:08:37+00:00] [req:bfc7c89c] [org:-] getValidAccessToken() — not connected {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-05-26T22:08:37+00:00] [req:bfc7c89c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T22:08:37+00:00] [req:bfc7c89c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-6549-7b1e-99f6-166aab077c93","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T22:39:45+00:00] [req:065f44cd] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-6715-7a2a-e0b4-dad255836c23","org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-05-26T22:39:45+00:00] [req:065f44cd] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68","invoice_id":"000019e6-6715-7a2a-e0b4-dad255836c23"}
[2026-05-26T22:39:45+00:00] [req:065f44cd] [org:-] getValidAccessToken() — not connected {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-05-26T22:39:45+00:00] [req:065f44cd] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T22:39:45+00:00] [req:065f44cd] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-6715-7a2a-e0b4-dad255836c23","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-26T22:55:06+00:00] [req:8c7d61c0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-67fb-729e-7708-421b7eb9158c","org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-05-26T22:55:06+00:00] [req:8c7d61c0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68","invoice_id":"000019e6-67fb-729e-7708-421b7eb9158c"}
[2026-05-26T22:55:06+00:00] [req:8c7d61c0] [org:-] getValidAccessToken() — not connected {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-05-26T22:55:06+00:00] [req:8c7d61c0] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-26T22:55:06+00:00] [req:8c7d61c0] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-67fb-729e-7708-421b7eb9158c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T02:11:46+00:00] [req:9e997371] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-733c-77b6-6637-daab66368c12","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T02:11:46+00:00] [req:9e997371] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-733c-77b6-6637-daab66368c12"}
[2026-05-27T02:11:46+00:00] [req:9e997371] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T02:11:46+00:00] [req:9e997371] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T02:11:46+00:00] [req:9e997371] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-733c-77b6-6637-daab66368c12","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T02:12:21+00:00] [req:759d6e54] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-7341-74d9-0749-8cba15125b03","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T02:12:21+00:00] [req:759d6e54] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-7341-74d9-0749-8cba15125b03"}
[2026-05-27T02:12:21+00:00] [req:759d6e54] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T02:12:21+00:00] [req:759d6e54] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T02:12:21+00:00] [req:759d6e54] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-7341-74d9-0749-8cba15125b03","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T06:08:03+00:00] [req:94991e60] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-80c1-79a1-3471-615bf043ceec","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T06:08:03+00:00] [req:94991e60] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-80c1-79a1-3471-615bf043ceec"}
[2026-05-27T06:08:03+00:00] [req:94991e60] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T06:08:03+00:00] [req:94991e60] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T06:08:03+00:00] [req:94991e60] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-80c1-79a1-3471-615bf043ceec","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:19:46+00:00] [req:0593253a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b4ed-7470-83bc-1b6d1798fe20","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:19:46+00:00] [req:0593253a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b4ed-7470-83bc-1b6d1798fe20"}
[2026-05-27T21:19:46+00:00] [req:0593253a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:19:46+00:00] [req:0593253a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:19:46+00:00] [req:0593253a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b4ed-7470-83bc-1b6d1798fe20","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:20:11+00:00] [req:a88126a7] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b4f3-70d6-bb09-e59f6e6b5fae","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:20:11+00:00] [req:a88126a7] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b4f3-70d6-bb09-e59f6e6b5fae"}
[2026-05-27T21:20:11+00:00] [req:a88126a7] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:20:11+00:00] [req:a88126a7] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:20:11+00:00] [req:a88126a7] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b4f3-70d6-bb09-e59f6e6b5fae","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:23:54+00:00] [req:ca783e08] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b529-7b12-5241-3f7862107a62","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:23:54+00:00] [req:ca783e08] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b529-7b12-5241-3f7862107a62"}
[2026-05-27T21:23:54+00:00] [req:ca783e08] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:23:54+00:00] [req:ca783e08] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:23:54+00:00] [req:ca783e08] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b529-7b12-5241-3f7862107a62","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:25:06+00:00] [req:82443e72] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b53b-7449-331f-59137489f8fc","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:25:06+00:00] [req:82443e72] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b53b-7449-331f-59137489f8fc"}
[2026-05-27T21:25:06+00:00] [req:82443e72] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:25:06+00:00] [req:82443e72] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:25:06+00:00] [req:82443e72] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b53b-7449-331f-59137489f8fc","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:27:08+00:00] [req:45736c9b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b54a-7160-4332-80765f0aee1a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:27:08+00:00] [req:45736c9b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b54a-7160-4332-80765f0aee1a"}
[2026-05-27T21:27:08+00:00] [req:45736c9b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:27:08+00:00] [req:45736c9b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:27:08+00:00] [req:45736c9b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b54a-7160-4332-80765f0aee1a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:27:52+00:00] [req:79d52ce6] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b563-7c18-4f36-b52f9f81700d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:27:52+00:00] [req:79d52ce6] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b563-7c18-4f36-b52f9f81700d"}
[2026-05-27T21:27:52+00:00] [req:79d52ce6] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:27:52+00:00] [req:79d52ce6] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:27:52+00:00] [req:79d52ce6] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b563-7c18-4f36-b52f9f81700d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:29:10+00:00] [req:d4e00ff6] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b576-7b18-f8de-841ce1f26ce8","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:29:10+00:00] [req:d4e00ff6] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b576-7b18-f8de-841ce1f26ce8"}
[2026-05-27T21:29:10+00:00] [req:d4e00ff6] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:29:10+00:00] [req:d4e00ff6] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:29:10+00:00] [req:d4e00ff6] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b576-7b18-f8de-841ce1f26ce8","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:32:27+00:00] [req:eb261b2c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b59f-7079-410a-7aa8841811f9","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:32:27+00:00] [req:eb261b2c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b59f-7079-410a-7aa8841811f9"}
[2026-05-27T21:32:27+00:00] [req:eb261b2c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:32:27+00:00] [req:eb261b2c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:32:27+00:00] [req:eb261b2c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b59f-7079-410a-7aa8841811f9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:37:48+00:00] [req:453c847d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b5f5-720b-7852-6eeb9d1cb011","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:37:48+00:00] [req:453c847d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b5f5-720b-7852-6eeb9d1cb011"}
[2026-05-27T21:37:48+00:00] [req:453c847d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:37:48+00:00] [req:453c847d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:37:48+00:00] [req:453c847d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b5f5-720b-7852-6eeb9d1cb011","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:39:18+00:00] [req:65af5c58] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b60b-745a-49f0-d8820b1bc529","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:39:18+00:00] [req:65af5c58] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b60b-745a-49f0-d8820b1bc529"}
[2026-05-27T21:39:18+00:00] [req:65af5c58] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:39:18+00:00] [req:65af5c58] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:39:18+00:00] [req:65af5c58] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b60b-745a-49f0-d8820b1bc529","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:41:57+00:00] [req:ae908411] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b623-72a7-7636-c87e40a5d89b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:41:57+00:00] [req:ae908411] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b623-72a7-7636-c87e40a5d89b"}
[2026-05-27T21:41:57+00:00] [req:ae908411] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:41:57+00:00] [req:ae908411] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:41:57+00:00] [req:ae908411] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b623-72a7-7636-c87e40a5d89b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:43:08+00:00] [req:3649d155] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b636-7b1d-840b-92cdebcf6925","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:43:08+00:00] [req:3649d155] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b636-7b1d-840b-92cdebcf6925"}
[2026-05-27T21:43:08+00:00] [req:3649d155] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:43:08+00:00] [req:3649d155] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:43:08+00:00] [req:3649d155] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b636-7b1d-840b-92cdebcf6925","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:43:26+00:00] [req:06969284] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b647-7ceb-bab1-9a3f4455b7a6","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:43:26+00:00] [req:06969284] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b647-7ceb-bab1-9a3f4455b7a6"}
[2026-05-27T21:43:26+00:00] [req:06969284] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:43:26+00:00] [req:06969284] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:43:26+00:00] [req:06969284] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b647-7ceb-bab1-9a3f4455b7a6","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:46:56+00:00] [req:c8f0281d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b673-766e-fe97-f88fc8092ab5","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:46:56+00:00] [req:c8f0281d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b673-766e-fe97-f88fc8092ab5"}
[2026-05-27T21:46:56+00:00] [req:c8f0281d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:46:56+00:00] [req:c8f0281d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:46:56+00:00] [req:c8f0281d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b673-766e-fe97-f88fc8092ab5","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:46:56+00:00] [req:c8f0281d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b67b-7293-8c23-325b47dbdbd6","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:46:56+00:00] [req:c8f0281d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b67b-7293-8c23-325b47dbdbd6"}
[2026-05-27T21:46:56+00:00] [req:c8f0281d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:46:56+00:00] [req:c8f0281d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:46:56+00:00] [req:c8f0281d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b67b-7293-8c23-325b47dbdbd6","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:47:49+00:00] [req:5a359488] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b688-7280-d7b2-630dbe3c5996","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:47:49+00:00] [req:5a359488] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b688-7280-d7b2-630dbe3c5996"}
[2026-05-27T21:47:49+00:00] [req:5a359488] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:47:49+00:00] [req:5a359488] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:47:49+00:00] [req:5a359488] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b688-7280-d7b2-630dbe3c5996","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:49:30+00:00] [req:d659251d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b690-7e67-854d-9551d6330aac","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:49:30+00:00] [req:d659251d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b690-7e67-854d-9551d6330aac"}
[2026-05-27T21:49:30+00:00] [req:d659251d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:49:30+00:00] [req:d659251d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:49:30+00:00] [req:d659251d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b690-7e67-854d-9551d6330aac","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:51:30+00:00] [req:9ea81466] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b6b0-7c8b-0472-0a1c3d98a961","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:51:30+00:00] [req:9ea81466] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b6b0-7c8b-0472-0a1c3d98a961"}
[2026-05-27T21:51:30+00:00] [req:9ea81466] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:51:30+00:00] [req:9ea81466] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:51:30+00:00] [req:9ea81466] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b6b0-7c8b-0472-0a1c3d98a961","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:51:30+00:00] [req:9ea81466] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b6bd-7fc7-da29-14b22d4265f5","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:51:30+00:00] [req:9ea81466] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b6bd-7fc7-da29-14b22d4265f5"}
[2026-05-27T21:51:30+00:00] [req:9ea81466] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:51:30+00:00] [req:9ea81466] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:51:30+00:00] [req:9ea81466] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b6bd-7fc7-da29-14b22d4265f5","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:53:40+00:00] [req:3d94b1f2] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b6dd-7b33-5ee1-27a9d6a8f2e1","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:53:40+00:00] [req:3d94b1f2] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b6dd-7b33-5ee1-27a9d6a8f2e1"}
[2026-05-27T21:53:40+00:00] [req:3d94b1f2] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:53:40+00:00] [req:3d94b1f2] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:53:40+00:00] [req:3d94b1f2] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b6dd-7b33-5ee1-27a9d6a8f2e1","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:54:25+00:00] [req:004d510a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b6e8-7cf8-3a9f-5ff9944e13e6","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:54:25+00:00] [req:004d510a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b6e8-7cf8-3a9f-5ff9944e13e6"}
[2026-05-27T21:54:25+00:00] [req:004d510a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:54:25+00:00] [req:004d510a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:54:25+00:00] [req:004d510a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b6e8-7cf8-3a9f-5ff9944e13e6","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:55:47+00:00] [req:8437bf0d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b6fc-7b71-9223-ab84c41d6dc1","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:55:47+00:00] [req:8437bf0d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b6fc-7b71-9223-ab84c41d6dc1"}
[2026-05-27T21:55:47+00:00] [req:8437bf0d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:55:47+00:00] [req:8437bf0d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:55:47+00:00] [req:8437bf0d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b6fc-7b71-9223-ab84c41d6dc1","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:57:32+00:00] [req:c0a8156e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b716-7375-3735-8860da090003","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:57:32+00:00] [req:c0a8156e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b716-7375-3735-8860da090003"}
[2026-05-27T21:57:32+00:00] [req:c0a8156e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:57:32+00:00] [req:c0a8156e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:57:32+00:00] [req:c0a8156e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b716-7375-3735-8860da090003","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T21:58:04+00:00] [req:ccd0054f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b71e-7068-1906-20d5f0ed5dbf","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:58:04+00:00] [req:ccd0054f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b71e-7068-1906-20d5f0ed5dbf"}
[2026-05-27T21:58:04+00:00] [req:ccd0054f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T21:58:04+00:00] [req:ccd0054f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T21:58:04+00:00] [req:ccd0054f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b71e-7068-1906-20d5f0ed5dbf","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T22:00:12+00:00] [req:0a2bced9] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b73d-7379-a167-653f7c528342","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T22:00:12+00:00] [req:0a2bced9] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b73d-7379-a167-653f7c528342"}
[2026-05-27T22:00:12+00:00] [req:0a2bced9] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T22:00:12+00:00] [req:0a2bced9] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T22:00:12+00:00] [req:0a2bced9] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b73d-7379-a167-653f7c528342","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T22:02:10+00:00] [req:739afb29] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-b75a-7355-8ac8-a38d203ec5cf","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T22:02:10+00:00] [req:739afb29] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-b75a-7355-8ac8-a38d203ec5cf"}
[2026-05-27T22:02:10+00:00] [req:739afb29] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T22:02:10+00:00] [req:739afb29] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T22:02:10+00:00] [req:739afb29] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-b75a-7355-8ac8-a38d203ec5cf","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-27T22:55:03+00:00] [req:68c0f4e3] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-ba5d-7d74-de06-e74e018da7a3","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T22:55:03+00:00] [req:68c0f4e3] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-ba5d-7d74-de06-e74e018da7a3"}
[2026-05-27T22:55:03+00:00] [req:68c0f4e3] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-27T22:55:03+00:00] [req:68c0f4e3] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-27T22:55:03+00:00] [req:68c0f4e3] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-ba5d-7d74-de06-e74e018da7a3","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-28T01:05:33+00:00] [req:7da89c1a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-c1d7-7c16-d846-7a255464b88b","org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-05-28T01:05:33+00:00] [req:7da89c1a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68","invoice_id":"000019e6-c1d7-7c16-d846-7a255464b88b"}
[2026-05-28T01:05:33+00:00] [req:7da89c1a] [org:-] getValidAccessToken() — not connected {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-05-28T01:05:33+00:00] [req:7da89c1a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-28T01:05:33+00:00] [req:7da89c1a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-c1d7-7c16-d846-7a255464b88b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-28T02:58:45+00:00] [req:57463eeb] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-c84d-73eb-7186-2b5e4080e6a2","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-28T02:58:45+00:00] [req:57463eeb] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-c84d-73eb-7186-2b5e4080e6a2"}
[2026-05-28T02:58:45+00:00] [req:57463eeb] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-28T02:58:45+00:00] [req:57463eeb] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-28T02:58:45+00:00] [req:57463eeb] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-c84d-73eb-7186-2b5e4080e6a2","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-28T02:58:45+00:00] [req:57463eeb] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e6-c852-7900-d39b-ab7336f62331","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-28T02:58:45+00:00] [req:57463eeb] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e6-c852-7900-d39b-ab7336f62331"}
[2026-05-28T02:58:45+00:00] [req:57463eeb] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-28T02:58:45+00:00] [req:57463eeb] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-28T02:58:45+00:00] [req:57463eeb] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e6-c852-7900-d39b-ab7336f62331","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-28T22:44:02+00:00] [req:03e5e67e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-0c24-7e0c-875b-d7d2e1e4c686","org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-05-28T22:44:02+00:00] [req:03e5e67e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4","invoice_id":"000019e7-0c24-7e0c-875b-d7d2e1e4c686"}
[2026-05-28T22:44:02+00:00] [req:03e5e67e] [org:-] getValidAccessToken() — not connected {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-05-28T22:44:02+00:00] [req:03e5e67e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-28T22:44:02+00:00] [req:03e5e67e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-0c24-7e0c-875b-d7d2e1e4c686","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-28T23:48:46+00:00] [req:3471912c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-0fd8-7a74-22c0-1ea1ec703a81","org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-05-28T23:48:46+00:00] [req:3471912c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4","invoice_id":"000019e7-0fd8-7a74-22c0-1ea1ec703a81"}
[2026-05-28T23:48:46+00:00] [req:3471912c] [org:-] getValidAccessToken() — not connected {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-05-28T23:48:46+00:00] [req:3471912c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-28T23:48:46+00:00] [req:3471912c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-0fd8-7a74-22c0-1ea1ec703a81","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-28T23:48:47+00:00] [req:47b4017a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-0fd8-7a74-22c0-1ea1ec703a81","org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-05-28T23:48:47+00:00] [req:47b4017a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4","invoice_id":"000019e7-0fd8-7a74-22c0-1ea1ec703a81"}
[2026-05-28T23:48:47+00:00] [req:47b4017a] [org:-] getValidAccessToken() — not connected {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-05-28T23:48:47+00:00] [req:47b4017a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-28T23:48:47+00:00] [req:47b4017a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-0fd8-7a74-22c0-1ea1ec703a81","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-29T05:55:34+00:00] [req:f0b44a5f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-24d3-7b24-ec24-a99e2cdb6457","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-29T05:55:34+00:00] [req:f0b44a5f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-24d3-7b24-ec24-a99e2cdb6457"}
[2026-05-29T05:55:34+00:00] [req:f0b44a5f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-29T05:55:34+00:00] [req:f0b44a5f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-29T05:55:34+00:00] [req:f0b44a5f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-24d3-7b24-ec24-a99e2cdb6457","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-29T18:44:46+00:00] [req:1e580511] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-50d9-78ed-1c56-6f41dd87722c","org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-29T18:44:46+00:00] [req:1e580511] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019e7-50d9-78ed-1c56-6f41dd87722c"}
[2026-05-29T18:44:46+00:00] [req:1e580511] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778648941,"now":1780080286}
[2026-05-29T18:44:46+00:00] [req:1e580511] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-05-29T18:44:46+00:00] [req:1e580511] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-05-29T18:44:46+00:00] [req:1e580511] [org:-] refreshAccessToken() called {"refresh_token":"14F8aJ…[33]…LRpk"}
[2026-05-29T18:44:46+00:00] [req:1e580511] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"14F8aJ…[33]…LRpk"}}
[2026-05-29T18:44:46+00:00] [req:1e580511] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-05-29T18:44:46+00:00] [req:1e580511] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-05-29T18:44:46+00:00] [req:1e580511] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-05-29T18:44:46+00:00] [req:1e580511] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-29T18:44:46+00:00] [req:1e580511] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-50d9-78ed-1c56-6f41dd87722c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-29T20:28:05+00:00] [req:038934e6] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-56c2-7d50-efcd-d45eed304822","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-29T20:28:05+00:00] [req:038934e6] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-56c2-7d50-efcd-d45eed304822"}
[2026-05-29T20:28:05+00:00] [req:038934e6] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-29T20:28:05+00:00] [req:038934e6] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-29T20:28:05+00:00] [req:038934e6] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-56c2-7d50-efcd-d45eed304822","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-29T20:28:59+00:00] [req:2cd16ade] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-56d0-7054-3054-07b8e470f31f","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-29T20:28:59+00:00] [req:2cd16ade] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-56d0-7054-3054-07b8e470f31f"}
[2026-05-29T20:28:59+00:00] [req:2cd16ade] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-29T20:28:59+00:00] [req:2cd16ade] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-29T20:28:59+00:00] [req:2cd16ade] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-56d0-7054-3054-07b8e470f31f","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-29T20:32:02+00:00] [req:19201c35] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-56ed-7177-78d3-0b013af00ac3","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-29T20:32:02+00:00] [req:19201c35] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-56ed-7177-78d3-0b013af00ac3"}
[2026-05-29T20:32:02+00:00] [req:19201c35] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-29T20:32:02+00:00] [req:19201c35] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-29T20:32:02+00:00] [req:19201c35] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-56ed-7177-78d3-0b013af00ac3","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-29T20:32:39+00:00] [req:2a120db6] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-56fe-7615-6b39-c0f6e7887573","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-29T20:32:39+00:00] [req:2a120db6] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-56fe-7615-6b39-c0f6e7887573"}
[2026-05-29T20:32:39+00:00] [req:2a120db6] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-29T20:32:39+00:00] [req:2a120db6] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-29T20:32:39+00:00] [req:2a120db6] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-56fe-7615-6b39-c0f6e7887573","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-29T20:32:39+00:00] [req:2a120db6] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-5705-7be4-c539-cbfd30db7331","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-29T20:32:39+00:00] [req:2a120db6] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-5705-7be4-c539-cbfd30db7331"}
[2026-05-29T20:32:39+00:00] [req:2a120db6] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-29T20:32:39+00:00] [req:2a120db6] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-29T20:32:39+00:00] [req:2a120db6] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-5705-7be4-c539-cbfd30db7331","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-29T20:33:09+00:00] [req:dec05e40] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-570d-7363-67e4-848a31d6ff23","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-29T20:33:09+00:00] [req:dec05e40] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-570d-7363-67e4-848a31d6ff23"}
[2026-05-29T20:33:09+00:00] [req:dec05e40] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-29T20:33:09+00:00] [req:dec05e40] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-29T20:33:09+00:00] [req:dec05e40] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-570d-7363-67e4-848a31d6ff23","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-29T20:41:40+00:00] [req:9c11af6b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-577e-742f-02ec-88bfd3bd308f","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-29T20:41:40+00:00] [req:9c11af6b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-577e-742f-02ec-88bfd3bd308f"}
[2026-05-29T20:41:40+00:00] [req:9c11af6b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-29T20:41:40+00:00] [req:9c11af6b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-29T20:41:40+00:00] [req:9c11af6b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-577e-742f-02ec-88bfd3bd308f","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-29T21:30:37+00:00] [req:d2bc6626] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-5a57-71cd-729f-7803573e9fc8","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-29T21:30:37+00:00] [req:d2bc6626] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-5a57-71cd-729f-7803573e9fc8"}
[2026-05-29T21:30:37+00:00] [req:d2bc6626] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-29T21:30:37+00:00] [req:d2bc6626] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-29T21:30:37+00:00] [req:d2bc6626] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-5a57-71cd-729f-7803573e9fc8","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-30T04:51:46+00:00] [req:8da0a578] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-7395-75ef-8324-cf9e909a8c55","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-30T04:51:46+00:00] [req:8da0a578] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-7395-75ef-8324-cf9e909a8c55"}
[2026-05-30T04:51:46+00:00] [req:8da0a578] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-30T04:51:46+00:00] [req:8da0a578] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-30T04:51:46+00:00] [req:8da0a578] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-7395-75ef-8324-cf9e909a8c55","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-30T06:31:01+00:00] [req:5d14acb2] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-7943-7028-5b21-164bce3a341e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-30T06:31:01+00:00] [req:5d14acb2] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-7943-7028-5b21-164bce3a341e"}
[2026-05-30T06:31:01+00:00] [req:5d14acb2] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-30T06:31:01+00:00] [req:5d14acb2] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-30T06:31:01+00:00] [req:5d14acb2] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-7943-7028-5b21-164bce3a341e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T01:06:46+00:00] [req:1e7fa704] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-b91b-7211-d3b1-1f47b3ac2835","org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2"}
[2026-05-31T01:06:46+00:00] [req:1e7fa704] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2","invoice_id":"000019e7-b91b-7211-d3b1-1f47b3ac2835"}
[2026-05-31T01:06:46+00:00] [req:1e7fa704] [org:-] getValidAccessToken() — not connected {"org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2"}
[2026-05-31T01:06:46+00:00] [req:1e7fa704] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T01:06:46+00:00] [req:1e7fa704] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-b91b-7211-d3b1-1f47b3ac2835","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T04:31:05+00:00] [req:275dedc3] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-c4ae-75b3-43b6-da86240fecd9","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T04:31:05+00:00] [req:275dedc3] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-c4ae-75b3-43b6-da86240fecd9"}
[2026-05-31T04:31:05+00:00] [req:275dedc3] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T04:31:05+00:00] [req:275dedc3] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T04:31:05+00:00] [req:275dedc3] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-c4ae-75b3-43b6-da86240fecd9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T04:31:05+00:00] [req:275dedc3] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-c4b5-7457-9f29-bd0b70888b37","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T04:31:05+00:00] [req:275dedc3] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-c4b5-7457-9f29-bd0b70888b37"}
[2026-05-31T04:31:05+00:00] [req:275dedc3] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T04:31:05+00:00] [req:275dedc3] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T04:31:05+00:00] [req:275dedc3] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-c4b5-7457-9f29-bd0b70888b37","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T08:16:22+00:00] [req:4eab84e8] [org:-] XeroController::getCredentials() {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-05-31T08:16:22+00:00] [req:4eab84e8] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-31T10:10:07+00:00] [req:aadb28f9] [org:-] XeroController::getCredentials() {"org_id":"019cfe34-e32d-768c-0383-899ac3d27409"}
[2026-05-31T10:10:07+00:00] [req:aadb28f9] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-05-31T20:36:55+00:00] [req:da1c66a6] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-fc10-713d-e950-f915c6f178a2","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T20:36:55+00:00] [req:da1c66a6] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-fc10-713d-e950-f915c6f178a2"}
[2026-05-31T20:36:55+00:00] [req:da1c66a6] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T20:36:55+00:00] [req:da1c66a6] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T20:36:55+00:00] [req:da1c66a6] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-fc10-713d-e950-f915c6f178a2","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T20:41:42+00:00] [req:adf81fe8] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-fc56-70a1-e29d-91d439101ed1","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T20:41:42+00:00] [req:adf81fe8] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-fc56-70a1-e29d-91d439101ed1"}
[2026-05-31T20:41:42+00:00] [req:adf81fe8] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T20:41:42+00:00] [req:adf81fe8] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T20:41:42+00:00] [req:adf81fe8] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-fc56-70a1-e29d-91d439101ed1","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T20:42:37+00:00] [req:fdaf6da9] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-fc63-7843-c00a-59bccaa85d6b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T20:42:37+00:00] [req:fdaf6da9] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-fc63-7843-c00a-59bccaa85d6b"}
[2026-05-31T20:42:37+00:00] [req:fdaf6da9] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T20:42:37+00:00] [req:fdaf6da9] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T20:42:37+00:00] [req:fdaf6da9] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-fc63-7843-c00a-59bccaa85d6b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T20:45:35+00:00] [req:e43589d5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-fc8e-7ba8-3472-2ede4f8a9305","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T20:45:35+00:00] [req:e43589d5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-fc8e-7ba8-3472-2ede4f8a9305"}
[2026-05-31T20:45:35+00:00] [req:e43589d5] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T20:45:35+00:00] [req:e43589d5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T20:45:35+00:00] [req:e43589d5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-fc8e-7ba8-3472-2ede4f8a9305","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:04:25+00:00] [req:cacfb537] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-fda2-7a10-a6c6-dac91debdf34","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:04:25+00:00] [req:cacfb537] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-fda2-7a10-a6c6-dac91debdf34"}
[2026-05-31T21:04:25+00:00] [req:cacfb537] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:04:25+00:00] [req:cacfb537] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:04:25+00:00] [req:cacfb537] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-fda2-7a10-a6c6-dac91debdf34","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:05:26+00:00] [req:8f9f2a3e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-fdb1-78ea-2527-b8cb20a6555e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:05:26+00:00] [req:8f9f2a3e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-fdb1-78ea-2527-b8cb20a6555e"}
[2026-05-31T21:05:26+00:00] [req:8f9f2a3e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:05:26+00:00] [req:8f9f2a3e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:05:26+00:00] [req:8f9f2a3e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-fdb1-78ea-2527-b8cb20a6555e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:06:57+00:00] [req:1f9b87e8] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-fdc7-7ff8-42d8-43620b973afd","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:06:57+00:00] [req:1f9b87e8] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-fdc7-7ff8-42d8-43620b973afd"}
[2026-05-31T21:06:57+00:00] [req:1f9b87e8] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:06:57+00:00] [req:1f9b87e8] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:06:57+00:00] [req:1f9b87e8] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-fdc7-7ff8-42d8-43620b973afd","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:07:23+00:00] [req:06bdf592] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-fdce-7372-3630-db33e44e54ad","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:07:23+00:00] [req:06bdf592] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-fdce-7372-3630-db33e44e54ad"}
[2026-05-31T21:07:23+00:00] [req:06bdf592] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:07:23+00:00] [req:06bdf592] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:07:23+00:00] [req:06bdf592] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-fdce-7372-3630-db33e44e54ad","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:09:11+00:00] [req:32d4bf09] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-fddc-721f-9315-450cfde124e5","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:09:11+00:00] [req:32d4bf09] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-fddc-721f-9315-450cfde124e5"}
[2026-05-31T21:09:11+00:00] [req:32d4bf09] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:09:11+00:00] [req:32d4bf09] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:09:11+00:00] [req:32d4bf09] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-fddc-721f-9315-450cfde124e5","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:09:11+00:00] [req:32d4bf09] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-fde8-79f1-3864-1e4321e310fb","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:09:11+00:00] [req:32d4bf09] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-fde8-79f1-3864-1e4321e310fb"}
[2026-05-31T21:09:11+00:00] [req:32d4bf09] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:09:11+00:00] [req:32d4bf09] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:09:11+00:00] [req:32d4bf09] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-fde8-79f1-3864-1e4321e310fb","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:11:38+00:00] [req:a719b84c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-fe0c-79e2-db07-8fbd5ca2feb0","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:11:38+00:00] [req:a719b84c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-fe0c-79e2-db07-8fbd5ca2feb0"}
[2026-05-31T21:11:38+00:00] [req:a719b84c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:11:38+00:00] [req:a719b84c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:11:38+00:00] [req:a719b84c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-fe0c-79e2-db07-8fbd5ca2feb0","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:12:56+00:00] [req:b8c353e5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-fe11-7802-b5b8-590978536d1e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:12:56+00:00] [req:b8c353e5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-fe11-7802-b5b8-590978536d1e"}
[2026-05-31T21:12:56+00:00] [req:b8c353e5] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:12:56+00:00] [req:b8c353e5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:12:56+00:00] [req:b8c353e5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-fe11-7802-b5b8-590978536d1e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:42:38+00:00] [req:9cc0604d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-ffd1-7ed3-8b46-ffe9fb1de2ee","org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-05-31T21:42:38+00:00] [req:9cc0604d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68","invoice_id":"000019e7-ffd1-7ed3-8b46-ffe9fb1de2ee"}
[2026-05-31T21:42:38+00:00] [req:9cc0604d] [org:-] getValidAccessToken() — not connected {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-05-31T21:42:38+00:00] [req:9cc0604d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:42:38+00:00] [req:9cc0604d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-ffd1-7ed3-8b46-ffe9fb1de2ee","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:44:33+00:00] [req:ef81bd3c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-ffee-7c08-b820-9d989d58b4b9","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:44:33+00:00] [req:ef81bd3c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-ffee-7c08-b820-9d989d58b4b9"}
[2026-05-31T21:44:33+00:00] [req:ef81bd3c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:44:33+00:00] [req:ef81bd3c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:44:33+00:00] [req:ef81bd3c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-ffee-7c08-b820-9d989d58b4b9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:45:33+00:00] [req:d0bcfd64] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e7-fffd-74da-78a7-e65dd0cd74ad","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:45:33+00:00] [req:d0bcfd64] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e7-fffd-74da-78a7-e65dd0cd74ad"}
[2026-05-31T21:45:33+00:00] [req:d0bcfd64] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:45:33+00:00] [req:d0bcfd64] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:45:33+00:00] [req:d0bcfd64] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e7-fffd-74da-78a7-e65dd0cd74ad","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:47:02+00:00] [req:a5aa71f1] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-0007-7f35-b2ec-26249dc849a6","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:47:02+00:00] [req:a5aa71f1] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-0007-7f35-b2ec-26249dc849a6"}
[2026-05-31T21:47:02+00:00] [req:a5aa71f1] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:47:02+00:00] [req:a5aa71f1] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:47:02+00:00] [req:a5aa71f1] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-0007-7f35-b2ec-26249dc849a6","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:47:02+00:00] [req:a5aa71f1] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-0013-7001-cdb7-9e43be042ca0","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:47:02+00:00] [req:a5aa71f1] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-0013-7001-cdb7-9e43be042ca0"}
[2026-05-31T21:47:02+00:00] [req:a5aa71f1] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:47:02+00:00] [req:a5aa71f1] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:47:02+00:00] [req:a5aa71f1] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-0013-7001-cdb7-9e43be042ca0","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:47:37+00:00] [req:0fde1505] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-001b-774f-22a6-cd968d794dfa","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:47:37+00:00] [req:0fde1505] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-001b-774f-22a6-cd968d794dfa"}
[2026-05-31T21:47:37+00:00] [req:0fde1505] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:47:37+00:00] [req:0fde1505] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:47:37+00:00] [req:0fde1505] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-001b-774f-22a6-cd968d794dfa","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:49:12+00:00] [req:fb7dde50] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-0032-7aaf-f361-262710cf9e6d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:49:12+00:00] [req:fb7dde50] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-0032-7aaf-f361-262710cf9e6d"}
[2026-05-31T21:49:12+00:00] [req:fb7dde50] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:49:12+00:00] [req:fb7dde50] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:49:12+00:00] [req:fb7dde50] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-0032-7aaf-f361-262710cf9e6d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:50:01+00:00] [req:de8ddfc0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-003e-7a99-292c-064dd57413ca","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:50:01+00:00] [req:de8ddfc0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-003e-7a99-292c-064dd57413ca"}
[2026-05-31T21:50:01+00:00] [req:de8ddfc0] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:50:01+00:00] [req:de8ddfc0] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:50:01+00:00] [req:de8ddfc0] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-003e-7a99-292c-064dd57413ca","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:50:56+00:00] [req:7214ad62] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-004c-7419-2518-9d34cfe202cd","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:50:56+00:00] [req:7214ad62] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-004c-7419-2518-9d34cfe202cd"}
[2026-05-31T21:50:56+00:00] [req:7214ad62] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:50:56+00:00] [req:7214ad62] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:50:56+00:00] [req:7214ad62] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-004c-7419-2518-9d34cfe202cd","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:52:02+00:00] [req:02db1d3a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-005c-752b-87ea-0d11729f537b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:52:02+00:00] [req:02db1d3a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-005c-752b-87ea-0d11729f537b"}
[2026-05-31T21:52:02+00:00] [req:02db1d3a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:52:02+00:00] [req:02db1d3a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:52:02+00:00] [req:02db1d3a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-005c-752b-87ea-0d11729f537b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:54:15+00:00] [req:6e14de64] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-007c-7d91-27e4-9319bee27291","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:54:15+00:00] [req:6e14de64] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-007c-7d91-27e4-9319bee27291"}
[2026-05-31T21:54:15+00:00] [req:6e14de64] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:54:15+00:00] [req:6e14de64] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:54:15+00:00] [req:6e14de64] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-007c-7d91-27e4-9319bee27291","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:55:41+00:00] [req:108ad860] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-0091-7aa9-f602-42659f17316d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:55:41+00:00] [req:108ad860] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-0091-7aa9-f602-42659f17316d"}
[2026-05-31T21:55:41+00:00] [req:108ad860] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:55:41+00:00] [req:108ad860] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:55:41+00:00] [req:108ad860] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-0091-7aa9-f602-42659f17316d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:58:25+00:00] [req:41593cef] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-00aa-7a76-c524-551aa0ddcad0","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:58:25+00:00] [req:41593cef] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-00aa-7a76-c524-551aa0ddcad0"}
[2026-05-31T21:58:25+00:00] [req:41593cef] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:58:25+00:00] [req:41593cef] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:58:25+00:00] [req:41593cef] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-00aa-7a76-c524-551aa0ddcad0","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T21:59:00+00:00] [req:f20ac6c7] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-00c2-767d-4cc4-d8476af9eca3","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:59:00+00:00] [req:f20ac6c7] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-00c2-767d-4cc4-d8476af9eca3"}
[2026-05-31T21:59:00+00:00] [req:f20ac6c7] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T21:59:00+00:00] [req:f20ac6c7] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T21:59:00+00:00] [req:f20ac6c7] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-00c2-767d-4cc4-d8476af9eca3","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T22:03:09+00:00] [req:54664dee] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-00ff-734f-58ae-81eac658f0a6","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T22:03:09+00:00] [req:54664dee] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-00ff-734f-58ae-81eac658f0a6"}
[2026-05-31T22:03:09+00:00] [req:54664dee] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T22:03:09+00:00] [req:54664dee] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T22:03:09+00:00] [req:54664dee] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-00ff-734f-58ae-81eac658f0a6","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T22:03:43+00:00] [req:c8c77475] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-0107-7488-c957-fcf22c2eab45","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T22:03:43+00:00] [req:c8c77475] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-0107-7488-c957-fcf22c2eab45"}
[2026-05-31T22:03:43+00:00] [req:c8c77475] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T22:03:43+00:00] [req:c8c77475] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T22:03:43+00:00] [req:c8c77475] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-0107-7488-c957-fcf22c2eab45","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T22:08:18+00:00] [req:edbc68a7] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-014a-7aed-7fc1-b5f82c802e7d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T22:08:18+00:00] [req:edbc68a7] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-014a-7aed-7fc1-b5f82c802e7d"}
[2026-05-31T22:08:18+00:00] [req:edbc68a7] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-05-31T22:08:18+00:00] [req:edbc68a7] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T22:08:18+00:00] [req:edbc68a7] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-014a-7aed-7fc1-b5f82c802e7d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-05-31T22:36:10+00:00] [req:8bcaa3ad] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-02e2-7bf7-f55c-7be192268f8c","org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-05-31T22:36:10+00:00] [req:8bcaa3ad] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68","invoice_id":"000019e8-02e2-7bf7-f55c-7be192268f8c"}
[2026-05-31T22:36:10+00:00] [req:8bcaa3ad] [org:-] getValidAccessToken() — not connected {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-05-31T22:36:10+00:00] [req:8bcaa3ad] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-05-31T22:36:10+00:00] [req:8bcaa3ad] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-02e2-7bf7-f55c-7be192268f8c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T00:05:54+00:00] [req:bc6b65d4] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-0805-7236-3d5b-b5b57fc857fb","org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-06-01T00:05:54+00:00] [req:bc6b65d4] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68","invoice_id":"000019e8-0805-7236-3d5b-b5b57fc857fb"}
[2026-06-01T00:05:54+00:00] [req:bc6b65d4] [org:-] getValidAccessToken() — not connected {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-06-01T00:05:54+00:00] [req:bc6b65d4] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T00:05:54+00:00] [req:bc6b65d4] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-0805-7236-3d5b-b5b57fc857fb","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T00:11:22+00:00] [req:09ccb603] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-0855-724c-6cac-450e10346455","org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-06-01T00:11:22+00:00] [req:09ccb603] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68","invoice_id":"000019e8-0855-724c-6cac-450e10346455"}
[2026-06-01T00:11:22+00:00] [req:09ccb603] [org:-] getValidAccessToken() — not connected {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-06-01T00:11:22+00:00] [req:09ccb603] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T00:11:22+00:00] [req:09ccb603] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-0855-724c-6cac-450e10346455","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T00:13:27+00:00] [req:23c5caff] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-0873-7b64-992f-5a12b7abc03c","org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-06-01T00:13:27+00:00] [req:23c5caff] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68","invoice_id":"000019e8-0873-7b64-992f-5a12b7abc03c"}
[2026-06-01T00:13:27+00:00] [req:23c5caff] [org:-] getValidAccessToken() — not connected {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-06-01T00:13:27+00:00] [req:23c5caff] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T00:13:27+00:00] [req:23c5caff] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-0873-7b64-992f-5a12b7abc03c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T00:21:04+00:00] [req:9c911753] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-08e3-75a2-4307-7ef1deae90b0","org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-06-01T00:21:04+00:00] [req:9c911753] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68","invoice_id":"000019e8-08e3-75a2-4307-7ef1deae90b0"}
[2026-06-01T00:21:04+00:00] [req:9c911753] [org:-] getValidAccessToken() — not connected {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-06-01T00:21:04+00:00] [req:9c911753] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T00:21:04+00:00] [req:9c911753] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-08e3-75a2-4307-7ef1deae90b0","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T00:36:39+00:00] [req:623b445f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-09c7-7895-85c0-5b070e1938be","org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-06-01T00:36:39+00:00] [req:623b445f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68","invoice_id":"000019e8-09c7-7895-85c0-5b070e1938be"}
[2026-06-01T00:36:39+00:00] [req:623b445f] [org:-] getValidAccessToken() — not connected {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-06-01T00:36:39+00:00] [req:623b445f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T00:36:39+00:00] [req:623b445f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-09c7-7895-85c0-5b070e1938be","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T02:01:33+00:00] [req:e0bc38c4] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-0ea3-71ac-6bd1-9db6628f8b53","org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-06-01T02:01:33+00:00] [req:e0bc38c4] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695","invoice_id":"000019e8-0ea3-71ac-6bd1-9db6628f8b53"}
[2026-06-01T02:01:33+00:00] [req:e0bc38c4] [org:-] getValidAccessToken() — not connected {"org_id":"019cf272-500b-74aa-5f1c-9465131cc695"}
[2026-06-01T02:01:33+00:00] [req:e0bc38c4] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T02:01:33+00:00] [req:e0bc38c4] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-0ea3-71ac-6bd1-9db6628f8b53","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T03:38:04+00:00] [req:906ce7f3] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-1426-7102-0b3e-3ef5683ceba9","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T03:38:04+00:00] [req:906ce7f3] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-1426-7102-0b3e-3ef5683ceba9"}
[2026-06-01T03:38:04+00:00] [req:906ce7f3] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T03:38:04+00:00] [req:906ce7f3] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T03:38:04+00:00] [req:906ce7f3] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-1426-7102-0b3e-3ef5683ceba9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T03:46:40+00:00] [req:50221f88] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-14a6-7fe8-cf92-f565186f58ea","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T03:46:40+00:00] [req:50221f88] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-14a6-7fe8-cf92-f565186f58ea"}
[2026-06-01T03:46:40+00:00] [req:50221f88] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T03:46:40+00:00] [req:50221f88] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T03:46:40+00:00] [req:50221f88] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-14a6-7fe8-cf92-f565186f58ea","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T03:49:07+00:00] [req:6120f47c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-14cb-7125-d9ec-4b3bd8b9261e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T03:49:07+00:00] [req:6120f47c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-14cb-7125-d9ec-4b3bd8b9261e"}
[2026-06-01T03:49:07+00:00] [req:6120f47c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T03:49:07+00:00] [req:6120f47c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T03:49:07+00:00] [req:6120f47c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-14cb-7125-d9ec-4b3bd8b9261e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T04:14:31+00:00] [req:af0556fe] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-163e-7eb3-9caa-ed9cad324b32","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-01T04:14:31+00:00] [req:af0556fe] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e8-163e-7eb3-9caa-ed9cad324b32"}
[2026-06-01T04:14:31+00:00] [req:af0556fe] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-01T04:14:31+00:00] [req:af0556fe] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T04:14:31+00:00] [req:af0556fe] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-163e-7eb3-9caa-ed9cad324b32","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T20:03:46+00:00] [req:34864424] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-4c8f-7e0e-a559-2547106cb8e9","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-01T20:03:46+00:00] [req:34864424] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019e8-4c8f-7e0e-a559-2547106cb8e9"}
[2026-06-01T20:03:46+00:00] [req:34864424] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-01T20:03:46+00:00] [req:34864424] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T20:03:46+00:00] [req:34864424] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-4c8f-7e0e-a559-2547106cb8e9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T20:35:58+00:00] [req:a99ad01f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-4e62-7881-54b4-b4e581163a65","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T20:35:58+00:00] [req:a99ad01f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-4e62-7881-54b4-b4e581163a65"}
[2026-06-01T20:35:58+00:00] [req:a99ad01f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T20:35:58+00:00] [req:a99ad01f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T20:35:58+00:00] [req:a99ad01f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-4e62-7881-54b4-b4e581163a65","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T20:35:58+00:00] [req:a99ad01f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-4e67-7b98-435e-2831b2c24dd3","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T20:35:58+00:00] [req:a99ad01f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-4e67-7b98-435e-2831b2c24dd3"}
[2026-06-01T20:35:58+00:00] [req:a99ad01f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T20:35:58+00:00] [req:a99ad01f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T20:35:58+00:00] [req:a99ad01f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-4e67-7b98-435e-2831b2c24dd3","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T20:44:35+00:00] [req:2df555a4] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-4ee6-7060-1c55-a20f788a66a9","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T20:44:35+00:00] [req:2df555a4] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-4ee6-7060-1c55-a20f788a66a9"}
[2026-06-01T20:44:35+00:00] [req:2df555a4] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T20:44:35+00:00] [req:2df555a4] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T20:44:35+00:00] [req:2df555a4] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-4ee6-7060-1c55-a20f788a66a9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T20:46:51+00:00] [req:d1e6605d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-4eff-71c1-5ea2-588518082742","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T20:46:51+00:00] [req:d1e6605d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-4eff-71c1-5ea2-588518082742"}
[2026-06-01T20:46:51+00:00] [req:d1e6605d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T20:46:51+00:00] [req:d1e6605d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T20:46:51+00:00] [req:d1e6605d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-4eff-71c1-5ea2-588518082742","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T20:47:13+00:00] [req:60b5b997] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-4f0c-7510-1dd0-9bc51dde9ec6","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T20:47:13+00:00] [req:60b5b997] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-4f0c-7510-1dd0-9bc51dde9ec6"}
[2026-06-01T20:47:13+00:00] [req:60b5b997] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T20:47:13+00:00] [req:60b5b997] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T20:47:13+00:00] [req:60b5b997] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-4f0c-7510-1dd0-9bc51dde9ec6","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T20:48:12+00:00] [req:7b358b2e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-4f1a-7eb0-b744-0d658ff5183e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T20:48:12+00:00] [req:7b358b2e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-4f1a-7eb0-b744-0d658ff5183e"}
[2026-06-01T20:48:12+00:00] [req:7b358b2e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T20:48:12+00:00] [req:7b358b2e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T20:48:12+00:00] [req:7b358b2e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-4f1a-7eb0-b744-0d658ff5183e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T20:50:09+00:00] [req:5edc4e0f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-4f28-7f61-794f-0ea4f1cea1fc","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T20:50:09+00:00] [req:5edc4e0f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-4f28-7f61-794f-0ea4f1cea1fc"}
[2026-06-01T20:50:09+00:00] [req:5edc4e0f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T20:50:09+00:00] [req:5edc4e0f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T20:50:09+00:00] [req:5edc4e0f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-4f28-7f61-794f-0ea4f1cea1fc","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T20:52:00+00:00] [req:efec37b8] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-4f52-77a3-2f5d-dae283b8b674","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T20:52:00+00:00] [req:efec37b8] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-4f52-77a3-2f5d-dae283b8b674"}
[2026-06-01T20:52:00+00:00] [req:efec37b8] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T20:52:00+00:00] [req:efec37b8] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T20:52:00+00:00] [req:efec37b8] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-4f52-77a3-2f5d-dae283b8b674","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-01T20:54:05+00:00] [req:f813f80a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-4f71-70b7-f1db-6447ddd8bfdd","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T20:54:05+00:00] [req:f813f80a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-4f71-70b7-f1db-6447ddd8bfdd"}
[2026-06-01T20:54:05+00:00] [req:f813f80a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-01T20:54:05+00:00] [req:f813f80a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-01T20:54:05+00:00] [req:f813f80a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-4f71-70b7-f1db-6447ddd8bfdd","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T03:00:08+00:00] [req:c7350a2c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-6463-7442-04a2-b6d82f9d3dca","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T03:00:08+00:00] [req:c7350a2c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-6463-7442-04a2-b6d82f9d3dca"}
[2026-06-02T03:00:08+00:00] [req:c7350a2c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T03:00:08+00:00] [req:c7350a2c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T03:00:08+00:00] [req:c7350a2c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-6463-7442-04a2-b6d82f9d3dca","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T03:05:59+00:00] [req:e5fd0555] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-64b6-7427-e487-5a5526449c4f","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T03:05:59+00:00] [req:e5fd0555] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-64b6-7427-e487-5a5526449c4f"}
[2026-06-02T03:05:59+00:00] [req:e5fd0555] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T03:05:59+00:00] [req:e5fd0555] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T03:05:59+00:00] [req:e5fd0555] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-64b6-7427-e487-5a5526449c4f","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T04:13:51+00:00] [req:400d741e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-689b-72af-cb3c-025b19b8fa1f","org_id":"org_id"}
[2026-06-02T04:13:51+00:00] [req:400d741e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"org_id","invoice_id":"000019e8-689b-72af-cb3c-025b19b8fa1f"}
[2026-06-02T04:13:51+00:00] [req:400d741e] [org:-] PostInvoiceToXeroStep caught exception {"invoice_id":"000019e8-689b-72af-cb3c-025b19b8fa1f","org_id":"org_id","error":"SQL Error: SQLSTATE[22P02]: Invalid text representation: 7 ERROR:  invalid input syntax for type uuid: \"org_id\"\nCONTEXT:  unnamed portal parameter $1 = '...' | Query: SELECT settings FROM \"orgs\" WHERE \"org_id\" = ? LIMIT 1"}
[2026-06-02T04:16:56+00:00] [req:8a9f0e04] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-68c8-72b2-e355-7380700f4d03","org_id":"org_id"}
[2026-06-02T04:16:56+00:00] [req:8a9f0e04] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"org_id","invoice_id":"000019e8-68c8-72b2-e355-7380700f4d03"}
[2026-06-02T04:16:56+00:00] [req:8a9f0e04] [org:-] PostInvoiceToXeroStep caught exception {"invoice_id":"000019e8-68c8-72b2-e355-7380700f4d03","org_id":"org_id","error":"SQL Error: SQLSTATE[22P02]: Invalid text representation: 7 ERROR:  invalid input syntax for type uuid: \"org_id\"\nCONTEXT:  unnamed portal parameter $1 = '...' | Query: SELECT settings FROM \"orgs\" WHERE \"org_id\" = ? LIMIT 1"}
[2026-06-02T04:18:05+00:00] [req:0a359515] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-68d8-7f62-8d4c-3e5eb6107674","org_id":"org_id"}
[2026-06-02T04:18:05+00:00] [req:0a359515] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"org_id","invoice_id":"000019e8-68d8-7f62-8d4c-3e5eb6107674"}
[2026-06-02T04:18:05+00:00] [req:0a359515] [org:-] PostInvoiceToXeroStep caught exception {"invoice_id":"000019e8-68d8-7f62-8d4c-3e5eb6107674","org_id":"org_id","error":"SQL Error: SQLSTATE[22P02]: Invalid text representation: 7 ERROR:  invalid input syntax for type uuid: \"org_id\"\nCONTEXT:  unnamed portal parameter $1 = '...' | Query: SELECT settings FROM \"orgs\" WHERE \"org_id\" = ? LIMIT 1"}
[2026-06-02T04:21:40+00:00] [req:94582d0f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-6905-754a-2e25-1c5c2e49a2d8","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:21:40+00:00] [req:94582d0f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-6905-754a-2e25-1c5c2e49a2d8"}
[2026-06-02T04:21:40+00:00] [req:94582d0f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:21:40+00:00] [req:94582d0f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T04:21:40+00:00] [req:94582d0f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-6905-754a-2e25-1c5c2e49a2d8","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T04:22:36+00:00] [req:ed382345] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-6914-7ad9-2e7c-91c04a730a4c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:22:36+00:00] [req:ed382345] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-6914-7ad9-2e7c-91c04a730a4c"}
[2026-06-02T04:22:36+00:00] [req:ed382345] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:22:36+00:00] [req:ed382345] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T04:22:36+00:00] [req:ed382345] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-6914-7ad9-2e7c-91c04a730a4c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T04:23:30+00:00] [req:488f9fda] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-6928-7732-2ac9-52db0e40cf70","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:23:30+00:00] [req:488f9fda] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-6928-7732-2ac9-52db0e40cf70"}
[2026-06-02T04:23:30+00:00] [req:488f9fda] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:23:30+00:00] [req:488f9fda] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T04:23:30+00:00] [req:488f9fda] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-6928-7732-2ac9-52db0e40cf70","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T04:23:59+00:00] [req:024c56d2] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-692f-79c8-4bdf-00992bdb81e7","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:23:59+00:00] [req:024c56d2] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-692f-79c8-4bdf-00992bdb81e7"}
[2026-06-02T04:23:59+00:00] [req:024c56d2] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:23:59+00:00] [req:024c56d2] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T04:23:59+00:00] [req:024c56d2] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-692f-79c8-4bdf-00992bdb81e7","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T04:24:24+00:00] [req:58d6146d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-6935-7bc0-ba7a-ecb7e7708336","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:24:24+00:00] [req:58d6146d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-6935-7bc0-ba7a-ecb7e7708336"}
[2026-06-02T04:24:24+00:00] [req:58d6146d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:24:24+00:00] [req:58d6146d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T04:24:24+00:00] [req:58d6146d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-6935-7bc0-ba7a-ecb7e7708336","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T04:25:08+00:00] [req:fa5d6635] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-693b-7e06-ff96-98557e3112a5","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:25:08+00:00] [req:fa5d6635] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-693b-7e06-ff96-98557e3112a5"}
[2026-06-02T04:25:08+00:00] [req:fa5d6635] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:25:08+00:00] [req:fa5d6635] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T04:25:08+00:00] [req:fa5d6635] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-693b-7e06-ff96-98557e3112a5","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T04:25:23+00:00] [req:c896e193] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-6942-729e-0f2f-0ee9acea068a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:25:23+00:00] [req:c896e193] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-6942-729e-0f2f-0ee9acea068a"}
[2026-06-02T04:25:23+00:00] [req:c896e193] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:25:23+00:00] [req:c896e193] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T04:25:23+00:00] [req:c896e193] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-6942-729e-0f2f-0ee9acea068a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T04:26:11+00:00] [req:ecf550ca] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-6947-7196-c722-b37f6aa04b1e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:26:11+00:00] [req:ecf550ca] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-6947-7196-c722-b37f6aa04b1e"}
[2026-06-02T04:26:11+00:00] [req:ecf550ca] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:26:11+00:00] [req:ecf550ca] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T04:26:11+00:00] [req:ecf550ca] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-6947-7196-c722-b37f6aa04b1e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T04:26:11+00:00] [req:ecf550ca] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-694f-7f70-1764-4273730c1f84","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:26:11+00:00] [req:ecf550ca] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-694f-7f70-1764-4273730c1f84"}
[2026-06-02T04:26:11+00:00] [req:ecf550ca] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:26:11+00:00] [req:ecf550ca] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T04:26:11+00:00] [req:ecf550ca] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-694f-7f70-1764-4273730c1f84","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T04:28:37+00:00] [req:77add7ac] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-6966-728c-2830-7c14d5c8eed0","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:28:37+00:00] [req:77add7ac] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-6966-728c-2830-7c14d5c8eed0"}
[2026-06-02T04:28:37+00:00] [req:77add7ac] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:28:37+00:00] [req:77add7ac] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T04:28:37+00:00] [req:77add7ac] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-6966-728c-2830-7c14d5c8eed0","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T04:28:37+00:00] [req:77add7ac] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-6973-767b-9932-d1ad1b70007a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:28:37+00:00] [req:77add7ac] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-6973-767b-9932-d1ad1b70007a"}
[2026-06-02T04:28:37+00:00] [req:77add7ac] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:28:37+00:00] [req:77add7ac] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T04:28:37+00:00] [req:77add7ac] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-6973-767b-9932-d1ad1b70007a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T04:29:01+00:00] [req:7bfcbbad] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-6979-72be-4de7-d287f5da86c1","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:29:01+00:00] [req:7bfcbbad] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-6979-72be-4de7-d287f5da86c1"}
[2026-06-02T04:29:01+00:00] [req:7bfcbbad] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:29:01+00:00] [req:7bfcbbad] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T04:29:01+00:00] [req:7bfcbbad] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-6979-72be-4de7-d287f5da86c1","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T04:30:43+00:00] [req:2589e5e9] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-6983-7690-e473-f87d6aa86751","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:30:43+00:00] [req:2589e5e9] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-6983-7690-e473-f87d6aa86751"}
[2026-06-02T04:30:43+00:00] [req:2589e5e9] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:30:43+00:00] [req:2589e5e9] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T04:30:43+00:00] [req:2589e5e9] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-6983-7690-e473-f87d6aa86751","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T04:41:37+00:00] [req:1a90ad05] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-6a31-7eae-90e6-c3a39131df15","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:41:37+00:00] [req:1a90ad05] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-6a31-7eae-90e6-c3a39131df15"}
[2026-06-02T04:41:37+00:00] [req:1a90ad05] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:41:37+00:00] [req:1a90ad05] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T04:41:37+00:00] [req:1a90ad05] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-6a31-7eae-90e6-c3a39131df15","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T04:44:13+00:00] [req:a1d38dd8] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-6a57-7e36-4e06-114232636e7b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:44:13+00:00] [req:a1d38dd8] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-6a57-7e36-4e06-114232636e7b"}
[2026-06-02T04:44:13+00:00] [req:a1d38dd8] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:44:13+00:00] [req:a1d38dd8] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T04:44:13+00:00] [req:a1d38dd8] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-6a57-7e36-4e06-114232636e7b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T04:45:39+00:00] [req:67953fba] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-6a62-7d1a-ecde-025131a35801","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:45:39+00:00] [req:67953fba] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-6a62-7d1a-ecde-025131a35801"}
[2026-06-02T04:45:39+00:00] [req:67953fba] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:45:39+00:00] [req:67953fba] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T04:45:39+00:00] [req:67953fba] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-6a62-7d1a-ecde-025131a35801","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T04:46:51+00:00] [req:9048f72f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-6a6d-7a07-0ac8-75b488a45d28","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:46:51+00:00] [req:9048f72f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-6a6d-7a07-0ac8-75b488a45d28"}
[2026-06-02T04:46:51+00:00] [req:9048f72f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T04:46:51+00:00] [req:9048f72f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T04:46:51+00:00] [req:9048f72f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-6a6d-7a07-0ac8-75b488a45d28","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T04:53:06+00:00] [req:23ef0209] [org:-] XeroController::getCredentials() {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b"}
[2026-06-02T04:53:06+00:00] [req:23ef0209] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-02T04:53:11+00:00] [req:9db85b5e] [org:-] XeroController::getCredentials() {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b"}
[2026-06-02T04:53:11+00:00] [req:9db85b5e] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-02T05:01:24+00:00] [req:c09b4759] [org:-] XeroController::getCredentials() {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b"}
[2026-06-02T05:01:24+00:00] [req:c09b4759] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-02T05:01:24+00:00] [req:add86845] [org:-] XeroController::getCredentials() {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b"}
[2026-06-02T05:01:24+00:00] [req:add86845] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-02T05:01:25+00:00] [req:8d467c82] [org:-] XeroController::getCredentials() {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b"}
[2026-06-02T05:01:25+00:00] [req:8d467c82] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-02T05:01:25+00:00] [req:809ae4bf] [org:-] XeroController::getCredentials() {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b"}
[2026-06-02T05:01:25+00:00] [req:809ae4bf] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-02T05:01:25+00:00] [req:054c391e] [org:-] XeroController::getCredentials() {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b"}
[2026-06-02T05:01:25+00:00] [req:054c391e] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-02T05:01:31+00:00] [req:4b1b2067] [org:-] XeroController::getCredentials() {"org_id":"019c96e6-a9b5-7a73-865b-edb48639aa0b"}
[2026-06-02T05:01:31+00:00] [req:4b1b2067] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-02T20:05:49+00:00] [req:ea5272c5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-9f14-72e3-0ecb-b9de8d28baee","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T20:05:49+00:00] [req:ea5272c5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-9f14-72e3-0ecb-b9de8d28baee"}
[2026-06-02T20:05:49+00:00] [req:ea5272c5] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T20:05:49+00:00] [req:ea5272c5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T20:05:49+00:00] [req:ea5272c5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-9f14-72e3-0ecb-b9de8d28baee","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T20:06:27+00:00] [req:40efeb25] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-9f1d-74a8-f258-15f9f09d6f76","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T20:06:27+00:00] [req:40efeb25] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-9f1d-74a8-f258-15f9f09d6f76"}
[2026-06-02T20:06:27+00:00] [req:40efeb25] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T20:06:27+00:00] [req:40efeb25] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T20:06:27+00:00] [req:40efeb25] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-9f1d-74a8-f258-15f9f09d6f76","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T20:07:00+00:00] [req:6e0d9020] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-9f25-75e0-382a-da40c3d96018","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T20:07:00+00:00] [req:6e0d9020] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-9f25-75e0-382a-da40c3d96018"}
[2026-06-02T20:07:00+00:00] [req:6e0d9020] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T20:07:00+00:00] [req:6e0d9020] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T20:07:00+00:00] [req:6e0d9020] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-9f25-75e0-382a-da40c3d96018","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T20:08:30+00:00] [req:e4c0f79b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-9f3b-7894-0427-ed78a649aee9","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T20:08:30+00:00] [req:e4c0f79b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-9f3b-7894-0427-ed78a649aee9"}
[2026-06-02T20:08:30+00:00] [req:e4c0f79b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T20:08:30+00:00] [req:e4c0f79b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T20:08:30+00:00] [req:e4c0f79b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-9f3b-7894-0427-ed78a649aee9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T20:17:06+00:00] [req:b970e1b1] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-9fb9-77e2-eb73-6189c8509da3","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T20:17:06+00:00] [req:b970e1b1] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-9fb9-77e2-eb73-6189c8509da3"}
[2026-06-02T20:17:06+00:00] [req:b970e1b1] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T20:17:06+00:00] [req:b970e1b1] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T20:17:06+00:00] [req:b970e1b1] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-9fb9-77e2-eb73-6189c8509da3","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T20:17:56+00:00] [req:d4d926a9] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-9fc5-7b41-aaa1-174850aa6342","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T20:17:56+00:00] [req:d4d926a9] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-9fc5-7b41-aaa1-174850aa6342"}
[2026-06-02T20:17:56+00:00] [req:d4d926a9] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T20:17:56+00:00] [req:d4d926a9] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T20:17:56+00:00] [req:d4d926a9] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-9fc5-7b41-aaa1-174850aa6342","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T20:18:50+00:00] [req:4e0301ee] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-9fd2-7a61-eb2c-bbb72c53e5bf","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T20:18:50+00:00] [req:4e0301ee] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-9fd2-7a61-eb2c-bbb72c53e5bf"}
[2026-06-02T20:18:50+00:00] [req:4e0301ee] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T20:18:50+00:00] [req:4e0301ee] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T20:18:50+00:00] [req:4e0301ee] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-9fd2-7a61-eb2c-bbb72c53e5bf","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T21:47:08+00:00] [req:df76f634] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-a403-7d4f-af49-cf6625cff2b7","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T21:47:08+00:00] [req:df76f634] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-a403-7d4f-af49-cf6625cff2b7"}
[2026-06-02T21:47:08+00:00] [req:df76f634] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T21:47:08+00:00] [req:df76f634] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T21:47:08+00:00] [req:df76f634] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-a403-7d4f-af49-cf6625cff2b7","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T21:47:08+00:00] [req:df76f634] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-a40d-700d-053b-85c4864b1717","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T21:47:08+00:00] [req:df76f634] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-a40d-700d-053b-85c4864b1717"}
[2026-06-02T21:47:08+00:00] [req:df76f634] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T21:47:08+00:00] [req:df76f634] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T21:47:08+00:00] [req:df76f634] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-a40d-700d-053b-85c4864b1717","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T21:48:14+00:00] [req:b7081b9d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-a4f0-7666-c307-44041bf72aba","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T21:48:14+00:00] [req:b7081b9d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-a4f0-7666-c307-44041bf72aba"}
[2026-06-02T21:48:14+00:00] [req:b7081b9d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T21:48:14+00:00] [req:b7081b9d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T21:48:14+00:00] [req:b7081b9d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-a4f0-7666-c307-44041bf72aba","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T21:49:17+00:00] [req:88efe656] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-a4ff-7c6f-4e96-b9e9ea647624","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T21:49:17+00:00] [req:88efe656] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-a4ff-7c6f-4e96-b9e9ea647624"}
[2026-06-02T21:49:17+00:00] [req:88efe656] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-02T21:49:17+00:00] [req:88efe656] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T21:49:17+00:00] [req:88efe656] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-a4ff-7c6f-4e96-b9e9ea647624","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-02T22:42:39+00:00] [req:5d5cb797] [org:-] XeroController::getCredentials() {"org_id":"019e74be-60a8-7a06-153f-a855282b4684"}
[2026-06-02T22:42:39+00:00] [req:5d5cb797] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-02T22:48:24+00:00] [req:32d90f97] [org:-] XeroController::getCredentials() {"org_id":"019e74be-60a8-7a06-153f-a855282b4684"}
[2026-06-02T22:48:24+00:00] [req:32d90f97] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-02T22:48:26+00:00] [req:db1cd5a3] [org:-] XeroController::getCredentials() {"org_id":"019e74be-60a8-7a06-153f-a855282b4684"}
[2026-06-02T22:48:26+00:00] [req:db1cd5a3] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-02T22:48:31+00:00] [req:0cfa888f] [org:-] XeroController::getCredentials() {"org_id":"019e74be-60a8-7a06-153f-a855282b4684"}
[2026-06-02T22:48:31+00:00] [req:0cfa888f] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-02T22:49:58+00:00] [req:788e6958] [org:-] XeroController::getCredentials() {"org_id":"019e74be-60a8-7a06-153f-a855282b4684"}
[2026-06-02T22:49:58+00:00] [req:788e6958] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-02T22:50:00+00:00] [req:292a9f1b] [org:-] XeroController::getCredentials() {"org_id":"019e74be-60a8-7a06-153f-a855282b4684"}
[2026-06-02T22:50:00+00:00] [req:292a9f1b] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-02T23:06:20+00:00] [req:b2ee69f4] [org:-] XeroController::getCredentials() {"org_id":"019e74be-60a8-7a06-153f-a855282b4684"}
[2026-06-02T23:06:20+00:00] [req:b2ee69f4] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-02T23:08:34+00:00] [req:75277004] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-a988-7f90-16be-8ad9f376f017","org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-06-02T23:08:34+00:00] [req:75277004] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68","invoice_id":"000019e8-a988-7f90-16be-8ad9f376f017"}
[2026-06-02T23:08:34+00:00] [req:75277004] [org:-] getValidAccessToken() — not connected {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-06-02T23:08:34+00:00] [req:75277004] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-02T23:08:34+00:00] [req:75277004] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-a988-7f90-16be-8ad9f376f017","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T03:35:03+00:00] [req:13cd1663] [org:-] XeroController::getCredentials() {"org_id":"019e82c7-77d2-7e5a-40a5-db08a35f4d98"}
[2026-06-03T03:35:03+00:00] [req:13cd1663] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T03:35:07+00:00] [req:2f279c91] [org:-] XeroController::getCredentials() {"org_id":"019e82c7-77d2-7e5a-40a5-db08a35f4d98"}
[2026-06-03T03:35:07+00:00] [req:2f279c91] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T04:45:03+00:00] [req:a8097e58] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T04:45:03+00:00] [req:a8097e58] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T04:45:29+00:00] [req:f9800483] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T04:45:29+00:00] [req:f9800483] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T04:45:38+00:00] [req:d2e44adc] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T04:45:38+00:00] [req:d2e44adc] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T04:45:39+00:00] [req:ca6e73fc] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T04:45:39+00:00] [req:ca6e73fc] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T04:45:41+00:00] [req:73830ac4] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T04:45:41+00:00] [req:73830ac4] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T04:45:41+00:00] [req:fb638baa] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T04:45:41+00:00] [req:fb638baa] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T04:45:42+00:00] [req:0c92bc9a] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T04:45:42+00:00] [req:0c92bc9a] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T04:45:43+00:00] [req:f36b8739] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T04:45:43+00:00] [req:f36b8739] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T04:45:43+00:00] [req:3e468ca5] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T04:45:43+00:00] [req:3e468ca5] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T04:45:44+00:00] [req:1103ee13] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T04:45:44+00:00] [req:1103ee13] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T04:49:07+00:00] [req:9a435066] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T04:49:07+00:00] [req:9a435066] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T04:50:06+00:00] [req:6faaedeb] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T04:50:06+00:00] [req:6faaedeb] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T04:50:48+00:00] [req:e6eb0285] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T04:50:48+00:00] [req:e6eb0285] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T04:55:18+00:00] [req:6088f481] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T04:55:18+00:00] [req:6088f481] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T05:29:08+00:00] [req:c7e3f11e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-bf49-749c-bff6-36f05e543119","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T05:29:08+00:00] [req:c7e3f11e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-bf49-749c-bff6-36f05e543119"}
[2026-06-03T05:29:08+00:00] [req:c7e3f11e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T05:29:08+00:00] [req:c7e3f11e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T05:29:08+00:00] [req:c7e3f11e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-bf49-749c-bff6-36f05e543119","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T09:47:21+00:00] [req:a79d61a5] [org:-] XeroController::getCredentials() {"org_id":"019ccf64-a906-7578-a58d-24f2169d1bf5"}
[2026-06-03T09:47:21+00:00] [req:a79d61a5] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T09:51:28+00:00] [req:c7e13fc0] [org:-] XeroController::getCredentials() {"org_id":"019ccf64-a906-7578-a58d-24f2169d1bf5"}
[2026-06-03T09:51:28+00:00] [req:c7e13fc0] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T09:55:16+00:00] [req:12ddc34d] [org:-] XeroController::getCredentials() {"org_id":"019ccf64-a906-7578-a58d-24f2169d1bf5"}
[2026-06-03T09:55:16+00:00] [req:12ddc34d] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T09:56:35+00:00] [req:019fccc6] [org:-] XeroController::getCredentials() {"org_id":"019ccf64-a906-7578-a58d-24f2169d1bf5"}
[2026-06-03T09:56:35+00:00] [req:019fccc6] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T10:01:44+00:00] [req:ac6691df] [org:-] XeroController::getCredentials() {"org_id":"019ccf64-a906-7578-a58d-24f2169d1bf5"}
[2026-06-03T10:01:44+00:00] [req:ac6691df] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T10:14:14+00:00] [req:4f8d5a8d] [org:-] XeroController::getCredentials() {"org_id":"019ccf64-a906-7578-a58d-24f2169d1bf5"}
[2026-06-03T10:14:14+00:00] [req:4f8d5a8d] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T10:14:16+00:00] [req:8fce8ba1] [org:-] XeroController::getCredentials() {"org_id":"019ccf64-a906-7578-a58d-24f2169d1bf5"}
[2026-06-03T10:14:16+00:00] [req:8fce8ba1] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T10:14:45+00:00] [req:bf2f9dfc] [org:-] XeroController::getCredentials() {"org_id":"019ccf64-a906-7578-a58d-24f2169d1bf5"}
[2026-06-03T10:14:45+00:00] [req:bf2f9dfc] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T10:14:47+00:00] [req:5c39efd1] [org:-] XeroController::getCredentials() {"org_id":"019ccf64-a906-7578-a58d-24f2169d1bf5"}
[2026-06-03T10:14:47+00:00] [req:5c39efd1] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T20:02:25+00:00] [req:b1e0eef6] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f147-7b2a-27e4-4b6c1971ee98","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T20:02:25+00:00] [req:b1e0eef6] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f147-7b2a-27e4-4b6c1971ee98"}
[2026-06-03T20:02:25+00:00] [req:b1e0eef6] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T20:02:25+00:00] [req:b1e0eef6] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T20:02:25+00:00] [req:b1e0eef6] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f147-7b2a-27e4-4b6c1971ee98","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T20:04:11+00:00] [req:568e9c58] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f152-7bbf-d548-d17244012886","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T20:04:11+00:00] [req:568e9c58] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f152-7bbf-d548-d17244012886"}
[2026-06-03T20:04:11+00:00] [req:568e9c58] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T20:04:11+00:00] [req:568e9c58] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T20:04:11+00:00] [req:568e9c58] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f152-7bbf-d548-d17244012886","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T20:06:16+00:00] [req:d843d692] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f180-7418-5508-22a2ffb6c82c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T20:06:16+00:00] [req:d843d692] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f180-7418-5508-22a2ffb6c82c"}
[2026-06-03T20:06:16+00:00] [req:d843d692] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T20:06:16+00:00] [req:d843d692] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T20:06:16+00:00] [req:d843d692] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f180-7418-5508-22a2ffb6c82c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T20:10:43+00:00] [req:dffd675f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f1c1-79a2-1262-faba4b19cfc0","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T20:10:43+00:00] [req:dffd675f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f1c1-79a2-1262-faba4b19cfc0"}
[2026-06-03T20:10:43+00:00] [req:dffd675f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T20:10:43+00:00] [req:dffd675f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T20:10:43+00:00] [req:dffd675f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f1c1-79a2-1262-faba4b19cfc0","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T21:14:06+00:00] [req:a2cedf50] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f558-7d88-0ed4-0bba3a9a9e09","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:14:06+00:00] [req:a2cedf50] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f558-7d88-0ed4-0bba3a9a9e09"}
[2026-06-03T21:14:06+00:00] [req:a2cedf50] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:14:06+00:00] [req:a2cedf50] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T21:14:06+00:00] [req:a2cedf50] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f558-7d88-0ed4-0bba3a9a9e09","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T21:15:07+00:00] [req:91a9374f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f570-7ca0-dd35-797d26e769e1","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:15:07+00:00] [req:91a9374f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f570-7ca0-dd35-797d26e769e1"}
[2026-06-03T21:15:07+00:00] [req:91a9374f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:15:07+00:00] [req:91a9374f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T21:15:07+00:00] [req:91a9374f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f570-7ca0-dd35-797d26e769e1","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T21:16:56+00:00] [req:a863aed9] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f58b-765f-d49c-6f3618c8c311","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:16:56+00:00] [req:a863aed9] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f58b-765f-d49c-6f3618c8c311"}
[2026-06-03T21:16:56+00:00] [req:a863aed9] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:16:56+00:00] [req:a863aed9] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T21:16:56+00:00] [req:a863aed9] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f58b-765f-d49c-6f3618c8c311","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T21:20:01+00:00] [req:2905b79f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f5b8-77bc-b10c-94ebac51f54a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:20:01+00:00] [req:2905b79f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f5b8-77bc-b10c-94ebac51f54a"}
[2026-06-03T21:20:01+00:00] [req:2905b79f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:20:01+00:00] [req:2905b79f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T21:20:01+00:00] [req:2905b79f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f5b8-77bc-b10c-94ebac51f54a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T21:21:43+00:00] [req:18bbb107] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f5d1-774c-8376-f10800f060f9","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:21:43+00:00] [req:18bbb107] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f5d1-774c-8376-f10800f060f9"}
[2026-06-03T21:21:43+00:00] [req:18bbb107] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:21:43+00:00] [req:18bbb107] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T21:21:43+00:00] [req:18bbb107] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f5d1-774c-8376-f10800f060f9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T21:25:04+00:00] [req:83ec45f4] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f5f4-7006-595c-222d5abffc9d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:25:04+00:00] [req:83ec45f4] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f5f4-7006-595c-222d5abffc9d"}
[2026-06-03T21:25:04+00:00] [req:83ec45f4] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:25:04+00:00] [req:83ec45f4] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T21:25:04+00:00] [req:83ec45f4] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f5f4-7006-595c-222d5abffc9d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T21:26:06+00:00] [req:12309e56] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f611-7b26-88c9-586f21a89f07","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:26:06+00:00] [req:12309e56] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f611-7b26-88c9-586f21a89f07"}
[2026-06-03T21:26:06+00:00] [req:12309e56] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:26:06+00:00] [req:12309e56] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T21:26:06+00:00] [req:12309e56] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f611-7b26-88c9-586f21a89f07","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T21:31:45+00:00] [req:51ded9d4] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f664-78ea-906c-7254f363e3a1","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:31:45+00:00] [req:51ded9d4] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f664-78ea-906c-7254f363e3a1"}
[2026-06-03T21:31:45+00:00] [req:51ded9d4] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:31:45+00:00] [req:51ded9d4] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T21:31:45+00:00] [req:51ded9d4] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f664-78ea-906c-7254f363e3a1","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T21:36:45+00:00] [req:ca63074f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f6ad-79d3-943d-e2d52f60a555","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:36:45+00:00] [req:ca63074f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f6ad-79d3-943d-e2d52f60a555"}
[2026-06-03T21:36:45+00:00] [req:ca63074f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:36:45+00:00] [req:ca63074f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T21:36:45+00:00] [req:ca63074f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f6ad-79d3-943d-e2d52f60a555","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T21:38:57+00:00] [req:1e1636ec] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f6cd-7ee6-74bb-b62461ee4ea8","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:38:57+00:00] [req:1e1636ec] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f6cd-7ee6-74bb-b62461ee4ea8"}
[2026-06-03T21:38:57+00:00] [req:1e1636ec] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T21:38:57+00:00] [req:1e1636ec] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T21:38:57+00:00] [req:1e1636ec] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f6cd-7ee6-74bb-b62461ee4ea8","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T22:20:48+00:00] [req:5b5efe2a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f932-7ddb-3547-42f2aa012557","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:20:48+00:00] [req:5b5efe2a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f932-7ddb-3547-42f2aa012557"}
[2026-06-03T22:20:48+00:00] [req:5b5efe2a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:20:48+00:00] [req:5b5efe2a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T22:20:48+00:00] [req:5b5efe2a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f932-7ddb-3547-42f2aa012557","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T22:22:07+00:00] [req:a8658b4b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f946-7035-69ae-0e91ca632664","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:22:07+00:00] [req:a8658b4b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f946-7035-69ae-0e91ca632664"}
[2026-06-03T22:22:07+00:00] [req:a8658b4b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:22:07+00:00] [req:a8658b4b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T22:22:07+00:00] [req:a8658b4b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f946-7035-69ae-0e91ca632664","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T22:23:06+00:00] [req:5c86fa64] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f954-776d-e4c0-a2ad2964d71d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:23:06+00:00] [req:5c86fa64] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f954-776d-e4c0-a2ad2964d71d"}
[2026-06-03T22:23:06+00:00] [req:5c86fa64] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:23:06+00:00] [req:5c86fa64] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T22:23:06+00:00] [req:5c86fa64] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f954-776d-e4c0-a2ad2964d71d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T22:24:09+00:00] [req:24a1f2bf] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f963-7f83-05f0-c2a3e8308e2f","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:24:09+00:00] [req:24a1f2bf] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f963-7f83-05f0-c2a3e8308e2f"}
[2026-06-03T22:24:09+00:00] [req:24a1f2bf] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:24:09+00:00] [req:24a1f2bf] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T22:24:09+00:00] [req:24a1f2bf] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f963-7f83-05f0-c2a3e8308e2f","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T22:24:15+00:00] [req:b6808f99] [org:-] XeroController::getCredentials() {"org_id":"019ccf64-a906-7578-a58d-24f2169d1bf5"}
[2026-06-03T22:24:15+00:00] [req:b6808f99] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T22:25:58+00:00] [req:a882dc69] [org:-] XeroController::getCredentials() {"org_id":"019ccf64-a906-7578-a58d-24f2169d1bf5"}
[2026-06-03T22:25:58+00:00] [req:a882dc69] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T22:26:18+00:00] [req:897d1276] [org:-] XeroController::getCredentials() {"org_id":"019ccf64-a906-7578-a58d-24f2169d1bf5"}
[2026-06-03T22:26:18+00:00] [req:897d1276] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-03T22:27:33+00:00] [req:6dfa5185] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f995-7eff-4c01-22931b6d837a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:27:33+00:00] [req:6dfa5185] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f995-7eff-4c01-22931b6d837a"}
[2026-06-03T22:27:33+00:00] [req:6dfa5185] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:27:33+00:00] [req:6dfa5185] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T22:27:33+00:00] [req:6dfa5185] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f995-7eff-4c01-22931b6d837a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T22:28:08+00:00] [req:94a2c0f3] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f99e-7789-7bee-ab63fb190c50","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:28:08+00:00] [req:94a2c0f3] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f99e-7789-7bee-ab63fb190c50"}
[2026-06-03T22:28:08+00:00] [req:94a2c0f3] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:28:08+00:00] [req:94a2c0f3] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T22:28:08+00:00] [req:94a2c0f3] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f99e-7789-7bee-ab63fb190c50","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T22:29:38+00:00] [req:91dad978] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f9b4-7224-edd9-a27cd39bcfec","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:29:38+00:00] [req:91dad978] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f9b4-7224-edd9-a27cd39bcfec"}
[2026-06-03T22:29:38+00:00] [req:91dad978] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:29:38+00:00] [req:91dad978] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T22:29:38+00:00] [req:91dad978] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f9b4-7224-edd9-a27cd39bcfec","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T22:31:00+00:00] [req:52b2a462] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f9c8-747a-cfac-f651da146e8a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:31:00+00:00] [req:52b2a462] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f9c8-747a-cfac-f651da146e8a"}
[2026-06-03T22:31:00+00:00] [req:52b2a462] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:31:00+00:00] [req:52b2a462] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T22:31:00+00:00] [req:52b2a462] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f9c8-747a-cfac-f651da146e8a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T22:33:00+00:00] [req:a95809e2] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-f9e5-7ca8-b0af-b340c303d34a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:33:00+00:00] [req:a95809e2] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-f9e5-7ca8-b0af-b340c303d34a"}
[2026-06-03T22:33:00+00:00] [req:a95809e2] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:33:00+00:00] [req:a95809e2] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T22:33:00+00:00] [req:a95809e2] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-f9e5-7ca8-b0af-b340c303d34a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T22:35:13+00:00] [req:691dc6ab] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-fa06-72e4-8c28-b2659a7e0d7b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:35:13+00:00] [req:691dc6ab] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-fa06-72e4-8c28-b2659a7e0d7b"}
[2026-06-03T22:35:13+00:00] [req:691dc6ab] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:35:13+00:00] [req:691dc6ab] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T22:35:13+00:00] [req:691dc6ab] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-fa06-72e4-8c28-b2659a7e0d7b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T22:36:17+00:00] [req:3ef97fe5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-fa15-7e62-edfd-4d0d4d5a9344","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:36:17+00:00] [req:3ef97fe5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-fa15-7e62-edfd-4d0d4d5a9344"}
[2026-06-03T22:36:17+00:00] [req:3ef97fe5] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:36:17+00:00] [req:3ef97fe5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T22:36:17+00:00] [req:3ef97fe5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-fa15-7e62-edfd-4d0d4d5a9344","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T22:39:24+00:00] [req:e16e7c95] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-fa43-744a-6e2c-58e2c4cda4d2","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:39:24+00:00] [req:e16e7c95] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-fa43-744a-6e2c-58e2c4cda4d2"}
[2026-06-03T22:39:24+00:00] [req:e16e7c95] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:39:24+00:00] [req:e16e7c95] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T22:39:24+00:00] [req:e16e7c95] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-fa43-744a-6e2c-58e2c4cda4d2","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T22:41:25+00:00] [req:3b76cc34] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-fa60-7eff-71da-57fac6afa767","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:41:25+00:00] [req:3b76cc34] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-fa60-7eff-71da-57fac6afa767"}
[2026-06-03T22:41:25+00:00] [req:3b76cc34] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:41:25+00:00] [req:3b76cc34] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T22:41:25+00:00] [req:3b76cc34] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-fa60-7eff-71da-57fac6afa767","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-03T22:43:11+00:00] [req:a58419c4] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e8-fa7a-7dda-2bef-08be9f6c2f2f","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:43:11+00:00] [req:a58419c4] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e8-fa7a-7dda-2bef-08be9f6c2f2f"}
[2026-06-03T22:43:11+00:00] [req:a58419c4] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-03T22:43:11+00:00] [req:a58419c4] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-03T22:43:11+00:00] [req:a58419c4] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e8-fa7a-7dda-2bef-08be9f6c2f2f","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-04T01:11:45+00:00] [req:7d251bd0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-02fa-7ee7-24a3-acdb04872f0a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T01:11:45+00:00] [req:7d251bd0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-02fa-7ee7-24a3-acdb04872f0a"}
[2026-06-04T01:11:45+00:00] [req:7d251bd0] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T01:11:45+00:00] [req:7d251bd0] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-04T01:11:45+00:00] [req:7d251bd0] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-02fa-7ee7-24a3-acdb04872f0a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-04T02:09:41+00:00] [req:2caa3a09] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-064b-78ea-6b06-0fc529df2af3","org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-04T02:09:41+00:00] [req:2caa3a09] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4","invoice_id":"000019e9-064b-78ea-6b06-0fc529df2af3"}
[2026-06-04T02:09:41+00:00] [req:2caa3a09] [org:-] getValidAccessToken() — not connected {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-04T02:09:41+00:00] [req:2caa3a09] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-04T02:09:41+00:00] [req:2caa3a09] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-064b-78ea-6b06-0fc529df2af3","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-04T04:02:09+00:00] [req:5976685c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-0cbb-71f7-c463-333bb49a1f1d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T04:02:09+00:00] [req:5976685c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-0cbb-71f7-c463-333bb49a1f1d"}
[2026-06-04T04:02:09+00:00] [req:5976685c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T04:02:09+00:00] [req:5976685c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-04T04:02:09+00:00] [req:5976685c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-0cbb-71f7-c463-333bb49a1f1d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-04T04:03:44+00:00] [req:cd90e0de] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-0cc3-7248-f78d-de7c92685ae3","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T04:03:44+00:00] [req:cd90e0de] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-0cc3-7248-f78d-de7c92685ae3"}
[2026-06-04T04:03:44+00:00] [req:cd90e0de] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T04:03:44+00:00] [req:cd90e0de] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-04T04:03:44+00:00] [req:cd90e0de] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-0cc3-7248-f78d-de7c92685ae3","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-04T05:51:55+00:00] [req:f1c0cb10] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-12e9-7c31-88e2-b4d684483a85","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T05:51:55+00:00] [req:f1c0cb10] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-12e9-7c31-88e2-b4d684483a85"}
[2026-06-04T05:51:55+00:00] [req:f1c0cb10] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T05:51:55+00:00] [req:f1c0cb10] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-04T05:51:55+00:00] [req:f1c0cb10] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-12e9-7c31-88e2-b4d684483a85","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-04T09:23:22+00:00] [req:5d0e2002] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-04T09:23:22+00:00] [req:5d0e2002] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-04T19:32:39+00:00] [req:b092cfa6] [org:-] XeroController::getCredentials() {"org_id":"019e5c3c-fa4c-7659-9b96-854a957d5355"}
[2026-06-04T19:32:39+00:00] [req:b092cfa6] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-04T20:49:07+00:00] [req:cbb11b5c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-4659-7fd4-88ea-96b2076a7c9c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:49:07+00:00] [req:cbb11b5c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-4659-7fd4-88ea-96b2076a7c9c"}
[2026-06-04T20:49:07+00:00] [req:cbb11b5c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:49:07+00:00] [req:cbb11b5c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-04T20:49:07+00:00] [req:cbb11b5c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-4659-7fd4-88ea-96b2076a7c9c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-04T20:50:26+00:00] [req:b11add3b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-466c-7ecb-8f4b-1ada1cd46324","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:50:26+00:00] [req:b11add3b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-466c-7ecb-8f4b-1ada1cd46324"}
[2026-06-04T20:50:26+00:00] [req:b11add3b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:50:26+00:00] [req:b11add3b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-04T20:50:26+00:00] [req:b11add3b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-466c-7ecb-8f4b-1ada1cd46324","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-04T20:51:21+00:00] [req:ef1ecac3] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-467a-7a11-fcfa-c56a74cd26e1","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:51:21+00:00] [req:ef1ecac3] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-467a-7a11-fcfa-c56a74cd26e1"}
[2026-06-04T20:51:21+00:00] [req:ef1ecac3] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:51:21+00:00] [req:ef1ecac3] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-04T20:51:21+00:00] [req:ef1ecac3] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-467a-7a11-fcfa-c56a74cd26e1","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-04T20:52:23+00:00] [req:f5184f87] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-4689-7941-9a5d-b2de0e51093b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:52:23+00:00] [req:f5184f87] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-4689-7941-9a5d-b2de0e51093b"}
[2026-06-04T20:52:23+00:00] [req:f5184f87] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:52:23+00:00] [req:f5184f87] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-04T20:52:23+00:00] [req:f5184f87] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-4689-7941-9a5d-b2de0e51093b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-04T20:53:09+00:00] [req:3e959420] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-4694-7fe3-387a-c15553ecf5b8","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:53:09+00:00] [req:3e959420] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-4694-7fe3-387a-c15553ecf5b8"}
[2026-06-04T20:53:09+00:00] [req:3e959420] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:53:09+00:00] [req:3e959420] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-04T20:53:09+00:00] [req:3e959420] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-4694-7fe3-387a-c15553ecf5b8","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-04T20:54:25+00:00] [req:dedd2bce] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-46a7-786c-5d0d-c216db439041","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:54:25+00:00] [req:dedd2bce] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-46a7-786c-5d0d-c216db439041"}
[2026-06-04T20:54:25+00:00] [req:dedd2bce] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:54:25+00:00] [req:dedd2bce] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-04T20:54:25+00:00] [req:dedd2bce] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-46a7-786c-5d0d-c216db439041","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-04T20:56:35+00:00] [req:1d74fe50] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-46c7-761d-719c-347c5dab088f","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:56:35+00:00] [req:1d74fe50] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-46c7-761d-719c-347c5dab088f"}
[2026-06-04T20:56:35+00:00] [req:1d74fe50] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:56:35+00:00] [req:1d74fe50] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-04T20:56:35+00:00] [req:1d74fe50] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-46c7-761d-719c-347c5dab088f","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-04T20:58:06+00:00] [req:c46645f1] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-46dd-7851-ea2d-29c423683904","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:58:06+00:00] [req:c46645f1] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-46dd-7851-ea2d-29c423683904"}
[2026-06-04T20:58:06+00:00] [req:c46645f1] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:58:06+00:00] [req:c46645f1] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-04T20:58:06+00:00] [req:c46645f1] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-46dd-7851-ea2d-29c423683904","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-04T20:58:49+00:00] [req:e9fcde4a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-46e7-7e18-14fb-11c60f0c1863","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:58:49+00:00] [req:e9fcde4a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-46e7-7e18-14fb-11c60f0c1863"}
[2026-06-04T20:58:49+00:00] [req:e9fcde4a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:58:49+00:00] [req:e9fcde4a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-04T20:58:49+00:00] [req:e9fcde4a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-46e7-7e18-14fb-11c60f0c1863","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-04T20:59:42+00:00] [req:fad712eb] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-46f4-7d1a-ab33-e9f488917999","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:59:42+00:00] [req:fad712eb] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-46f4-7d1a-ab33-e9f488917999"}
[2026-06-04T20:59:42+00:00] [req:fad712eb] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-04T20:59:42+00:00] [req:fad712eb] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-04T20:59:42+00:00] [req:fad712eb] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-46f4-7d1a-ab33-e9f488917999","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-04T23:09:10+00:00] [req:3138edf0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-4e5d-71f2-b47f-0302f72ba5b2","org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-04T23:09:10+00:00] [req:3138edf0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4","invoice_id":"000019e9-4e5d-71f2-b47f-0302f72ba5b2"}
[2026-06-04T23:09:10+00:00] [req:3138edf0] [org:-] getValidAccessToken() — not connected {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-04T23:09:10+00:00] [req:3138edf0] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-04T23:09:10+00:00] [req:3138edf0] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-4e5d-71f2-b47f-0302f72ba5b2","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-05T01:39:57+00:00] [req:102b26af] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-56fe-71da-b82e-c5f8af3121ef","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-05T01:39:57+00:00] [req:102b26af] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-56fe-71da-b82e-c5f8af3121ef"}
[2026-06-05T01:39:57+00:00] [req:102b26af] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-05T01:39:57+00:00] [req:102b26af] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-05T01:39:57+00:00] [req:102b26af] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-56fe-71da-b82e-c5f8af3121ef","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-05T04:54:03+00:00] [req:bbc5fe73] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"316110e8-1124-4c8b-bbc7-9d818d894a4e","org_id":"019e5c3c-fa4c-7659-9b96-854a957d5355"}
[2026-06-05T04:54:03+00:00] [req:bbc5fe73] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019e5c3c-fa4c-7659-9b96-854a957d5355","invoice_id":"316110e8-1124-4c8b-bbc7-9d818d894a4e"}
[2026-06-05T04:54:03+00:00] [req:bbc5fe73] [org:-] getValidAccessToken() — not connected {"org_id":"019e5c3c-fa4c-7659-9b96-854a957d5355"}
[2026-06-05T04:54:03+00:00] [req:bbc5fe73] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-05T04:54:03+00:00] [req:bbc5fe73] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"316110e8-1124-4c8b-bbc7-9d818d894a4e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-05T05:24:02+00:00] [req:564a00ff] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-63d0-7b02-6dc9-e3d5d5314cff","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-05T05:24:02+00:00] [req:564a00ff] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-63d0-7b02-6dc9-e3d5d5314cff"}
[2026-06-05T05:24:02+00:00] [req:564a00ff] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-05T05:24:02+00:00] [req:564a00ff] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-05T05:24:02+00:00] [req:564a00ff] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-63d0-7b02-6dc9-e3d5d5314cff","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-05T19:47:48+00:00] [req:ba4ebd3d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-953d-715b-3e06-4918ed725daf","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-05T19:47:48+00:00] [req:ba4ebd3d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-953d-715b-3e06-4918ed725daf"}
[2026-06-05T19:47:48+00:00] [req:ba4ebd3d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-05T19:47:48+00:00] [req:ba4ebd3d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-05T19:47:48+00:00] [req:ba4ebd3d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-953d-715b-3e06-4918ed725daf","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-05T19:48:15+00:00] [req:613ecca3] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-9543-7c6a-8204-cb62414c6960","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-05T19:48:15+00:00] [req:613ecca3] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-9543-7c6a-8204-cb62414c6960"}
[2026-06-05T19:48:15+00:00] [req:613ecca3] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-05T19:48:15+00:00] [req:613ecca3] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-05T19:48:15+00:00] [req:613ecca3] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-9543-7c6a-8204-cb62414c6960","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-05T19:51:29+00:00] [req:6f98ab11] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-9573-7391-040a-6d848addc21b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-05T19:51:29+00:00] [req:6f98ab11] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-9573-7391-040a-6d848addc21b"}
[2026-06-05T19:51:29+00:00] [req:6f98ab11] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-05T19:51:29+00:00] [req:6f98ab11] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-05T19:51:29+00:00] [req:6f98ab11] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-9573-7391-040a-6d848addc21b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-05T19:52:26+00:00] [req:284476d8] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-9580-7f9c-a209-b7fdb361751c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-05T19:52:26+00:00] [req:284476d8] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-9580-7f9c-a209-b7fdb361751c"}
[2026-06-05T19:52:26+00:00] [req:284476d8] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-05T19:52:26+00:00] [req:284476d8] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-05T19:52:26+00:00] [req:284476d8] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-9580-7f9c-a209-b7fdb361751c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-05T19:55:01+00:00] [req:db6405ad] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-95a6-7e70-1c7b-b95bd52acdd9","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-05T19:55:01+00:00] [req:db6405ad] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-95a6-7e70-1c7b-b95bd52acdd9"}
[2026-06-05T19:55:01+00:00] [req:db6405ad] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-05T19:55:01+00:00] [req:db6405ad] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-05T19:55:01+00:00] [req:db6405ad] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-95a6-7e70-1c7b-b95bd52acdd9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-05T20:00:46+00:00] [req:6badd739] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-95fb-7332-64f8-77d1c4e2a3f0","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-05T20:00:46+00:00] [req:6badd739] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-95fb-7332-64f8-77d1c4e2a3f0"}
[2026-06-05T20:00:46+00:00] [req:6badd739] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-05T20:00:46+00:00] [req:6badd739] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-05T20:00:46+00:00] [req:6badd739] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-95fb-7332-64f8-77d1c4e2a3f0","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-06T04:04:17+00:00] [req:0837a7e1] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-b1a1-7453-debb-af9f64c8a6cb","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-06T04:04:17+00:00] [req:0837a7e1] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019e9-b1a1-7453-debb-af9f64c8a6cb"}
[2026-06-06T04:04:17+00:00] [req:0837a7e1] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-06T04:04:17+00:00] [req:0837a7e1] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-06T04:04:17+00:00] [req:0837a7e1] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-b1a1-7453-debb-af9f64c8a6cb","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-06T04:18:37+00:00] [req:0b9d714a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019e9-b277-7429-5453-3e99c28a63bd","org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-06T04:18:37+00:00] [req:0b9d714a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4","invoice_id":"000019e9-b277-7429-5453-3e99c28a63bd"}
[2026-06-06T04:18:37+00:00] [req:0b9d714a] [org:-] getValidAccessToken() — not connected {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-06T04:18:37+00:00] [req:0b9d714a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-06T04:18:37+00:00] [req:0b9d714a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019e9-b277-7429-5453-3e99c28a63bd","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-06T23:44:57+00:00] [req:cdfe7dfd] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-06T23:44:57+00:00] [req:cdfe7dfd] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-06T23:57:10+00:00] [req:c74363bc] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-06T23:57:10+00:00] [req:c74363bc] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-06T23:57:15+00:00] [req:0fcccb4e] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-06T23:57:15+00:00] [req:0fcccb4e] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-06T23:57:17+00:00] [req:81d5b3d6] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-06T23:57:17+00:00] [req:81d5b3d6] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-07T04:27:23+00:00] [req:5a667937] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-054b-7690-208c-ad9bcfc25d0c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T04:27:23+00:00] [req:5a667937] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-054b-7690-208c-ad9bcfc25d0c"}
[2026-06-07T04:27:23+00:00] [req:5a667937] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T04:27:23+00:00] [req:5a667937] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T04:27:23+00:00] [req:5a667937] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-054b-7690-208c-ad9bcfc25d0c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T20:40:03+00:00] [req:2f21768c] [org:-] XeroController::getCredentials() {"org_id":"019e5c3c-fa4c-7659-9b96-854a957d5355"}
[2026-06-07T20:40:03+00:00] [req:2f21768c] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-07T20:40:06+00:00] [req:eaff12cc] [org:-] XeroController::getCredentials() {"org_id":"019e5c3c-fa4c-7659-9b96-854a957d5355"}
[2026-06-07T20:40:06+00:00] [req:eaff12cc] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-07T20:43:37+00:00] [req:537033db] [org:-] XeroController::getCredentials() {"org_id":"019e5c3c-fa4c-7659-9b96-854a957d5355"}
[2026-06-07T20:43:37+00:00] [req:537033db] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-07T20:49:06+00:00] [req:54c8b7ee] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-3d8a-79be-42cc-fcc203693986","org_id":"org_id"}
[2026-06-07T20:49:06+00:00] [req:54c8b7ee] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"org_id","invoice_id":"000019ea-3d8a-79be-42cc-fcc203693986"}
[2026-06-07T20:49:06+00:00] [req:54c8b7ee] [org:-] PostInvoiceToXeroStep caught exception {"invoice_id":"000019ea-3d8a-79be-42cc-fcc203693986","org_id":"org_id","error":"SQL Error: SQLSTATE[22P02]: Invalid text representation: 7 ERROR:  invalid input syntax for type uuid: \"org_id\"\nCONTEXT:  unnamed portal parameter $1 = '...' | Query: SELECT settings FROM \"orgs\" WHERE \"org_id\" = ? LIMIT 1"}
[2026-06-07T20:49:41+00:00] [req:4e0509fa] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-3d93-74a1-4c7e-673bad5ae9af","org_id":"org_id"}
[2026-06-07T20:49:41+00:00] [req:4e0509fa] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"org_id","invoice_id":"000019ea-3d93-74a1-4c7e-673bad5ae9af"}
[2026-06-07T20:49:41+00:00] [req:4e0509fa] [org:-] PostInvoiceToXeroStep caught exception {"invoice_id":"000019ea-3d93-74a1-4c7e-673bad5ae9af","org_id":"org_id","error":"SQL Error: SQLSTATE[22P02]: Invalid text representation: 7 ERROR:  invalid input syntax for type uuid: \"org_id\"\nCONTEXT:  unnamed portal parameter $1 = '...' | Query: SELECT settings FROM \"orgs\" WHERE \"org_id\" = ? LIMIT 1"}
[2026-06-07T20:50:05+00:00] [req:d4c59963] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-3d98-7ff3-27b2-3020be78789b","org_id":"org_id"}
[2026-06-07T20:50:05+00:00] [req:d4c59963] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"org_id","invoice_id":"000019ea-3d98-7ff3-27b2-3020be78789b"}
[2026-06-07T20:50:05+00:00] [req:d4c59963] [org:-] PostInvoiceToXeroStep caught exception {"invoice_id":"000019ea-3d98-7ff3-27b2-3020be78789b","org_id":"org_id","error":"SQL Error: SQLSTATE[22P02]: Invalid text representation: 7 ERROR:  invalid input syntax for type uuid: \"org_id\"\nCONTEXT:  unnamed portal parameter $1 = '...' | Query: SELECT settings FROM \"orgs\" WHERE \"org_id\" = ? LIMIT 1"}
[2026-06-07T20:51:48+00:00] [req:8dad9e46] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-3db2-740d-aa97-65d9d42e34de","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T20:51:48+00:00] [req:8dad9e46] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-3db2-740d-aa97-65d9d42e34de"}
[2026-06-07T20:51:48+00:00] [req:8dad9e46] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T20:51:48+00:00] [req:8dad9e46] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T20:51:48+00:00] [req:8dad9e46] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-3db2-740d-aa97-65d9d42e34de","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T20:52:45+00:00] [req:e4438fa9] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-3dbf-7ec2-7b0b-eb09e2d0673e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T20:52:45+00:00] [req:e4438fa9] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-3dbf-7ec2-7b0b-eb09e2d0673e"}
[2026-06-07T20:52:45+00:00] [req:e4438fa9] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T20:52:45+00:00] [req:e4438fa9] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T20:52:45+00:00] [req:e4438fa9] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-3dbf-7ec2-7b0b-eb09e2d0673e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T20:54:35+00:00] [req:18b851e2] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-3dda-7cd1-cae6-8c88ea896803","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T20:54:35+00:00] [req:18b851e2] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-3dda-7cd1-cae6-8c88ea896803"}
[2026-06-07T20:54:35+00:00] [req:18b851e2] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T20:54:35+00:00] [req:18b851e2] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T20:54:35+00:00] [req:18b851e2] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-3dda-7cd1-cae6-8c88ea896803","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T20:55:07+00:00] [req:c0d71c72] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-3de2-7abb-f6fc-9bb8c7845176","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T20:55:07+00:00] [req:c0d71c72] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-3de2-7abb-f6fc-9bb8c7845176"}
[2026-06-07T20:55:07+00:00] [req:c0d71c72] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T20:55:07+00:00] [req:c0d71c72] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T20:55:07+00:00] [req:c0d71c72] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-3de2-7abb-f6fc-9bb8c7845176","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T20:56:05+00:00] [req:61d4edc8] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-3df0-7b0a-0435-e11e2b56ddde","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T20:56:05+00:00] [req:61d4edc8] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-3df0-7b0a-0435-e11e2b56ddde"}
[2026-06-07T20:56:05+00:00] [req:61d4edc8] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T20:56:05+00:00] [req:61d4edc8] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T20:56:05+00:00] [req:61d4edc8] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-3df0-7b0a-0435-e11e2b56ddde","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T20:58:07+00:00] [req:ada57011] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-3e0e-7c07-04c7-0e41c3deaee4","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T20:58:07+00:00] [req:ada57011] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-3e0e-7c07-04c7-0e41c3deaee4"}
[2026-06-07T20:58:07+00:00] [req:ada57011] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T20:58:07+00:00] [req:ada57011] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T20:58:07+00:00] [req:ada57011] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-3e0e-7c07-04c7-0e41c3deaee4","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T20:59:03+00:00] [req:1c0da894] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-3e1c-739d-dd28-ac61d1e94462","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T20:59:03+00:00] [req:1c0da894] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-3e1c-739d-dd28-ac61d1e94462"}
[2026-06-07T20:59:03+00:00] [req:1c0da894] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T20:59:03+00:00] [req:1c0da894] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T20:59:03+00:00] [req:1c0da894] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-3e1c-739d-dd28-ac61d1e94462","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T20:59:39+00:00] [req:3d94cf6b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-3e25-727a-b0ef-53d064897071","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T20:59:39+00:00] [req:3d94cf6b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-3e25-727a-b0ef-53d064897071"}
[2026-06-07T20:59:39+00:00] [req:3d94cf6b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T20:59:39+00:00] [req:3d94cf6b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T20:59:39+00:00] [req:3d94cf6b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-3e25-727a-b0ef-53d064897071","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T21:02:41+00:00] [req:99272e51] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-3e43-724d-050c-10826462ba0a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:02:41+00:00] [req:99272e51] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-3e43-724d-050c-10826462ba0a"}
[2026-06-07T21:02:41+00:00] [req:99272e51] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:02:41+00:00] [req:99272e51] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T21:02:41+00:00] [req:99272e51] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-3e43-724d-050c-10826462ba0a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T21:03:49+00:00] [req:3c7ed6f8] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-3e53-749b-7380-66f7bc419f25","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:03:49+00:00] [req:3c7ed6f8] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-3e53-749b-7380-66f7bc419f25"}
[2026-06-07T21:03:49+00:00] [req:3c7ed6f8] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:03:49+00:00] [req:3c7ed6f8] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T21:03:49+00:00] [req:3c7ed6f8] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-3e53-749b-7380-66f7bc419f25","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T21:07:02+00:00] [req:faffc7ab] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-3e91-72c8-826e-026f752a23de","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:07:02+00:00] [req:faffc7ab] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-3e91-72c8-826e-026f752a23de"}
[2026-06-07T21:07:02+00:00] [req:faffc7ab] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:07:02+00:00] [req:faffc7ab] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T21:07:02+00:00] [req:faffc7ab] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-3e91-72c8-826e-026f752a23de","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T21:38:24+00:00] [req:b3db1931] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-4052-745d-fd43-af3e4c0bca5a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:38:24+00:00] [req:b3db1931] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-4052-745d-fd43-af3e4c0bca5a"}
[2026-06-07T21:38:24+00:00] [req:b3db1931] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:38:24+00:00] [req:b3db1931] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T21:38:24+00:00] [req:b3db1931] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-4052-745d-fd43-af3e4c0bca5a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T21:38:24+00:00] [req:b3db1931] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-405c-7de6-abf9-bb0467f6980b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:38:24+00:00] [req:b3db1931] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-405c-7de6-abf9-bb0467f6980b"}
[2026-06-07T21:38:24+00:00] [req:b3db1931] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:38:24+00:00] [req:b3db1931] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T21:38:24+00:00] [req:b3db1931] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-405c-7de6-abf9-bb0467f6980b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T21:40:32+00:00] [req:8563f4c6] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-407c-701b-7842-e55df279733d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:40:32+00:00] [req:8563f4c6] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-407c-701b-7842-e55df279733d"}
[2026-06-07T21:40:32+00:00] [req:8563f4c6] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:40:32+00:00] [req:8563f4c6] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T21:40:32+00:00] [req:8563f4c6] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-407c-701b-7842-e55df279733d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T21:42:25+00:00] [req:50c8b8da] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-4097-78e0-1912-432c1b7f9dd0","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:42:25+00:00] [req:50c8b8da] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-4097-78e0-1912-432c1b7f9dd0"}
[2026-06-07T21:42:25+00:00] [req:50c8b8da] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:42:25+00:00] [req:50c8b8da] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T21:42:25+00:00] [req:50c8b8da] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-4097-78e0-1912-432c1b7f9dd0","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T21:44:47+00:00] [req:91a75b63] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-40ba-73c3-e1a6-eba41039deb9","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:44:47+00:00] [req:91a75b63] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-40ba-73c3-e1a6-eba41039deb9"}
[2026-06-07T21:44:47+00:00] [req:91a75b63] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:44:47+00:00] [req:91a75b63] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T21:44:47+00:00] [req:91a75b63] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-40ba-73c3-e1a6-eba41039deb9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T21:51:25+00:00] [req:ba934c2d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-411b-76f8-5cbf-7e8ca2e3012b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:51:25+00:00] [req:ba934c2d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-411b-76f8-5cbf-7e8ca2e3012b"}
[2026-06-07T21:51:25+00:00] [req:ba934c2d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:51:25+00:00] [req:ba934c2d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T21:51:25+00:00] [req:ba934c2d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-411b-76f8-5cbf-7e8ca2e3012b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T21:52:14+00:00] [req:172fb15c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-4127-7690-b166-9d54487574fd","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:52:14+00:00] [req:172fb15c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-4127-7690-b166-9d54487574fd"}
[2026-06-07T21:52:14+00:00] [req:172fb15c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:52:14+00:00] [req:172fb15c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T21:52:14+00:00] [req:172fb15c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-4127-7690-b166-9d54487574fd","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T21:54:24+00:00] [req:c7616c76] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-4146-7e8c-54f5-5a86e59e8c0f","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:54:24+00:00] [req:c7616c76] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-4146-7e8c-54f5-5a86e59e8c0f"}
[2026-06-07T21:54:24+00:00] [req:c7616c76] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T21:54:24+00:00] [req:c7616c76] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T21:54:24+00:00] [req:c7616c76] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-4146-7e8c-54f5-5a86e59e8c0f","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T22:39:48+00:00] [req:deec7e0c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-43d7-75a5-5f8a-43fb1344c252","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T22:39:48+00:00] [req:deec7e0c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-43d7-75a5-5f8a-43fb1344c252"}
[2026-06-07T22:39:48+00:00] [req:deec7e0c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T22:39:48+00:00] [req:deec7e0c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T22:39:48+00:00] [req:deec7e0c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-43d7-75a5-5f8a-43fb1344c252","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-07T22:40:05+00:00] [req:10f22245] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-43d7-75a5-5f8a-43fb1344c252","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T22:40:05+00:00] [req:10f22245] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-43d7-75a5-5f8a-43fb1344c252"}
[2026-06-07T22:40:05+00:00] [req:10f22245] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-07T22:40:05+00:00] [req:10f22245] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-07T22:40:05+00:00] [req:10f22245] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-43d7-75a5-5f8a-43fb1344c252","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-08T02:52:42+00:00] [req:b2eb35d2] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T02:52:42+00:00] [req:b2eb35d2] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-08T02:52:44+00:00] [req:a5f09f28] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T02:52:44+00:00] [req:a5f09f28] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-08T02:52:45+00:00] [req:f1261a5a] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T02:52:45+00:00] [req:f1261a5a] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-08T02:52:46+00:00] [req:461e9b86] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T02:52:46+00:00] [req:461e9b86] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-08T02:52:46+00:00] [req:4fb97d9c] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T02:52:46+00:00] [req:4fb97d9c] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-08T02:52:47+00:00] [req:616738f9] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T02:52:47+00:00] [req:616738f9] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-08T02:52:47+00:00] [req:002645b5] [org:-] XeroController::getCredentials() {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T02:52:47+00:00] [req:002645b5] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-08T03:24:53+00:00] [req:ef85054f] [org:-] XeroController::getCredentials() {"org_id":null}
[2026-06-08T03:24:53+00:00] [req:ef85054f] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-08T04:35:10+00:00] [req:eb8f5b95] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-5835-7680-d0b5-b6aa8098fa6d","org_id":"019c1ba4-d432-7fc4-89c4-ee5476007b42"}
[2026-06-08T04:35:10+00:00] [req:eb8f5b95] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c1ba4-d432-7fc4-89c4-ee5476007b42","invoice_id":"000019ea-5835-7680-d0b5-b6aa8098fa6d"}
[2026-06-08T04:35:10+00:00] [req:eb8f5b95] [org:-] getValidAccessToken() — not connected {"org_id":"019c1ba4-d432-7fc4-89c4-ee5476007b42"}
[2026-06-08T04:35:10+00:00] [req:eb8f5b95] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-08T04:35:10+00:00] [req:eb8f5b95] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-5835-7680-d0b5-b6aa8098fa6d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-08T04:36:21+00:00] [req:2300a2d6] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-5846-7dfb-bf8f-ff4ebeea0f08","org_id":"019c1ba4-d432-7fc4-89c4-ee5476007b42"}
[2026-06-08T04:36:21+00:00] [req:2300a2d6] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c1ba4-d432-7fc4-89c4-ee5476007b42","invoice_id":"000019ea-5846-7dfb-bf8f-ff4ebeea0f08"}
[2026-06-08T04:36:21+00:00] [req:2300a2d6] [org:-] getValidAccessToken() — not connected {"org_id":"019c1ba4-d432-7fc4-89c4-ee5476007b42"}
[2026-06-08T04:36:21+00:00] [req:2300a2d6] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-08T04:36:21+00:00] [req:2300a2d6] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-5846-7dfb-bf8f-ff4ebeea0f08","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-08T04:37:40+00:00] [req:953e2ae0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-585a-73ef-ae4d-915267676f05","org_id":"019c1ba4-d432-7fc4-89c4-ee5476007b42"}
[2026-06-08T04:37:40+00:00] [req:953e2ae0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c1ba4-d432-7fc4-89c4-ee5476007b42","invoice_id":"000019ea-585a-73ef-ae4d-915267676f05"}
[2026-06-08T04:37:40+00:00] [req:953e2ae0] [org:-] getValidAccessToken() — not connected {"org_id":"019c1ba4-d432-7fc4-89c4-ee5476007b42"}
[2026-06-08T04:37:40+00:00] [req:953e2ae0] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-08T04:37:40+00:00] [req:953e2ae0] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-585a-73ef-ae4d-915267676f05","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-08T04:38:36+00:00] [req:539020aa] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-5867-7df7-bb9a-5dd9e1eaed99","org_id":"019c1ba4-d432-7fc4-89c4-ee5476007b42"}
[2026-06-08T04:38:36+00:00] [req:539020aa] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c1ba4-d432-7fc4-89c4-ee5476007b42","invoice_id":"000019ea-5867-7df7-bb9a-5dd9e1eaed99"}
[2026-06-08T04:38:36+00:00] [req:539020aa] [org:-] getValidAccessToken() — not connected {"org_id":"019c1ba4-d432-7fc4-89c4-ee5476007b42"}
[2026-06-08T04:38:36+00:00] [req:539020aa] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-08T04:38:36+00:00] [req:539020aa] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-5867-7df7-bb9a-5dd9e1eaed99","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-08T04:45:33+00:00] [req:4bd31090] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-58cd-7b17-abd3-4df7af4bfb49","org_id":"019c1ba4-d432-7fc4-89c4-ee5476007b42"}
[2026-06-08T04:45:33+00:00] [req:4bd31090] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c1ba4-d432-7fc4-89c4-ee5476007b42","invoice_id":"000019ea-58cd-7b17-abd3-4df7af4bfb49"}
[2026-06-08T04:45:33+00:00] [req:4bd31090] [org:-] getValidAccessToken() — not connected {"org_id":"019c1ba4-d432-7fc4-89c4-ee5476007b42"}
[2026-06-08T04:45:33+00:00] [req:4bd31090] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-08T04:45:33+00:00] [req:4bd31090] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-58cd-7b17-abd3-4df7af4bfb49","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-08T04:46:53+00:00] [req:deeb1efe] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-58d9-7b8c-2a96-47a78ea44adb","org_id":"019c1ba4-d432-7fc4-89c4-ee5476007b42"}
[2026-06-08T04:46:53+00:00] [req:deeb1efe] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c1ba4-d432-7fc4-89c4-ee5476007b42","invoice_id":"000019ea-58d9-7b8c-2a96-47a78ea44adb"}
[2026-06-08T04:46:53+00:00] [req:deeb1efe] [org:-] getValidAccessToken() — not connected {"org_id":"019c1ba4-d432-7fc4-89c4-ee5476007b42"}
[2026-06-08T04:46:53+00:00] [req:deeb1efe] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-08T04:46:53+00:00] [req:deeb1efe] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-58d9-7b8c-2a96-47a78ea44adb","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-08T05:55:30+00:00] [req:97d0b73e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-5cc6-7269-17d9-52dca9968c3d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T05:55:30+00:00] [req:97d0b73e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-5cc6-7269-17d9-52dca9968c3d"}
[2026-06-08T05:55:30+00:00] [req:97d0b73e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T05:55:30+00:00] [req:97d0b73e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-08T05:55:30+00:00] [req:97d0b73e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-5cc6-7269-17d9-52dca9968c3d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-08T07:04:30+00:00] [req:de185d97] [org:-] XeroController::getCredentials() {"org_id":"0194a8b2-1234-7123-8123-123456789abc"}
[2026-06-08T07:04:30+00:00] [req:de185d97] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-08T07:10:06+00:00] [req:8671992f] [org:-] XeroController::getCredentials() {"org_id":"0194a8b2-1234-7123-8123-123456789abc"}
[2026-06-08T07:10:06+00:00] [req:8671992f] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-08T07:10:07+00:00] [req:874fb03f] [org:-] XeroController::getCredentials() {"org_id":"0194a8b2-1234-7123-8123-123456789abc"}
[2026-06-08T07:10:07+00:00] [req:874fb03f] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-08T08:31:54+00:00] [req:545b17d8] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-08T08:31:54+00:00] [req:545b17d8] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-08T21:05:36+00:00] [req:16a2cca3] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-90e1-7eb5-21d3-50211074a4b6","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:05:36+00:00] [req:16a2cca3] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-90e1-7eb5-21d3-50211074a4b6"}
[2026-06-08T21:05:36+00:00] [req:16a2cca3] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:05:36+00:00] [req:16a2cca3] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-08T21:05:36+00:00] [req:16a2cca3] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-90e1-7eb5-21d3-50211074a4b6","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-08T21:06:44+00:00] [req:de6546fa] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-90f2-7499-07cb-591e19479c20","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:06:44+00:00] [req:de6546fa] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-90f2-7499-07cb-591e19479c20"}
[2026-06-08T21:06:44+00:00] [req:de6546fa] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:06:44+00:00] [req:de6546fa] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-08T21:06:44+00:00] [req:de6546fa] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-90f2-7499-07cb-591e19479c20","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-08T21:09:32+00:00] [req:a0c95e94] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-910b-7f69-3269-a89521a26ee7","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:09:32+00:00] [req:a0c95e94] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-910b-7f69-3269-a89521a26ee7"}
[2026-06-08T21:09:32+00:00] [req:a0c95e94] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:09:32+00:00] [req:a0c95e94] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-08T21:09:32+00:00] [req:a0c95e94] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-910b-7f69-3269-a89521a26ee7","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-08T21:09:32+00:00] [req:a0c95e94] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-9115-7d60-172d-0951bb6c9fc1","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:09:32+00:00] [req:a0c95e94] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-9115-7d60-172d-0951bb6c9fc1"}
[2026-06-08T21:09:32+00:00] [req:a0c95e94] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:09:32+00:00] [req:a0c95e94] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-08T21:09:32+00:00] [req:a0c95e94] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-9115-7d60-172d-0951bb6c9fc1","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-08T21:10:47+00:00] [req:ad7a446f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-9122-7b23-eb54-2151e2eaed86","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:10:47+00:00] [req:ad7a446f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-9122-7b23-eb54-2151e2eaed86"}
[2026-06-08T21:10:47+00:00] [req:ad7a446f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:10:47+00:00] [req:ad7a446f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-08T21:10:47+00:00] [req:ad7a446f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-9122-7b23-eb54-2151e2eaed86","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-08T21:10:47+00:00] [req:ad7a446f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-912d-7b3a-5f20-419b3e758df2","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:10:47+00:00] [req:ad7a446f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-912d-7b3a-5f20-419b3e758df2"}
[2026-06-08T21:10:47+00:00] [req:ad7a446f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:10:47+00:00] [req:ad7a446f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-08T21:10:47+00:00] [req:ad7a446f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-912d-7b3a-5f20-419b3e758df2","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-08T21:14:37+00:00] [req:fc4ece0a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-9165-7d33-56e9-9305d91e527d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:14:37+00:00] [req:fc4ece0a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-9165-7d33-56e9-9305d91e527d"}
[2026-06-08T21:14:37+00:00] [req:fc4ece0a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:14:37+00:00] [req:fc4ece0a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-08T21:14:37+00:00] [req:fc4ece0a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-9165-7d33-56e9-9305d91e527d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-08T21:17:29+00:00] [req:7af08f35] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-917f-7e93-6897-16fceb21b7e6","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:17:29+00:00] [req:7af08f35] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-917f-7e93-6897-16fceb21b7e6"}
[2026-06-08T21:17:29+00:00] [req:7af08f35] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:17:29+00:00] [req:7af08f35] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-08T21:17:29+00:00] [req:7af08f35] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-917f-7e93-6897-16fceb21b7e6","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-08T21:17:29+00:00] [req:7af08f35] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-918f-7ba9-4c1e-b9d6a48eb1a2","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:17:29+00:00] [req:7af08f35] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-918f-7ba9-4c1e-b9d6a48eb1a2"}
[2026-06-08T21:17:29+00:00] [req:7af08f35] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:17:29+00:00] [req:7af08f35] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-08T21:17:29+00:00] [req:7af08f35] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-918f-7ba9-4c1e-b9d6a48eb1a2","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-08T21:18:14+00:00] [req:e0590a7c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-919a-7cfb-471f-ef111117fe91","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:18:14+00:00] [req:e0590a7c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-919a-7cfb-471f-ef111117fe91"}
[2026-06-08T21:18:14+00:00] [req:e0590a7c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:18:14+00:00] [req:e0590a7c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-08T21:18:14+00:00] [req:e0590a7c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-919a-7cfb-471f-ef111117fe91","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-08T21:19:32+00:00] [req:608502de] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-91ad-7b8b-010a-7ed5b6d3e4a2","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:19:32+00:00] [req:608502de] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-91ad-7b8b-010a-7ed5b6d3e4a2"}
[2026-06-08T21:19:32+00:00] [req:608502de] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:19:32+00:00] [req:608502de] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-08T21:19:32+00:00] [req:608502de] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-91ad-7b8b-010a-7ed5b6d3e4a2","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-08T21:22:31+00:00] [req:55c5221b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-91d0-79ad-5616-6d1fec94237c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:22:31+00:00] [req:55c5221b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-91d0-79ad-5616-6d1fec94237c"}
[2026-06-08T21:22:31+00:00] [req:55c5221b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-08T21:22:31+00:00] [req:55c5221b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-08T21:22:31+00:00] [req:55c5221b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-91d0-79ad-5616-6d1fec94237c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T02:58:14+00:00] [req:288aca34] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a504-7e29-af38-114bc0fe02a3","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T02:58:14+00:00] [req:288aca34] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-a504-7e29-af38-114bc0fe02a3"}
[2026-06-09T02:58:14+00:00] [req:288aca34] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T02:58:14+00:00] [req:288aca34] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T02:58:14+00:00] [req:288aca34] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a504-7e29-af38-114bc0fe02a3","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T02:58:14+00:00] [req:288aca34] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a50f-7610-899f-086aa362e4ed","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T02:58:14+00:00] [req:288aca34] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-a50f-7610-899f-086aa362e4ed"}
[2026-06-09T02:58:14+00:00] [req:288aca34] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T02:58:14+00:00] [req:288aca34] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T02:58:14+00:00] [req:288aca34] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a50f-7610-899f-086aa362e4ed","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T02:59:54+00:00] [req:2960595c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a527-7bde-1ecd-04daf459918a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T02:59:54+00:00] [req:2960595c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-a527-7bde-1ecd-04daf459918a"}
[2026-06-09T02:59:54+00:00] [req:2960595c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T02:59:54+00:00] [req:2960595c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T02:59:54+00:00] [req:2960595c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a527-7bde-1ecd-04daf459918a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T03:03:34+00:00] [req:80da768c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a55d-763c-5fdc-6f1f8b051fee","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:03:34+00:00] [req:80da768c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-a55d-763c-5fdc-6f1f8b051fee"}
[2026-06-09T03:03:34+00:00] [req:80da768c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:03:34+00:00] [req:80da768c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T03:03:34+00:00] [req:80da768c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a55d-763c-5fdc-6f1f8b051fee","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T03:06:15+00:00] [req:534b9589] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a584-7aff-af56-716f3e8406d2","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:06:15+00:00] [req:534b9589] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-a584-7aff-af56-716f3e8406d2"}
[2026-06-09T03:06:15+00:00] [req:534b9589] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:06:15+00:00] [req:534b9589] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T03:06:15+00:00] [req:534b9589] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a584-7aff-af56-716f3e8406d2","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T03:06:56+00:00] [req:32febfa2] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a58e-7be3-3e92-f046b0702508","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:06:56+00:00] [req:32febfa2] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-a58e-7be3-3e92-f046b0702508"}
[2026-06-09T03:06:56+00:00] [req:32febfa2] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:06:56+00:00] [req:32febfa2] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T03:06:56+00:00] [req:32febfa2] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a58e-7be3-3e92-f046b0702508","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T03:07:26+00:00] [req:0050e0c5] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a596-7189-f7ae-9d696ca16693","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:07:26+00:00] [req:0050e0c5] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-a596-7189-f7ae-9d696ca16693"}
[2026-06-09T03:07:26+00:00] [req:0050e0c5] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:07:26+00:00] [req:0050e0c5] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T03:07:26+00:00] [req:0050e0c5] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a596-7189-f7ae-9d696ca16693","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T03:08:16+00:00] [req:4aea9dbd] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a59c-74e0-97dc-a28831946afd","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:08:16+00:00] [req:4aea9dbd] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-a59c-74e0-97dc-a28831946afd"}
[2026-06-09T03:08:16+00:00] [req:4aea9dbd] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:08:16+00:00] [req:4aea9dbd] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T03:08:16+00:00] [req:4aea9dbd] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a59c-74e0-97dc-a28831946afd","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T03:08:16+00:00] [req:4aea9dbd] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a5a2-75f9-95bb-da518e8724e2","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:08:16+00:00] [req:4aea9dbd] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-a5a2-75f9-95bb-da518e8724e2"}
[2026-06-09T03:08:16+00:00] [req:4aea9dbd] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:08:16+00:00] [req:4aea9dbd] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T03:08:16+00:00] [req:4aea9dbd] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a5a2-75f9-95bb-da518e8724e2","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T03:09:15+00:00] [req:e7e0348f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a5b0-7b8d-011a-a9ffe55f50e6","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:09:15+00:00] [req:e7e0348f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-a5b0-7b8d-011a-a9ffe55f50e6"}
[2026-06-09T03:09:15+00:00] [req:e7e0348f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:09:15+00:00] [req:e7e0348f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T03:09:15+00:00] [req:e7e0348f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a5b0-7b8d-011a-a9ffe55f50e6","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T03:10:29+00:00] [req:b8eecae0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a5bc-7861-b1f3-48fbafb0a887","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:10:29+00:00] [req:b8eecae0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-a5bc-7861-b1f3-48fbafb0a887"}
[2026-06-09T03:10:29+00:00] [req:b8eecae0] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:10:29+00:00] [req:b8eecae0] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T03:10:29+00:00] [req:b8eecae0] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a5bc-7861-b1f3-48fbafb0a887","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T03:10:29+00:00] [req:b8eecae0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a5c2-7cea-81ee-84116fe653ce","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:10:29+00:00] [req:b8eecae0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-a5c2-7cea-81ee-84116fe653ce"}
[2026-06-09T03:10:29+00:00] [req:b8eecae0] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:10:29+00:00] [req:b8eecae0] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T03:10:29+00:00] [req:b8eecae0] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a5c2-7cea-81ee-84116fe653ce","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T03:13:57+00:00] [req:ad99c7cf] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a5f5-779d-d016-540a123219dc","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:13:57+00:00] [req:ad99c7cf] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-a5f5-779d-d016-540a123219dc"}
[2026-06-09T03:13:57+00:00] [req:ad99c7cf] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:13:57+00:00] [req:ad99c7cf] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T03:13:57+00:00] [req:ad99c7cf] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a5f5-779d-d016-540a123219dc","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T03:15:00+00:00] [req:ecb485d9] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a604-7d54-5980-2bca93b0a0b7","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:15:00+00:00] [req:ecb485d9] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-a604-7d54-5980-2bca93b0a0b7"}
[2026-06-09T03:15:00+00:00] [req:ecb485d9] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:15:00+00:00] [req:ecb485d9] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T03:15:00+00:00] [req:ecb485d9] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a604-7d54-5980-2bca93b0a0b7","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T03:41:09+00:00] [req:fd968ab9] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a784-70c0-9103-49ba105f01b9","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:41:09+00:00] [req:fd968ab9] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-a784-70c0-9103-49ba105f01b9"}
[2026-06-09T03:41:09+00:00] [req:fd968ab9] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:41:09+00:00] [req:fd968ab9] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T03:41:09+00:00] [req:fd968ab9] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a784-70c0-9103-49ba105f01b9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T03:44:16+00:00] [req:edef6776] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a7b2-7001-e7a3-aee38e976ebc","org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-06-09T03:44:16+00:00] [req:edef6776] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68","invoice_id":"000019ea-a7b2-7001-e7a3-aee38e976ebc"}
[2026-06-09T03:44:16+00:00] [req:edef6776] [org:-] getValidAccessToken() — not connected {"org_id":"019c929f-e781-71f8-eee3-b9e908128c68"}
[2026-06-09T03:44:16+00:00] [req:edef6776] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T03:44:16+00:00] [req:edef6776] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a7b2-7001-e7a3-aee38e976ebc","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T03:55:23+00:00] [req:c8f58cee] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a854-7a3c-43a0-1960c68d6e3a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:55:23+00:00] [req:c8f58cee] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-a854-7a3c-43a0-1960c68d6e3a"}
[2026-06-09T03:55:23+00:00] [req:c8f58cee] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:55:23+00:00] [req:c8f58cee] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T03:55:23+00:00] [req:c8f58cee] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a854-7a3c-43a0-1960c68d6e3a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T03:59:02+00:00] [req:136c8c5e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a876-7414-21e6-a8eb27b54b72","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:59:02+00:00] [req:136c8c5e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-a876-7414-21e6-a8eb27b54b72"}
[2026-06-09T03:59:02+00:00] [req:136c8c5e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:59:02+00:00] [req:136c8c5e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T03:59:02+00:00] [req:136c8c5e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a876-7414-21e6-a8eb27b54b72","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T03:59:02+00:00] [req:136c8c5e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a882-7b23-a7d8-82f4551bec54","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:59:02+00:00] [req:136c8c5e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-a882-7b23-a7d8-82f4551bec54"}
[2026-06-09T03:59:02+00:00] [req:136c8c5e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:59:02+00:00] [req:136c8c5e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T03:59:02+00:00] [req:136c8c5e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a882-7b23-a7d8-82f4551bec54","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T03:59:02+00:00] [req:136c8c5e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-a889-7f48-1f21-d706e6334567","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:59:02+00:00] [req:136c8c5e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-a889-7f48-1f21-d706e6334567"}
[2026-06-09T03:59:02+00:00] [req:136c8c5e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T03:59:02+00:00] [req:136c8c5e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T03:59:02+00:00] [req:136c8c5e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-a889-7f48-1f21-d706e6334567","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T05:01:39+00:00] [req:1dd62efb] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-09T05:01:39+00:00] [req:1dd62efb] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-09T05:01:40+00:00] [req:875efcc3] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-09T05:01:40+00:00] [req:875efcc3] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-09T05:02:34+00:00] [req:9334c05b] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-09T05:02:34+00:00] [req:9334c05b] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-09T05:02:35+00:00] [req:57a9d0a0] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-09T05:02:35+00:00] [req:57a9d0a0] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-09T05:06:09+00:00] [req:1fd14c52] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-09T05:06:09+00:00] [req:1fd14c52] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-09T05:06:10+00:00] [req:fb278947] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-09T05:06:10+00:00] [req:fb278947] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-09T05:08:52+00:00] [req:04be7e43] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-09T05:08:52+00:00] [req:04be7e43] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-09T05:08:53+00:00] [req:24eec038] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-09T05:08:53+00:00] [req:24eec038] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-09T05:12:43+00:00] [req:c1bcab2b] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-09T05:12:43+00:00] [req:c1bcab2b] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-09T05:12:45+00:00] [req:916aca6a] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-09T05:12:45+00:00] [req:916aca6a] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-09T05:16:31+00:00] [req:184c3dd0] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-09T05:16:31+00:00] [req:184c3dd0] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-09T05:20:08+00:00] [req:452ff303] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-09T05:20:08+00:00] [req:452ff303] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-09T05:21:06+00:00] [req:59eb2131] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-09T05:21:06+00:00] [req:59eb2131] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-09T05:37:20+00:00] [req:4712c44b] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-09T05:37:20+00:00] [req:4712c44b] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-09T05:38:05+00:00] [req:e8bc3f42] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-09T05:38:05+00:00] [req:e8bc3f42] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-09T05:38:06+00:00] [req:46942b0b] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-09T05:38:06+00:00] [req:46942b0b] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-09T05:39:29+00:00] [req:e9a57c8e] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-09T05:39:29+00:00] [req:e9a57c8e] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-09T05:39:30+00:00] [req:166fa654] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-09T05:39:30+00:00] [req:166fa654] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-09T05:39:30+00:00] [req:25473b65] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-09T05:39:30+00:00] [req:25473b65] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-09T20:23:06+00:00] [req:d26a3586] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-e0d9-771c-abe4-a82727ec5768","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T20:23:06+00:00] [req:d26a3586] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-e0d9-771c-abe4-a82727ec5768"}
[2026-06-09T20:23:06+00:00] [req:d26a3586] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T20:23:06+00:00] [req:d26a3586] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T20:23:06+00:00] [req:d26a3586] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-e0d9-771c-abe4-a82727ec5768","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T20:23:52+00:00] [req:821365c8] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-e0e4-7ae0-c0ac-d22d36f032ab","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T20:23:52+00:00] [req:821365c8] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-e0e4-7ae0-c0ac-d22d36f032ab"}
[2026-06-09T20:23:52+00:00] [req:821365c8] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T20:23:52+00:00] [req:821365c8] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T20:23:52+00:00] [req:821365c8] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-e0e4-7ae0-c0ac-d22d36f032ab","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T20:24:24+00:00] [req:2b79dc2d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-e0ec-7701-1c56-341f1ea5997d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T20:24:24+00:00] [req:2b79dc2d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-e0ec-7701-1c56-341f1ea5997d"}
[2026-06-09T20:24:24+00:00] [req:2b79dc2d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T20:24:24+00:00] [req:2b79dc2d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T20:24:24+00:00] [req:2b79dc2d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-e0ec-7701-1c56-341f1ea5997d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T20:27:37+00:00] [req:7bc0a9f9] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-e109-7912-dbc9-330fb645e65e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T20:27:37+00:00] [req:7bc0a9f9] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-e109-7912-dbc9-330fb645e65e"}
[2026-06-09T20:27:37+00:00] [req:7bc0a9f9] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T20:27:37+00:00] [req:7bc0a9f9] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T20:27:37+00:00] [req:7bc0a9f9] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-e109-7912-dbc9-330fb645e65e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T20:56:31+00:00] [req:1c43152e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-e2c2-7cff-95e6-8f5d58353d2d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T20:56:31+00:00] [req:1c43152e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-e2c2-7cff-95e6-8f5d58353d2d"}
[2026-06-09T20:56:31+00:00] [req:1c43152e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T20:56:31+00:00] [req:1c43152e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T20:56:31+00:00] [req:1c43152e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-e2c2-7cff-95e6-8f5d58353d2d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T21:04:15+00:00] [req:c0d3b2c0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-e334-7184-5361-77a913979402","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T21:04:15+00:00] [req:c0d3b2c0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-e334-7184-5361-77a913979402"}
[2026-06-09T21:04:15+00:00] [req:c0d3b2c0] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T21:04:15+00:00] [req:c0d3b2c0] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T21:04:15+00:00] [req:c0d3b2c0] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-e334-7184-5361-77a913979402","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-09T21:38:43+00:00] [req:f37c1a8f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-e52d-716b-4dc4-6447bdfd52b1","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T21:38:43+00:00] [req:f37c1a8f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019ea-e52d-716b-4dc4-6447bdfd52b1"}
[2026-06-09T21:38:43+00:00] [req:f37c1a8f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-09T21:38:43+00:00] [req:f37c1a8f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-09T21:38:43+00:00] [req:f37c1a8f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-e52d-716b-4dc4-6447bdfd52b1","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T01:48:00+00:00] [req:74e15adc] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-f370-7658-0780-706a0ce247dc","org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-10T01:48:00+00:00] [req:74e15adc] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4","invoice_id":"000019ea-f370-7658-0780-706a0ce247dc"}
[2026-06-10T01:48:00+00:00] [req:74e15adc] [org:-] getValidAccessToken() — not connected {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-10T01:48:00+00:00] [req:74e15adc] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T01:48:00+00:00] [req:74e15adc] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-f370-7658-0780-706a0ce247dc","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T02:17:44+00:00] [req:50126398] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019ea-f523-7052-7f6f-384f891a11de","org_id":"019c2ad1-7dce-7a16-1447-ee3244aa4be8"}
[2026-06-10T02:17:44+00:00] [req:50126398] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c2ad1-7dce-7a16-1447-ee3244aa4be8","invoice_id":"000019ea-f523-7052-7f6f-384f891a11de"}
[2026-06-10T02:17:44+00:00] [req:50126398] [org:-] getValidAccessToken() — not connected {"org_id":"019c2ad1-7dce-7a16-1447-ee3244aa4be8"}
[2026-06-10T02:17:44+00:00] [req:50126398] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T02:17:44+00:00] [req:50126398] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019ea-f523-7052-7f6f-384f891a11de","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T05:10:07+00:00] [req:c88a810a] [org:-] XeroController::getCredentials() {"org_id":"019cb718-5378-7579-e54e-6da4a0c96806"}
[2026-06-10T05:10:07+00:00] [req:c88a810a] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-10T06:04:03+00:00] [req:00cc0800] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-0217-76df-74bf-a1ec65a7ee82","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T06:04:03+00:00] [req:00cc0800] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-0217-76df-74bf-a1ec65a7ee82"}
[2026-06-10T06:04:03+00:00] [req:00cc0800] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T06:04:03+00:00] [req:00cc0800] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T06:04:03+00:00] [req:00cc0800] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-0217-76df-74bf-a1ec65a7ee82","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T07:18:03+00:00] [req:ef351249] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-0653-7505-3827-65f42cc36a5e","org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-10T07:18:03+00:00] [req:ef351249] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4","invoice_id":"000019eb-0653-7505-3827-65f42cc36a5e"}
[2026-06-10T07:18:03+00:00] [req:ef351249] [org:-] getValidAccessToken() — not connected {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-10T07:18:03+00:00] [req:ef351249] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T07:18:03+00:00] [req:ef351249] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-0653-7505-3827-65f42cc36a5e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T21:00:17+00:00] [req:73ebc3d8] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-355f-7ba1-3d34-cfe8a6c5492a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:00:17+00:00] [req:73ebc3d8] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-355f-7ba1-3d34-cfe8a6c5492a"}
[2026-06-10T21:00:17+00:00] [req:73ebc3d8] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:00:17+00:00] [req:73ebc3d8] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T21:00:17+00:00] [req:73ebc3d8] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-355f-7ba1-3d34-cfe8a6c5492a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T21:01:19+00:00] [req:08eb29e1] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-356e-7cc1-a503-d047f65e0531","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:01:19+00:00] [req:08eb29e1] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-356e-7cc1-a503-d047f65e0531"}
[2026-06-10T21:01:19+00:00] [req:08eb29e1] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:01:19+00:00] [req:08eb29e1] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T21:01:19+00:00] [req:08eb29e1] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-356e-7cc1-a503-d047f65e0531","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T21:03:42+00:00] [req:89ac6d72] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-3591-7cf6-4faa-1b8211d7e6f8","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:03:42+00:00] [req:89ac6d72] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-3591-7cf6-4faa-1b8211d7e6f8"}
[2026-06-10T21:03:42+00:00] [req:89ac6d72] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:03:42+00:00] [req:89ac6d72] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T21:03:42+00:00] [req:89ac6d72] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-3591-7cf6-4faa-1b8211d7e6f8","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T21:05:17+00:00] [req:80b63555] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-35a8-7bb6-c8a3-85d7947c0cc4","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:05:17+00:00] [req:80b63555] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-35a8-7bb6-c8a3-85d7947c0cc4"}
[2026-06-10T21:05:17+00:00] [req:80b63555] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:05:17+00:00] [req:80b63555] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T21:05:17+00:00] [req:80b63555] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-35a8-7bb6-c8a3-85d7947c0cc4","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T21:07:07+00:00] [req:ffef0b66] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-35b4-700b-bf56-9efede5a5670","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:07:07+00:00] [req:ffef0b66] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-35b4-700b-bf56-9efede5a5670"}
[2026-06-10T21:07:07+00:00] [req:ffef0b66] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:07:07+00:00] [req:ffef0b66] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T21:07:07+00:00] [req:ffef0b66] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-35b4-700b-bf56-9efede5a5670","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T21:08:36+00:00] [req:f5de0bcb] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-35d9-75c0-0c1d-42643713871c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:08:36+00:00] [req:f5de0bcb] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-35d9-75c0-0c1d-42643713871c"}
[2026-06-10T21:08:36+00:00] [req:f5de0bcb] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:08:36+00:00] [req:f5de0bcb] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T21:08:36+00:00] [req:f5de0bcb] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-35d9-75c0-0c1d-42643713871c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T21:10:27+00:00] [req:a2b3bced] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-35e6-7272-bf37-a35afc0fe8b1","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:10:27+00:00] [req:a2b3bced] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-35e6-7272-bf37-a35afc0fe8b1"}
[2026-06-10T21:10:27+00:00] [req:a2b3bced] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:10:27+00:00] [req:a2b3bced] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T21:10:27+00:00] [req:a2b3bced] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-35e6-7272-bf37-a35afc0fe8b1","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T21:11:12+00:00] [req:b8235a42] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-35ff-75f8-971f-e22c5a6c48b8","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:11:12+00:00] [req:b8235a42] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-35ff-75f8-971f-e22c5a6c48b8"}
[2026-06-10T21:11:12+00:00] [req:b8235a42] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:11:12+00:00] [req:b8235a42] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T21:11:12+00:00] [req:b8235a42] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-35ff-75f8-971f-e22c5a6c48b8","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T21:16:19+00:00] [req:159e826a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-364a-7788-375e-3a73d42ea9a6","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:16:19+00:00] [req:159e826a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-364a-7788-375e-3a73d42ea9a6"}
[2026-06-10T21:16:19+00:00] [req:159e826a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:16:19+00:00] [req:159e826a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T21:16:19+00:00] [req:159e826a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-364a-7788-375e-3a73d42ea9a6","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T21:17:59+00:00] [req:ec0322e6] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-3663-71a0-836b-967137af3296","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:17:59+00:00] [req:ec0322e6] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-3663-71a0-836b-967137af3296"}
[2026-06-10T21:17:59+00:00] [req:ec0322e6] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:17:59+00:00] [req:ec0322e6] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T21:17:59+00:00] [req:ec0322e6] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-3663-71a0-836b-967137af3296","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T21:37:36+00:00] [req:2abeefe3] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-3775-7333-f6c8-9df948226d16","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:37:36+00:00] [req:2abeefe3] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-3775-7333-f6c8-9df948226d16"}
[2026-06-10T21:37:36+00:00] [req:2abeefe3] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T21:37:36+00:00] [req:2abeefe3] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T21:37:36+00:00] [req:2abeefe3] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-3775-7333-f6c8-9df948226d16","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T22:14:46+00:00] [req:3f3a522c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-39a2-7bf0-7dae-9e6f2113020e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:14:46+00:00] [req:3f3a522c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-39a2-7bf0-7dae-9e6f2113020e"}
[2026-06-10T22:14:46+00:00] [req:3f3a522c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:14:46+00:00] [req:3f3a522c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T22:14:46+00:00] [req:3f3a522c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-39a2-7bf0-7dae-9e6f2113020e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T22:16:44+00:00] [req:eb21301a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-39bf-7682-0bc9-0a83433e3e79","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:16:44+00:00] [req:eb21301a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-39bf-7682-0bc9-0a83433e3e79"}
[2026-06-10T22:16:44+00:00] [req:eb21301a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:16:44+00:00] [req:eb21301a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T22:16:44+00:00] [req:eb21301a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-39bf-7682-0bc9-0a83433e3e79","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T22:18:29+00:00] [req:0fcbf2df] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-39cb-7a50-3d3c-490bdb3315c1","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:18:29+00:00] [req:0fcbf2df] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-39cb-7a50-3d3c-490bdb3315c1"}
[2026-06-10T22:18:29+00:00] [req:0fcbf2df] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:18:29+00:00] [req:0fcbf2df] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T22:18:29+00:00] [req:0fcbf2df] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-39cb-7a50-3d3c-490bdb3315c1","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T22:19:03+00:00] [req:4d1e4c87] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-39e1-77a1-33b5-485e10579d1d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:19:03+00:00] [req:4d1e4c87] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-39e1-77a1-33b5-485e10579d1d"}
[2026-06-10T22:19:03+00:00] [req:4d1e4c87] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:19:03+00:00] [req:4d1e4c87] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T22:19:03+00:00] [req:4d1e4c87] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-39e1-77a1-33b5-485e10579d1d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T22:24:06+00:00] [req:34ead50d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-3a2b-7482-b51f-68ec8e1a9d0e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:24:06+00:00] [req:34ead50d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-3a2b-7482-b51f-68ec8e1a9d0e"}
[2026-06-10T22:24:06+00:00] [req:34ead50d] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:24:06+00:00] [req:34ead50d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T22:24:06+00:00] [req:34ead50d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-3a2b-7482-b51f-68ec8e1a9d0e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T22:24:55+00:00] [req:4e3c14a4] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-3a37-76ab-a7c8-9ead832e6c29","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:24:55+00:00] [req:4e3c14a4] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-3a37-76ab-a7c8-9ead832e6c29"}
[2026-06-10T22:24:55+00:00] [req:4e3c14a4] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:24:55+00:00] [req:4e3c14a4] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T22:24:55+00:00] [req:4e3c14a4] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-3a37-76ab-a7c8-9ead832e6c29","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T22:26:28+00:00] [req:cea36eb1] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-3a45-7221-8dde-34f25c9cd5b7","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:26:28+00:00] [req:cea36eb1] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-3a45-7221-8dde-34f25c9cd5b7"}
[2026-06-10T22:26:28+00:00] [req:cea36eb1] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:26:28+00:00] [req:cea36eb1] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T22:26:28+00:00] [req:cea36eb1] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-3a45-7221-8dde-34f25c9cd5b7","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T22:26:28+00:00] [req:cea36eb1] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-3a4e-73ac-2454-3e069bd7ef88","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:26:28+00:00] [req:cea36eb1] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-3a4e-73ac-2454-3e069bd7ef88"}
[2026-06-10T22:26:28+00:00] [req:cea36eb1] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:26:28+00:00] [req:cea36eb1] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T22:26:28+00:00] [req:cea36eb1] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-3a4e-73ac-2454-3e069bd7ef88","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T22:27:34+00:00] [req:6d05310c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-3a5e-7523-2b74-c41bd5c7281b","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:27:34+00:00] [req:6d05310c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-3a5e-7523-2b74-c41bd5c7281b"}
[2026-06-10T22:27:34+00:00] [req:6d05310c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:27:34+00:00] [req:6d05310c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T22:27:34+00:00] [req:6d05310c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-3a5e-7523-2b74-c41bd5c7281b","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T22:28:01+00:00] [req:847fb09a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-3a64-7c20-2f93-ae95883e2afb","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:28:01+00:00] [req:847fb09a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-3a64-7c20-2f93-ae95883e2afb"}
[2026-06-10T22:28:01+00:00] [req:847fb09a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:28:01+00:00] [req:847fb09a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T22:28:01+00:00] [req:847fb09a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-3a64-7c20-2f93-ae95883e2afb","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T22:30:08+00:00] [req:8447cf9c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-3a83-7f52-0538-03e900293a16","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:30:08+00:00] [req:8447cf9c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-3a83-7f52-0538-03e900293a16"}
[2026-06-10T22:30:08+00:00] [req:8447cf9c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:30:08+00:00] [req:8447cf9c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T22:30:08+00:00] [req:8447cf9c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-3a83-7f52-0538-03e900293a16","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T22:33:57+00:00] [req:21c1f22c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-3abb-7c24-3e61-c216b83b5db8","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:33:57+00:00] [req:21c1f22c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-3abb-7c24-3e61-c216b83b5db8"}
[2026-06-10T22:33:57+00:00] [req:21c1f22c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:33:57+00:00] [req:21c1f22c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T22:33:57+00:00] [req:21c1f22c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-3abb-7c24-3e61-c216b83b5db8","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T22:35:23+00:00] [req:677dbb08] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-3ad0-7d0e-4cfd-a0c968e3e6d3","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:35:23+00:00] [req:677dbb08] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-3ad0-7d0e-4cfd-a0c968e3e6d3"}
[2026-06-10T22:35:23+00:00] [req:677dbb08] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:35:23+00:00] [req:677dbb08] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T22:35:23+00:00] [req:677dbb08] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-3ad0-7d0e-4cfd-a0c968e3e6d3","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T22:37:38+00:00] [req:79b26b0b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-3ae3-773b-75b1-aba6aed693b5","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:37:38+00:00] [req:79b26b0b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-3ae3-773b-75b1-aba6aed693b5"}
[2026-06-10T22:37:38+00:00] [req:79b26b0b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:37:38+00:00] [req:79b26b0b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T22:37:38+00:00] [req:79b26b0b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-3ae3-773b-75b1-aba6aed693b5","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T22:37:38+00:00] [req:79b26b0b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-3af1-7ca5-3700-f59438180eb8","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:37:38+00:00] [req:79b26b0b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-3af1-7ca5-3700-f59438180eb8"}
[2026-06-10T22:37:38+00:00] [req:79b26b0b] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:37:38+00:00] [req:79b26b0b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T22:37:38+00:00] [req:79b26b0b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-3af1-7ca5-3700-f59438180eb8","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-10T22:38:45+00:00] [req:75ac6a3f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-3b01-7f1c-67ac-573227a8b07c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:38:45+00:00] [req:75ac6a3f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-3b01-7f1c-67ac-573227a8b07c"}
[2026-06-10T22:38:45+00:00] [req:75ac6a3f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-10T22:38:45+00:00] [req:75ac6a3f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-10T22:38:45+00:00] [req:75ac6a3f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-3b01-7f1c-67ac-573227a8b07c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T00:53:30+00:00] [req:43af41ee] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-42b7-7574-0742-3d38fe8416c2","org_id":"019b6d0e-53fa-7513-32f3-8ecf0105b3ea"}
[2026-06-11T00:53:30+00:00] [req:43af41ee] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b6d0e-53fa-7513-32f3-8ecf0105b3ea","invoice_id":"000019eb-42b7-7574-0742-3d38fe8416c2"}
[2026-06-11T00:53:30+00:00] [req:43af41ee] [org:-] getValidAccessToken() — not connected {"org_id":"019b6d0e-53fa-7513-32f3-8ecf0105b3ea"}
[2026-06-11T00:53:30+00:00] [req:43af41ee] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T00:53:30+00:00] [req:43af41ee] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-42b7-7574-0742-3d38fe8416c2","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T03:34:43+00:00] [req:822eb58e] [org:-] XeroController::getCredentials() {"org_id":"019d9560-be3a-7cfb-d06c-05d9db3c768e"}
[2026-06-11T03:34:43+00:00] [req:822eb58e] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-11T03:34:43+00:00] [req:21f894ce] [org:-] XeroController::getCredentials() {"org_id":"019d9560-be3a-7cfb-d06c-05d9db3c768e"}
[2026-06-11T03:34:43+00:00] [req:21f894ce] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-11T03:34:45+00:00] [req:aa245284] [org:-] XeroController::getCredentials() {"org_id":"019d9560-be3a-7cfb-d06c-05d9db3c768e"}
[2026-06-11T03:34:45+00:00] [req:aa245284] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-11T04:37:50+00:00] [req:e4cdc68c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-4f8d-7fbc-3cd5-7205f750312c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T04:37:50+00:00] [req:e4cdc68c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-4f8d-7fbc-3cd5-7205f750312c"}
[2026-06-11T04:37:50+00:00] [req:e4cdc68c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T04:37:50+00:00] [req:e4cdc68c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T04:37:50+00:00] [req:e4cdc68c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-4f8d-7fbc-3cd5-7205f750312c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T04:42:20+00:00] [req:aff60ce3] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-4fbe-7c06-ab2f-bbddec98fe45","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T04:42:20+00:00] [req:aff60ce3] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-4fbe-7c06-ab2f-bbddec98fe45"}
[2026-06-11T04:42:20+00:00] [req:aff60ce3] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T04:42:20+00:00] [req:aff60ce3] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T04:42:20+00:00] [req:aff60ce3] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-4fbe-7c06-ab2f-bbddec98fe45","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T04:50:59+00:00] [req:e0b6fb4b] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T04:50:59+00:00] [req:e0b6fb4b] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-11T04:51:16+00:00] [req:33656c32] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T04:51:16+00:00] [req:33656c32] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-11T04:53:37+00:00] [req:2055e94d] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-5075-75ff-9978-c1f5301e11c0","org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T04:53:37+00:00] [req:2055e94d] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019eb-5075-75ff-9978-c1f5301e11c0"}
[2026-06-11T04:53:37+00:00] [req:2055e94d] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778648941,"now":1781153617}
[2026-06-11T04:53:37+00:00] [req:2055e94d] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T04:53:37+00:00] [req:2055e94d] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-06-11T04:53:37+00:00] [req:2055e94d] [org:-] refreshAccessToken() called {"refresh_token":"14F8aJ…[33]…LRpk"}
[2026-06-11T04:53:37+00:00] [req:2055e94d] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"14F8aJ…[33]…LRpk"}}
[2026-06-11T04:53:37+00:00] [req:2055e94d] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-06-11T04:53:37+00:00] [req:2055e94d] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-06-11T04:53:37+00:00] [req:2055e94d] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-06-11T04:53:37+00:00] [req:2055e94d] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T04:53:37+00:00] [req:2055e94d] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-5075-75ff-9978-c1f5301e11c0","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T04:54:53+00:00] [req:80fdd726] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T04:54:53+00:00] [req:80fdd726] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-11T04:55:39+00:00] [req:9154417a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-5092-7f59-b9c1-b44673c38f49","org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T04:55:39+00:00] [req:9154417a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019eb-5092-7f59-b9c1-b44673c38f49"}
[2026-06-11T04:55:39+00:00] [req:9154417a] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778648941,"now":1781153739}
[2026-06-11T04:55:39+00:00] [req:9154417a] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T04:55:39+00:00] [req:9154417a] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-06-11T04:55:39+00:00] [req:9154417a] [org:-] refreshAccessToken() called {"refresh_token":"14F8aJ…[33]…LRpk"}
[2026-06-11T04:55:39+00:00] [req:9154417a] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"14F8aJ…[33]…LRpk"}}
[2026-06-11T04:55:39+00:00] [req:9154417a] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-06-11T04:55:39+00:00] [req:9154417a] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-06-11T04:55:39+00:00] [req:9154417a] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-06-11T04:55:39+00:00] [req:9154417a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T04:55:39+00:00] [req:9154417a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-5092-7f59-b9c1-b44673c38f49","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T06:03:20+00:00] [req:bf86aa38] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T06:03:20+00:00] [req:bf86aa38] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-11T06:04:02+00:00] [req:74943095] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T06:04:02+00:00] [req:74943095] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-11T06:08:05+00:00] [req:1dd4eaef] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T06:08:05+00:00] [req:1dd4eaef] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-11T06:08:07+00:00] [req:b626685a] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T06:08:07+00:00] [req:b626685a] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-11T06:10:36+00:00] [req:3c2ee565] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-54dd-715a-8978-3f3b71ed6cba","org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T06:10:36+00:00] [req:3c2ee565] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019eb-54dd-715a-8978-3f3b71ed6cba"}
[2026-06-11T06:10:36+00:00] [req:3c2ee565] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778648941,"now":1781158236}
[2026-06-11T06:10:36+00:00] [req:3c2ee565] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T06:10:36+00:00] [req:3c2ee565] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-06-11T06:10:36+00:00] [req:3c2ee565] [org:-] refreshAccessToken() called {"refresh_token":"14F8aJ…[33]…LRpk"}
[2026-06-11T06:10:36+00:00] [req:3c2ee565] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"14F8aJ…[33]…LRpk"}}
[2026-06-11T06:10:36+00:00] [req:3c2ee565] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-06-11T06:10:36+00:00] [req:3c2ee565] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-06-11T06:10:36+00:00] [req:3c2ee565] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-06-11T06:10:36+00:00] [req:3c2ee565] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T06:10:36+00:00] [req:3c2ee565] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-54dd-715a-8978-3f3b71ed6cba","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T06:12:40+00:00] [req:3a1c8618] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-54f5-7320-258f-7a666121a64f","org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T06:12:40+00:00] [req:3a1c8618] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019eb-54f5-7320-258f-7a666121a64f"}
[2026-06-11T06:12:40+00:00] [req:3a1c8618] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778648941,"now":1781158360}
[2026-06-11T06:12:40+00:00] [req:3a1c8618] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T06:12:40+00:00] [req:3a1c8618] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-06-11T06:12:40+00:00] [req:3a1c8618] [org:-] refreshAccessToken() called {"refresh_token":"14F8aJ…[33]…LRpk"}
[2026-06-11T06:12:40+00:00] [req:3a1c8618] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"14F8aJ…[33]…LRpk"}}
[2026-06-11T06:12:40+00:00] [req:3a1c8618] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-06-11T06:12:40+00:00] [req:3a1c8618] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-06-11T06:12:40+00:00] [req:3a1c8618] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-06-11T06:12:40+00:00] [req:3a1c8618] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T06:12:40+00:00] [req:3a1c8618] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-54f5-7320-258f-7a666121a64f","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T06:15:55+00:00] [req:9b4cefed] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T06:15:55+00:00] [req:9b4cefed] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-11T06:15:58+00:00] [req:f9d3565a] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T06:15:58+00:00] [req:f9d3565a] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-11T06:15:58+00:00] [req:e62bd166] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T06:15:58+00:00] [req:e62bd166] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-11T06:15:59+00:00] [req:127e3d7e] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T06:15:59+00:00] [req:127e3d7e] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-11T06:15:59+00:00] [req:40323d97] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T06:15:59+00:00] [req:40323d97] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-11T06:15:59+00:00] [req:e4ca66c9] [org:-] XeroController::getCredentials() {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T06:15:59+00:00] [req:e4ca66c9] [org:-] getCredentials() resolved config {"client_id":"0914AB…[22]…15BC","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-11T06:17:54+00:00] [req:6be51d09] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-5547-7d86-6bc6-43692e281ace","org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T06:17:54+00:00] [req:6be51d09] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019eb-5547-7d86-6bc6-43692e281ace"}
[2026-06-11T06:17:54+00:00] [req:6be51d09] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778648941,"now":1781158674}
[2026-06-11T06:17:54+00:00] [req:6be51d09] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T06:17:54+00:00] [req:6be51d09] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-06-11T06:17:54+00:00] [req:6be51d09] [org:-] refreshAccessToken() called {"refresh_token":"14F8aJ…[33]…LRpk"}
[2026-06-11T06:17:54+00:00] [req:6be51d09] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"14F8aJ…[33]…LRpk"}}
[2026-06-11T06:17:54+00:00] [req:6be51d09] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-06-11T06:17:54+00:00] [req:6be51d09] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-06-11T06:17:54+00:00] [req:6be51d09] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-06-11T06:17:54+00:00] [req:6be51d09] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T06:17:54+00:00] [req:6be51d09] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-5547-7d86-6bc6-43692e281ace","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T06:20:29+00:00] [req:6614ba0f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-556d-7b22-fad2-b046fc2e9526","org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T06:20:29+00:00] [req:6614ba0f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019eb-556d-7b22-fad2-b046fc2e9526"}
[2026-06-11T06:20:29+00:00] [req:6614ba0f] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778648941,"now":1781158829}
[2026-06-11T06:20:29+00:00] [req:6614ba0f] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T06:20:29+00:00] [req:6614ba0f] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-06-11T06:20:29+00:00] [req:6614ba0f] [org:-] refreshAccessToken() called {"refresh_token":"14F8aJ…[33]…LRpk"}
[2026-06-11T06:20:29+00:00] [req:6614ba0f] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"14F8aJ…[33]…LRpk"}}
[2026-06-11T06:20:29+00:00] [req:6614ba0f] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-06-11T06:20:29+00:00] [req:6614ba0f] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-06-11T06:20:29+00:00] [req:6614ba0f] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-06-11T06:20:29+00:00] [req:6614ba0f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T06:20:29+00:00] [req:6614ba0f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-556d-7b22-fad2-b046fc2e9526","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T20:50:59+00:00] [req:a6d5a7dd] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-8734-79b9-db97-5b808a6c0191","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T20:50:59+00:00] [req:a6d5a7dd] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-8734-79b9-db97-5b808a6c0191"}
[2026-06-11T20:50:59+00:00] [req:a6d5a7dd] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T20:50:59+00:00] [req:a6d5a7dd] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T20:50:59+00:00] [req:a6d5a7dd] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-8734-79b9-db97-5b808a6c0191","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T20:52:03+00:00] [req:3740a608] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-873e-74b7-b867-82e3d0d6e9f3","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T20:52:03+00:00] [req:3740a608] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-873e-74b7-b867-82e3d0d6e9f3"}
[2026-06-11T20:52:03+00:00] [req:3740a608] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T20:52:03+00:00] [req:3740a608] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T20:52:03+00:00] [req:3740a608] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-873e-74b7-b867-82e3d0d6e9f3","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T20:52:03+00:00] [req:3740a608] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-874b-7c77-9e7c-2ca25f95c744","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T20:52:03+00:00] [req:3740a608] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-874b-7c77-9e7c-2ca25f95c744"}
[2026-06-11T20:52:03+00:00] [req:3740a608] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T20:52:03+00:00] [req:3740a608] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T20:52:03+00:00] [req:3740a608] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-874b-7c77-9e7c-2ca25f95c744","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T20:53:28+00:00] [req:0bfd0161] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-8761-755f-68b5-a814bb17480e","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T20:53:28+00:00] [req:0bfd0161] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-8761-755f-68b5-a814bb17480e"}
[2026-06-11T20:53:28+00:00] [req:0bfd0161] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T20:53:28+00:00] [req:0bfd0161] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T20:53:28+00:00] [req:0bfd0161] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-8761-755f-68b5-a814bb17480e","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T20:53:29+00:00] [req:8d31badd] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-8761-752d-f1ba-c81c60bf9de9","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-11T20:53:29+00:00] [req:8d31badd] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019eb-8761-752d-f1ba-c81c60bf9de9"}
[2026-06-11T20:53:29+00:00] [req:8d31badd] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-11T20:53:29+00:00] [req:8d31badd] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T20:53:29+00:00] [req:8d31badd] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-8761-752d-f1ba-c81c60bf9de9","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T20:54:21+00:00] [req:23f97b8a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-876e-7431-30f2-74d78c00fa61","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T20:54:21+00:00] [req:23f97b8a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-876e-7431-30f2-74d78c00fa61"}
[2026-06-11T20:54:21+00:00] [req:23f97b8a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T20:54:21+00:00] [req:23f97b8a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T20:54:21+00:00] [req:23f97b8a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-876e-7431-30f2-74d78c00fa61","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T20:56:49+00:00] [req:3f3c8f01] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-8792-7861-bc1a-396b56830b6d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T20:56:49+00:00] [req:3f3c8f01] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-8792-7861-bc1a-396b56830b6d"}
[2026-06-11T20:56:49+00:00] [req:3f3c8f01] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T20:56:49+00:00] [req:3f3c8f01] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T20:56:49+00:00] [req:3f3c8f01] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-8792-7861-bc1a-396b56830b6d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T20:57:53+00:00] [req:cf24520e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-87a2-7531-506f-e5b3dc38cba5","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T20:57:53+00:00] [req:cf24520e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-87a2-7531-506f-e5b3dc38cba5"}
[2026-06-11T20:57:53+00:00] [req:cf24520e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T20:57:53+00:00] [req:cf24520e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T20:57:53+00:00] [req:cf24520e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-87a2-7531-506f-e5b3dc38cba5","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T21:02:47+00:00] [req:73550d82] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-87de-7e28-1498-01103ffd307a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T21:02:47+00:00] [req:73550d82] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-87de-7e28-1498-01103ffd307a"}
[2026-06-11T21:02:47+00:00] [req:73550d82] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T21:02:47+00:00] [req:73550d82] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T21:02:47+00:00] [req:73550d82] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-87de-7e28-1498-01103ffd307a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T21:02:47+00:00] [req:73550d82] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-87e9-7f87-57a3-567add28506d","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T21:02:47+00:00] [req:73550d82] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-87e9-7f87-57a3-567add28506d"}
[2026-06-11T21:02:47+00:00] [req:73550d82] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T21:02:47+00:00] [req:73550d82] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T21:02:47+00:00] [req:73550d82] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-87e9-7f87-57a3-567add28506d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T21:03:28+00:00] [req:1974dfc8] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-87f4-704a-c8e8-f1ccecfc0d86","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T21:03:28+00:00] [req:1974dfc8] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-87f4-704a-c8e8-f1ccecfc0d86"}
[2026-06-11T21:03:28+00:00] [req:1974dfc8] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T21:03:28+00:00] [req:1974dfc8] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T21:03:28+00:00] [req:1974dfc8] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-87f4-704a-c8e8-f1ccecfc0d86","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T21:07:54+00:00] [req:6e791768] [org:-] XeroController::getCredentials() {"org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2"}
[2026-06-11T21:07:54+00:00] [req:6e791768] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-11T21:08:18+00:00] [req:61fd7bce] [org:-] XeroController::getCredentials() {"org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2"}
[2026-06-11T21:08:18+00:00] [req:61fd7bce] [org:-] getCredentials() resolved config {"client_id":"*******","secret_saved":true,"redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php"}
[2026-06-11T21:08:23+00:00] [req:01dfce72] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-883c-70ac-3aac-cd33d12f44f8","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T21:08:23+00:00] [req:01dfce72] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-883c-70ac-3aac-cd33d12f44f8"}
[2026-06-11T21:08:23+00:00] [req:01dfce72] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T21:08:23+00:00] [req:01dfce72] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T21:08:23+00:00] [req:01dfce72] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-883c-70ac-3aac-cd33d12f44f8","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T21:11:03+00:00] [req:25796234] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-8853-79b1-e7c1-37d3269448fe","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T21:11:03+00:00] [req:25796234] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-8853-79b1-e7c1-37d3269448fe"}
[2026-06-11T21:11:03+00:00] [req:25796234] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T21:11:03+00:00] [req:25796234] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T21:11:03+00:00] [req:25796234] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-8853-79b1-e7c1-37d3269448fe","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T21:12:09+00:00] [req:19fe39d9] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-8873-74fc-aefa-c78cb228c927","org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T21:12:09+00:00] [req:19fe39d9] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","invoice_id":"000019eb-8873-74fc-aefa-c78cb228c927"}
[2026-06-11T21:12:09+00:00] [req:19fe39d9] [org:-] getValidAccessToken() — token near/past expiry, refreshing {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622","expires_at":1778648941,"now":1781212329}
[2026-06-11T21:12:09+00:00] [req:19fe39d9] [org:-] XeroController::refreshAccessToken() entered {"org_id":"019c358b-5fe1-7e90-c3cc-a17b42a96622"}
[2026-06-11T21:12:09+00:00] [req:19fe39d9] [org:-] XeroOAuth instantiated {"client_id":"*******","redirect_uri":"https://pos.cybexpte.com/api/oauth/callback.php","scopes":["offline_access","accounting.invoices","accounting.contacts","accounting.settings.read"]}
[2026-06-11T21:12:09+00:00] [req:19fe39d9] [org:-] refreshAccessToken() called {"refresh_token":"14F8aJ…[33]…LRpk"}
[2026-06-11T21:12:09+00:00] [req:19fe39d9] [org:-] POST to token endpoint {"url":"https://identity.xero.com/connect/token","params":{"grant_type":"refresh_token","refresh_token":"14F8aJ…[33]…LRpk"}}
[2026-06-11T21:12:09+00:00] [req:19fe39d9] [org:-] Token endpoint HTTP response {"status":400,"error":""}
[2026-06-11T21:12:09+00:00] [req:19fe39d9] [org:-] Token endpoint error {"status":400,"response":{"error":"invalid_client"}}
[2026-06-11T21:12:09+00:00] [req:19fe39d9] [org:-] refreshAccessToken() failed {"error":"Token endpoint error: invalid_client"}
[2026-06-11T21:12:09+00:00] [req:19fe39d9] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T21:12:09+00:00] [req:19fe39d9] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-8873-74fc-aefa-c78cb228c927","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T21:12:46+00:00] [req:af53b55b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-8874-75c4-27b1-dfb67b6babba","org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2"}
[2026-06-11T21:12:46+00:00] [req:af53b55b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2","invoice_id":"000019eb-8874-75c4-27b1-dfb67b6babba"}
[2026-06-11T21:12:46+00:00] [req:af53b55b] [org:-] getValidAccessToken() — not connected {"org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2"}
[2026-06-11T21:12:46+00:00] [req:af53b55b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T21:12:46+00:00] [req:af53b55b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-8874-75c4-27b1-dfb67b6babba","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T21:13:19+00:00] [req:38e69374] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-8879-7662-e0be-a20ed17f3c1c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T21:13:19+00:00] [req:38e69374] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-8879-7662-e0be-a20ed17f3c1c"}
[2026-06-11T21:13:19+00:00] [req:38e69374] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T21:13:19+00:00] [req:38e69374] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T21:13:19+00:00] [req:38e69374] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-8879-7662-e0be-a20ed17f3c1c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T21:14:19+00:00] [req:6106294e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-8892-7ed7-a642-37da42cdce4c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T21:14:19+00:00] [req:6106294e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-8892-7ed7-a642-37da42cdce4c"}
[2026-06-11T21:14:19+00:00] [req:6106294e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-11T21:14:19+00:00] [req:6106294e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T21:14:19+00:00] [req:6106294e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-8892-7ed7-a642-37da42cdce4c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T21:15:48+00:00] [req:e7a86ba4] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-88a1-716f-19b0-fd6302626d3d","org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2"}
[2026-06-11T21:15:48+00:00] [req:e7a86ba4] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2","invoice_id":"000019eb-88a1-716f-19b0-fd6302626d3d"}
[2026-06-11T21:15:48+00:00] [req:e7a86ba4] [org:-] getValidAccessToken() — not connected {"org_id":"019c6fa4-12e6-7bda-e3b6-3340a31436d2"}
[2026-06-11T21:15:48+00:00] [req:e7a86ba4] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T21:15:48+00:00] [req:e7a86ba4] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-88a1-716f-19b0-fd6302626d3d","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-11T22:42:57+00:00] [req:e80ee5e4] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-8da5-78f7-ab6f-6aa61dfae816","org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-11T22:42:57+00:00] [req:e80ee5e4] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4","invoice_id":"000019eb-8da5-78f7-ab6f-6aa61dfae816"}
[2026-06-11T22:42:57+00:00] [req:e80ee5e4] [org:-] getValidAccessToken() — not connected {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-11T22:42:57+00:00] [req:e80ee5e4] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-11T22:42:57+00:00] [req:e80ee5e4] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-8da5-78f7-ab6f-6aa61dfae816","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T02:18:58+00:00] [req:655f368e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-9a01-7aa4-3f3f-b48396772ce2","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T02:18:58+00:00] [req:655f368e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-9a01-7aa4-3f3f-b48396772ce2"}
[2026-06-12T02:18:58+00:00] [req:655f368e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T02:18:58+00:00] [req:655f368e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T02:18:58+00:00] [req:655f368e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-9a01-7aa4-3f3f-b48396772ce2","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T03:21:53+00:00] [req:0515d1de] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-9d91-7dd5-903e-3b554b58a383","org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-12T03:21:53+00:00] [req:0515d1de] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4","invoice_id":"000019eb-9d91-7dd5-903e-3b554b58a383"}
[2026-06-12T03:21:53+00:00] [req:0515d1de] [org:-] getValidAccessToken() — not connected {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-12T03:21:53+00:00] [req:0515d1de] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T03:21:53+00:00] [req:0515d1de] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-9d91-7dd5-903e-3b554b58a383","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T03:24:16+00:00] [req:dbe75a4a] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-9dbb-745b-884c-ca4f495b862a","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T03:24:16+00:00] [req:dbe75a4a] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-9dbb-745b-884c-ca4f495b862a"}
[2026-06-12T03:24:16+00:00] [req:dbe75a4a] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T03:24:16+00:00] [req:dbe75a4a] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T03:24:16+00:00] [req:dbe75a4a] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-9dbb-745b-884c-ca4f495b862a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T03:27:13+00:00] [req:9a7d90a1] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-9de9-74a2-4dfb-f13c69b1a1a0","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T03:27:13+00:00] [req:9a7d90a1] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-9de9-74a2-4dfb-f13c69b1a1a0"}
[2026-06-12T03:27:13+00:00] [req:9a7d90a1] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T03:27:13+00:00] [req:9a7d90a1] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T03:27:13+00:00] [req:9a7d90a1] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-9de9-74a2-4dfb-f13c69b1a1a0","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T03:41:37+00:00] [req:ff938210] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-9ebc-722f-dc3f-76caea83154f","org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-12T03:41:37+00:00] [req:ff938210] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4","invoice_id":"000019eb-9ebc-722f-dc3f-76caea83154f"}
[2026-06-12T03:41:37+00:00] [req:ff938210] [org:-] getValidAccessToken() — not connected {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-12T03:41:37+00:00] [req:ff938210] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T03:41:37+00:00] [req:ff938210] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-9ebc-722f-dc3f-76caea83154f","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T20:20:14+00:00] [req:8c607d3f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-d7e0-7b23-1bc0-8b4cfdba1259","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T20:20:14+00:00] [req:8c607d3f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-d7e0-7b23-1bc0-8b4cfdba1259"}
[2026-06-12T20:20:14+00:00] [req:8c607d3f] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T20:20:14+00:00] [req:8c607d3f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T20:20:14+00:00] [req:8c607d3f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-d7e0-7b23-1bc0-8b4cfdba1259","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T20:20:51+00:00] [req:362864de] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-d7e9-7a79-3d12-8caf0f9ddcfd","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T20:20:51+00:00] [req:362864de] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-d7e9-7a79-3d12-8caf0f9ddcfd"}
[2026-06-12T20:20:51+00:00] [req:362864de] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T20:20:51+00:00] [req:362864de] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T20:20:51+00:00] [req:362864de] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-d7e9-7a79-3d12-8caf0f9ddcfd","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T20:22:54+00:00] [req:c6f4742c] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-d807-7be0-37bf-87dc6841eade","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T20:22:54+00:00] [req:c6f4742c] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-d807-7be0-37bf-87dc6841eade"}
[2026-06-12T20:22:54+00:00] [req:c6f4742c] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T20:22:54+00:00] [req:c6f4742c] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T20:22:54+00:00] [req:c6f4742c] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-d807-7be0-37bf-87dc6841eade","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T20:41:45+00:00] [req:63f9df6e] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-d91b-7cbb-596b-c556dbf02810","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T20:41:45+00:00] [req:63f9df6e] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-d91b-7cbb-596b-c556dbf02810"}
[2026-06-12T20:41:45+00:00] [req:63f9df6e] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T20:41:45+00:00] [req:63f9df6e] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T20:41:45+00:00] [req:63f9df6e] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-d91b-7cbb-596b-c556dbf02810","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T20:46:07+00:00] [req:b6f78747] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-d957-79a2-ce00-5eb40bc593ae","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T20:46:07+00:00] [req:b6f78747] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-d957-79a2-ce00-5eb40bc593ae"}
[2026-06-12T20:46:07+00:00] [req:b6f78747] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T20:46:07+00:00] [req:b6f78747] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T20:46:07+00:00] [req:b6f78747] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-d957-79a2-ce00-5eb40bc593ae","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T20:57:48+00:00] [req:ced15c35] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-da07-716f-9b3d-91f27efb1c2c","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T20:57:48+00:00] [req:ced15c35] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-da07-716f-9b3d-91f27efb1c2c"}
[2026-06-12T20:57:48+00:00] [req:ced15c35] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T20:57:48+00:00] [req:ced15c35] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T20:57:48+00:00] [req:ced15c35] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-da07-716f-9b3d-91f27efb1c2c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T22:19:48+00:00] [req:172e58c0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-deb7-7eca-facd-a84b42475754","org_id":"org_id"}
[2026-06-12T22:19:48+00:00] [req:172e58c0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"org_id","invoice_id":"000019eb-deb7-7eca-facd-a84b42475754"}
[2026-06-12T22:19:48+00:00] [req:172e58c0] [org:-] PostInvoiceToXeroStep caught exception {"invoice_id":"000019eb-deb7-7eca-facd-a84b42475754","org_id":"org_id","error":"SQL Error: SQLSTATE[22P02]: Invalid text representation: 7 ERROR:  invalid input syntax for type uuid: \"org_id\"\nCONTEXT:  unnamed portal parameter $1 = '...' | Query: SELECT settings FROM \"orgs\" WHERE \"org_id\" = ? LIMIT 1"}
[2026-06-12T22:29:09+00:00] [req:939b8dfa] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-df41-7163-1448-a2d104be4356","org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T22:29:09+00:00] [req:939b8dfa] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da","invoice_id":"000019eb-df41-7163-1448-a2d104be4356"}
[2026-06-12T22:29:09+00:00] [req:939b8dfa] [org:-] getValidAccessToken() — not connected {"org_id":"019b9c9c-9d60-79d0-3ec5-849b68cdb9da"}
[2026-06-12T22:29:09+00:00] [req:939b8dfa] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T22:29:09+00:00] [req:939b8dfa] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-df41-7163-1448-a2d104be4356","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T22:42:10+00:00] [req:57fc50c3] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-dfff-7a10-2084-cbf324658479","org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-12T22:42:10+00:00] [req:57fc50c3] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4","invoice_id":"000019eb-dfff-7a10-2084-cbf324658479"}
[2026-06-12T22:42:10+00:00] [req:57fc50c3] [org:-] getValidAccessToken() — not connected {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-12T22:42:10+00:00] [req:57fc50c3] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T22:42:10+00:00] [req:57fc50c3] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-dfff-7a10-2084-cbf324658479","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T23:25:30+00:00] [req:f92e2340] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-e279-7e85-17b3-0ce974bc9324","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-12T23:25:30+00:00] [req:f92e2340] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019eb-e279-7e85-17b3-0ce974bc9324"}
[2026-06-12T23:25:30+00:00] [req:f92e2340] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-12T23:25:30+00:00] [req:f92e2340] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T23:25:30+00:00] [req:f92e2340] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-e279-7e85-17b3-0ce974bc9324","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T23:27:36+00:00] [req:36eccf8b] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-e298-7e4a-3ad3-961791b22812","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-12T23:27:36+00:00] [req:36eccf8b] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019eb-e298-7e4a-3ad3-961791b22812"}
[2026-06-12T23:27:36+00:00] [req:36eccf8b] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-12T23:27:36+00:00] [req:36eccf8b] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T23:27:36+00:00] [req:36eccf8b] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-e298-7e4a-3ad3-961791b22812","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T23:32:59+00:00] [req:131672c0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-e2e7-7025-c76f-489c8111132c","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-12T23:32:59+00:00] [req:131672c0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019eb-e2e7-7025-c76f-489c8111132c"}
[2026-06-12T23:32:59+00:00] [req:131672c0] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-12T23:32:59+00:00] [req:131672c0] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T23:32:59+00:00] [req:131672c0] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-e2e7-7025-c76f-489c8111132c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T23:34:25+00:00] [req:1dda5688] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-e2fc-79d8-6109-8000c47d12ec","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-12T23:34:25+00:00] [req:1dda5688] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019eb-e2fc-79d8-6109-8000c47d12ec"}
[2026-06-12T23:34:25+00:00] [req:1dda5688] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-12T23:34:25+00:00] [req:1dda5688] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T23:34:25+00:00] [req:1dda5688] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-e2fc-79d8-6109-8000c47d12ec","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T23:39:03+00:00] [req:d360f02f] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-e340-75a8-5555-45ce78b655cd","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-12T23:39:03+00:00] [req:d360f02f] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019eb-e340-75a8-5555-45ce78b655cd"}
[2026-06-12T23:39:03+00:00] [req:d360f02f] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-12T23:39:03+00:00] [req:d360f02f] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T23:39:03+00:00] [req:d360f02f] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-e340-75a8-5555-45ce78b655cd","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T23:47:56+00:00] [req:fd597ade] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-e3c2-7d65-07ff-5ecd75c73702","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-12T23:47:56+00:00] [req:fd597ade] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019eb-e3c2-7d65-07ff-5ecd75c73702"}
[2026-06-12T23:47:56+00:00] [req:fd597ade] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-12T23:47:56+00:00] [req:fd597ade] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T23:47:56+00:00] [req:fd597ade] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-e3c2-7d65-07ff-5ecd75c73702","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T23:50:59+00:00] [req:96a96701] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-e3ef-726e-da58-920409d27e54","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-12T23:50:59+00:00] [req:96a96701] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019eb-e3ef-726e-da58-920409d27e54"}
[2026-06-12T23:50:59+00:00] [req:96a96701] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-12T23:50:59+00:00] [req:96a96701] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T23:50:59+00:00] [req:96a96701] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-e3ef-726e-da58-920409d27e54","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-12T23:52:58+00:00] [req:bd6644a3] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-e40c-77fd-a3c6-56826345544f","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-12T23:52:58+00:00] [req:bd6644a3] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019eb-e40c-77fd-a3c6-56826345544f"}
[2026-06-12T23:52:58+00:00] [req:bd6644a3] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-12T23:52:58+00:00] [req:bd6644a3] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-12T23:52:58+00:00] [req:bd6644a3] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-e40c-77fd-a3c6-56826345544f","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-13T00:00:25+00:00] [req:fcf507d0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-e479-79cc-f7e3-4506a0ddf83f","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-13T00:00:25+00:00] [req:fcf507d0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019eb-e479-79cc-f7e3-4506a0ddf83f"}
[2026-06-13T00:00:25+00:00] [req:fcf507d0] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-13T00:00:25+00:00] [req:fcf507d0] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-13T00:00:25+00:00] [req:fcf507d0] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-e479-79cc-f7e3-4506a0ddf83f","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-13T00:05:06+00:00] [req:bd1512a0] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-e4be-7321-fee4-c327c4aa702c","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-13T00:05:06+00:00] [req:bd1512a0] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019eb-e4be-7321-fee4-c327c4aa702c"}
[2026-06-13T00:05:06+00:00] [req:bd1512a0] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-13T00:05:06+00:00] [req:bd1512a0] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-13T00:05:06+00:00] [req:bd1512a0] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-e4be-7321-fee4-c327c4aa702c","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-13T00:13:36+00:00] [req:03264d18] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-e53a-7b97-b477-8653029b003a","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-13T00:13:36+00:00] [req:03264d18] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019eb-e53a-7b97-b477-8653029b003a"}
[2026-06-13T00:13:36+00:00] [req:03264d18] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-13T00:13:36+00:00] [req:03264d18] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-13T00:13:36+00:00] [req:03264d18] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-e53a-7b97-b477-8653029b003a","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-13T00:18:39+00:00] [req:cb6398ae] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-e585-77b0-0ee3-303bce373781","org_id":"org_id"}
[2026-06-13T00:18:39+00:00] [req:cb6398ae] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"org_id","invoice_id":"000019eb-e585-77b0-0ee3-303bce373781"}
[2026-06-13T00:18:39+00:00] [req:cb6398ae] [org:-] PostInvoiceToXeroStep caught exception {"invoice_id":"000019eb-e585-77b0-0ee3-303bce373781","org_id":"org_id","error":"SQL Error: SQLSTATE[22P02]: Invalid text representation: 7 ERROR:  invalid input syntax for type uuid: \"org_id\"\nCONTEXT:  unnamed portal parameter $1 = '...' | Query: SELECT settings FROM \"orgs\" WHERE \"org_id\" = ? LIMIT 1"}
[2026-06-13T00:23:21+00:00] [req:aa641ccf] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-e5ca-7327-c7b1-9914d90a85b4","org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-13T00:23:21+00:00] [req:aa641ccf] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4","invoice_id":"000019eb-e5ca-7327-c7b1-9914d90a85b4"}
[2026-06-13T00:23:21+00:00] [req:aa641ccf] [org:-] getValidAccessToken() — not connected {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-13T00:23:21+00:00] [req:aa641ccf] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-13T00:23:21+00:00] [req:aa641ccf] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-e5ca-7327-c7b1-9914d90a85b4","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-13T00:28:26+00:00] [req:86174bd6] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-e614-73b6-bd58-7154d1ccc486","org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-13T00:28:26+00:00] [req:86174bd6] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4","invoice_id":"000019eb-e614-73b6-bd58-7154d1ccc486"}
[2026-06-13T00:28:26+00:00] [req:86174bd6] [org:-] getValidAccessToken() — not connected {"org_id":"019bb55f-3772-727b-fc11-047156c4c5a4"}
[2026-06-13T00:28:26+00:00] [req:86174bd6] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-13T00:28:26+00:00] [req:86174bd6] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-e614-73b6-bd58-7154d1ccc486","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
[2026-06-13T00:34:16+00:00] [req:b7437863] [org:-] PostInvoiceToXeroStep::execute() entered {"invoice_id":"000019eb-e669-74ca-ee47-efc6bc340c95","org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-13T00:34:16+00:00] [req:b7437863] [org:-] XeroController::pushInvoiceForOrg() entered {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae","invoice_id":"000019eb-e669-74ca-ee47-efc6bc340c95"}
[2026-06-13T00:34:16+00:00] [req:b7437863] [org:-] getValidAccessToken() — not connected {"org_id":"019d0c7d-5f78-7bc2-a013-246f181f41ae"}
[2026-06-13T00:34:16+00:00] [req:b7437863] [org:-] pushInvoiceForOrg() aborted — no valid access token
[2026-06-13T00:34:16+00:00] [req:b7437863] [org:-] PostInvoiceToXeroStep finished {"invoice_id":"000019eb-e669-74ca-ee47-efc6bc340c95","success":false,"message":"Not connected to Xero or token expired","xero_invoice_id":null,"status_code":401}
