Documentation
    Docs/Billing & Invoicing

    Xero Integration

    Connect Xero to push DevClocked invoices as sales invoices and pull payment status back automatically, so your books stay the source of truth.

    The Xero integration lets you push a DevClocked invoice straight into Xero as a sales invoice, then keeps the two in sync: when the invoice is paid in Xero, DevClocked marks it paid automatically. Contacts and line items are mapped for you, and every synced invoice links straight back to Xero.

    What gets connected

    • Xero organisation — you connect DevClocked to one Xero organisation with a standard OAuth flow. No API keys to copy.
    • Contacts — each DevClocked client is matched to a Xero contact (by name) or created if it doesn't exist yet, and the mapping is remembered.
    • Invoices — DevClocked invoices become Xero ACCREC (accounts receivable) sales invoices, including any AI-cost line.
    • Payments — Xero payment status flows back into DevClocked so paid invoices update themselves.

    Connect Xero

    1. Open Settings > Integrations.
    2. Find the Xero card and click Connect Xero.
    3. DevClocked redirects you to Xero's authorization screen.
    4. Choose the organisation to connect and click Allow.
    5. Xero redirects you back to DevClocked and the card shows Connected.

    If the card shows Not configured, the Xero integration hasn't been enabled for this environment yet — contact your administrator.

    Choose how invoices are pushed

    Open the Xero dialog from the card to set your preferences:

    • Push invoices asApproved (the invoice lands in Xero awaiting payment) or Draft (it lands as a draft for you to review and approve in Xero first).
    • Organisation — if your login has access to more than one Xero organisation, switch between them here.
    • Contact mappings — review which DevClocked client maps to which Xero contact, and unlink any that were matched incorrectly (the next push re-matches or creates the contact).

    Match your invoice currency to Xero

    Your Xero organisation is subscribed to specific currencies. If you push an invoice in a currency your Xero plan isn't set up for, Xero rejects it with an error like "Organisation is not subscribed to currency USD". To avoid this:

    • Invoice in your Xero organisation's base currency (set the currency when creating the invoice), or
    • Enable the additional currency in Xero under Settings > Currencies (requires a multi-currency Xero plan).

    Push an invoice to Xero

    1. Open the invoice, or use the actions menu on any invoice in the invoice list.
    2. Click Push to Xero.
    3. DevClocked resolves the client's Xero contact, creates the sales invoice, and marks the invoice with a green Xero badge.

    Re-pushing is safe. If you edit the invoice and push again, DevClocked updates the existing Xero invoice in place rather than creating a duplicate. If the invoice already has payments recorded in Xero, the re-push is blocked so your books are never overwritten — sync payments instead.

    Payments sync back automatically

    You don't have to reconcile by hand. Payment status flows from Xero into DevClocked three ways:

    • Real-time — when Xero webhooks are configured, payment and status changes arrive within seconds.
    • Hourly — a background sync checks your pushed invoices every hour as a safety net.
    • On demand — click Sync Xero payments on the invoice list at any time.

    When Xero reports an invoice as fully paid, DevClocked marks it paid and records the payment date. Each invoice's Xero panel shows the Xero status, amount due, amount paid, and the date it was fully paid.

    Invoice badges

    • Xero (green) — synced. Click it to open the invoice in Xero.
    • Xero stale (amber) — the invoice changed in DevClocked since the last push. Re-push to update Xero.
    • Voided in Xero — the invoice was voided or deleted in Xero. Re-push to create a fresh one.
    • Xero error (red) — the last push failed. Hover the badge for the exact reason from Xero.

    View in Xero

    Any synced invoice links straight to its record in Xero — from the green badge, the invoice actions menu, or the Xero panel on the invoice page. When Xero issues a customer-facing online invoice link, that's shown too.

    Managing the connection

    • Reconnect Xero — re-run the OAuth flow if the connection needs reauthorising. Reconnect once after upgrades to enable direct "View in Xero" deep links.
    • Disconnect — remove the connection and stop syncing. Invoices already in Xero stay in Xero.

    Troubleshooting

    Push failed with a currency error.

    Your Xero organisation isn't subscribed to that invoice's currency. Invoice in your Xero base currency, or enable the currency in Xero (see above).

    I need to remove a test invoice from Xero.

    DevClocked never deletes invoices from Xero. Void it manually in Xero if you don't want it in your books.

    "View in Xero" opens the wrong organisation.

    Click Reconnect Xero once so DevClocked can capture your organisation's short code for precise deep links.

    Was this page helpful?