Connecting CourseCo & Xero
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:
CODEhttps://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