Programa's Xero integration keeps your accounting records aligned with your billing activity without manual data entry. This guide explains what syncs from Programa to Xero, what syncs back, and what stays in Programa only.
Note: Syncing is two-way. Invoices push from Programa to Xero, and payments, voids, and memo updates recorded in Xero sync back to Programa automatically. Programa remains the source of truth for invoice content.
What Syncs to Xero
Invoices
Draft invoices: When you create an invoice in Programa, it's automatically saved as a draft in Xero. Xero drafts don't affect your ledger.
Issued invoices: When you send the invoice through Programa, the Xero invoice is authorised and posts to your ledger (accounts receivable, sales, and tax).
Line items: Descriptions, quantities, unit prices, discounts, and the Xero account code you select for each line.
Tax rates: Matched to the corresponding rate synced from your Xero account.
Note: Draft invoices created in Programa before you connected Xero won't appear in Xero automatically. Making a small edit to the draft — changing a line item, due date, memo, or footer — will trigger the sync.
Payments
Payments collected through Programa Pay, or recorded manually in Programa, push to Xero automatically — including partial payments.
Partial payments are recorded against the invoice in Xero as a payment. Xero doesn't have a "partially paid" status, so the Xero invoice stays Authorised with the payment attached until the balance reaches zero — Programa still shows it as Partially paid.
Voids and deletions
Voiding an invoice in Programa voids it in Xero, reversing the ledger entries.
Deleting a draft invoice in Programa deletes the corresponding Xero draft. Since drafts never post to the ledger, there's no ledger impact.
What Syncs Back from Xero
When any of the following happen in Xero, Programa updates automatically:
Full payment — when a payment settles the invoice balance in Xero, the invoice is marked Paid in Programa.
Partial payment — when a payment covers part of the invoice, it becomes Partially paid in Programa (even though the Xero status remains Authorised).
Voids — when an invoice is voided in Xero, it's marked Void in Programa, whatever its previous status.
Draft deletions — deleting a synced draft in Xero deletes the draft in Programa.
Memos — memo and note updates on draft invoices sync back to Programa. Sent invoices can't be edited in either platform.
What Doesn't Sync
Invoice content changes made in Xero — line item descriptions, quantities, prices, dates, and product information are managed in Programa and won't sync back. Make content changes in Programa and they'll push to Xero.
Invoices created directly in Xero — these are not imported into Programa. Only invoices created in Programa are kept in sync.
Overdue status — all platforms work this out independently from the due date, so no sync is needed.
Bank reconciliation — payment matching against your bank feed continues to happen in Xero using Xero's standard reconciliation workflow.
Key Takeaways
The sync is two-way: invoices push to Xero; payment statuses, voids, and memos sync back to Programa.
Drafts are safe in Xero — they use Xero's native draft status and never touch your ledger.
Invoice content (line items, quantities, dates, product info) is managed in Programa, which remains the source of truth.
Invoices created directly in Xero don't import into Programa.
Need more help with the Xero integration? Contact our support team via live chat for personalized assistance.