If you want to enable Xero integration within CourseCo (e.g. syncing invoices and payments), Xero requires a secure connection to be set up using their developer platform.
This is not something CourseCo can configure on your behalf, as it involves access to your Xero account and permissions. Instead, your team (or IT/admin) will need to create a Xero app and provide the required credentials.
This guide walks you through that process step by step. Once completed, CourseCo will be able to securely send transaction data to your Xero account.Step 1: Create a Xero App (Client ID & Secret)
-
Log in with your Xero account
-
Select My Apps → New App
-
Complete the setup:
-
App name: e.g. CourseCo Integration
-
Integration type: Web app
-
Company URL: your website
-
-
Add the following Redirect URI:
https://yourdomain.courseco.co/admin/messaging/oauth_set or https://yourdomain.ie/admin/messaging/oauth_set(Replace yourdomain with your CourseCo domain)
-
Click Create App
Step 2: Generate Credentials
-
Open your app → Configuration
-
Copy the Client ID
-
Click Generate a secret
-
Copy the Client Secret
Keep these safe.
Step 3: Add Credentials in CourseCo
-
Log into CourseCo as Admin
-
Go to: /admin/settings
-
Settings → Xero 2
-
-
Enter:
-
Client ID
-
Client Secret
-
-
Save
-
Return to the Home dashboard
-
Open the Xero 2 left menu
-
Click Connect to Xero
Step 4: Authorise & Complete Setup
-
You will be redirected to Xero
-
Log in and approve access to your organisation
-
Once connected:
-
Generate/retrieve the Tenant ID in Xero
-
Enter this into CourseCo Settings → Xero 2
-
-
From Xero also add within settings:
-
Invoice Account Code
-
Payment Account Code
-
-
Save your settings
Step 5: Test the Connection
-
Navigate to:
-
Reports → Xero Transactions Report
-
-
Open the report
-
This will list all CourseCo transactions
-
-
Perform a manual test:
-
Select a transaction
-
Click Sync to Xero
-
-
Confirm in Xero:
-
Invoice/payment has been created
-
Values and account codes are correct
-
Enter the tax code title as entered in Xero (case sensitive)
-
What to Check
-
Connection is active
-
Tenant ID is populated
-
Account codes are valid in Xero
-
No sync errors appear
-
Transactions successfully push to Xero
Common Issues
-
Redirect URI does not match exactly
-
Incorrect Client ID or Secret
-
Tenant ID missing or wrong
-
Account codes not set up in Xero
-
User did not select the correct Xero organisation during authorisation