Odoo Online → Xero Integration using n8n (Contacts + Invoices)
Budget: €30 – €250 EUR
We are looking for an experienced automation developer to build a clean, reliable integration between Odoo Online (SaaS) and Xero, using n8n.
This must be a simple, one-way sync from Odoo → Xero with no duplicate data and full control over what is synced.
OBJECTIVE
-Sync approved contacts from Odoo to Xero
-Sync posted invoices from Odoo to Xero
-Prevent duplicates
-Keep setup simple, stable, and maintainable
REQUIREMENTS
1. CONTACT SYNC
-Source: Odoo Contacts (res.partner)
-Only sync contacts where:
--Custom field "Sync to Xero" = true
--AND "Xero Synced" = false
Logic:
-Search Xero by email
-If found → update contact
-If not found → create contact
After sync:
-Set "Xero Synced" = true
-Store Xero Contact ID in Odoo
2. INVOICE SYNC
-Source: Odoo Invoices
-Only sync:
--Customer invoices (not vendor bills)
--Status = Posted
Logic:
-Ensure contact exists in Xero
-Create invoice in Xero with correct:
--Customer
--Line items
--VAT/tax mapping
--Dates
-No reverse sync required
3. DUPLICATE PREVENTION
-Must include:
--Email-based matching
--Sync status tracking in Odoo
--No duplicate contacts or invoices in Xero
4. AUTOMATION SETUP
Polling interval: once per hour
Manual “Run Now” option
Proper error handling (failed sync logging)
5. ODOO CUSTOM FIELDS (ALREADY CREATED OR TO BE CREATED)
-Sync to Xero (checkbox)
-Xero Synced (checkbox)
-Xero Contact ID (text)
DELIVERABLES
-Fully working n8n workflow
-Clean, documented setup
-Instructions for:
--Running manually
--Adjusting polling
--Adding new fields if needed
PREFERRED EXPERIENCE
n8n workflows (required)
Odoo Online API / JSON-RPC
Xero API
Similar ERP/accounting integrations
NOTES
No Odoo.sh or custom modules allowed (Odoo Online only)
No ongoing maintenance required — must be stable
Keep solution simple (avoid overengineering)
This must be a simple, one-way sync from Odoo → Xero with no duplicate data and full control over what is synced.
OBJECTIVE
-Sync approved contacts from Odoo to Xero
-Sync posted invoices from Odoo to Xero
-Prevent duplicates
-Keep setup simple, stable, and maintainable
REQUIREMENTS
1. CONTACT SYNC
-Source: Odoo Contacts (res.partner)
-Only sync contacts where:
--Custom field "Sync to Xero" = true
--AND "Xero Synced" = false
Logic:
-Search Xero by email
-If found → update contact
-If not found → create contact
After sync:
-Set "Xero Synced" = true
-Store Xero Contact ID in Odoo
2. INVOICE SYNC
-Source: Odoo Invoices
-Only sync:
--Customer invoices (not vendor bills)
--Status = Posted
Logic:
-Ensure contact exists in Xero
-Create invoice in Xero with correct:
--Customer
--Line items
--VAT/tax mapping
--Dates
-No reverse sync required
3. DUPLICATE PREVENTION
-Must include:
--Email-based matching
--Sync status tracking in Odoo
--No duplicate contacts or invoices in Xero
4. AUTOMATION SETUP
Polling interval: once per hour
Manual “Run Now” option
Proper error handling (failed sync logging)
5. ODOO CUSTOM FIELDS (ALREADY CREATED OR TO BE CREATED)
-Sync to Xero (checkbox)
-Xero Synced (checkbox)
-Xero Contact ID (text)
DELIVERABLES
-Fully working n8n workflow
-Clean, documented setup
-Instructions for:
--Running manually
--Adjusting polling
--Adding new fields if needed
PREFERRED EXPERIENCE
n8n workflows (required)
Odoo Online API / JSON-RPC
Xero API
Similar ERP/accounting integrations
NOTES
No Odoo.sh or custom modules allowed (Odoo Online only)
No ongoing maintenance required — must be stable
Keep solution simple (avoid overengineering)
Related categories:
PHP
Python
Software Architecture
ERP
Xero
Odoo
Automation
API Integration
Data Management
n8n