Odoo Online → Xero Integration using n8n (Contacts + Invoices)

Job ID: 40323352

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)