Automated Clockify Time Entries to Xero Invoicing (Make.com)

Eliminate manual data entry by automatically syncing billable Clockify hours to Xero draft invoices using Make.com scenarios.

Tools: ClockifyXero

Platform: Make.com

Short Answer

A seamless, real-time workflow where stopped timers in Clockify trigger the creation or update of draft invoices in Xero. This ensures 100% billing accuracy, consistent client data, and reduced administrative overhead.

The Problem

Manual transfer of billable hours from Clockify to Xero is time-consuming and prone to human error, often leading to delayed billing or missed revenue. Businesses struggle to maintain accurate time logs across both platforms for payroll and client invoicing.

The Outcome

A seamless, real-time workflow where stopped timers in Clockify trigger the creation or update of draft invoices in Xero. This ensures 100% billing accuracy, consistent client data, and reduced administrative overhead.

Step-by-Step Guide

1. **Establish Connections**: In Make.com, create a new scenario. Add a Clockify module and click 'Add' to authorize your API Key. Separately, add a Xero module and follow the OAuth 2.0 prompts to link your Xero organization. 2. **Set Trigger**: Select the **Clockify > Watch Time Entries** module. Set the 'Limit' to 10. Choose 'Only stopped' entries to ensure you only process finished work. 3. **Add Filter**: Click the line between Clockify and the next module. Label it 'Billable Only'. Set conditions: `Billable` Equal to `true` AND `Project Name` Exists. 4. **Map the Client**: Add the **Xero > Search Contacts** module. Map the Clockify `Client Name` to the Xero `Name` field. This prevents duplicate contacts. 5. **Router for Contact Creation**: Add a Router. If 'Search Contacts' returns no results, use **Xero > Create a Contact** using the Clockify Client Name. 6. **Format Duration**: Add a **Tools > Set Variable** module. Since Clockify provides duration in seconds, use this Make.com formula: `{{formatNumber(item.timeInterval.duration / 3600; 2)}}`. This converts seconds into the decimal hours Xero requires (e.g., 1.5). 7. **Generate Invoice**: Add **Xero > Create an Invoice**. Set 'Status' to `DRAFT`. Map the Contact ID from the previous step. In the 'Line Items' array, map the Clockify description to 'Description', the calculated decimal hours to 'Quantity', and the project hourly rate to 'Unit Amount'. 8. **Account Mapping**: Hardcode the Xero 'Account Code' (e.g., 200 - Sales) in the Line Item section to ensure financial accuracy. 9. **Error Handling**: Right-click the Xero module and select 'Add error handler'. Use a **Break** module to store records that fail (e.g., due to invalid tax rates) for manual retry later.